Created at 8pm, Jun 4
t2ruvaSoftware Development
0
Engineering Blockchain Based Software Systems: Foundations, Survey, and Future Directions
BgFpk_8bKnusbDAjEYA7_Z0-9_vWRIv2vHU9VQRj_G8
File Type
PDF
Entry Count
226
Embed. Model
jina_embeddings_v2_base_en
Index Type
hnsw

Many scientific and practical areas have shown increasing interest in reaping the benefits of blockchain technology to empowersoftware systems. However, the unique characteristics and requirements associated with Blockchain Based Software (BBS) systemsraise new challenges across the development lifecycle that entail an extensive improvement of conventional software engineering.This article presents a systematic literature review of the state-of-the-art in BBS engineering research from the perspective of thesoftware engineering discipline. We characterize BBS engineering based on the key aspects of theoretical foundations, processes,models, and roles. Based on these aspects, we present a rich repertoire of development tasks, design principles, models, roles,challenges, and resolution techniques. The focus and depth of this survey not only give software engineering practitioners andresearchers a consolidated body of knowledge about current BBS development but also underpin a starting point for furtherresearch in this field.CCS CONCEPTS • General and reference → Surveys and overviews • Software engineering, Software and itsengineering, Software development process management, Blockchain, Smart contractsAdditional Keywords and Phrases: Software engineering, Systems development methods, Blockchain, Blockchain based softwaresystems

· external world and resolving the interaction issues between on -chain and off -chain components [S26], [S35]. The patterns are suggested to design state management components and they are based on the notion of (i) Oracle, i.e., storing the state of external systems into the blockchain execution environment and (ii) reverse Oracle, i.e., creating an interface between external systems and smart contracts for supplying data and check conditions, and (iii) validation oracle i.e., a state coordination mechanism to check conditions that cannot be represented in an on -chain environment. If a transaction validation depends on external states, the validation oracle is asked to validate and sign the transaction. The validation oracle mechanism can be performed by automatically or by a human arbitrator injecting external states into blockchain via regularly updating the values of external application states within the smart contract storage. Alternatively, Luu et al. [S17] propose a technique in
id: 78fee1a8fddede0fd7b3c49b62cc8278 - page: 19
The current state should satisfy g for the execution of T to proceed. If g is not satisfied, the transaction is simply dropped. For transactions that do not provide g, it is simply considered g true. This solution guarantees that either the sender gets the expected output or the transaction fails. Nevertheless, software teams should be aware that all these ways affect the execution performance of transactions and cause a delay due to the need to make sure the consistency of states between on-chain and off-chain components by validation oracle mechanism [S55].
id: a47f35adc16bd3931314287fcdedad58 - page: 19
Replication and synchronization Authentication and authorization Interaction Smart contract Consensus mechanism Incentive mechanism
id: 0da19a3fbc823eb70699c6b68e9fdba8 - page: 19
Replication and synchronization design. There are differences in the design of data replication and synchronization between conventional software systems and BBS [S55]. In the non-BBS context, software teams adopt common data partitioning and replicating mechanisms such as master-slave or multi-master replication to improve the throughput, sustainability, and latency of a software system. In contrast, in BBS harness, each data block is duplicated over network nodes, which causes unwanted increase in latency and the reduction of BBS throughput. Moreover, for the data synchronization design in conventional software architecture design, there are well-known mechanisms such as 2-Phase Commit and Paxos to keep data replication synchronized. The synchronization mechanism in BBS is based on reaching consensus among network nodes to perform correct operations regardless of faulty components. Additionally, consistency control on performing transactions in BBS is based on the defined terms and r
id: 5e3679227777b7860df3dfecaeb085d4 - page: 19
How to Retrieve?
# Search

curl -X POST "https://search.dria.co/hnsw/search" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"rerank": true, "top_n": 10, "contract_id": "BgFpk_8bKnusbDAjEYA7_Z0-9_vWRIv2vHU9VQRj_G8", "query": "What is alexanDRIA library?"}'
        
# Query

curl -X POST "https://search.dria.co/hnsw/query" \
-H "x-api-key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"vector": [0.123, 0.5236], "top_n": 10, "contract_id": "BgFpk_8bKnusbDAjEYA7_Z0-9_vWRIv2vHU9VQRj_G8", "level": 2}'