分片技术(二):VMC

对于一个区块链网络来说,状态通道(闪电网络、雷电网络等)和分片技术都是解决拥堵的好办法。但两者的解决思路不一样:状态通道并没有增加区块链网络的处理能力,而是用已有的处理能力,尽可能多地处理交易;分片技术则通过将区块链网络进行分片来直接提升网络的处理能力。

这就好像,我在听一个老师讲课,要记笔记,但手上只有一张硬纸皮,如果老师讲什么我就记什么,原话不漏地记,这张纸皮只够我记10分钟,但如果我把老师讲的原话在脑子里过一遍,只把要点抽离出来记纸上,那这张纸皮够我记100分钟,这是状态通道的做法。

分片的做法是,我将这张纸皮一层层地撕下来,将一张硬纸变成10张薄纸,那同样可以记100分钟。而且这两个方法不冲突,如果都用上,那就可以记1000分钟。

好了,我们回到以太坊的分片技术。

按照V神的计划,分片技术的第一阶段会通过一个特殊的智能合约来实现,这个合约叫验证人管理员合约(Validator Manager Contract, VMC)。

一个分片其实也是一个区块链,如果它不需要与其他分片发生联系,那它其实就是一个单独的区块链,所以它也有自己的区块。只不过在以太坊里,记录完整世界状态的才叫区块,而分片里对应的概念叫“校对块(Collation)”。同样,处理分片的节点叫“校对器(Collator)”。

首先,如果节点想成为校对器,必须存入一定的保证金到VMC,然后VMC会将它记录在VMC 内部的“全局验证人列表”。如果某分片需要校对器,系统会以当前区块的哈希做为种子,根据一定算法,从这个列表中随机“筛选”出合格的验证人集,充当该分片的校对器。校对器并不永久服务于某分片,而是有时间限制的。这种随机性和时间限制,可以有效地防范攻击。

分片有了自己的校对器集合后,便可以产生校对块了,不过跟主链不同,产生校对块的共识算法用的是POS,而不是POW,所以,存入VMC保证金越多的校对器就越有可能产生校对块。

VMC有一个addHeader函数,校对器产生校对块后,调用该函数来将新的校对块挂到分片的区块链上,而分片的区块链通过VMC合约存储在主链的区块里。同时该函数会检查新的校对块是否有效。一旦检查到无效,产生该块的校对器将会被惩罚,失去一些权益,甚至被移除出“全局验证人列表”,失去校对器资格。

当然,分片的区块链肯定也会经常遇到分叉,这时候竞争的原则并不是简单的“最长有效链获胜”原则,而是“最长有效主链里面的最长有效分片链获胜”原则。也就是,先看分片的这个分叉是不是以太坊的最长有效主链里,如果不是的话,即淘汰,如果是的话,再看是不是这条主链里最长的有效分片链,是的话,即获胜。

所以,如果一笔交易在分片内发生,那么整个流程跟以太坊主链差不多,只是多了一个VMC处理环节而已,首先由校对器产生校对块对交易进行打包,然后通过VMC存储到该分片的分片链上,同时间接地存储到以太坊主链的区块上。

但如果一笔交易发生在分片与分片之间,那么情况就复杂很多,我们明天去看看。

不投资毋宁死

自由,就是拥有选择的权利,而每一次选择都是一次投资。

谢谢阅读

✬如果你喜欢这篇文章,欢迎分享到朋友圈✬

评论功能现已开启,灰常接受一切形式的吐槽和赞美☺

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181018G1739N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券