论文标题
setchain:通过拜占庭分布式和障碍提高区块链可伸缩性
Setchain: Improving Blockchain Scalability with Byzantine Distributed Sets and Barriers
论文作者
论文摘要
区块链技术正面临可扩展性挑战,必须克服这项挑战,以确保更广泛地采用该技术。这种可伸缩性问题主要是由于使用共识算法来保证块链的总顺序(以及每个块内的操作)。但是,总订单通常是过量的,因为智能合同的重要高级应用不需要所有操作的总订单。因此,如果在某些安全条件下允许使用更轻松的部分订单(而不是总订单),则可以实现更高的可扩展性。在本文中,我们提出了一种称为SetChain的分布式数据类型,该数据类型允许实现此部分顺序并增加区块链的可扩展性。与传统的区块链操作不同,Setchain实现了一个仅成长的对象,其元素并未完全排序。在方便时,SETCHAIN允许强迫同步屏障,该屏障将永久分配给添加的最新元素的子集。使用SetChain,在不同时期的操作时,未订购同一时期的操作。我们提出了不同的setchain拜占庭耐受性实施,证明了它们的正确性并报告了对直接实施的经验评估。我们的结果表明,Setchain的数量级比基于共识的分类帐更快,以实现具有时期同步的仅成长集。由于可以将setchain屏障与块合并同步,因此Setchain对象可以用作SideChain,以实现许多具有比基本区块链更快的智能合约解决方案。
Blockchain technologies are facing a scalability challenge, which must be overcome to guarantee a wider adoption of the technology. This scalability issue is mostly caused by the use of consensus algorithms to guarantee the total order of the chain of blocks (and of the operations within each block). However, total order is often overkilling, since important advanced applications of smart-contracts do not require a total order of all the operations. Hence, if a more relaxed partial order (instead of a total order) is allowed under certain safety conditions, a much higher scalability can be achieved. In this paper, we propose a distributed concurrent data type, called Setchain, that allows implementing this partial order and increases significantly blockchain scalability. A Setchain implements a grow-only set object whose elements are not totally ordered, unlike conventional blockchain operations. When convenient, the Setchain allows forcing a synchronization barrier that assigns permanently an epoch number to a subset of the latest elements added. With the Setchain, operations in the same epoch are not ordered, while operations in different epochs are. We present different Byzantine-tolerant implementations of Setchain, prove their correctness and report on an empirical evaluation of a direct implementation. Our results show that Setchain is orders of magnitude faster than consensus-based ledgers to implement grow-only sets with epoch synchronization. Since the Setchain barriers can be synchronized with block consolidation, Setchain objects can be used as a sidechain to implement many smart contract solutions with much faster operations than on basic blockchains.