Mohammad M. Jalalzai, Costas Busch, Golden G. Richard
Byzantine Fault Tolerant (BFT) consensus exhibits higher throughput in comparison to Proof of Work (PoW) in blockchains. But BFT-based protocols suffer from scalability problems with respect to the number of replicas in the network. The main reason for this limitation is the quadratic message complexity of BFT protocols. Previously, proposed solutions improve BFT performance for normal operation, but will fall back to quadratic message complexity once the protocol observes a certain number of failures. This makes the protocol performance unpredictable as it is not guaranteed that the network will face a a certain number of failures. As a result, such protocols are only scalable when conditions are favorable (i.e., the number of failures are less than a given threshold). To address this issue we propose Proteus, a new BFT-based consensus protocol which elects a subset of nodes $c$ as a root committee. Proteus guarantees stable performance, regardless of the number of failures in the network and it improves on the quadratic message complexity of typical BFT-based protocols to $O(cn)$, where $c<<n$, for large $n$. Thus, message complexity remains small and less than quadratic when $c$ is asymptotically smaller than $n$, and this helps the protocol to provide stable performance even during the view change process (change of root committee). Our view change process is different than typical BFT protocols as it replaces the whole root committee compared to replacing a single primary in other protocols. We deployed and tested our protocol on $200$ Amazon $EC2$ instances, with two different baseline BFT protocols (PBFT and Bchain) for comparison. In these tests, our protocol outperformed the baselines by more than $2\times$ in terms of throughput as well as latency.
Blockchain technology, which supports the bitcoin cryptocurrency, has risen to prominence as the technology that will transform how business transactions occur and parties manage assets over the Internet. A decentralized system, the blockchain provides a way to digitally record and securely store verifiable and immutable transactions, which eliminates the need for trusted third-party intermediaries. While simplistically described as a decentralized ledger, the blockchain is a complex technology that integrates peer-to-peer networking, cryptography, and distributed consensus. In this paper, I explain blockchain’s components, describe how a blockchain works, identify use case examples from various industries, explore potentials and limitations, and speculate on the progressive adoption of the blockchain as a transformative technology.
Blockchains guarantee data integrity through consensus of distributed ledgers based on multiple validation nodes called miners. For this reason, any blockchain system can be critically disabled by a malicious attack from a majority of the nodes (e.g., 51% attack). These attacks are more likely to succeed as the number of nodes required for consensus is smaller. Recently, as blockchains are becoming too large (making them difficult to store, send, receive, and manage), sharding is being considered as a technology to help improve the transaction throughput and scalability of blockchains. Sharding distributes block validators to disjoint sets to process transactions in parallel. Therefore, the number of validators of each shard group is smaller, which makes shard-based blockchains more vulnerable to 51% attacks than blockchains that do not use sharding. To solve this problem, this paper proposes a trust-based shard distribution (TBSD) scheme that assigns potential malicious nodes in the network to different shards, preventing malicious nodes from gaining a dominating influence on the consensus of a single shard. TBSD uses a trust-based shard distribution scheme to prevent malicious miners from gathering in on one shard by integration of a trust management system and genetic algorithm (GA). First, the trust of all nodes is computed based on the previous consensus result. Then, a GA is used to compute the shard distribution set to prevent collusion of malicious miners. The performance evaluation shows that the proposed TBSD scheme results in a shard distribution with a higher level of fairness than existing schemes, which provides an improved level of protection against malicious attacks.
Antonio Fernández Anta, Chryssis Georgiou, Nicolas Nicolaou
The various applications using Distributed Ledger Technologies (DLT) or blockchains, have led to the introduction of a new `marketplace' where multiple types of digital assets may be exchanged. As each blockchain is designed to support specific types of assets and transactions, and no blockchain will prevail, the need to perform interblockchain transactions is already pressing. In this work we examine the fundamental problem of interoperable and interconnected blockchains. In particular, we begin by introducing the Multi-Distributed Ledger Objects (MDLO), which is the result of aggregating multiple Distributed Ledger Objects -- DLO (a DLO is a formalization of the blockchain) and that supports append and get operations of records (e.g., transactions) in them from multiple clients concurrently. Next, we define the AtomicAppends problem, which emerges when the exchange of digital assets between multiple clients may involve appending records in more than one DLO. Specifically, AtomicAppend requires that either all records will be appended on the involved DLOs or none. We examine the solvability of this problem assuming rational and risk-averse clients that may fail by crashing, and under different client utility and append models, timing models, and client failure scenarios. We show that for some cases the existence of an intermediary is necessary for the problem solution. We propose the implementation of such intermediary over a specialized blockchain, we term Smart DLO (SDLO), and we show how this can be used to solve the AtomicAppends problem even in an asynchronous, client competitive environment, where all the clients may crash.
Pedro Marcos, Marco Chiesa, Lucas Fernando Müller, Pradeeban Kathiravelu · 7 authors
Autonomous Systems (ASes) can reach hundreds of networks via Internet eXchange Points (IXPs), allowing improvements in traffic delivery performance and competitiveness. Despite the benefits, any pair of ASes needs first to agree on exchanging traffic. By surveying 100+ network operators, we discovered that most interconnection agreements are established through ad-hoc and lengthy processes heavily influenced by personal relationships and brand image. As such, ASes prefer long-term agreements at the expense of a potential mismatch between actual delivery performance and current traffic dynamics. ASes also miss interconnection opportunities due to trust reasons. To improve wide-area traffic delivery performance, we propose Dynam-IX, a framework that allows operators to build trust cooperatively and implement traffic engineering policies to exploit the rich interconnection opportunities at IXPs quickly. Dynam-IX offers a protocol to automate the interconnection process, an intent abstraction to express interconnection policies, a legal framework to digitally handle contracts, and a distributed tamper-proof ledger to create trust among ASes. We build and evaluate a Dynam-IX prototype and show that an AS can establish tens of agreements per minute with negligible overhead for ASes and IXPs.
Permissioned Blockchain (PBC) has become a prevalent data structure to ensure that the records are immutable and secure. However, PBC still has significant challenges before it can be realized in different applications. One of such challenges is the overhead of the communication which is required to execute the Byzantine Agreement (BA) protocol that is needed for consensus building. As such, it may not be feasible to implement PBC for resource constrained environments such as Internet-of-Things (IoT). In this paper, we assess the communication overhead of running BA in an IoT environment that consists of wireless nodes (e.g., Raspberry PIs) with meshing capabilities. As the the packet loss ratio is significant and makes BA unfeasible to scale, we propose a network coding based approach that will reduce the packet overhead and minimize the consensus completion time of the BA. Specifically, various network coding approaches are designed as a replacement to TCP protocol which relies on unicasting and acknowledgements. The evaluation on a network of Raspberry PIs demonstrates that our approach can significantly improve scalability making BA feasible for medium size IoT networks.
Chao Qiu, F. Richard Yu, Fangmin Xu, Haipeng Yao · 5 authors
Nowadays, in order to support flexibility, agility, and ubiquitous accessibility among vehicles, software defined networking has been proposed to integrate with vehicular networks, known as software defined vehicular network (SDVN). Due to a variety of data, flows, and vehicles in SDVN, a distributed SDVN is necessary. However, how to reach consensus in distributed SDVN efficiently and safely is an intractable problem. In this paper, we use a permissioned blockchain approach to reach consensus in distributed SDVN. The existing permissioned blockchain has a number of drawbacks, such as low throughput. We virtualize the underlying resources (e.g., computing resources and networking resources), jointly considering the trust features of blockchain nodes to improve the throughput. Accordingly, we formulate view change, computing resources allocation, and networking resources allocation as a joint optimization problem. In order to solve this joint problem, we use a novel deep Q-learning approach. Simulation results show the effectiveness of our proposed scheme.
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 leverages Intel SGX to develop a new abstraction called "stealth committee", which effectively hides the committee nodes into a large pool of fake committee nodes. EGES selects a distinct group of stealth committee for each block and confirms the same sequence of blocks among all nodes with overwhelming probability. Evaluation on typical geo-distributed settings shows that: (1)EGES is the first permissioned blockchain's consensus protocol that can tolerate tough DoS and network partition attacks; and (2) EGES achieves comparable throughput and latency as existing permissioned blockchains' protocols
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$ nodes that requires $n \times n$ broadcasting. In this paper, we present the {\em Musch} protocol which is BFT based and provides communication complexity $O(f n + n)$ for $f$ failures and $n$ nodes, where $f < n/3$, without compromising the latency. Hence, the performance adjusts to $f$ such that for constant $f$ the communication complexity is linear. Musch achieves this by introducing the notion of exponentially increasing windows of nodes to which complains are reported, instead of broadcasting to all the nodes. To our knowledge, this is the first BFT-based blockchain protocol which efficiently addresses simultaneously the issues of communication complexity and latency under the presence of failures.
Hany F. Atlam, Ahmed Alenezi, Raid Khalid Hussein, Gary Wills
The Internet of Things (IoT) has spread into multiple dimensions that incorporate different physical and virtual things. These things are connected together using different communication technologies to provide unlimited services. These services help not only to improve the quality of our daily lives, but also to provide a communication platform for increasing object collaboration and information sharing. Like all new technologies, the IoT has many security challenges that stand as a barrier to the successful implementation of IoT applications. These challenges are more complicated due to the dynamic and heterogeneous nature of IoT systems. However, authentication and access control models can be used to address the security issue in the IoT. To increase information sharing and availability, the IoT requires a dynamic access control model that takes not only access policies but also real-time contextual information into account when making access decisions. One of the dynamic features is the security risk. This paper proposes an Adaptive Risk-Based Access Control (AdRBAC) model for the IoT and discusses its validation using expert reviews. The proposed AdRBAC model conducts a risk analysis to estimate the security risk value associated with each access request when making an access decision. This model has four inputs/risk factors: user context, resource sensitivity, action severity and risk history. These risk factors are used to estimate a risk value associated with the access request to make the access decision. To provide the adaptive features, smart contracts will be used to monitor the user behaviour during access sessions to detect any malicious actions from the granted users. To validate and refine the proposed model, twenty IoT security experts from inside and outside the UK were interviewed. The experts have suggested valuable information that will help to specify the appropriate risk factors and risk estimation technique for implantation of the AdRBAC model.
Permissioned blockchains are arising as a solution to federate companies prompting accountable interactions. A variety of consensus algorithms for such blockchains have been proposed, each of which has dierent benets and drawbacks. Proof-of-Authority (PoA) is a new family of Byzantine fault-tolerant (BFT) consensus algorithms largely used in practice to ensure better performance than traditional Practical Byzantine Fault Tolerance (PBFT). However, the lack of adequate analysis of PoA hinders any cautious evaluation of their eectiveness in real-world permissioned blockchains deployed over the Internet, hence on an eventually synchronous network experimenting Byzantine nodes.<br> In this paper, we analyse two of the main PoA algorithms, named Aura and Clique, both in terms of provided guarantees and performances. First, we derive their functioning including how messages are exchanged, then we weight, by relying on the CAP theorem, consistency, availability and partition tolerance guarantees. We also report a qualitative latency analysis based on message rounds. The analysis advocates that PoA for per-missioned blockchains, deployed over the Internet with Byzantine nodes, do not provide<br> adequate consistency guarantees for scenarios where data integrity is essential. We claim that PBFT can t better such scenarios, despite a limited loss in terms of performance.
Blockchain technology is being considered as one of the ultimate revolutions that will be able to disrupt several pillars of our society. It is a public and distributed ledger built for security and interoperability. Blockchain provides all parties a secure and synchronized record of immutable transactions assembled together and permanently stored with a fingerprint, creating therefore an irreversible chain. In order to operate, this technology does not rely on any central authority. All transactions are sent over the network and the consensus is achieved by the mutual calculation and agreement. In this paper, we evaluate the blockchain technology and its evolution. Then, we characterize some essential features of the distributed ledger technologies (DLT) focusing on the three main blockchains actors: Bitcoin, Ethereum and Hyperledger. Besides, we present their security challenges and explore their drawbacks that can lead to use the blockchain network in order to conduct several attack scenarios. Finally, we describe their relationship with the onion router network (Tor) that beyond the malicious uses of the blockchain via Tor, these two networks share many common points.
Artem Barger, Yacov Manevich, Benjamin Mandler, Vita Bortnikov · 6 authors
Distributed Ledger Technology (DLT) is rapidly emerging as a new paradigm for automating complex business processes in secure and decentralised fashion. Currently, however, its wider adoption is hampered by scalability problems [3] rooted in an inherent tension between stringent consistency, security, and robustness requirements on one hand, and growing application demand coupled with high performance expectations on the other. For example, popular peer-to-peer DLTs based on proof-of-work consensus [4] can only improve the transaction throughput by degrading their security and consistency guarantees, which is unacceptable in the enterprise and mission-critical settings.
Distributed ledger technology, a method of storing and maintaining the integrity of multiple copies of critical data using a massively redundant network of participating machines, has found a “killer application” in blockchain, a type of distributed ledger. A blockchain consists of sequential blocks that may never be modified or reordered, leaving a public, auditable record that is consistent and highly resistant to tampering and deletion. These qualities make blockchain eminently suitable for its most common use, cryptocurrency, and its occasional variants in the form of cryptocurrency tokens, used to represent ownership or some other right to virtual or physical goods and capabilities. Blockchain also enables smart contracts, discrete bodies of software written to serve both as the memorial and the means of execution of an agreement between parties. Smart contracts can have all the elements of a traditional contract, and as jurisdictions legislate or jurists rule on the fine points of enforceability and the acceptability of smart contracts as traditional contracts, applications in nearly every area of commerce have emerged. Digital lawyers may not need to become software developers, but deepening their understanding of the capabilities and limitations of the technology, developing a keen awareness of the issues at the intersection between code and the law, as well as the law’s readiness in this area, will be of great advantage to them and their clients in this rapidly evolving area at the intersection of technology, commerce and law.
Andrew Miller, Yu Xia, Kyle Croman, Elaine Shi · 5 authors
The surprising success of cryptocurrencies has led to a surge of interest in deploying large scale, highly robust, Byzantine fault tolerant (BFT) protocols for mission-critical applications, such as financial transactions. Although the conventional wisdom is to build atop a (weakly) synchronous protocol such as PBFT (or a variation thereof), such protocols rely critically on network timing assumptions, and only guarantee liveness when the network behaves as expected. We argue these protocols are ill-suited for this deployment scenario. We present an alternative, HoneyBadgerBFT, the first practical asynchronous BFT protocol, which guarantees liveness without making any timing assumptions. We base our solution on a novel atomic broadcast protocol that achieves optimal asymptotic efficiency. We present an implementation and experimental results to show our system can achieve throughput of tens of thousands of transactions per second, and scales to over a hundred nodes on a wide area network. We even conduct BFT experiments over Tor, without needing to tune any parameters. Unlike the alternatives, HoneyBadgerBFT simply does not care about the underlying network.