Rafael Belchior, André Vasconcelos, Miguel Correia, Thomas Hardjono
The emergence of blockchain interoperability is reducing the risk of investing in blockchain by avoiding vendor lock-in, leveraging interoperation, and providing migration capabilities. However, to fully unlock the internet of blockchains, it is necessary to provide enterprise interoperability mechanisms that allow service providers to comply with different regulations, e.g., data privacy regulations. Each blockchain can be reached via a gateway, allowing to interconnect value, to provide different services, and to enable self-sovereignty. To realize this vision, we propose Hermes, a fault-tolerant middleware that connects blockchain networks and is based on the Open Digital Asset Protocol (ODAP). Hermes is crash fault-tolerant by allying a new protocol, ODAP-2PC, with a log storage API that can leverage blockchain to secure logs, providing them transparency, auditability, availability, and non-repudiation. We introduce a use case benefiting from Hermes, digital cross-jurisdiction promissory notes. We show that cross-chain transactions can be achieved securely with Hermes, given that gateways are complying with legal frameworks.
Autonomous vehicle systems, including multi-vehicle systems, are becoming increasingly relevant in military operations. A problem emerges, however, when logging data within these systems. In particular, loss of individual vehicles and inherently lossy and noisy communications environments can result in the loss of important mission data. This thesis presents a novel distributed ledger protocol that can be used to ensure that the data in such a system survives. To test the efficacy of the protocol, we implemented it as a Robot Operating System (ROS) node on the Advanced Robotic Systems Engineering Laboratory (ARSENL) aerial swarm system. Results are presented for implementation tests in the ARSENL software-in-the-loop simulation environment and during live-flight field experiments conducted at Camp Roberts, CA.
Sharding is the prevalent approach to breaking the trilemma of simultaneously achieving decentralization, security, and scalability in traditional blockchain systems, which are implemented as replicated state machines relying on atomic broadcast for consensus on an immutable chain of valid transactions. Sharding is to be understood broadly as techniques for dynamically partitioning nodes in a blockchain system into subsets (shards) that perform storage, communication, and computation tasks without fine-grained synchronization with each other. Despite much recent research on sharding blockchains, much remains to be explored in the design space of these systems. Towards that aim, we conduct a systematic analysis of existing sharding blockchain systems and derive a conceptual decomposition of their architecture into functional components and the underlying assumptions about system models and attackers they are built on. The functional components identified are node selection, epoch randomness, node assignment, intra-shard consensus, cross-shard transaction processing, shard reconfiguration, and motivation mechanism. We describe interfaces, functionality, and properties of each component and show how they compose into a sharding blockchain system. For each component, we systematically review existing approaches, identify potential and open problems, and propose future research directions. We focus on potential security attacks and performance problems, including system throughput and latency concerns such as confirmation delays. We believe our modular architectural decomposition and in-depth analysis of each component, based on a comprehensive literature study, provides a systematic basis for conceptualizing state-of-the-art sharding blockchain systems, proving or improving security and performance properties of components, and developing new sharding blockchain system designs.
David Yakira, Avi Asayag, Gad Cohen, Ido Grayevsky · 7 authors
We presentHelix, a blockchain-based consensus protocol forfairordering of transactions among nodes in a distributed network. Helix advances in rounds, in each an elected primary node proposes a potential block (a successive set of transactions). For being included in the blockchain, a block must pass validation by an elected committee of nodes. Nodes have two primary preferences. First, to be elected as committee members. Additionally, because each transaction is associated with one of the network nodes, nodes would like to prioritize their own transactions over those of others. Our definition of fairness incorporates three key elements. First, the process of electing nodes to committees is random and unpredictable. Second, a correlated sampling scheme is used to guarantee random selection and ordering of pending transactions in blocks. Third, transactions are encrypted to hide their associations with nodes and prevent censorship. Through the corresponding threshold decryption process we obtain an unpredictable and non-manipulable randomness beacon, which serves both the election process and the correlated sampling scheme. We define a quantitative measure of fairness in the protocol, prove theoretically that fairness manipulation in Helix is significantly limited, and present experiments evaluating fairness in practice.
Wei Yao, Fadi P. Deek, Renita Murimi, Guiling Wang
Consensus algorithms are central to blockchain technology and an emerging research area. In this paper, we begin with an overview of the different types and architectures of blockchain networks. Then, with a focus on consortium blockchains, we survey, classify, and assess their principal consensus mechanisms. Furthermore, as consensus mechanisms determine network reliability, enhance performance efficiency, and ensure system security, we conduct a critical analysis of the strengths and weaknesses of consensus algorithms using a taxonomy of three different criteria: reliability, performance, and security. We conclude with insights into current and future research challenges and opportunities in this domain.
Blockchain is a distributed ledger that is decentralized, immutable, and transparent, which maintains a continuously growing list of transaction records ordered into blocks. As the core of blockchain, the consensus algorithm is an agreement to validate the correctness of blockchain transactions. For example, Bitcoin is a public blockchain where each node in Bitcoin uses the Proof of Work (PoW) algorithm to reach a consensus by competing to solve a puzzle. Unlike a public blockchain, a consortium blockchain is an enterprise-level blockchain that does not contend with the issues of creating a resource-saving global consensus protocol. This paper highilights several state-of-the art solutions in consensus algorithms for enterprise blockchain. For example, the HyperLedger by Linux Foundation includes implementing Practical Byzantine Fault Tolerance (PBFT) as the consensus algorithm. PBFT can tolerate a range of malicious nodes and reach consensus with quadratic complexity. Another consensus algorithm, HotStuff, implemented by Facebook Libra project, has achieved linear complexity of the authenticator. This paper presents the operational mechanisms of these and other consensus protocols, and analyzes and compares their advantages and drawbacks.
This thesis proposes techniques aiming to make blockchain technologies and smart contract platforms practical by improving their scalability, latency, and privacy. This thesis starts by presenting the design and implementation of Chainspace, a distributed ledger that supports user defined smart contracts and execute user-supplied transactions on their objects. The correct execution of smart contract transactions is publicly verifiable. Chainspace is scalable by sharding state; it is secure against subsets of nodes trying to compromise its integrity or availability properties through Byzantine Fault Tolerance (BFT). This thesis also introduces a family of replay attacks against sharded distributed ledgers targeting cross-shard consensus protocols; they allow an attacker, with network access only, to double-spend resources with minimal efforts. We then build Byzcuit, a new cross-shard consensus protocol that is immune to those attacks and that is tailored to run at the heart of Chainspace. Next, we propose FastPay, a high-integrity settlement system for pre-funded payments that can be used as a financial side-infrastructure for Chainspace to support low-latency retail payments. This settlement system is based on Byzantine Consistent Broadcast as its core primitive, foregoing the expenses of full atomic commit channels (consensus). The resulting system has extremely low-latency for both confirmation and payment finality. Finally, this thesis proposes Coconut, a selective disclosure credential scheme supporting distributed threshold issuance, public and private attributes, re-randomization, and multiple unlinkable selective attribute revelations. It ensures authenticity and availability even when a subset of credential issuing authorities are malicious or offline, and natively integrates with Chainspace to enable a number of scalable privacy-preserving applications.
Although the emergence of the programmable smart contract makes blockchain systems easily embrace a wide range of industrial services, how to execute smart contracts efficiently becomes a big challenge nowadays. Due to the existence of Byzantine nodes, existing mature concurrency control protocols in database cannot be employed directly, since the mechanism of executing smart contracts varies a lot. Furthermore, even though smart contract execution follows a two-phase style, i.e., the primary node executes a batch of smart contracts in the first phase and the validators replay them in the second phase, existing parallel solutions merely focus on the optimization for the first phase, rather than the second phase. In this paper, we propose a novel two-phase concurrency control protocol to optimize both phases for the first time. First, the primary executes transactions in parallel and generates a transaction dependency graph with high parallelism for validators. Then, a graph partition algorithm is devised to divide the original graph into several sub-graphs to preserve parallelism and reduce communication cost remarkably. Finally, we propose a deterministic replay protocol to re-execute the primary’s parallel schedule concurrently. Moreover, this two-phase protocol is further optimized by integrating with PBFT. Theoretical analysis and extensive experimental results illustrate that the proposed scheme outperforms state-of-art solutions significantly.
Popular blockchains such as Ethereum and several others execute complex transactions in blocks through user-defined scripts known as smart contracts. Serial execution of smart contract transactions/atomic-units (AUs) fails to harness the multiprocessing power offered by the prevalence of multi-core processors. By adding concurrency to the execution of AUs, we can achieve better efficiency and higher throughput. In this paper, we develop a concurrent miner that proposes a block by executing the AUs concurrently using optimistic Software Transactional Memory systems (STMs). It captures the independent AUs in a concurrent bin and dependent AUs in the block graph (BG) efficiently. Later, we propose a concurrent validator that re-executes the same AUs concurrently and deterministically using a concurrent bin followed by a BG given by the miner to verify the proposed block. We rigorously prove the correctness of concurrent execution of AUs and achieve significant performance gain over the state-of-the-art.
Michael Neuder, Daniel J. Moroz, Rithvik Rao, David C. Parkes
We outline two dishonest strategies that can be cheaply executed on the Ethereum 2.0 beacon chain, even by validators holding less than one-third of the total stake: malicious chain reorganizations ("reorgs") and finality delays. In a malicious reorg, an attacker withholds their blocks and attestations before releasing them at an opportune time in order to force a chain reorganization, which they can take advantage of by double-spending or front-running transactions. To execute a finality delay an attacker uses delayed block releases and withholding of attestations to increase the mean and variance of the time it takes blocks to become finalized. This impacts the efficiency and predictability of the system. We provide a probabilistic and cost analysis for each of these attacks, considering a validator with 30% of the total stake.
A large number of consensus algorithms have been proposed. However, the requirement of strict consistency limits their wide adoption, especially in high-performance required systems. In this paper, we propose a weak consensus algorithm that only maintains the consistency of relative positions between the messages. We apply this consensus algorithm to construct a high-performance blockchain system, called \textit{Sphinx}. We implement the system with 32k+ lines of code including all components like consensus/P2P/ledger/etc. The evaluations show that Sphinx can reach a peak throughput of 43k TPS (with 8 full nodes), which is significantly faster than current blockchain systems such as Ethereum given the same experimental environment. To the best of our knowledge, we present the first weak consensus algorithm with a fully implemented blockchain system.
Abstract With the continuous in-depth application of new technologies such as big data and Internet of Things in the oil and gas field, the scale and value of oil and gas data continue to rise, laying the foundation for oil and gas big data sharing. Oil and gas big data sharing can effectively integrate different data sources and break the dilemma of “data islands” where data in the oil and gas field are separated from each other. However, there are problems in actual practice such as (1) difficulties in trust among different government departments, scientific research institutions and enterprises, (2) insufficient data privacy protection, and (3) weak data traceability. In response to the above problems, this article proposes a model of oil and gas big data sharing based on blockchain technology. We build a blockchain for oil and gas big data sharing alliances to secure oil and gas big data by utilizing the decentralization and non-tampering characteristics. We also provide supports for oil and gas big data sharing by controlling data access strictly based on the smart contracts. The evaluation and analysis results show that this model makes oil and gas big data more secure and authoritative compared with the traditional centralized sharing method.
Since the advent of Bitcoin in 2008, the interest in blockchain technology has surged tremendously. Numerous applications have been proposed in the field of finance, healthcare, and supply chain over the last decade. And, as the popularity of blockchains continue to rise, blockchain platforms must be enhanced to support new application needs. \nWe propose one such enhancement that is essential for financial applications and online marketplaces – support for time-based logic. Online marketplaces may need to validate transaction time-stamps against a perishable product’s expiry date to prevent sale of expired products. Similarly, financial applications in banking may also need a history of recent transactions for extending credit (like an overdraft) to a customer. As nodes in a blockchain operate in a distributed and trustless setting, it is imperative that they can access a global and trusted clock for verifying deadlines or examining a window of recent activity. \nIn this thesis, we present a lightweight solution that assigns time-stamps to blocks at transaction validation time, which can be referenced as a global clock by all nodes in the network. Moreover, our solution also maintains a cache \nreflecting the effects of recent transactions. We implement our solution, called TimeFabric, in Hyperledger Fabric, a popular permissioned blockchain platform, and experimentally demonstrate high throughput and minimal overhead (approximately 3%) of maintaining trusted time. We also demonstrate a 2x performance improvement due to the cache, compared to retrieving transaction histories directly from the ledger.
The Hashgraph consensus algorithm is an algorithm for asynchronous Byzantine fault tolerance intended for distributed shared ledgers. Its main distinguishing characteristic is it achieves consensus without exchanging any extra messages; each participant's votes can be determined from public information, so votes need not be transmitted. In this paper, we discuss our experience formalizing the Hashgraph algorithm and its correctness proof using the Rocq proof assistant. The paper is self-contained; it includes a complete discussion of the algorithm and its correctness argument in English.
Blockchain is a distributed ledger technology for recording transactions. When two or more miners create different versions of the blocks at almost the same time, blockchain forks occur. We model the mining process with forks by a discrete event system and design a supervisor controlling these forks.
The increasing complexity of modern hardware and software platform along with the imperative assurance on stability deems runtime verification of task fulfillment necessary in distributed systems. Distributing the burden of a central verification monitor to individual devices could improve the efficiency. Our previous work shows the possibility of achieving decentralized runtime verification by incorporating some mechanisms of the blockchain technology for locating the accountability when error occurs. However, traditional blockchain technology disallows branching and hence does not support verification of tasks which involves multiway dependencies. In this paper, we introduce a novel approach of smart marker that can be included in a blockchain to enable multiway branching and merging in order to verify the fulfillment of tasks that involve one-to-many and many-to-one dependencies. The design of smart marker satisfies three requirements of recognizability, compatibility, and authenticability. We implement a prototype of the smart marker scheme and analyze its performance.
In a Blockchain network multiple nodes across the network verify each transaction and preserve them without having a centralized authority. Verification and insertion of transactions are achieved through distributed cryptographic mechanism called consensus protocol. Consensus protocol involves the application of reputable concepts like Distributed Computing (P2P Networks), Cryptography and consensus algorithms. Traditional motivation for application of Consensus Protocols is to warrant reliability in the distributed systems. The basic assumption behind this protocol is, a `value' must have been proposed by some truthful node in the distributed system. Distributed consensus is attained once all the nodes present in the system agrees and approves the same value. At any given time, all nodes have a sequence of block of transactions, they have already reached consensus on. Also each node has a set of outstanding transactions it has heard about from other nodes. This consensus is achieved via various algorithms which serve as the backbone for Blockchain architecture. Once the transactions are verified, they will be included in the existing chain. The main advantage of such systems is the fact that they are immutable, transparent and distributed. Though stated simple, reaching consensus may be difficult due to various reasons such as crash of active node, presence of malicious nodes, faults in the network, latency (no global time) and not all pairs may be connected. A consensus algorithm ensures that the one and only version of truth gets added into the network, in addition to keeping malevolent people from tampering the network. It also makes sure that the system is fully decentralized. If everyone in the network is strictly honest, there is no need of consensus, however the probability of such existence is very less. Hence, we are undeniably in need of virtuous consensus algorithms for a strong, immortal Blockchain network. The process of selection and enactment of the suitable and right consensus protocol is the key for efficacious Blockchain network. This paper describes about distributed consensus and various algorithms which may be applied for implementation of a Blockchain network.