Data sharding - in which block data is sharded without sharding compute - is at the present the favored approach for scaling Ethereum. 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 has 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 node 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功能均具有应用价值。