With the introduction of the term blockchain in 2008, it's interest has been increasing in the community since the idea was coined. The reason for this interest is because it provides anonymity, security and integrity without any central third party organisation in control of data and transaction. It has attracted huge interest in research areas due to its advances in various platforms, limitations and challenges. There are various Distributed Ledger Technologies that demonstrates their special features which overcome limitations of other platforms. However, implementations of various distributed ledger technologies differ substantially based on their data structures, consensus protocol and fault tolerant among others. Due to these variations, they have a quite different cost, performance, latency and security. In this paper, working and in-depth comparison of major distributed ledger technologies including their special features, strengths and weaknesses is presented and discussed by identifying various criteria.
Diego Stucchi, Ruggero Susella, Pasqualina Fragneto, Beatrice Rossi
A major challenge in networked sensor systems and other IoT environments is addressing security. Vulnerabilities in those systems arise from poor physical security, unauthenticated devices, insecure firmware updates, insecure communication, and data corruption. In recent times Distributed Ledger Technologies (DLTs), of which Blockchain is an instance, have been identified as a possible solution to some of these issues. The blokchain model genetically ensures decentralized security and privacy, and therefore could provide IoT systems with a trusted infrastructure for securely logging data or exchanging tokens without the necessity, and costs, of central servers. Blockchain is no panacea, either. IoT devices that get connected to a blockchain network must still be secured, in particular they must protect the confidentiality of the keys. This requires the embedded microcontroller to execute only authenticated firmware, with protections against software attacks, such as buffer overflows, and resistance against side-channel attacks. In addition, as confirmed from the scarcity of implementations reported in the literature, it is still not clear whether blockchain protocols can be implemented efficiently on resource-constrained IoT devices. In this work, also supported by a Demo, we show an example of secure IoT device that enables the functionalities of IOTA, a DLT specifically designed for the use in the IoT. In particular, we present a Light Node based on STM32 that implements all the cryptographic functions, IOTA specific operations and communication functions required to successfully publish transactions in the IOTA distributed ledger. Our implementations on microcontrollers (ARM Cortex-M) performs up to 22 times faster in terms of cycles and up to 4 times faster in absolute time with respect to the state-of-the-art implementation on a Raspberry PI 3B. Our Light Node also ensures protection of the stored private data and guarantees secure firmware update thanks to a suitable configuration of some security features provided by STM32 microcontrollers.
Summary Selecting which blockchain participants can decide upon a new block is a difficult problem. Consortium blockchains need the participants to be predetermined while public blockchains incentivize all participants to waste their resources to decide every block. In this paper, we introduce the community blockchain that allows potentially all participants to decide upon “some” block while restricting the set of participants deciding upon “one” block. To this end, we propose a blockchain reconfiguration, a Byzantine consensus protocol that allows to dynamically change the set of blockchain participants deciding upon the upcoming blocks. The resulting blockchain, called ComChain , is resilience optimal and transitions through different configurations of participants recorded in dedicated blocks so that each configuration decides upon its subsequent transaction blocks. We evaluate an implementation that adds reconfiguration to the Red Belly Blockchain and demonstrates its practical performance in a distributed system.
Georgia Avarikioti, Antoine Desjardins, Eleftherios Kokoris-Kogias, Roger Wattenhofer
Sharding distributed ledgers is a promising on-chain solution for scaling blockchains but lacks formal grounds, nurturing skepticism on whether such complex systems can scale blockchains securely. We fill this gap by introducing the first formal framework as well as a roadmap to robust sharding. In particular, we first define the properties sharded distributed ledgers should fulfill. We build upon and extend the Bitcoin backbone protocol by defining consistency and scalability. Consistency encompasses the need for atomic execution of cross-shard transactions to preserve safety, whereas scalability encapsulates the speedup a sharded system can gain in comparison to a non-sharded system. Using our model, we explore the limitations of sharding. We show that a sharded ledger with $n$ participants cannot scale under a fully adaptive adversary, but it can scale up to $m$ shards where $n=c'm\log m$, under an epoch-adaptive adversary; the constant $c'$ encompasses the trade-off between security and scalability. This is possible only if the sharded ledgers create succinct proofs of the valid state updates at every epoch. We leverage our results to identify the sufficient components for robust sharding, which we incorporate in a protocol abstraction termed Divide & Scale. To demonstrate the power of our framework, we analyze the most prominent sharded blockchains (Elastico, Monoxide, OmniLedger, RapidChain) and pinpoint where they fail to meet the desired properties.
Georgia Avarikioti, Eleftherios Kokoris-Kogias, Roger Wattenhofer
Sharding distributed ledgers is the most promising on-chain solution for scaling blockchain technology. In this work, we define and analyze the properties a sharded distributed ledger should fulfill. More specifically, we show that a sharded blockchain cannot be scalable under a fully adaptive adversary, but it can scale up to $O(n/\log n)$ under an epoch-adaptive adversary. This is possible only if the distributed ledger creates succinct proofs of the valid state updates at the end of each epoch. Our model builds upon and extends the Bitcoin backbone protocol by defining consistency and scalability. Consistency encompasses the need for atomic execution of cross-shard transactions to preserve safety, whereas scalability encapsulates the speedup a sharded system can gain in comparison to a non-sharded system. We introduce a protocol abstraction and highlight the sufficient components for secure and efficient sharding in our model. In order to show the power of our framework, we analyze the most prominent shared blockchains (Elastico, Monoxide, OmniLedger, RapidChain) and pinpoint where they fail to meet the desired properties.
Yackolley Amoussou-Guenou, Antonella Del Pozzo, Maria Potop-Butucaru, Sara Tucci-Piergiovanni
Committee-based blockchains are among the most popular alternatives of proof-of-work based blockchains, such as Bitcoin. They provide strong consistency (no fork) under classical assumptions, and avoid using energy-consuming mechanisms to add new blocks in the blockchain. For each block, these blockchains use a committee that executes Byzantine-fault tolerant distributed consensus to decide the next block they will add in the blockchain. Unlike Bitcoin, where there is only one creator per block with high probability, in committee-based blockchain any block is cooperatively created. In order to incentivize committee members to participate to the creation of new blocks rewarding schemes have to be designed. In this paper, we study the fairness of rewarding in committee-based blockchains and we provide necessary and sufficient conditions on the system communication under which it is possible to have a fair reward mechanism.
Atomic Swap enables two parties to atomically exchange their own cryptocurrencies without trusted third parties. This paper provides the first quantitative analysis on the fairness of the Atomic Swap protocol, and proposes the first fair Atomic Swap protocol with implementations.
Adam Gągol, Damian Leśniak, Damian Straszak, Michał Świętek
The spectacular success of Bitcoin and Blockchain Technology in recent years has provided enough evidence that a widespread adoption of a common cryptocurrency system is not merely a distant vision, but a scenario that might come true in the near future. However, the presence of Bitcoin's obvious shortcomings such as excessive electricity consumption, unsatisfying transaction throughput, and large validation time (latency) makes it clear that a new, more efficient system is needed.
Blockchain, a potentially disruptive technology, advances many different applications, e.g., crypto-currencies, supply chains, and the Internet of Things. Under the hood of blockchain, it is required to handle different kinds of digital assets and data. The next-generation blockchain ecosystem is expected to consist of numerous applications, and each application may have a distinct representation of digital assets. However, digital assets cannot be directly recorded on the blockchain, and a tokenization process is required to format these assets. Tokenization on blockchain will inevitably require a certain level of proper standards to enrich advanced functionalities and enhance interoperable capabilities for future applications. However, due to specific features of digital assets, it is hard to obtain a standard token form to represent all kinds of assets. For example, when considering fungibility, some assets are divisible and identical, commonly referred to as fungible assets. In contrast, others that are not fungible are widely referred to as non-fungible assets. When tokenizing these assets, we are required to follow different tokenization processes. The way to effectively tokenize assets is thus essential and expecting to confront various unprecedented challenges. This paper provides a systematic and comprehensive study of the current progress of tokenization on blockchain. First, we explore general principles and practical schemes to tokenize digital assets for blockchain and classify digitized tokens into three categories: fungible, non-fungible, and semi-fungible. We then focus on discussing the well-known Ethereum standards on non-fungible tokens. Finally, we discuss several critical challenges and some potential research directions to advance the research on exploring the tokenization process on the blockchain. To the best of our knowledge, this is the first systematic study for tokenization on blockchain.
Blockchain is maintained as a global log between a network of nodes and uses cryptographic distributed protocols to synchronize the updates. As adopted by Bitcoin and Ethereum these update operations to the ledger are serialized, and executed in batches. To safeguard the system against the generation of conflicting sets of updates and maintain the consistency of the ledger, the frequency of the updates is controlled, which severely affects the performance of the system. This paper presents Converging Directed Acyclic Graph (CDAG), as a substitute for the chain and DAG structures used in other blockchain protocols. CDAG allows multiple parallel updates to the ledger and converges them at the next step providing finality to the blocks. It partitions the updates into non-intersecting buckets of transactions to prevent the generation of conflicting blocks and divide the time into slots to provide enough time for them to propagate in the network. Multiple simultaneous updates improve the throughput of CDAG, and the converging step helps to finalize them faster, even in the presence of conflicts. Moreover, CDAG provides a total order among the blocks of the ledger to support smart contracts, unlike some of the other blockDAG protocols. We evaluate the performance of CDAG on Google Cloud Platform using Google Kubernetes Engine, simulating a real-time network. Experimental results show that CDAG achieves a throughput of more than 2000 transactions per second and confirms them well in under 2 minutes. Also, the protocol scales well in comparison to other permissioned protocols, and the capacity of the network only limits the performance.
Blockchain platforms like Bitcoin and Ethereum have introduced a distributed and decentralized cryptocurrency system with no third-party intermediation required. These peer to peer network systems allows Internet users to directly transact with each other. However due to the heavy emphasis on decentralization, scalability has taken a back seat. It has also become a key issue in the wider adoption of these technologies. The change to the underlying data organizing structure to Direct Acyclic Graphs (DAG) of the distributed ledger, has significantly increased transaction scalability. In this paper, we analyse some of the Distributed Ledger Technologies that use DAGs and have shown marked improved in transaction performance without weakening security.
The rise of programmable open distributed consensus platforms based on the blockchain technology has aroused a lot of interest in replicated stateful computations, aka smart contracts. As blockchains are used predominantly in financial applications, smart contracts frequently manage millions of dollars worth of virtual coins. Since smart contracts cannot be updated once deployed, the ability to reason about their correctness becomes a critical task. Yet, the de facto implementation standard, pioneered by the Ethereum platform, dictates smart contracts to be deployed in a low-level language, which renders independent audit and formal verification of deployed code infeasible in practice. We report an ongoing experiment held with an industrial blockchain vendor on designing, evaluating, and deploying Scilla, a new programming language for safe smart contracts. Scilla is positioned as an intermediate-level language, suitable to serve as a compilation target and also as an independent programming framework. Taking System F as a foundational calculus, Scilla offers strong safety guarantees by means of type soundness. It provides a clean separation between pure computational, state-manipulating, and communication aspects of smart contracts, avoiding many known pitfalls due to execution in a byzantine environment. We describe the motivation, design principles, and semantics of Scilla, and we report on Scilla use cases provided by the developer community. Finally, we present a framework for lightweight verification of Scilla programs, and showcase it with two domain-specific analyses on a suite of real-world use cases.
The proof-of-stake (PoS) protocols aim to reduce the unnecessary computing power waste seen in Bitcoin. Various practical and provably secure designs have been proposed, like Ouroboros Praos (Eurocrypt 2018) and Snow White (FC 2019). However, the essential security property of unpredictability in these protocols remains insufficiently explored. This paper delves into this property in the cryptographic setting to achieve the "best possible" unpredictability for PoS. We first present an impossibility result for all PoS protocols under the single-extension design framework, where each honest player extends one chain per round. The state-of-the-art permissionless PoS protocols (e.g., Praos, Snow White, and more), are all under this single-extension framework. Our impossibility result states that, if a single-extension PoS protocol achieves the best possible unpredictability, then this protocol cannot be proven secure unless more than 73% of stake is honest. To overcome this impossibility, we introduce a new design framework called multi-extension PoS, allowing each honest player to extend multiple chains using a greedy strategy in a round. This strategy allows us to construct a class of PoS protocols that achieve the best possible unpredictability. It is noteworthy that these protocols can be proven secure, assuming a much smaller fraction (e.g., 57%) of stake to be honest.
Pingcheng Ruan, Tien Tuan Anh Dinh, Dumitrel Loghin, Meihui Zhang · 7 authors
Blockchain has come a long way: a system that was initially proposed specifically for cryptocurrencies is now being adapted and adopted as a general-purpose transactional system. As blockchain evolves into another data management system, the natural question is how it compares against distributed database systems. Existing works on this comparison focus on high-level properties, such as security and throughput. They stop short of showing how the underlying design choices contribute to the overall differences. Our work fills this important gap and provides a principled framework for analyzing the emerging trend of blockchain-database fusion. We perform a twin study of blockchains and distributed database systems as two types of transactional systems. We propose a taxonomy that illustrates the dichotomy across four dimensions, namely replication, concurrency, storage, and sharding. Within each dimension, we discuss how the design choices are driven by two goals: security for blockchains, and performance for distributed databases. To expose the impact of different design choices on the overall performance, we conduct an in-depth performance analysis of two blockchains, namely Quorum and Hyperledger Fabric, and two distributed databases, namely TiDB, and etcd. Lastly, we propose a framework for back-of-the-envelope performance forecast of blockchain-database hybrids.
Tien Tuan Anh Dinh, Anwitaman Datta, Beng Chin Ooi
Research in blockchain systems has mainly focused on improving security and bridging the performance gaps between blockchains and databases. Despite many promising results, we observe a worrying trend that the blockchain landscape is fragmented in which many systems exist in silos. Apart from a handful of general-purpose blockchains, such as Ethereum or Hyperledger Fabric, there are hundreds of others designed for specific applications and typically do not talk to each other. In this paper, we describe our vision of interoperable blockchains. We argue that supporting interaction among different blockchains requires overcoming challenges that go beyond data standardization. The underlying problem is to allow smart contracts running in different blockchains to communicate. We discuss three open problems: access control, general cross-chain transactions, and cross-chain communication. We describe partial solutions to some of these problems in the literature. Finally, we propose a novel design to overcome these challenges.
Lei Yu, Xiaofang Zhao, Yan Jin, Hengyi Cai · 6 authors
Current blockchain consensus protocols have a triangle of contradictions in aspects of decentralization, security, and energy consumption, and cannot be synchronously optimized. We describe a design of two new blockchain consensus protocols, called “CHB-consensus” and “CHBD-consensus,” based on a consistent hash algorithm. Honest miners can fairly gain the opportunity to create blocks. They do not consume any extra computational power resources when creating new blocks, and such blocks can obtain the whole blockchain network to confirm consensus with fairness. However, malicious miners have to pay massive computational power resources for attacking the new block creation privilege or double-spending. Blockchain networks formed by CHB-consensus and CHBD-consensus are based on the same security assumption as that in Bitcoin systems, so they save a huge amount of power without sacrificing decentralization or security. We analyze possible attacks and give a rigorous but adjustable validation strategy. CHB-consensus and CHBD-consensus introduce a certification authority (CA) system, which does not have special management or control rights over blockchain networks or data structures, but carries the risk of privacy breaches depending on credibility and reliability of the CA system. Here, we analyze the robustness and energy consumption of CHB-consensus and CHBD-consensus, and demonstrate their advantages through theoretical derivation.
With the wide-spread use of blockchain technology, Byzantine fault-tolerant (BFT) protocols are explored as a means to achieve consensus on which transactions should be processed next. BFT protocols are not a one-size-fits-all solution: they should be chosen according to the blockchain's use case, which can range from supply chain management to decentralised storage, requiring specialisation e.g. regarding throughput, latency, or level of decentralisation. Previously, consensus protocols were usually hardcoded into the blockchain infrastructure and could not be exchanged, therefore inhibiting flexible use of an otherwise generic blockchain infrastructure. Hyperledger Fabric claims to provide modular consensus and support for crash-fault and Byzantine fault tolerant protocols. However, integrating a BFT protocol has shown that Fabric's architecture is currently not well-suited for this fault model as it requires substantial changes and thereby breaks Fabric's modularity. This also has to be repeated for each integrated BFT protocol. In this paper, we present Bloxy, a blockchain-aware trusted proxy running on the replica that encapsulates all BFT client functionality. Bloxy enables transparent access to generic BFT frameworks and preserves Fabric's modularity even for the Byzantine fault model. It runs inside a trusted execution environment based on Intel's Software Guard Extensions. Bloxy offers blockchain-specific communication mechanisms as well as short-term block storage to handle crashes or disconnects to ensure that all nodes receive block updates. We implemented two Bloxy-based ordering services based on PBFT and the hybrid BFT protocol Hybster. Our evaluation shows that our approach increases throughput by up to 71% compared to directly integrated BFT protocols.
Blockchain fundamentals are based on a distributed peer-to-peer network, which has to deal with fault tolerances, like all other similar networks. This is specifically important for blockchain technology, due to its promised data integrity features like immutability and traceability. In this paper, we analyze the basic principles of distributed consensus algorithms while focusing on permissioned blockchain networks. We analyze how distributed consensus mechanisms in two permissioned blockchain networks (Hyperledger Fabric and Iroha) cope with a crash fault-prone environment.
In recent years, with hugh success of cryptocurrencies, blockchain has drawn attentions excessively. The consensus problem, as the key mechanism of blockchain, leads to a wide research. However, existing consensuses have difficulty being efficient and understandable at the same time. Therefore, we propose an understandable consensus protocol with high performance. It provides understandability by dividing consensus into log replication, commit confirmation and leader election, and it introduces digital signature and nested hash to survive byzantine failures. Our experimental results demonstrate that the proposed method shares similar performance and scalability with Raft.
With the continuous development of blockchain technology, more and more blockchain projects use semi-distributed P2P network structures. Although original gossip algorithm can be devoted to data synchronization in semi-distributed blockchain network, it can not be well applied to actual network environment. Since the probability of selecting a target node during data synchronization is fixed, it is inevitable that a message can be sent to a duplicate node. It will not only cause a lot of redundant messages, but also bring inefficient data synchronization. To address this problem, this paper proposes an improved HNA-Gossip algorithm which can reduce the probability of selecting duplicate nodes to send messages by recording historical node information dynamically. The simulation results show that, compared with the original gossip algorithm, various aspects of HNA-Gossip algorithm perform better.
Blockchain technology aims to maintain a consistent ledger which is kept by the nodes of the system in a distributed manner. To achieve this goal, a consensus protocol needs to be employed for the nodes to process the block data and exchange their validation opinions. A variety of consensus protocols have been proposed for different application scenarios. In this paper, we propose a framework of categorizing consensus protocols based on the number, role and selection of nodes to be involved in the validation and ordering procedure. We also identify several possible new directions of consensus protocol design for future blockchain applications.
Nowadays, blockchain is one of the most popular and innovate technologies over the world. Although this technology appears for first time in the Bitcoin cryptocurrency, in recent years, a lot of researchers and industries from different fields such as banking, financial, supply chain management, etc. have given more involved than ever before. The blockchain is implemented in decentralized and distributed ledgers in peer-to-peer (p2p) networks where non-trusting peers can implement digital asset transactions without the need of central authority. Then, other peers in the network, according specific rules determined by the network, validate these transactions, insert them in the block and append the block in the chain (ledger). The key contribution for the proper operation of the blockchain is the consensus protocols. Through these protocols, all the peers in the network or the majority of them, they have to reach an agreement for a specific block in order to insert it in the chain based on different blockchains rules. In this master thesis, we will analyze in depth the general architecture of the blockchain and various consensus protocols that implemented in different blockchains in order to be able to improve the Delegated Byzantine Fault Tolerance (DBFT) consensus algorithm, which is used in the NEO blockchain technology. Finally, a development of a reputation mechanism is needed based on the improvement of the DBFT algorithm in order to measure the reputation of the peers for a specific day.
Blockchain-based Smart Contract allows reliable enforcement of the programmatically specified agreement between distributed agents. However, during the process of verifying the result of transaction execution with distributed consensus protocol, private information such as fund amount being transferred can be exposed to others. To hide such sensitive information while keeping the integrity of the Smart Contract instances, we employ a homomorphic encryption technique. With this encryption technique, the validity of the arithmetic operation in a transaction can be checked without decrypting the operands. For instance, a remaining balance after fund transfer can be validated while the exact amount of the transferred fund and the final balance are kept in a ciphertext. In this work, we discuss the novel system architecture for verifying Smart Contracts instances with homomorphic encryption and evaluate its efficiency.
Marcus Brandenburger, Christian Cachin, Rüdiger Kapitza, Alessandro Sorniotti
A smart contract on a blockchain cannot keep a secret because its data is replicated on all nodes in a network. To remedy this problem, it has been suggested combining blockchains with trusted execution environments (TEEs), such as Intel SGX, for executing applications that demand confidentiality. As a consequence, untrusted blockchain nodes cannot get access to the data and computations inside the TEE. This paper first explores issues that arise from the combination of TEEs with blockchains: Smart contracts executed inside TEEs are susceptible to rollback attacks, which should be prevented to maintain confidentiality for the application. However, in blockchains with non-final consensus protocols, such as the proof-of-work in Ethereum and others, the contract execution must handle rollbacks by design. This implies that TEEs for securing smart-contract execution cannot be directly used for such blockchains; this approach works only when the consensus decisions are final. Second, this work introduces an architecture and a prototype for smart-contract execution within Intel SGX for Hyperledger Fabric, a prominent enterprise blockchain platform. Our system resolves additional difficulties posed by the specific execute-order-validate architecture of Fabric, prevents rollback attacks on TEE-based execution as far as possible, and minimizes the trusted computing base. For increasing security, our design encapsulates each application on the blockchain within its own enclave that shields it from the host system. An evaluation shows that the overhead of moving the execution into SGX is within 10%-20% for a sealed-bid auction application.