Data sharding$\unicode{x2013}$in which block data is sharded without sharding compute$\unicode{x2013}$is at the present the favored approach for scaling Ethereum and other popular blockchains. A key challenge toward implementing data sharding is verifying whether the entirety of a block's data is available in the network (across its shards). A central technique proposed to conduct this verification uses erasure-coded blocks and is called data availability sampling (DAS). While the high-level protocol details of DAS have been well discussed in the community, discussions around how such a protocol will be implemented at the peer-to-peer layer are lacking. We identify random sampling of nodes as a fundamental primitive necessary to carry out DAS and present Honeybee, a decentralized algorithm for sampling nodes that uses verifiable random walks. Honeybee is secure against attacks even in the presence of a large number of Byzantine nodes (e.g., 50% of the network). We evaluate Honeybee through experiments and show that the quality of sampling achieved by Honeybee is significantly better compared to the state-of-the-art. Our proposed algorithm has implications for DAS functions in both full nodes and light nodes.
翻译:数据分片——即在不分割计算的情况下对区块数据进行分片——目前是扩展以太坊及其他主流区块链的首选方案。实现数据分片的一个关键挑战在于验证区块数据的完整性是否在网络中(跨所有分片)可用。为执行此类验证所提出的核心技术采用纠删码编码区块,称为数据可用性采样(DAS)。尽管DAS的高层协议细节已在社区中得到充分讨论,但关于如何在点对点网络层实现此类协议的探讨仍显不足。我们将节点随机采样确定为执行DAS所需的基础原语,并提出Honeybee——一种利用可验证随机游走的去中心化节点采样算法。即使在存在大量拜占庭节点(例如占网络50%)的情况下,Honeybee仍能抵御攻击。我们通过实验评估Honeybee,结果表明其采样质量显著优于现有最优方案。我们提出的算法对全节点与轻节点的DAS功能均具有重要应用价值。