Architectural framework for a United Blockchain Interaction Library

This research addresses the challenges posed by the fragmented nature of blockchain development tools, presenting a comprehensive exploration of the imperative need for a unified architecture. In response to the growing diversity of blockchain networks, a solution in the form of a unified library ba...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2024
Автори: Dobrianskyi, B.I., Stetsenko, I.V.
Формат: Стаття
Мова:English
Опубліковано: Інститут програмних систем НАН України 2024
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/610
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-610
record_format ojs
resource_txt_mv ppisoftskievua/93/d55abdf5dc8d87b96782ef6ca2208993.pdf
spelling pp_isofts_kiev_ua-article-6102024-04-27T16:45:18Z Architectural framework for a United Blockchain Interaction Library Архітектурний каркас бібліотеки для уніфікації взаємодії із блокчейн-мережами Dobrianskyi, B.I. Stetsenko, I.V. Blockchain development; Interoperability; Decentralized applications; Development tools; Blockchain networks; Software development kits (SDKs); Software Architecture УДК 004.4'2 розробка блокчейну; сумісність; децентралізовані додатки; засоби розробки; блокчейн-мережі; комплекти розробки програмного забезпечення (SDK); архітектура програмного забезпечення УДК 004.4'2 This research addresses the challenges posed by the fragmented nature of blockchain development tools, presenting a comprehensive exploration of the imperative need for a unified architecture. In response to the growing diversity of blockchain networks, a solution in the form of a unified library based on a versatile and interoperable interface that streamlines interactions across various blockchains is proposed. The current state of blockchain development tools, an overview of existing solutions, formulation of design principles, and functions of proposed unified library are provided. By mitigating the complexities associated with disparate tools, the research aims to enhance the accessibility and efficiency of blockchain development, encouraging collaboration and innovation within the blockchain community.Problems in programming 2024; 1: 86-95 У цьому дослідженні розглядаються проблеми, пов’язані з фрагментованим характером інструментів взаємодії з блокчейн мережами. Робота представляє комплексне дослідження вимог до необхідної уніфікованій архітектурі. У відповідь на зростаючу різноманітність блокчейн-мереж пропонується рішення у вигляді уніфікованої бібліотеки на основі універсального та сумісного інтерфейсу, який оптимізує взаємодію між різними блокчейнами. Описано та досліджено поточний стан інструментів для взаємодії з блокчейн-мережами, проведено огляд існуючих рішень, формулювання принципів проєктування та функцій, що лежать в основі пропонованої уніфікованої бібліотеки. Дослідження спрямоване на підвищення доступності та ефективності взаємодії із блокчейн-мережами, зменшуючи складність, пов’язану з розрізненими інструментами та заохочуючи подальшу співпрацю та розвиток нових підходів в рамках спільноти блокчейн розробниківProblems in programming 2024; 1: 86-95 Інститут програмних систем НАН України 2024-04-01 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/610 10.15407/pp2024.01.086 PROBLEMS IN PROGRAMMING; No 1 (2024); 86-95 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2024); 86-95 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2024); 86-95 1727-4907 10.15407/pp2024.01 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/610/660 Copyright (c) 2024 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2024-04-27T16:45:18Z
collection OJS
language English
topic Blockchain development
Interoperability
Decentralized applications
Development tools
Blockchain networks
Software development kits (SDKs)
Software Architecture
УДК 004.4'2
spellingShingle Blockchain development
Interoperability
Decentralized applications
Development tools
Blockchain networks
Software development kits (SDKs)
Software Architecture
УДК 004.4'2
Dobrianskyi, B.I.
Stetsenko, I.V.
Architectural framework for a United Blockchain Interaction Library
topic_facet Blockchain development
Interoperability
Decentralized applications
Development tools
Blockchain networks
Software development kits (SDKs)
Software Architecture
УДК 004.4'2
розробка блокчейну
сумісність
децентралізовані додатки
засоби розробки
блокчейн-мережі
комплекти розробки програмного забезпечення (SDK)
архітектура програмного забезпечення
УДК 004.4'2
format Article
author Dobrianskyi, B.I.
Stetsenko, I.V.
author_facet Dobrianskyi, B.I.
Stetsenko, I.V.
author_sort Dobrianskyi, B.I.
title Architectural framework for a United Blockchain Interaction Library
title_short Architectural framework for a United Blockchain Interaction Library
title_full Architectural framework for a United Blockchain Interaction Library
title_fullStr Architectural framework for a United Blockchain Interaction Library
title_full_unstemmed Architectural framework for a United Blockchain Interaction Library
title_sort architectural framework for a united blockchain interaction library
title_alt Архітектурний каркас бібліотеки для уніфікації взаємодії із блокчейн-мережами
description This research addresses the challenges posed by the fragmented nature of blockchain development tools, presenting a comprehensive exploration of the imperative need for a unified architecture. In response to the growing diversity of blockchain networks, a solution in the form of a unified library based on a versatile and interoperable interface that streamlines interactions across various blockchains is proposed. The current state of blockchain development tools, an overview of existing solutions, formulation of design principles, and functions of proposed unified library are provided. By mitigating the complexities associated with disparate tools, the research aims to enhance the accessibility and efficiency of blockchain development, encouraging collaboration and innovation within the blockchain community.Problems in programming 2024; 1: 86-95
publisher Інститут програмних систем НАН України
publishDate 2024
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/610
work_keys_str_mv AT dobrianskyibi architecturalframeworkforaunitedblockchaininteractionlibrary
AT stetsenkoiv architecturalframeworkforaunitedblockchaininteractionlibrary
AT dobrianskyibi arhítekturnijkarkasbíblíotekidlâunífíkacíívzaêmodííízblokčejnmerežami
AT stetsenkoiv arhítekturnijkarkasbíblíotekidlâunífíkacíívzaêmodííízblokčejnmerežami
first_indexed 2024-09-16T04:08:11Z
last_indexed 2024-09-16T04:08:11Z
_version_ 1818528232188674048
fulltext 86 Інструментальні засоби і середовища програмування © B.I. Dobrianskyi, I.V. Stetsenko, 2024 ISSN 1727-4907. Проблеми програмування. 2024. №1 УДК 004.4`2 http://doi.org/10.15407/pp2024.01.86 B.I.Dobrianskyi, I.V. Stetsenko ARCHITECTURAL FRAMEWORK FOR A UNIFIED BLOCKCHAIN INTERACTION LIBRARY This research addresses the challenges posed by the fragmented nature of blockchain development tools, pre- senting a comprehensive exploration of the imperative need for a unified architecture. In response to the grow- ing diversity of blockchain networks, a solution in the form of a unified library based on a versatile and in- teroperable interface that streamlines interactions across various blockchains is proposed. The current state of blockchain development tools, an overview of existing solutions, formulation of design principles, and func- tions of proposed unified library are provided. By mitigating the complexities associated with disparate tools, the research aims to enhance the accessibility and efficiency of blockchain development, encouraging collabo- ration and innovation within the blockchain community. Keywords: Blockchain development, Interoperability, Decentralized applications, Development tools, Block- chain networks, Software development kits (SDKs), Software Architecture Introduction The recent explosion of blockchain technology has created a captivating land- scape teeming with innovation and brimming with potential. As mentioned in the survey [1], the use of blockchain has already been extended far beyond “electronic cash”, as initially described by Nakamoto S. [2]. The rapid proliferation has birthed a multitude of diverse blockchains, each boasting unique features, consensus mechanisms, and smart contract functionalities. While the abundance presents developers with exciting opportuni- ties to explore and create, it also presents a significant challenge. The tools currently available to devel- opers for building upon and interacting with these diverse platforms remain largely limited to specific blockchains. This creates a frag- mented development environment, forcing developers to juggle a plethora of libraries, frameworks, and SDKs just to navigate the landscape. This fragmented ecosystem poses a significant barrier to entry for newcomers and seasoned developers alike, hindering effi- ciency and collaboration within the block- chain development community. To address the pressing need for standardization and interoperability, this re- search proposes the development of a unified library. The comprehensive library aims to act as a cohesive interface, empowering develop- ers to seamlessly interact with various block- chains. By providing a standardized, adapta- ble, and interoperable solution, this research seeks to empower developers by streamlining their workflow, fostering collaboration within the community, and ultimately propelling innovation within the realm of blockchain development. The following sections describe the challenges presented by the fragmented state of blockchain development tools. After that, existing solutions are examined before articu- lating the foundational principles and features of the proposed unified library. The aim of the above-mentioned exploration is to provide a comprehensive understanding of the motiva- tion behind and the potential impact of our research on the broader blockchain develop- ment community. Looking beyond the pro- posed solution, the research acknowledges the valuable contributions of existing solutions that play a vital role in the ongoing process of improving interoperability and enhancing developer experience within the blockchain landscape. 1. Essential Components of Unified Blockchain Interface The unified blockchain library devel- opment requires a thorough understanding of its core components, independent of the un- derlying blockchain technology. From manag- ing accounts to facilitating transactions, these 87 Інструментальні засоби і середовища програмування components are the building blocks of the innovative framework. To ensure a well-designed architec- ture, the requirements that govern its con- struction should be carefully analyzed. The analysis delves into the complexities involved creating a unified interface that seamlessly interacts with diverse blockchains, beginning with the fundamental domain of account management, the cornerstone of any block- chain system. 1.1. Account management Regarding blockchain networks, one common requirement is the solid management of accounts, which emerges from the role of accounts in the process of assuring secure and authenticated connections. Blockchain securi- ty heavily relies on private keys. Each user has a unique digital identity formed by a key pair: a public key (like a public address) and a private key (kept secret). Creating an account with a private key is the entry point for user activity, smart contracts, and transactions on the network. These cryptographic keys, which play the role of digital signatures [3], form the basis of the security architecture of the block- chain networks. The algorithms used may vary, for example, widely adopted cryptocur- rencies like Bitcoin leverage the Elliptic Curve Digital Signature Algorithm (ECDSA) [4] for key generation and verification, ensur- ing a robust foundation for secure transac- tions. In contrast, Ethereum predominantly utilizes ECDSA but also supports the RSA algorithm in certain contexts [5], providing flexibility in cryptographic operations across its network. Additionally, emerging technolo- gies explore more exotic algorithms, such as the Lamport Signature Scheme [6], showcas- ing the continuous evolution of cryptographic approaches within diverse blockchain ecosys- tems. Creating a security key interweaves the formation of a key pair comprised of a public key visible to everyone and a private key known only to the account owner. Thus, creating an account serves as a starting point for involvement in blockchain activity includ- ing user activity and smart contract interac- tions. Amongst the diverse functionalities encompassed by blockchain account man- agement, two operations emerge as the most generic and essential: account creation and account retrieval. These operations prove crit- ical in laying the groundwork for secure and decentralized participation within blockchain ecosystem, so they are included in the account management. Having established the significance of account management, this analysis shifts its focus toward the core entity that underpins blockchain interaction: the account. While the specifics of account implementation vary across different blockchains, the library should bridge this gap by presenting a unified perspective. As per the accounts themselves, their significance extends beyond mere place- holders for cryptographic keys; they serve as dynamic entities within the blockchain eco- system. Within the unified library, the ac- count encapsulates a suite of functionalities tailored to these entities, fostering an envi- ronment that not only ensures secure interac- tions but also facilitates comprehensive ac- count management. The most basic functional requirement of the account is the ability to retrieve its bal- ance. This fundamental feature provides users with a real-time snapshot of the account's holdings, detailing the quantity of digital as- sets or tokens it possesses. Transaction signing equips developers with the capability to sign transactions secure- ly using the account's private key. This cryp- tographic signature not only ensures the transaction authenticity, but also safeguards against unauthorized alterations, thereby forti- fying the integrity of the blockchain network. Beyond immediate financial insights, the account encompasses the functionality to query transaction history, which provides a historical record of transactions associated with the account. The comprehensive log of- fers visibility into past interactions, empower- ing developers to track and analyze the ac- count activity over time. To augment the versatility of account interactions, one of the account features is the ability to query metadata associated with it. It includes information such as creation timestamps, account types, custom tags, or 88 Інструментальні засоби і середовища програмування any other pertinent details configured. Metadata querying provides a flexible inter- face for developers to retrieve contextual in- formation, enhancing the richness of the ac- count management experience. Moreover, recognizing the dynamic nature of blockchain ecosystems and the di- versity among different networks, the account is designed to be extensible. It ensures that the account structure can accommodate additional functionalities specific to particular block- chains. Blockchain networks often introduce unique features or token standards that may require additional methods or attributes within the account representation. Consider the diversity across block- chain networks such as Ethereum, Solana, and Polkadot, each introducing unique function- alities and adhering to specific standards. The account structure within the unified library is designed to be extensible, allowing develop- ers to seamlessly integrate blockchain- specific features. For instance, in Ethereum, renowned for its extensive smart contract ca- pabilities, the Account might extend function- alities for interacting with sophisticated con- tract deployment and execution processes. Solana, with its high-performance blockchain, might introduce account-related features per- tinent to its unique consensus mechanism and token standards. Similarly, Polkadot's multi- chain architecture might necessitate account- related features aligned with its parachain model. In essence, the Account class emerges as a multifaceted entity within our unified library, aligning with the diverse needs of developers engaged in blockchain interac- tions. By encompassing balance retrieval, transaction signing, transaction history query- ing, and metadata retrieval, the Account class serves as a comprehensive toolkit, fostering an environment where developers can seam- lessly manage and leverage the full potential of blockchain accounts within their decentral- ized applications. 1.2. Block management At the core of every blockchain lies the foundational building block, quite literally known as a "block." A block represents a unit of data that contains a bundle of transactions, a timestamp, and a reference to the preceding block. This sequential chain of blocks forms the bedrock of blockchain technology, ena- bling the secure and transparent recording of transactions across a decentralized network. The significance of a block extends beyond its definition; it serves as a crucial mechanism for achieving consensus and im- mutability within the blockchain. Each block is intricately linked to its predecessor through cryptographic hashes, creating an indelible chain that resists tampering and ensures the integrity of the entire transaction history. What sets the concept of a block apart is its universality across diverse blockchain networks. While blockchains may differ in their consensus mechanisms, transaction pro- cessing speeds, and smart contract capabili- ties, the fundamental structure of a block re- mains remarkably consistent [7]. This uni- formity provides an opportune avenue for unification, as the shared characteristics of blocks can be harnessed to create a standard- ized approach to managing and retrieving blockchain data. This section delves into the universal nature of blocks, investigating their constitu- ent components and exploring the potential for a unified strategy in managing these foun- dational elements across diverse blockchain networks. By analyzing the shared character- istics and functionalities of blocks, the groundwork can be laid for the development of a standardized approach to their manage- ment, potentially fostering greater interopera- bility and efficiency within the blockchain ecosystem. First and foremost, a crucial capability in the toolkit is the ability to fetch the latest block from the blockchain. This feature holds paramount importance because it allows users to stay synchronized with the most recent data on the blockchain by ensuring that the appli- cations are always up-to-date and aligned with the dynamic nature of the blockchain. Equally vital is the capability to re- trieve a specific block using its unique numer- ical identifier, often referred to as the block number. The significance of this features lies in the ability to grants users precision in data retrieval. Consider a scenario where user wants some specific details from a particular 89 Інструментальні засоби і середовища програмування point in the blockchain's history. By being able to get a block by its number, user can precisely pinpoint and extract the required information. This functionality caters to ap- plications that demand targeted insights into specific blocks, contributing to a more refined and efficient data retrieval process. Regarding the block itself, it serves as a central entity within our unified framework, facilitating a nuanced exploration of block- chain data. The following sections investigate the inherent features of blockchain blocks, equip- ping developers with the capability to effort- lessly retrieve crucial metadata associated with each block. This metadata encompasses fundamental details, including the block number, a unique identifier within the block- chain sequence, and the mining time, which provides insights into the block's creation timestamp. These metadata elements collec- tively offer a comprehensive snapshot, eluci- dating the block position and temporal rele- vance within the broader blockchain land- scape. Delving further into the capabilities of the block entity, it extends its functionality to enable the extraction of transactions stored within the block. This feature proves pivotal for developers seeking a detailed understand- ing of the activities recorded in a specific block. By accessing the list of transactions, developers can explore and leverage the intri- cacies of each transaction within the block, facilitating a more granular analysis of block- chain data. In essence, the block entity serves as a versatile tool, offering not only a unique iden- tifier and temporal context through metadata retrieval but also providing access to the transactional intricacies encapsulated within individual blocks. These capabilities enrich the developer's toolkit, fostering a more nu- anced and detailed exploration of blockchain data at the block level. 1.3. Transaction management Navigating the intricacies of block- chain transactions, transaction management takes center stage as a crucial orchestrator. Its role is to simplify the complexities associated with transactions, offering developers a set of powerful functionalities for efficient interac- tion with the blockchain network. In terms of transaction retrieval, the transaction manager empowers developers to pinpoint and extract specific transactions. Utilizing identifiers such as transaction hash- es, transaction indices, or block references, developers gain flexibility in accessing trans- actions tailored to their needs. This capability is particularly exemplified in networks like Ethereum, where transaction hashes serve as unique identifiers. Moving beyond retrieval, the Transac- tion Manager offers a real-time status check for individual transactions. This feature proves invaluable for developers seeking im- mediate updates on a transaction's processing status - whether it is pending, successfully executed, or encountering issues. This real- time insight into the transaction lifecycle en- hances developers' ability to respond effec- tively to changing conditions on the block- chain. Additionally, the transaction manager facilitates historical exploration by enabling developers to query the blockchain for a de- tailed transaction history associated with a specific account. This functionality is instru- mental for applications requiring a compre- hensive overview of an account's past transac- tions. For instance, in decentralized finance applications, users can leverage this capability to review their transaction history seamlessly. In summary, the Transaction Manager emerges as a versatile guide through the blockchain transactions. Its functionalities, ranging from precise retrieval to real-time status checks and historical exploration, equip developers with the tools needed to navigate the dynamic landscape of decentralized data transactions efficiently. 1.4. Smart contract management In the realm of blockchain develop- ment, smart contracts shine as unique entities injecting programmable capabilities into the decentralized landscape. Unlike blocks, which vary but retain some uniformity, smart con- tracts stand out distinctly. It's worth noting that not all blockchains, such as Bitcoin and Ripple, natively support smart contracts. 90 Інструментальні засоби і середовища програмування Despite this, smart contracts play a crucial role in blockchain development. They act as architects for self-executing agree- ments, allowing developers to encode rules directly into the blockchain. This capability, though not universally supported, remains a fundamental tool for developers crafting de- centralized applications, which is why smart contract management is included in the li- brary. The smart contract manager, a pivotal component within the proposed architectural framework, plays a crucial role in facilitating seamless smart contract interactions across diverse blockchain networks. This manager offers two fundamental operations, catering to various blockchain environments. First of all, it provides a unified interface for retrieving existing smart contracts from the underlying blockchain. This functionality enables developers to interact with deployed smart contracts, including tasks such as reading data, verifying states, and executing predefined operations. By abstracting the complexities of smart contract retrieval, the manager enhances developer efficiency and ensures a consistent experience across different blockchain networks. In addition to retrieving existing smart contracts, the manager empowers developers to deploy new contracts onto the blockchain. This essential feature facilitates the initiation of decentralized applications and the implementation of custom smart contract logic. The manager abstracts the intricacies of the deployment process, offering developers a streamlined mechanism to bring their smart contract creations to life on the blockchain, regardless of the underlying blockchain's specifications. Building upon the foundation laid by the smart contract manager, the smart contract entity inherits the ability to read data directly from the smart contract it represents. This continuity ensures that developers maintain real-time access to crucial information stored within the decentralized ledger. The entity becomes a conduit for understanding the evolving state and conditions of the contract, fostering an environment of informed deci- sion-making. As an evolution of transactional capa- bilities, the smart contract entity empowers developers to submit smart contract transac- tions to the blockchain. This functionality signifies an active engagement in the execu- tion of predefined functions within the smart contract. Developers navigate the decentral- ized landscape with a refined ability to partic- ipate in the decision-making process encoded within the blockchain. Extending the narrative of event- driven architecture, the smart contract entity allows developers to seamlessly subscribe to events emitted by the represented smart con- tract. This continuity in observability enhanc- es transparency, ensuring external entities, for example other smart contracts or off-chain systems, can monitor and react to changes within the contract. The smart contract entity becomes a vital component in fostering a col- laborative and responsive blockchain ecosys- tem. 1.5. Plugin system A key component of the architecture is a robust plugin system. Recognizing the dy- namic and evolving nature of blockchain eco- systems, the plugin system allows for adapta- bility and extensibility. It enables:  Streamlined integration of new fea- tures: plugins can be added without modify- ing the core library, keeping development efficient.  Empowerment for the developer community: developers can contribute and enhance the library's capabilities, fostering collaboration and innovation. However, achieving true unification requires acknowledging the inherent diversity of blockchain networks. The proposed solu- tion addresses this by emphasizing the use of blockchain-specific plugins. These plugins cater to the unique characteristics and func- tionalities of each blockchain, ensuring:  Preservation of individual block- chain design: developers can leverage the full potential of each network without compromis- ing its integrity.  Optimal performance: plugins al- low fine-tuning the library's functionality for specific blockchains, maximizing efficiency. 91 Інструментальні засоби і середовища програмування Balancing standardization and custom- ization are crucial within this framework. Blockchain-specific plugins acknowledge the value of individual network characteristics while maintaining a unified approach through the core library interface. This embrace of diversity reflects the richness and innovation present in the blockchain landscape. Moving forward, the proposed archi- tecture provides a flexible and adaptable foundation for blockchain development. It empowers developers with a unified interface while acknowledging the unique needs of individual blockchain networks, paving the way for a more collaborative and future-proof development landscape. 2. Results Continuing upon the established con- ceptual foundations, this section unveils the architectural design of the proposed unified library. Figure 1 presents a structure diagram of this architecture. Fig.1. Structure Diagram of the library The architecture encapsulates key components, allowing for seamless interac- tions with various blockchain networks. A brief overview of the major components is provided below. The blockchain manager serves as an entry point to the library. It can include one or more blockchain facades, that are implement- ed as separate libraries (plugins) for each blockchain. Transaction Manager stands as a cen- tral hub for retrieving, monitoring, and ex- ploring transactions within the blockchain. Transaction represents individual transactions, this entity encapsulates details, signing mechanisms, verification, and any additional metadata associated with a transac- tion. Block Manager serves as a linchpin for managing blocks, the Block Manager of- 92 Інструментальні засоби і середовища програмування fers functionalities such as retrieving specific blocks by number, obtaining the latest block, and navigating through blocks with pagina- tion and filtering. It also emits related events, for example mining of a new block. The Block entity encapsulates metada- ta retrieval, facilitating the extraction of trans- actions, and ensuring extensibility for block- chain-specific features. Account Manager is responsible for simplifying account-related interactions, the Account manager provides methods for creat- ing and retrieving accounts, signing transac- tions, and managing account-specific func- tionalities. The Account entity represents individ- ual accounts within the blockchain, offering functionalities like balance retrieval, transac- tion signing, checking transaction history, and querying metadata. Smart contract manager is responsible for deployment and retrieval of smart con- tracts. The Smart Contract entity itself is re- sponsible for reading data from the smart con- tract, calling methods on smart contracts and listening to the events emitted by the smart contract. This architecture is designed with ver- satility and extensibility in mind. Its strength lies in providing developers with a unified interface for blockchain interactions, reducing the complexities associated with navigating diverse blockchain networks. The modular structure allows for easy integration and adap- tation to specific blockchain characteristics, ensuring a robust foundation for blockchain development. With a foundational under- standing of the architecture now established, the following analysis covers the advantages and potential applications that make this de- sign a compelling choice for blockchain de- velopment. 2.1. Implementation The unified blockchain interaction library has been successfully implemented using JavaScript and TypeScript to support the diverse needs of developers engaged in blockchain interactions. The decision to employ these languages is rooted in their widespread adoption within the blockchain development community, serving as the go-to choices for both backend and frontend development. This approach ensures a seamless integration of the library into various projects, maintaining compatibility across different layers of the software stack. The Ethereum and Solana plugins were also crafted in TypeScript using web3.js and @solana/web3.js libraries corresponding- ly, ensuring consistency and ease of use across the entire ecosystem. The language choice aligns with the prevalent practices in blockchain development, where JavaScript and TypeScript stand out as the primary languages for facilitating comprehensive blockchain interactions across different platforms. 2.2. Pros and potential use cases Versatility across blockchains. One of the notable strengths of this architecture lies in its adaptability to a variety of blockchain networks. The modular design allows devel- opers to seamlessly integrate the library into diverse blockchain ecosystems, mitigating the challenges posed by the heterogeneity of blockchain technologies. Reduced development complexity. By providing a unified interface for blockchain interactions, our architecture significantly reduces the development complexity associat- ed with navigating different blockchain net- works. Developers can leverage consistent methods and entities across various block- chains, streamlining the development process and fostering code reusability. Facilitated cross-blockchain develop- ment. The modular structure and unified inter- face empower developers to engage in cross- blockchain development more efficiently. Whether working with Ethereum, Solana, Polkadot, or other blockchains, the proposed design simplifies the development of applica- tions that seamlessly interact with multiple blockchain networks. Extensibility for blockchain-specific features. The architecture's extensibility en- sures that it can accommodate blockchain- specific features seamlessly. For instance, if a blockchain introduces new metadata or unique transaction types, the library's extensi- ble entities, for example the Transaction and 93 Інструментальні засоби і середовища програмування Account, can readily adapt without requiring a major overhaul of the existing codebase. 2.3. Challenges and considerations While our architecture presents nu- merous advantages, it is essential to acknowledge potential challenges and consid- erations. Blockchain-specific limitations. Cer- tain blockchain networks may have unique limitations or characteristics that might not align perfectly with the unified interface. De- velopers should be aware of such nuances and handle them appropriately when working with specific blockchains. Performance considerations. The ar- chitecture's adaptability across various block- chains may introduce slight performance trade-offs. Developers should carefully assess performance requirements and optimize im- plementations accordingly. However, this also heavily depends on the implementation itself. 3. Related works From specialized libraries tailored for specific blockchain networks to comprehen- sive frameworks designed for cross-chain compatibility, the variety in the approaches mirrors the continuous evolution of block- chain technology. The research through these related works unveils the multifaceted efforts that shape the current and future landscapes of blockchain development. In the following exploration of related works, 3 distinctive solutions that have made significant strides in simplifying and unifying blockchain interactions are spotlighted. These solutions, each with their unique approach, contribute to the broader narrative of enhanc- ing developer experiences within the block- chain landscape. 3.1. Web3.js Web3.js stands as a JavaScript library specifically tailored for EVM blockchains, providing developers with a streamlined inter- face for interacting with the Ethereum block- chain. It abstracts away the complexities of Ethereum's native RPC (Remote Procedure Call) and JSON-RPC protocols, offering a simplified programming model. Designed with a focus on Ethereum, Web3.js provides comprehensive functionali- ties for smart contract interactions, transaction management, and blockchain data retrieval specific to the Ethereum network. Being a widely adopted library, Web3.js benefits from an active and vibrant community, ensuring continuous updates, bug fixes, and the availability of extensive docu- mentation. It is important to note, however, that Web3.js is primarily applicable for EVM- compatible networks, and its features are op- timized for the Ethereum ecosystem. 3.2. Cosmos SDK The Cosmos SDK takes a broader ap- proach by offering a framework for building multi-blockchain applications. It allows de- velopers to create their customized block- chains (Zones) with specific functionalities, while the Cosmos Hub acts as a secure and interoperable hub connecting different Zones [9]. Cosmos SDK focuses on enabling in- teroperability between blockchains. The Hub- and-Zone architecture allows for secure communication between different block- chains, fostering a vision of an interconnected blockchain ecosystem. Developers using Cosmos SDK have the flexibility to design and launch their blockchains with tailored features, ensuring versatility in addressing specific use cases. 3.3. Polkadot and Parachains Polkadot introduces a novel concept of parachains, offering a framework for building customized blockchains that connect to the Polkadot relay chain. Parachains run in paral- lel, fostering scalability and interoperability across the Polkadot network [10]. The use of parachains in Polkadot en- ables horizontal scalability, allowing multiple blockchains to run concurrently. This ap- proach addresses scalability concerns and promotes efficient resource utilization. By connecting to the Polkadot relay chain, parachains benefit from enhanced secu- rity and interoperability, creating a cohesive ecosystem where different blockchains can seamlessly interact. 94 Інструментальні засоби і середовища програмування 3.4. Challenges This survey reveals a common thread – interoperability is often confined to specific blockchain ecosystems, lacking a universal solution that spans the entirety of the block- chain landscape. While these existing libraries and frameworks excel within their designated environments, the quest for a unified architec- ture for blockchain interaction persists. A constantly developing landscape of blockchain innovation necessitates a compre- hensive solution. Analyzing the process of designing a unified library for blockchain interaction revealed both challenges and op- portunities. By envisioning an architecture that transcends individual blockchain ecosys- tems, the goal is to foster an interoperable development landscape, empowering devel- opers across diverse networks. With wider adoption and expansion of blockchain usage, the need for a universal framework becomes increasingly evident, paving the way for a more interconnected and collaborative future in decentralized development. Conclusions This research addresses the challenge of fragmented blockchain development tools by proposing a novel unified library architec- ture. This architecture aims to bridge the gap by providing developers with a standardized and interoperable interface, facilitating seam- less interactions across diverse blockchain networks. The proposed solution presents a step forward in blockchain development, offering the following advantages: ̶ Enhanced developer efficiency. By providing a unified interface, the architecture significantly reduces the complexity caused by navigating and interacting with various blockchain ecosystems. ̶ Promoted cross-chain collaboration. Whether building applications that interact with Ethereum, Solana, Polkadot, or other emerging networks, the architecture simplifies communication and data exchange, fostering collaboration and innovation across the broader blockchain landscape. ̶ Future-proof design. Blockchain- specific features can be seamlessly integrated through adaptable entities within the library, ensuring it remains relevant and adaptable as new protocols and functionalities emerge. Potential challenges requiring further in- vestigation include: ̶ Addressing blockchain-specific nu- ances. While the unified interface offers sig- nificant advantages, particular blockchain networks may possess unique limitations or characteristics that it does not cover. Devel- opers should know these nuances and imple- ment appropriate workarounds interacting with specific blockchains. ̶ Balancing performance and versatility. The architecture adaptability across various blockchains might necessitate slight perfor- mance trade-offs. Based on the proposed architectural framework, the future improvements are the following: − conducting rigorous testing and per- formance evaluations across diverse block- chain networks to identify and address poten- tial limitations; − expanding the library's capabilities by developing and integrating plugins for a wider range of blockchain networks; − investigating and integrating emerging interoperability protocols and solutions to further enhance seamless communication across blockchain ecosystems; − conducting in-depth research on opti- mizing the library's internal data structures and algorithms to ensure efficient and scala- ble interactions across diverse blockchain networks. By taking these steps, the proposed unified library architecture can evolve into a robust and versatile solution, empowering developers to navigate the ever-evolving landscape of blockchain development with greater efficiency and fostering a more col- laborative and innovative future for decentral- ized technologies. References 1. Al-Jaroodi J., Mohamed N. (2019), 'Block- chain in Industries: A Survey', IEEE Access, vol. 7, pp. 36500-36515. 2. Nakamoto S. 'Bitcoin: A Peer-to-Peer Elec- tronic Cash System', available at https://bitcoin.org/bitcoin.pdf 95 Інструментальні засоби і середовища програмування 3. Zhang, R., Xue, R., Liu, L. (2019), 'Security and Privacy on Blockchain', ACM Computing Surveys, 52, 3, Article 51. 4. Johnson, D., Menezes, A., Vanstone, S. (2001), 'The Elliptic Curve Digital Signature Algorithm (ECDSA) ', International Journal of Information Security, 1, 36–63, https://doi.org/10.1007/s102070100002 5. Shamir A., Rivest, R., Adleman L. (1978), 'A method for obtaining digital signatures and public-key cryptosystems', Communications of the ACM, 21 (2), 120–126. 6. Pandey, S., Behl, R. & Sinha, A. (2023), 'De- centralized blockchain-based security en- hancement with lamport merkle digital signa- ture generation and optimized encryption in cloud environment', Multimedia Tools and Applications, doi: 10.1007/s11042-023- 17365-8. 7. Clincy, V., Shahriar, H. (2019), 'Blockchain Development Platform Comparison', 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), doi: 10.1109/COMPSAC.2019.00142. 8. Web3.js framework. Available at https://github.com/web3/web3.js (Accessed 28 February 2024). 9. Kwon, J., Buchman, E. (2016). Cosmos: a network of distributed ledgers. Available at https://github.com/cosmos/cosmos/blob/maste r/WHITEPAPER.md (Accessed 28 February 2024). 10. Wood, G. (2016). Polkadot: Vision for a het- erogenous multi-chain framework. Available at https://assets.polkadot.network/Polkadot- whitepaper.pdf (Accessed 28 February 2024). Received: 01.03.2024 Про авторів: Добрянський Богдан Ігорович, магістрант другого року навчання Національного Технічного Університету України «КПІ імені Ігоря Сікорського». Кількість наукових публікацій в українських виданнях – 1. Кількість наукових публікацій в зарубіжних виданнях – 0. Індекс Гірша – 0. https://orcid.org/0009-0003-4797-1947 Стеценко Інна Вячеславівна, доктор технічних наук, професор, професор кафедри інформатики та програмної інженерії НТУУ “КПІ імені Ігоря Сікорського”. Кількість наукових публікацій в українських виданнях – понад 140. Кількість наукових публікацій в зарубіжних виданнях – 16. Індекс Гірша – 11. http://orcid.org/ 0000-0002-4601-0058 Місце роботи авторів: Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», 03056, м. Київ, проспект Берестейський 37. Тел.: (044) 236-9651 e-mail: bogdan.dobryanskiy@jcloud.com, stiv.inna@gmail.com