首页  >  要闻 >  区块链 >  每日科普:区块链分片的理念与挑战(二)
每日科普:区块链分片的理念与挑战(二)
 Aries    
2019年10月23日 09:06
  收藏
   

最简单的分片:Beanstalk

我们从实现分片的最简单的方式开始讲,本文将这种方式称为 Beanstalk。Vitalik 在他的文章中将之称为“scaling by a thousand altcoins(通过上千种山寨币来进行扩展)”。

在 Beanstalk 这种分片方式中,我们不会只运行一条区块链,而是运行很多条链,并将一条链称为一个“shard(片区)”。每个片区都会拥有独立的一组验证者(Validator),即通过 PoW 机制挖矿或者投票机制来验证交易和生成区块的网络参与者。我们暂时假设各个片区从不相互交流。

Beanstalk 的设计很简单,但已足以推理出分片技术面临的一些主要挑战。

参与的验证者 & 信标链

首当其冲的挑战就是,由于每个片区都有自己的验证者,单个片区的安全性就会比整条链更差。例如,如果一条有 X 个验证者且没有分片的区块链,决定硬分叉成一条有分片的链,并将 X 个验证者分摊到10个片区中,那单个片区中的验证者数量就是 X/10个,因此只需要控制总验证者数量的 5.1%(51%/10)就可能破坏一个分片。

这将我们带到了第二点:由谁来为每个分片选择验证者?要知道,只有当所有被控制的 5.1% 的验证者都在同一个片区中,才有可能破坏该片。如果验证者无法自主选择参与哪个片区,那某个控制 5.1% 验证者的参与者就很难让所有这些验证者都处于同一个片区,这就大大降低了该参与者破坏整个系统的能力。

模型


当前,几乎所有的分片设计都依赖于某种随机性(randomness)源来为分配验证者。链上随机数本身就是一个非常具有挑战性的话题,我还是以后单独出一篇文章来讨论吧。现在,先假设我们可以实现这种随机性。

随机性和验证者分配都需要计算,这些计算并不是专为某个特定片区而运行的。

为了实现这种计算,实际上所有现有的设计都包含一条单独的区块链,负责执行维护整个网络所需的操作:除了生成随机数和将验证者分配到各个片区,还包括接收分片的信息更新(并创建快照)、处理权益证明(PoS)系统中验证者质押的押金及其罚没,并(在支持该功能之后)不断重划片区(rebalancing shards)。

这条链在以太坊和 Near 中就是信标链(Beacon Chain),在 Cosmos 中就是 Cosmos Hub,在 PolkaDot 中就是一条中继链(Relay chain)。

在本文中,我们将这种链称为信标链(Beacon Chain)。信标链的存在将我们带入了下一个有趣的话题,即二次方分片(quadratic sharding)。

点击关注币海启行微信公众号,了解更多

币海微信二维码


编辑: Aries
更多财经请关注 WX: Chaocaijing123456
币海财经: 全球财讯门儿清 https://www.bihai123.com/
声明: 本文由入驻币海编者上传,观点仅代表编者本人,不代表币海财经赞同其观点或证实其描述,请自行判断。

延伸阅读