分片是一种可以让您同时拥有全部三个属性的技术。 分片区块链具备: 可扩展:与单个节点相比,它可以处理更多的交易去中心化:它可以完全在家用笔记本电脑上使用,而不依赖于任何“超级节点”安全:攻击者无法使用少量资源来瞄准系统的一小部分进行攻击; 他们只能试图统治和攻击整个区块链系统本文章的其余部分将描述分片区块链如何做到这一点。 通过随机采样进行分片 分片最容易理解的版本是通过随机采样进行分片。与我们在以太坊生态系统中建立的分片形式相比,通过随机采样进行分片具有较弱的信任属性,但它使用的技术更简单。 核心思想如下。假设您有一个具有大量(例如10000个)验证者的PoS链,并且您有大量(例如100个)需要验证的区块。在出现下一组区块产出之前,单一一台计算机不具有足以验证所有这些区块的能力。 因此,我们要做的是随机分配进行验证的工作。我们随机地对验证者列表进行混洗,并在混洗后的列表中分配前100个验证者以验证第一个区块,在混洗后的列表中分配后100个验证者以验证第二个区块,依此类推。这些随机分配用于验证区块(或执行其他任务)的验证者们称为委员会(committee)。 验证者验证区块时,他们会发布签名,以证明他们已这样做。 不同于所有人都验证这100个区块,取而代之的是所有人验证10000个签名——这么做的工作量要小得多,尤其是使用BLS签名聚合时。 取代通过相同的P2P网络广播每个区块,而是在不同的子网(sub-network)上广播每个区块,并且节点仅需要加入它们负责(或出于其他原因而感兴趣)的区块所在的子网。 请考虑一下,如果每个节点的计算能力增加2倍,会发生什么情况。 由于每个节点现在可以安全地验证2倍以上的签名,因此您可以减少最小的质押存款大小以支持2倍的验证者,因此,您可以组成200个委员会而不是100个委员会。因此,您可以每个插槽验证200个区块而不是100个。 此外,每个单独的区块也可以扩大2倍。 因此,您有2倍数量的2倍大小区块,换句话说区块链容量总共增加了4倍。 我们可以通过一些数学术语来表示。 使用Big O表示法,我们使用“ O(C)”来指代单个节点的计算能力。 传统的区块链可以处理O(C)个区块。 如上所述的分片区块链可以并行处理O(C)个区块(请记住,每个节点间接验证每个区块的成本为O(1),因为每个节点只需要验证固定数量的签名即可),每个区块具有O(C)容量,因此分片区块链的总容量为O(C2)。 这就是为什么我们将这种分片称为“二次分片”,并且这种影响是我们认为从长远来看分片是扩展区块链的最佳方法的关键原因。 (责任编辑:admin) |