SURFACE, standing for Secure, Use-case adaptive, and Relatively Fork-free Approach of Chain Extension, is a consensus algorithm that is designed for real-world networks and enjoys the benefits from both the Nakamoto consensus and Byzantine Fault Tolerance (BFT) consensus. In SURFACE, a committee is randomly selected every round to validate and endorse the proposed new block. The size of the committee can be adjusted according to the underlying network to make the blockchain mostly fork-free with a reasonable overhead in communication. Consequently, the blockchain can normally achieve fast probabilistic confirmation with high throughput and low latency. SURFACE also provides a BFT mechanism to guarantee ledger consistency in case of an extreme network situation such as large network partition or being under massive DDoS attacks.
It is a critical matter for a blockchain system whether a Byzantine fault tolerance (BFT) can be guaranteed during a consensus process. Can connected vehicles (CVs) achieve the BFT consensus when the vehicles keep mobile? This paper seeks an answer to this fundamental question. It focuses on characterizing the impact of mobility on the performance of a BFT consensus among CVs.
Blockchain technology enables stakeholders to conduct trusted data sharing and exchange without a trusted centralized institution. These features make blockchain applications attractive to enhance trustworthiness in very different contexts. Due to unique design concepts and outstanding performance, blockchain has become a popular research topic in industry and academia in recent years. Every participant is anonymous in a permissionless blockchain represented by cryptocurrency applications such as Bitcoin. In this situation, some special incentive mechanisms are applied to permissionless blockc…
Recently, the blockchain technique was put in the spotlight as it introduced a systematic approach for multiple parties to reach consensus without needing trust. However, the application of this technique in practice is severely restricted due to its limitations in throughput. In this paper, we propose a novel consensus model, namely the implicit consensus, with a distinctive blockchain-based distributed ledger in which each node holds its individual blockchain. In our system, the consensus is not on the transactions, but on a special type of blocks called Check Points that are used to validat…
Consensus protocols play a pivotal role to balance security and efficiency in blockchain systems. In this paper, we propose an evaluation framework for blockchain consensus protocols termed as AlphaBlock. In this framework, we compare the overall performance of Byzantine Fault Tolerant (BFT) consensus and Nakamoto Consensus (NC). BFT consensus is reached by multiple rounds of quorum votes from the supermajority, while NC is reached by accumulating credibility with the implicit voting from appending blocks. AlphaBlock incorporates the key concepts of Hotstu BFT (HBFT) and Proof-of-authority (Po…
Research in the field of blockchain technology and applications is increasing at a fast pace. Although the Bitcoin whitepaper by Nakamoto is already ten years old, the field can still be seen as immature and at an early stage. Current research in this area is lacking a commonly shared knowledge and consensus about terms used to describe the technology and its properties. At the same time this research is challenging fundamental aspects of the Bitcoin core concept. It has to be questioned whether all of these new approaches still adequately could be described as blockchain technology. We propos…
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…
Consensus in decentralized systems that asynchronously receive events and which are subject to Byzantine faults is a common problem with many real-life applications. Advances in decentralized systems, such as distributed ledger (i.e., blockchain) technology, has only increased the importance of finding performant and secure solutions to consensus of state machine replication in decentralized systems. YAC is a practical decentralized consensus algorithm, that solves the problems of inefficient message passing and strong leaders that occur in classical Byzantine fault tolerant consensus algorith…
Blockchain has been regarded as a promising technology for Internet of Things (IoT), since it provides significant solutions for decentralized network which can address trust and security concerns, high maintenance cost problem, etc. The decentralization provided by blockchain can be largely attributed to the use of consensus mechanism, which enables peer-to-peer trading in a distributed manner without the involvement of any third party. This article starts from introducing the basic concept of blockchain and illustrating why consensus mechanism plays an indispensable role in a blockchain enab…
This paper revisits the ubiquitous problem of achieving state machine replication in blockchains based on repeated consensus, like Tendermint. To achieve state machine replication in blockchains built on top of consensus, one needs to guarantee fairness of user transactions. A huge body of work has been carried out on the relation between state machine replication and consensus in the past years, in a variety of system models and with respect to varied problem specifications. We systematize this work by proposing novel and rigorous abstractions for state machine replication and repeated consen…
A blockchain is a distributed ledger for recording transactions, maintained by many nodes without central authority through a distributed cryptographic protocol. All nodes validate the information to be appended to the blockchain, and a consensus protocol ensures that the nodes agree on a unique order in which entries are appended. Consensus protocols for tolerating Byzantine faults have received renewed attention because they also address blockchain systems. This work discusses the process of assessing and gaining confidence in the resilience of a consensus protocols exposed to faults and adv…
In recent years, blockchain technology has received unparalleled attention from academia, industry, and governments all around the world. It is considered a technological breakthrough anticipated to disrupt several application domains. This has resulted in a plethora of blockchain systems for various purposes. However, many of these blockchain systems suffer from serious shortcomings related to their performance and security, which need to be addressed before any wide-scale adoption can be achieved. A crucial component of any blockchain system is its underlying consensus algorithm, which in ma…
Blockchain and distributed ledger technologies rely on distributed consensus algorithms. In recent years many consensus algorithms and protocols have been proposed; most of them are for permissioned blockchain networks. However, the performance of these algorithms is not well understood. This paper introduces an approach to evaluating consensus algorithms and blockchain platforms in a hostile network environment with the presence of byzantine and other network failures. The approach starts by using stochastic modeling to model the behaviors of consensus algorithms under different typical and f…
Blockchain technologies can enable secure computing environments among mistrusting parties. Permissioned blockchains are particularly enlightened by companies, enterprises, and government agencies due to their efficiency, customizability, and governance-friendly features. Obviously, seamlessly fusing blockchain and cloud computing can significantly benefit permissioned blockchains; nevertheless, most blockchains implemented on clouds are originally designed for loosely-coupled networks where nodes communicate asynchronously, failing to take advantages of the closely-coupled nature of cloud ser…
Blockchain technology provides an auditable and tamper-proof distributed storage infrastructure for information records. This can be leveraged to support distributed workflow management. Compared to proof-of-work consensus, popularized by Bitcoin and Ethereum, blockchains based on BFT (byzantine fault tolerance) ordering consensus trade scalability for immediacy and finality of consensus. This makes them easier to use as distribution infrastructure, as applications need not be adapted to deal with eventual consistency and delayed consensus of proof-of-work blockchains. Hence, applications such…
Consensus is unnecessary when the truth is available. In this paper, we present a new perspective of rebuilding the blockchain without consensus. When the consensus phase is eliminated from a blockchain, transactions could be canonized quickly using a well-defined universal rule without consuming hashing power. Thus, the transactions per second(TPS) metric of such the consensusless blockchain can be largely boosted. Although consensus blockchain is promising, several technical challenges are also crucial. For example, double-spending attacks and frequent forking events must be prevented, the c…
In this work, we present IBFT 2.0 (Istanbul BFT 2.0), which is a Proof-of-Authority (PoA) Byzantine-fault-tolerant (BFT) blockchain consensus protocols that (i) ensures immediate finality, (ii) is robust in an eventually synchronous network model and (iii) features a dynamic validator set. IBFT 2.0, as the name suggests, builds upon the IBFT blockchain consensus protocol retaining all of the original features while addressing the safety and liveness limitations described in one of our previous works. In this paper, we present a high-level description of the IBFT 2.0 protocol and related robust…
It is no exaggeration to say that since the introduction of Bitcoin, blockchains have become a disruptive technology that has shaken the world. However, the rising popularity of the paradigm has led to a flurry of proposals addressing variations and/or trying to solve problems stemming from the initial specification. This added considerable complexity to the current blockchain ecosystems, amplified by the absence of detail in many accompanying blockchain whitepapers. Through this paper, we set out to explain blockchains in a simple way, taming that complexity through the deconstruction of the …
Mobile edge computing (MEC) and next-generation mobile networks are set to disrupt the way intelligent and autonomous systems are interconnected. This will have an effect on a wide range of domains, from the Internet of Things to autonomous mobile robots. The integration of such a variety of MEC services in a inherently distributed architecture requires a robust system for managing hardware resources, balancing the network load and securing the distributed applications. Blockchain technology has emerged a solution for managing MEC services, with consensus protocols and data integrity checks th…
First-generation blockchains provide probabilistic finality: a block can be revoked, albeit the probability decreases as the block sinks deeper into the chain. Recent proposals revisited committee-based BFT consensus to provide deterministic finality: as soon as a block is validated, it is never revoked. A distinguishing characteristic of these second-generation blockchains over classical BFT protocols is that committees change over time as the participation and the blockchain state evolve. In this paper, we push forward in this direction by proposing a formalization of the Dynamic Repeated Co…
Classical and contemporary distributed consensus protocols, may they be for binary agreement, state machine replication, or blockchain consensus, require all protocol participants in a peer-to-peer system to agree on exactly the same information as part of the consensus payload. Although this model of consensus is extensively studied, and is useful for most consensus based decentralized applications, it falls short of defining correct distributed systems which mandate participant credential based privileged visibility into the consensus payload, through the consensus protocol itself. We introd…
Most of today's online services (e.g., social networks, search engines, market places) are centralized, which is recognized as unsatisfactory by a majority of users for various reasons (e.g., centralized governance, censorship, loss of control over personal data). Blockchain technologies promise a new Web revolution (Web 3.0) through the decentralization of online services. However, one of the key limitations for this revolution to happen at a planetary scale is the poor performance of today's blockchains. We propose in this paper ALDER, a solution for unlocking the performance of off-the-shel…
There is a resurgence of interest in Byzantine fault-tolerant (BFT) systems due to blockchains. However, leader-based BFT consensus protocols used by permissioned blockchains have limited scalability and robustness. To alleviate the leader bottleneck in BFT consensus, we introduce Stratus, a robust shared mempool protocol that decouples transaction distribution from consensus. Our idea is to have replicas disseminate transactions in a distributed manner and have the leader only propose transaction ids. Stratus uses a provably available broadcast (PAB) protocol to ensure the availability of the…
To implement a blockchain, the trend is now to integrate a non-trivial Byzantine fault tolerant consensus algorithm instead of the seminal idea of waiting to receive blocks to decide upon the longest branch. After a decade of existence, blockchains trade now large amounts of valuable assets and a simple disagreement could lead to disastrous losses. Unfortunately, Byzantine consensus solutions used in blockchains are at best proved correct "by hand" as we are not aware of any of them having been formally verified. In this paper, we propose two contributions: (i) we illustrate the severity of th…
Permissioned Blockchains are increasingly considered in enterprise use-cases, many of which do not require geo-distribution, or even disallow it due to legislation. Examples include country-wide networks, such as Alastria, or those deployed using cloud-based platforms such as IBM Blockchain Platform. We expect these blockchains to eventually run in environments with high bandwidth and low latency modern networks, as well as, advanced programmable hardware accelerators in servers. Even though there is renewed interest in BFT consensus algorithms with various proposals targeting Permissioned Blo…
In a blockchain system, consensus protocol as an incentive and security mechanism, is to ensure the participants to build the block honestly and effectively. There are different consensus protocols for blockchain, like Proof of work (PoW), Proof of Stake (PoS), Proof of Space (PoSpace), Proof of Activities etc. But most of these consensus protocols are not designed for doing some useful jobs for society because of too much competition and scalability limitation. Massive electric power and computing resources, including CPU, RAM, storage and sensors have been wasted to run blockchain network ba…
Existing permissioned blockchain systems designate a fixed and explicit group of committee nodes to run a consensus protocol that confirms the same sequence of blocks among all nodes. Unfortunately, when such a permissioned blockchain runs in a large scale on the Internet, these explicit committee nodes can be easily turned down by denial-of-service (DoS) or network partition attacks. Although work proposes scalable BFT protocols that run on a larger number of committee nodes, their efficiency drops dramatically when only a small number of nodes are attacked. In this paper, our EGES protocol l…
To address the large amount of energy wasted by blockchains, we propose a decentralized consensus protocol for blockchains in which the computation can be used to search for good approximate solutions to any optimization problem. Our protocol allows the wasted energy to be used for finding approximate solutions to problems submitted by any nodes~(called clients). Our protocol works in a similar way to proof-of-work, and it makes nodes evaluate a large number of solution candidates to add a new block to the chain. A client provides a search program that implements any search algorithm that find…
Public blockchains are decentralized networks where each participating node executes the same decision-making process. This form of decentralization does not scale well because the same data are stored on each network node, and because all nodes must validate each transaction prior to their confirmation. One solution approach decomposes the nodes of a blockchain network into subsets called "shards", each shard processing and storing disjoint sets of transactions in parallel. To fully benefit from the parallelism of sharded blockchains, the processing load of shards must be evenly distributed. …
Blockchain technology has been proposed as a new infrastructure technology for a wide variety of novel applications. Blockchains provide an immutable record of transactions, making them useful when business actors do not trust each other. Their distributed nature makes them suitable for inter-organizational applications. However, proof-of-work based blockchains are computationally inefficient and do not provide final consensus, although they scale well to large networks. In contrast, blockchains built around Byzantine Fault Tolerance (BFT) algorithms are more efficient and provide immediate an…
We present a general consensus framework that allows to easily introduce a customizable Byzantine fault tolerant consensus algorithm to an existing (Delegated) Proof-of-Stake blockchain. We prove the safety of the protocol under the assumption that less than 1/3 of the validators are Byzantine. The framework further allows for consensus participants to choose subjective decision thresholds in order to obtain safety even in the case of a larger proportion of Byzantine validators. Moreover, the liveness of the protocol is shown if less than 1/3 of the validators crash. Based on the framework, we…
There is surge of interest to the blockchain technology not only in the scientific community but in the business community as well. Proof of Work (PoW) and Byzantine Fault Tolerant (BFT) are the two main classes of consensus protocols that are used in the blockchain consensus layer. PoW is highly scalable but very slow with about 7 (transactions/second) performance. BFT based protocols are highly efficient but their scalability are limited to only tens of nodes. One of the main reasons for the BFT limitation is the quadratic $O(n^2)$ communication complexity of BFT based protocols for $n$ node…
Since the inception of Bitcoin, cryptocurrencies and the underlying blockchain technology have attracted an increasing interest from both academia and industry. Among various core components, consensus protocol is the defining technology behind the security and performance of blockchain. From incremental modifications of Nakamoto consensus protocol to innovative alternative consensus mechanisms, many consensus protocols have been proposed to improve the performance of the blockchain network itself or to accommodate other specific application needs. In this survey, we present a comprehensive re…
Existing Byzantine fault tolerance (BFT) protocols face significant challenges in the consortium blockchain scenario. On the one hand, we can make little assumptions about the reliability and security of the underlying Internet. On the other hand, the applications on consortium blockchains demand a system as scalable as the Bit-coin but providing much higher performance, as well as provable safety. We present a new BFT protocol, Gosig, that combines crypto-based secret leader selection and multi-round voting in the protocol layer with implementation layer optimizations such as gossip-based mes…
In this paper, we propose two models for scaling the transaction throughput in Proof-of-Work (PoW) based blockchain networks. In the first approach, a mathematical model has derived for optimal transaction throughput for PoW based longest chain rule blockchain. In this approach, the blockchain Peer-to-Peer (P2P) network is considered as Erdös-Rényi random network topology. This approach is however limited by the block creation rate, the results suggest that the rate beyond an optimal point can result in unfairness in the system. The second approach is a new consensus protocol proposed by consi…
In the paper, we present designs for multiple blockchain consensus primitives and a novel blockchain system, all based on the use of trusted execution environments (TEEs), such as Intel SGX-enabled CPUs. First, we show how using TEEs for existing proof of work schemes can make mining equitably distributed by preventing the use of ASICs. Next, we extend the design with proof of time and proof of ownership consensus primitives to make mining energy- and time-efficient. Further improving on these designs, we present a blockchain using a proof of luck consensus protocol. Our proof of luck blockcha…
While the large-scale Internet of Things (IoT) makes many new applications feasible, like Smart Cities, IoT also brings new concerns on data reliability, security, and privacy. The rapid evolution in blockchain technologies, which relied on a decentralized, immutable and distributed ledger system for transaction data auditing, provides a prospective solution to address the issues in IoT. The blockchain and smart contract enabled security mechanism for IoT applications have attracted increasing interests from both academia and industry. However, integrating cryptocurrency-oriented blockchain te…
Popular distributed ledger technology (DLT) systems using proof-of-work (PoW) for Sybil attack resistance have extreme energy requirements, drawing stern criticism from academia, businesses, and the media. DLT systems building on alternative consensus mechanisms, foremost proof-of-stake (PoS), aim to address this downside. In this paper, we take a first step towards comparing the energy requirements of such systems to understand whether they achieve this goal equally well. While multiple studies have been undertaken that analyze the energy demands of individual Blockchains, little comparative …
We present HotStuff, a leader-based Byzantine fault-tolerant replication protocol for the partially synchronous model. Once network communication becomes synchronous, HotStuff enables a correct leader to drive the protocol to consensus at the pace of actual (vs. maximum) network delay--a property called responsiveness--and with communication complexity that is linear in the number of replicas. To our knowledge, HotStuff is the first partially synchronous BFT replication protocol exhibiting these combined properties. HotStuff is built around a novel framework that forms a bridge between classic…
Consensus is one of the key problems in blockchains. There are many articles analyzing the performance of threat models for blockchains. But the network stability seems lack of attention, which in fact affects the blockchain performance. This paper studies the performance of a well adopted consensus algorithm, Raft, in networks with non-negligible packet loss rate. In particular, we propose a simple but accurate analytical model to analyze the distributed network split probability. At a given time, we explicitly present the network split probability as a function of the network size, the packe…
A new framework for a secure and robust consensus in blockchain-based IoT networks is proposed using machine learning. Hyperledger fabric, which is a blockchain platform developed as part of the Hyperledger project, though looks very apt for IoT applications, has comparatively low tolerance for malicious activities in an untrustworthy environment. To that end, we propose AI-enabled blockchain (AIBC) with a 2-step consensus protocol that uses an outlier detection algorithm for consensus in an IoT network implemented on hyperledger fabric platform. The outlier-aware consensus protocol exploits a…
A critical component of any blockchain or distributed ledger technology (DLT) platform is the consensus algorithm. Blockchain consensus algorithms are the primary vehicle for the nodes within a blockchain network to reach an agreement. In recent years, many blockchain consensus algorithms have been proposed mainly for private and permissioned blockchain networks. However, the performance of these algorithms and their reliability in hostile environments or the presence of byzantine and other network failures are not well understood. In addition, the testing and validation of blockchain applicat…
With the development of decentralized consensus protocols, permissionless blockchains have been envisioned as a promising enabler for the general-purpose transaction-driven, autonomous systems. However, most of the prevalent blockchain networks are built upon the consensus protocols under the crypto-puzzle framework known as proof-of-work. Such protocols face the inherent problem of transaction-processing bottleneck, as the networks achieve the decentralized consensus for transaction confirmation at the cost of very high latency. In this paper, we study the problem of consensus formation in a …
While electronic signatures are widespread, there currently exists no viable signing solutions that can track amendments. We proposed VeriSign, a secure contract consensus platform where amendments to contracts can be tracked in a decentralized medium. We demonstrate a user-facing app where signatories can vote on original contracts and amendments, and incorporate a Blockchain where we store the transaction history of original contracts and amendments. This platform has possible applications in tracking the history of legislation, and amendments to legislation.
We consider the problem of varying the security of blockchain transactions according to their importance. This adaptive security is achieved by using variable size consensus committees. To improve performance, such committees function concurrently. We present two algorithms that allow adaptive security by forming concurrent variable size consensus committees on demand. One is based on a single joint blockchain, the other is based on separate sharded blockchains. For in-committee consensus, our algorithms may use various available byzantine-robust fault tolerant algorithms (BFT). We implement s…