Sina Rafati Niya, Raphael Beckmann, Burkhard Stiller
The integration of the Internet-of-Things (IoT) and Blockchain (BC) for strong trust and decentralization shows potentials in use cases, such as supply chain tracing, smart cities, and health care. As a great number of IoT devices interacting in such cases, it is crucial to provide scalable and secure mechanisms for IoT data persistence within BCs. In this regard, sharding mechanisms have been employed to enhance the scalability of BCs. However, disconnections and delays of a BC's distributed network can cause concerns for inter-shard and inter-miner synchronizations, eventually preventing the BC from reaching a high throughput. Thus, this work develops an IoT-oriented permissioned BC, which covers via a scalable Distributed Ledger (DL) a novel sharding mechanism for unstable distributed networks. Therefore, DLIT (Distributed Ledger for IoT Data) offers a novel two-layered transaction distribution, validation, and inter-shard synchronization, combined with authentication and verification mechanisms in support of a viable security level.
This work deals with problem of deployment of Practical Byzantine Fault Tolerance (PBFT) consensus algorithm in Internet of things (IoT) applications requiring strict order among records linked in blockchains at multiple geographical points. Due to the needs of reliability and coverage of larger geographical areas it becomes necessary to extend current PBFT systems with single entry node towards multiple entry nodes. In this work we model PBFT systems with single and multiple entry points and compare their performance. We have implemented multiple entry system using CSMA/CA algorithm over fully connected P2P networks. We have compared two systems with four orderers against increasing system load and against increasing geographical coverage. Our results indicate that system with four entry points has double capacity over the system with single entry point.
SodsBC is the first asynchronous blockchain consensus utilizing the concurrent preprocessing model to achieve high performance and quantum-safety. Each participant proposes one block part by a reliable broadcast (RBC), and n parallel RBCs are finalized by n parallel binary Byzantine agreement (BBA) instances, rendering a consistent block part union. Each asynchronous and randomized BBA will consume common random coins to keep liveness. In a preprocessing stage, SodsBC continuously produces a stream of distributed secrets shared by a novel quantum-safe and asynchronous weak secret sharing (AWSS) scheme. The finished secret shares are ordered in the same asynchronous consensus architecture and combined to form coins for future online stages. In an online stage (simultaneously as a preprocessing stage), SodsBC makes a consensus block for transactions which consumes the agreed one-time used coins (generated in previous preprocessing stages) to support the BBA usage. SodsBC demonstrates the possibility to support the preprocessing activity by the agreement capabilities of the online activity. Ongoing concurrent preprocessing and online activities are continuously executed in a producer-consumer fashion to support the quantum-safe coin-flipping protocol. AWSS also helps to distribute the keys of a symmetric encryption scheme which encrypts the proposed block parts to avoid transaction censorship. After deploying the concurrent preprocessing model and equipping our quantum-safe building blocks, the SodsBC implementation shows a better throughput rate than VISA in a four-node-LAN network, i.e., a typical consortium blockchain. SodsBC also outperforms the open-source asynchronous blockchain, Honeybadger, when we deploy worldwide 100 AWS t2.medium nodes to construct a global WAN network.
IOTA is a new type of distributed ledger designed for allowing fee-less and rate-scalable micropayments in Internet of Things applications. Security research on IOTA has focused mainly on attacks involving its cryptographic operations or its consensus algorithm. In this paper, we present a preliminary analysis of the IOTA security with respect to malicious Autonomous Systems (ASes), which can intercept IOTA connections by manipulating routing advertisements (BGP hijacking) or by naturally intercepting traffic. We make the simplifying assumption that the malicious AS can intercept routes between hosts without causing side effects, or without these side effects being noticed by the intercepted hosts. We identify three notable attacks that can lead to permanent money freeze, and to local or global interruptions of the consensus mechanisms. We then analyze the vulnerability of IOTA against malicious ASes on the real Internet topology, and we show that IOTA cryptocurrency is, at the time of writing, pretty susceptible of these attacks because quite centralized from the point of view of BGP routing. We then study the routing-level security of the next version of IOTA (post-coordicide), which has been proposed by the IOTA Foundations to make the cryptocurrency fully distributed.
Reliable and verifiable public randomness is not only an essential building block in various cryptographic primitives, but also is a critical component in many distributed and decentralized protocols, e.g., blockchain sharding. A ‘good’ randomness generator should preserve several distinctive properties, such as public-verifiability, bias-resistance, unpredictability, and availability. However, it is a challenging task to generate such good randomness. For instance, a dishonest party may behave deceptively to bias the final randomness, which is toward his preferences. And this challenge is more serious in a distributed and decentralized system. Blockchain technology provides several promising features, such as decentralization, immutability, and trustworthiness. Due to extremely high overheads on both communication and computation, most existing solutions face an additional scalability issue. We propose a sharding-based scheme, RandChain, to obtain a practical scalable distributed and decentralized randomness attested by blockchain in large-scale applications. In RandChain, we eliminate the use of computation-heavy cryptographic operations, e.g., Publicly Verifiable Secret Sharing (PVSS), in prevalent approaches. We build a sub-routine, RandGene, which utilizes a commit-then-reveal strategy to establish a local randomness, enforced by efficient Verifiable Random Function (VRF). RandGene generates the randomness based on statistical approaches, instead of cryptographic operations, to eliminate computational operations. RandChain maintains a two-layer hierarchical chain structure via a sharding scheme. The first level chain is maintained by RandGene within each shard to provide a verifiable randomness source by blockchain. The second level chain uses the randomnesses from each shard to build a randomness chain.
Although blockchain, the supporting technology of Bitcoin and various cryptocurrencies, has offered a potentially effective framework for numerous applications, it still suffers from the adverse affects of the impossibility triangle. Performance, security, and decentralization of blockchains normally do not scale simultaneously with the number of participants in the network. The recent introduction of error correcting codes in sharded blockchain by Li et al. partially settles this trilemma, boosting throughput without compromising security and decentralization. In this paper, we improve the coded sharding scheme in three ways. First, we propose a novel 2-Dimensional Sharding strategy, which inherently supports cross-shard transactions, alleviating the need for complicated inter-shard communication protocols. Second, we employ distributed storage techniques in the propagation of blocks, improving latency under restricted bandwidth. Finally, we incorporate polynomial cryptographic primitives of low degree, which brings coded blockchain techniques into the realm of feasible real-world parameters.
A popular method in practice offloads computation and storage in blockchains by relying on committing only hashes of off-chain data into the blockchain. This mechanism is acknowledged to be vulnerable to a stalling attack: the blocks corresponding to the committed hashes may be unavailable at any honest node. The straightforward solution of broadcasting all blocks to the entire network sidesteps this data availability attack, but it is not scalable. In this paper, we propose ACeD, a scalable solution to this data availability problem with $O(1)$ communication efficiency, the first to the best of our knowledge. The key innovation is a new protocol that requires each of the $N$ nodes to receive only $O(1/N)$ of the block, such that the data is guaranteed to be available in a distributed manner in the network. Our solution creatively integrates coding-theoretic designs inside of Merkle tree commitments to guarantee efficient and tamper-proof reconstruction; this solution is distinct from Asynchronous Verifiable Information Dispersal (in guaranteeing efficient proofs of malformed coding) and Coded Merkle Tree (which only provides guarantees for random corruption as opposed to our guarantees for worst-case corruption). We implement ACeD with full functionality in 6000 lines of Rust code, integrate the functionality as a smart contract into Ethereum via a high-performance implementation demonstrating up to 10,000 transactions per second in throughput and 6000x reduction in gas cost on the Ethereum testnet Kovan.
Vitor N. Coelho, Rodolfo Pereira Araújo, Haroldo Gambini Santos, Wang Yong Qiang · 5 authors
Mixed-integer mathematical programming has been widely used to model and solve challenging optimization problems. One interesting feature of this technique is the ability to prove the optimality of the achieved solution, for many practical scenarios where a linear programming model can be devised. This paper explores its use to model very strong Byzantine adversaries, in the context of distributed consensus systems. In particular, we apply the proposed technique to find challenging adversarial conditions on a state-of-the-art blockchain consensus: the Neo dBFT. Neo Blockchain has been using the dBFT algorithm since its foundation, but, due to the complexity of the algorithm, it is challenging to devise definitive algebraic proofs that guarantee safety/liveness of the system (and adjust for every change proposed by the community). Core developers have to manually devise and explore possible adversarial attacks scenarios as an exhaustive task. The proposed multi-objective model is intended to assist the search of possible faulty scenario, which includes three objective functions that can be combined as a maximization problem for testing one-block finality or a minimization problem for ensuring liveness. Automated graphics help developers to visually observe attack conditions and to quickly find a solution. This paper proposes an exact adversarial model that explores current limits for practical blockchain consensus applications such as dBFT, with ideas that can also be extended to other decentralized ledger technologies.
Improving performance of blockchain systems is one of the principal research interests in the field. While many efforts are being made to produce faster and more efficient consensus protocols, they are all constrained by a common factor: the time it takes for a block to propagate through the network. Most blockchain networks use different variations of gossip-like communication protocols to be able to send large messages whilst minimizing latency and bandwidth use. Unfortunately, it still supposes a major bottleneck for state-of-the-art high-performance blockchain systems. In this paper we analyze the most relevant work being done to improve message propagation in blockchain networks. More specifically, we introduce the problem of neighbour selection for gossip protocols, and we propose an alternative method to pick neighbours based on weights derived from self-collected metrics. Our technical performance study shows that the proposed method can suppose an improvement of up to 5 seconds. Additionally, in combination with the use of erasure coding techniques, we are capable of achieving a 75% reduction of the overall block propagation time.
Winkle protects any validator-based byzantine fault tolerant consensus mechanisms, such as those used in modern Proof-of-Stake blockchains, against long-range attacks where old validators' signature keys get compromised. Winkle is a decentralized secondary layer of client-based validation, where a client includes a single additional field into a transaction that they sign: a hash of the previously sequenced block. The block that gets a threshold of signatures (confirmations) weighted by clients' coins is called a "confirmed" checkpoint. We show that under plausible and flexible security assumptions about clients the confirmed checkpoints can not be equivocated. We discuss how client key rotation increases security, how to accommodate for coins' minting and how delegation allows for faster checkpoints. We evaluate checkpoint latency experimentally using Bitcoin and Ethereum transaction graphs, with and without delegation of stake.
In the past five years or so, numerous blockchain projects have made tremendous progress towards improving permissioned consensus protocols (partly due to their promised applications in Proof-of-Stake cryptocurrencies). Although a significant leap has silently taken place in our understanding of consensus protocols, it is rather difficult to navigate this body of work, and knowledge of the new techniques appears scattered.
The blockchain technology revolution and the use of blockchains in various applications have resulted in many companies and programmers developing and customizing specific fit-for-purpose consensus algorithms. Security and performance are determined by the chosen consensus algorithm; hence, the reliability and security of these algorithms must be assured and tested, which requires an understanding of all the security assumptions that make such algorithms correct and byzantine fault-tolerant.This paper studies the "security ingredients" that enable a given consensus algorithm to achieve safety, liveness, and byzantine fault tolerance (BFT) in both permissioned and permissionless blockchain systems. The key contributions of this paper are the organization of these requirements and a new taxonomy that describes the requirements for security. The CAP Theorem is utilized to explain important tradeoffs between consistency and availability in consensus algorithm design, which are crucial depending on the specific application of a given algorithm. This topic has also been explored previously by De Angelis. However, this paper expands that prior explanation and dilemma of consistency vs. availability and then combines this with Buterin's Trilemma to complete the overall exposition of tradeoffs.
The availability-finality dilemma says that blockchain protocols cannot be both available under dynamic participation and safe under network partition. Snap-and-chat protocols have recently been proposed as a resolution to this dilemma. A snap-and-chat protocol produces an always available ledger containing a finalized prefix ledger which is always safe and catches up with the available ledger whenever network conditions permit. In contrast to existing handcrafted finality gadget based designs like Ethereum 2.0's consensus protocol Gasper, snap-and-chat protocols are constructed as a black-box composition of off-the-shelf BFT and longest chain protocols. In this paper, we consider system aspects of snap-and-chat protocols and show how they can provide two important features: 1) accountability, 2) support of light clients. Through this investigation, a deeper understanding of the strengths and challenges of snap-and-chat protocols is gained.
In this demo, we present SEBDB, a novel blockchain database that integrates immutability and transparency properties of blockchain with modeling and query ability of relational database. In summary, SEBDB has the following advantages: First, it adopts the linked structure and full replication of data among multiple participants to guarantee immutability and transparency. Second, it introduces the relational model to blockchain without introducing extra overhead, based on which relational queries are supported. SEBDB supports SQL-like language as the general interface to support convenient application development, in which intrinsic operations are re-defined and re-implemented to suit for blockchain platform. Third, it supports rich verifiable queries based on the proposed authenticated index, thin clients can participate in the system regardless of limitations of storage, network, and computing resources. We demonstrate the usability and scalability of SEBDB using a donation system.
Blockchain technology started as the backbone for cryptocurriencies and it has emerged as one of the most interesting technologies of the last decade. It is a new paradigm able to modify the way how industries transact. Today, the industries’ concern is about their ability to handle a high volume of data transactions per second while preserving both decentralization and security. Both decentralization and security are guaranteed by the mathematical strength of cryptographic primitives. There are two main approaches to achieve consensus: the Proof-of-Work based blockchains—PoW—and the Proof-of-Stake—PoS. Both of them come with some pros and drawbacks, but both rely on cryptography. In this survey, we present a review of the main consensus procedures, including the new consensus proposed by Algorand: Pure Proof-of-Stake—Pure PoS. In this article, we provide a framework to compare the performances of PoW, PoS and the Pure PoS, based on throughput and scalability.
In this paper, we propose a scheme called securePrune for reducing the storage space of a full node and synchronization time of bootstrapping nodes joining the Peer-to-Peer (P2P) network in an Unspent Transaction Outputs (UTXO) based blockchain like bitcoin using RSA accumulators. The size of the bitcoin blockchain is growing linearly with transactions. We propose a new block structure to represent the state of a blockchain also called UTXO set by including an accumulator of a state in the block header and proofs of knowledge for inclusion and deletion of the transactions of the current block in the block. In our scheme, the miners periodically release a snapshot of the blockchain state. The other full nodes in the network, securely prune the historical blocks after attaining the required number of confirmations for the snapshot block, which in turn confirms the snapshot of the state through an accumulator specified in the block header and proofs inside the block. The secure and periodic pruning of the old blocks, reduce the synchronization time for a new node joining into the network. The simulation results demonstrate a significant reduction in the storage space of a full node and bootstrapping cost of the new nodes.
The future of multi-blockchain architecture depends on the emergence of new protocols that achieve communication between trustless cross-chain participants. However, interoperability between blockchains remains an open problem. Existing approaches provide integration through solutions using a middleware system, which makes it harder to gain confidence mainly in terms of security and correctness of the process. A cross-chain protocol needs to provide a self-verifiable state-proof that embeds trust in the transfer process. We propose a Burn-to-Claim cross-chain protocol to seamlessly exchange assets between networks. Our scheme transfers assets from one blockchain system to another in a way that the asset is burned from the source blockchain and claimed on the destination blockchain. Our mechanism employs combinations of crypto mechanisms such as digital signatures and time lock to operate the protocol in a distributed manner. We provide an analysis which proves that our cross-chain protocol transfers assets correctly and securely.
J Dharani, K Sundarakantham, Kunwar Singh, S. Mercy Shalinie
Blockchain technology has gained its attention from its application in bitcoin which circumvented the problem of double spending that existed in the prior digital currencies, through validation. Particularly permissioned blockchain framework became popular with organizations forming consortium that allowed only authorized entities to participate in the network. Hyperledger Fabric, a popular distributed ledger technology hosted by Linux Foundation has remarkable features because of the fact that it is open source. It stands out from other frameworks as it focuses on the privacy-preserving requirements of the enterprises. Apart from only allowing authenticated organizations to participate in the network it implements channels that allows a subset of organizations to communicate concealing the existence of such a channel to other members. Optionally fabric also provides anonymity and unlinkability of the participating clients through a cryptographic protocol suite called Idemix that operates based on zero-knowledge proofs. Fabric follows the execute-order-validate transaction flow as opposed to order-execute flow that had certain limitations in other platforms. For executing the transactions submitted by the clients, fabric has designated endorsing peers which holds the smart contract - programmable business logic. Endorsing peers or endorsers execute the transactions and attach their signatures to the results for validation purpose. But revealing the endorser identities may be a problem when there is conflict of interest among the enterprises. Hence to have an unbiased flow of work it is important to conceal the endorser identity. According to [1] anonymization of endorsing peers is still a open problem in fabric community. We propose a solution to this problem which uses linkable threshold ring signatures that conceals the identity of endorsers. Ring signatures are known for preserving the privacy of the signer in a group. Threshold ring signature allows t-out-of-n signers to collaborate on the signing procedure. Employing threshold ring signature implicitly addresses one more problem stated in [10] where the verifiers need to manually count the valid ring signature that increases the verification time. This process of separately verifying each of the signatures and checking if the number of signatures is more than the threshold value is replaced by having just one threshold signature collaboratively signed by the required endorsers.
Blockchain platforms are coming into use for processing critical transactions among participants who have not established mutual trust. Many blockchains are programmable, supporting smart contracts , which maintain persistent state and support transactions that transform the state. Unfortunately, bugs in many smart contracts have been exploited by hackers. Obsidian is a novel programming language with a type system that enables static detection of bugs that are common in smart contracts today. Obsidian is based on a core calculus, Silica, for which we proved type soundness. Obsidian uses typestate to detect improper state manipulation and uses linear types to detect abuse of assets. We integrated a permissions system that encodes a notion of ownership to allow for safe, flexible aliasing. We describe two case studies that evaluate Obsidian’s applicability to the domains of parametric insurance and supply chain management, finding that Obsidian’s type system facilitates reasoning about high-level states and ownership of resources. We compared our Obsidian implementation to a Solidity implementation, observing that the Solidity implementation requires much boilerplate checking and tracking of state, whereas Obsidian does this work statically.
Smart cities will depend on reliable Internet of things to effectively provide residential and commercial services. Smart city applications generate vast amount of data and will need the infrastructure to support high transaction throughput. The data associated with smart cities can include sensitive information and there is a need to guarantee the security and privacy through a blockchain-based decentralized infrastructure. Current blockchain environments face several challenges, such as, lack of high transaction throughput, high scalability, real-time transaction processing, and back-end stress operations, etc. In this paper, we propose “Bassa”, a blockchain platform that will meet the aforementioned challenges. Bassa employs a Apache Kafka based consensus and `validate-execute-group” blockchain architecture to realize real-time transaction. Bassa's smart contract platform realizes concurrent transaction by leveraging actor-based concurrency.
Elizabeth Nathania Witanto, Yustus Eko Oktian, Sang-Gon Lee, Jin-Heung Lee
As the usage growth rate of Internet of Things (IoT) devices is increasing, various issues related to these devices need attention. One of them is the distribution of the IoT firmware update. The IoT devices’ software development does not end when the manufacturer sells the devices to the market. It still needs to be kept updated to prevent cyber-attacks. The commonly used firmware update process, over-the-air (OTA), mostly happens in a centralized way, in which the IoT devices directly download the firmware update from the manufacturer’s server. This central architecture makes the manufacturer’s server vulnerable to single-point-of-failure and latency issues that can delay critical patches from being applied to vulnerable devices. The Open Connectivity Foundation (OCF) is one organization contributing to providing interoperability services for IoT devices. In one of their subject areas, they provide a firmware update protocol for IoT devices. However, their firmware update process does not ensure the integrity and security of the patches. In this paper, we propose a blockchain-based OCF firmware update for IoT devices. Specifically, we introduce two types of firmware update protocol, direct and peer-to-peer updates, integrated into OCF firmware update specifications. In the direct scenario, the device, through the IoT gateway, can download the new firmware update from the manufacturer’s server. Meanwhile, in the peer-to-peer scheme, the device can query the update from the nearby gateways. We implemented our protocol using Raspberry Pi hardware and Ethereum-based blockchain with the smart contracts to record metadata of the manufacturer’s firmware updates. We evaluated the proposed system’s performance by measuring the average throughput, the latency, and the firmware update distribution’s duration. The analysis results indicate that our proposal can deliver firmware updates in a reasonable duration, with the peer-to-peer version having a faster completion time than the direct one.