3,789 research outputs found
Chainspace: A Sharded Smart Contracts Platform
Chainspace is a decentralized infrastructure, known as a distributed ledger,
that supports user defined smart contracts and executes user-supplied
transactions on their objects. The correct execution of smart contract
transactions is verifiable by all. The system is scalable, by sharding state
and the execution of transactions, and using S-BAC, a distributed commit
protocol, to guarantee consistency. Chainspace is secure against subsets of
nodes trying to compromise its integrity or availability properties through
Byzantine Fault Tolerance (BFT), and extremely high-auditability,
non-repudiation and `blockchain' techniques. Even when BFT fails, auditing
mechanisms are in place to trace malicious participants. We present the design,
rationale, and details of Chainspace; we argue through evaluating an
implementation of the system about its scaling and other features; we
illustrate a number of privacy-friendly smart contracts for smart metering,
polling and banking and measure their performance
Fast Agreement in Networks with Byzantine Nodes
We study Consensus in synchronous networks with arbitrary connected topologies. Nodes may be faulty, in the sense of either Byzantine or proneness to crashing. Let t denote a known upper bound on the number of faulty nodes, and D_s denote a maximum diameter of a network obtained by removing up to s nodes, assuming the network is (s+1)-connected. We give an algorithm for Consensus running in time t + D_{2t} with nodes subject to Byzantine faults. We show that, for any algorithm solving Consensus for Byzantine nodes, there is a network G and an execution of the algorithm on this network that takes ?(t + D_{2t}) rounds. We give an algorithm solving Consensus in t + D_{t} communication rounds with Byzantine nodes using authenticated messages of polynomial size. We show that for any numbers t and d > 4, there exists a network G and an algorithm solving Consensus with Byzantine nodes using authenticated messages in fewer than t + 3 rounds on G, but all algorithms solving Consensus without message authentication require at least t + d rounds on G. This separates Consensus with Byzantine nodes from Consensus with Byzantine nodes using message authentication, with respect to asymptotic time performance in networks of arbitrary connected topologies, which is unlike complete networks. Let f denote the number of failures actually occurring in an execution and unknown to the nodes. We develop an algorithm solving Consensus against crash failures and running in time ?(f + D_{f}), assuming only that nodes know their names and can differentiate among ports; this algorithm is also communication-efficient, by using messages of size ?(mlog n), where n is the number of nodes and m is the number of edges. We give a lower bound t+D_t-2 on the running time of any deterministic solution to Consensus in (t+1)-connected networks, if t nodes may crash
Interactive Consistency in practical, mostly-asynchronous systems
Interactive consistency is the problem in which n nodes, where up to t may be
byzantine, each with its own private value, run an algorithm that allows all
non-faulty nodes to infer the values of each other node. This problem is
relevant to critical applications that rely on the combination of the opinions
of multiple peers to provide a service. Examples include monitoring a content
source to prevent equivocation or to track variability in the content provided,
and resolving divergent state amongst the nodes of a distributed system.
Previous works assume a fully synchronous system, where one can make strong
assumptions such as negligible message delivery delays and/or detection of
absent messages. However, practical, real-world systems are mostly
asynchronous, i.e., they exhibit only some periods of synchrony during which
message delivery is timely, thus requiring a different approach. In this paper,
we present a thorough study on practical interactive consistency. We leverage
the vast prior work on broadcast and byzantine consensus algorithms to design,
implement and evaluate a set of algorithms, with varying timing assumptions and
message complexity, that can be used to achieve interactive consistency in
real-world distributed systems. We provide a complete, open-source
implementation of each proposed interactive consistency algorithm by building a
multi-layered stack of protocols that include several broadcast protocols, as
well as a binary and a multi-valued consensus protocol. Most of these protocols
have never been implemented and evaluated in a real system before. We analyze
the performance of our suite of algorithms experimentally by engaging in both
single instance and multiple parallel instances of each alternative.Comment: 13 pages, 10 figure
SklCoin: Toward a Scalable Proof-of-Stake and Collective Signature Based Consensus Protocol for Strong Consistency in Blockchain
The proof-of-work consensus protocol suffers from two main limitations: waste
of energy and offering only probabilistic guarantees about the status of the
blockchain. This paper introduces SklCoin, a new Byzantine consensus protocol
and its corresponding software architecture. This protocol leverages two ideas:
1) the proof-of-stake concept to dynamically form stake proportionate consensus
groups that represent block miners (stakeholders), and 2) scalable collective
signing to efficiently commit transactions irreversibly. SklCoin has immediate
finality characteristic where all miners instantly agree on the validity of
blocks. In addition, SklCoin supports high transaction rate because of its fast
miner election mechanis
Recommended from our members
Reliable distributed information : agreement and structure
The world is inherently distributed and concurrent.
The more complicated systems become, the more likely they are to fail or
partially fail.
This work presents several results with Byzantine Agreement and some results of
using coding in solving distributed and concurrent problems.
We explore adding weights to processes to model a priori knowledge of process reliability.
Then, some results of what can be done when performing repeated agreement.
A result between combinatorial geometry and approximate Byzantine agreement is also provided.
Coding is often used in communication, but here we provide examples of the
usage of coding to minimize broadcast information and to solve a concurrent
problem.
The first use of coding is to notice the redundant information in distributed
protocols and how to use a code to reduce the amount of information needed to
be transmitted.
The second is a method of using coding to provide a buffer of memory in a
concurrent system that can be updated such that readers see the update as
atomic.Electrical and Computer Engineerin
LightChain: A DHT-based Blockchain for Resource Constrained Environments
As an append-only distributed database, blockchain is utilized in a vast
variety of applications including the cryptocurrency and Internet-of-Things
(IoT). The existing blockchain solutions have downsides in communication and
storage efficiency, convergence to centralization, and consistency problems. In
this paper, we propose LightChain, which is the first blockchain architecture
that operates over a Distributed Hash Table (DHT) of participating peers.
LightChain is a permissionless blockchain that provides addressable blocks and
transactions within the network, which makes them efficiently accessible by all
the peers. Each block and transaction is replicated within the DHT of peers and
is retrieved in an on-demand manner. Hence, peers in LightChain are not
required to retrieve or keep the entire blockchain. LightChain is fair as all
of the participating peers have a uniform chance of being involved in the
consensus regardless of their influence such as hashing power or stake.
LightChain provides a deterministic fork-resolving strategy as well as a
blacklisting mechanism, and it is secure against colluding adversarial peers
attacking the availability and integrity of the system. We provide mathematical
analysis and experimental results on scenarios involving 10K nodes to
demonstrate the security and fairness of LightChain. As we experimentally show
in this paper, compared to the mainstream blockchains like Bitcoin and
Ethereum, LightChain requires around 66 times less per node storage, and is
around 380 times faster on bootstrapping a new node to the system, while each
LightChain node is rewarded equally likely for participating in the protocol
Consensus in Networks Prone to Link Failures
We consider deterministic distributed algorithms solving Consensus in
synchronous networks of arbitrary topologies. Links are prone to failures.
Agreement is understood as holding in each connected component of a network
obtained by removing faulty links. We introduce the concept of stretch, which
is a function of the number of connected components of a network and their
respective diameters. Fast and early-stopping algorithms solving Consensus are
defined by referring to stretch resulting in removing faulty links. We develop
algorithms that rely only on nodes knowing their own names and the ability to
associate communication with local ports. A network has nodes and it starts
with functional links. We give a general algorithm operating in time
that uses messages of bits. If we additionally restrict executions
to be subject to a bound on stretch, then there is a fast algorithm
solving Consensus in time using messages of bits. Let
be an unknown stretch occurring in an execution; we give an algorithm
working in time and using messages of bits. We
show that Consensus can be solved in the optimal time, but at the
cost of increasing message size to . We also demonstrate how to
solve Consensus by an algorithm that uses only non-faulty links and
works in time , while nodes start with their ports mapped to neighbors
and messages carry bits. We prove lower bounds on performance of
Consensus solutions that refer to parameters of evolving network topologies and
the knowledge available to nodes
- …