查看原文
其他

观点 | 为什么我们需要分片?

Sina Habibian 以太坊爱好者 2019-07-11
    摘要    

本文为 Sina Habibian 在 2018 年 5 月 5 日发的系列推特。简要解释了分片的理念和具体设计。


为什么我们需要分片?如果区块链共识依赖于每一个节点都处理所有交易并存储所有状态,网络的处理能力就无法扩展到超过单个节点。


所以我们要有一种可以平衡安全性和可用性的方式,对交易(原始数据)和状态(综合这些数据所得的结果)的子集达成共识。


当前解决这一问题的设计可分为四个层面:1)一个主链的合约,用于验证者质押保证金和罚没条件;2)一条随机信标(Beacon)链;3)对数据(交易)的共识;4)对状态的共识。


核心的理念是:使用随机信标链以选出全球验证者池的子集,为跨分片服务;规律性地混洗这个子集,以降低勾结和贿赂的可能性。


另一个核心的理念是:从本地到全球,通过检查点(Checkpoint)(包括证明(Attestation)、公证(Notarization)以及元公证(Meta-notarization))逐步提高验证要求,最终取得可用性与安全性的平衡。


这一设计中另一个巧妙的设计(例如“加密经济聚合签名”)是:使用一个位段(Bitfield)来总结签名并依赖签名者的逐利动机来挑战错误的数据。


看到其它项目中的观念同样启发了这种设计,真是太酷了。从 Dfinity 的随机信标,到 Truebit 的验证——这才是把开源落到实处。


这样一个系统将使未来网络的可升级性(Upgradability)成为可能,因为这些规则是专为分片设计的:一个新的分片可以拥有一个不同的虚拟机(比如 WASM)、一个不同的合约间通讯协议(例如 Primea),等等。


这一架构是显而易见的,不过也还有一些细节需要补充。例如,如何减轻主链的负担、如何在聚合签名(Aggregate Signature)内使用保管证明(Proof of Custody)、等等。有了以太坊奖金和分片这样重要的工作,是时候可以做些贡献了。


实现这些设计的路线将是一步一个脚印:开发 1)随机信标;2)数据可用性的解决方案;3)状态层。


振奋人心的是:这个系统在不同复杂程度上都是有用的。例如:数据层,无需加入其他解释,也可以成为用于 Truebit 任务的文件系统。


要获得更多细节,请看 Justin Drake 在 Edcon 上的绝佳演讲:


https://www.youtube.com/watch?v=vlLFQqfgOPk&feature=youtu.be&t=5h42m36s



感谢 

@drakefjustin@karl_dot_tech 、@VitalikButerin 、 @icebearhww@jon_choi 、 @davidlknott 的讨论!这是一个超级有意思并且重要的领域!



原文链接: https://twitter.com/sinahab/status/992755776765792256

作者: Sina Habibian
翻译&校对: 阿剑 & Elisa



你可能还会喜欢:

干货 | 以太坊分片:overview and finality
干货 | V神·以太坊上的分片
干货 | 2018年3月以太坊的扩展现状


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存