作者:CarlBeekhuizen
翻译:阿剑
来源:以太坊爱好者
特别感谢SachaYves-Leger和JosephSchweitzer的指正。
Sharding是Eth2对比Eth1的许多升级之一。这个名词来源于数据库研究,就是将一个大的数据库切分为许多部分,而一个分片就是一个部分。那么放到Eth2和数据库的语境下,分片就意味着要把整个系统的存储和计算切分开来、相互独立地处理各分片,然后随实际需要组成最终结果。具体来说,Eth2系统中包含了许多分片链,而每一个条分片链的功能都与Eth1区块链相似,这就能带来大幅度的可扩展性提升。
不过,在Eth2中还有一种不那么为人所知的分片类型,而且从协议设计的角度来看,这个类型可能更为激动人心:分片化的共识。
动态 | 报告:区块链等热点词促使童书科普百科类成交额同比增速最高:近日,京东图书与艾瑞咨询联合发布了《2019中国图书市场报告》。报告指出,AI、5G、区块链、机器人、VR、智能家居、AR这些热点词,不断点燃科技热潮,科技在改变大众生活的同时,也吸引了越来越多家长的关注,从小培养孩子对科技的兴趣和热爱。因此童书中科普百科类成交额同比增速最高,占比将近40%。[2020/1/8]
分片化的共识
就像网络中最慢节点的处理能力限制了网络的吞吐量,单个验证者的计算资源也决定了能够参与共识的验证者总数量。因为每新增一个验证者,都会给系统中的所有其他验证者带来额外的工作量,那么随着验证者数量的增加,最终会达到一个状态:资源最少的那个验证者将不再能够参与共识。那么Eth2处理这个问题的方案就是?分片化的共识。
动态 | 链客社区联合北京交通广播推出区块链技术科普节目:12月11日15:15—16:00,区块链技术社区——链客区块链技术社区将联合北京交通广播FM103.9从零开始为大众科普解码区块链技术,蜻蜓FM及北京广播网同期进行全球直播。首期做客嘉宾为链客区块链技术社区创始人郄建军和百度区块链产品负责人于雅楠。[2019/12/11]
分析
Eth2的系统中有两种基本的时间单位,时隙和时段。
一个时隙是12秒,这是我们预期可出一个区块的时间;区块其实是一种让验证者的投票能集合发布到链上的机制,不止于包含交易让链变得有用。
一个时段由32个时隙组成,在一个时段中,信标链要执行所有跟链的维护相关的计算,包括:合理化及敲定新区块、给验证者发放奖励和惩罚。
动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]
我们在本系列的第一篇文章中提到,验证者会被分配到不同的委员会中执行工作。那么在任一时刻,都有验证者同时既是信标链委员会成员、也是某一个分片链委员会的成员;每个验证者在一个时段中都要发出见证消息一次——为已经提出的信标链区块投票。
中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]
Eth2的分片化共识的安全模型,基于这样一个观念:让委员会在某种程度上就是整个验证者集合的准确统计学代表。
举例而言,如果整个验证者集合中有33%的验证者是恶意的,那么他们可能就会进入到同一个委员会中。那就完蛋了。
科普时报:区块链与云计算长期发展目标不谋而合:据《科普时报》今日报道,区块链与云计算两项技术的结合,从宏观上来说,一方面,利用云计算已有的基础服务设施或根据实际需求做相应改变,实现开发应用流程加速,满足未来区块链生态系统中初创企业、学术机构、开源机构、联盟和金融等机构对区块链应用的需求。另一方面,对于云计算来说,“可信、可靠、可控制”被认为是云计算发展必须要翻越的“三座山”,而区块链技术以去中心化、匿名性,以及数据不可篡改为主要特征,与云计算长期发展目标不谋而合。[2018/5/4]
所以,我们需要确保事情不至于如此。换句话来说,我们需要保证的是,如果33%的验证者是恶意的,那么在一个委员会中只有约33%的验证者是恶意的。
我们需要两个举措来实现这一点:
保证验证者的委员会分配是随机的
组成委员会有数量下限要求
举个例子,如果单个委员会由128个随机选出的验证者组成,那么一个控制了全网1/3验证者的攻击者能够控制单个委员会的2/3验证力量的概率是非常非常小的。
综合
验证者提交的投票叫做“见证消息”。见证消息由几个部分组成:
对信标链顶端区块的投票
对合理化信标区块/确定化信标链区块的投票
对分片链最新状态的投票
所有同意该投票的验证者的签名
把尽可能多的部分都组合到一条见证消息中,系统的整体效率便得以提升,因为,在检查验证者的签名时,不再需要分别验证对信标链区块的投票和对分片链区块的投票,节点只需基于见证消息做运算,即可得知信标链区块的状态和每一条分片链的状态。
如果每一个验证者都提交了自己的见证消息,而每一条见证消息都需要被所有其它节点单独验证一次,那么Eth2的节点的开销可能会变得很大。这就是为什么我们需要“聚合技术”。
见证消息被设计成容易组合的形式,因此,如果有两个乃至更多验证者做了同样的投票,那就可以用一条见证消息把他们的投票都汇总起来,只需把签名字段放在一起即可。这就是“聚合”和含义。
委员会的投票在根本上来说也是易于聚合的,因为这些验证者都被分配到了同一个分片上,因此分片状态的投票和对信标链区块的投票很可能是相同的。这就是Eth2能随着验证者数量的增加而扩展吞吐量的机制。通过把验证者打散到委员会内,验证者将只需关心自己所在委员会的成员,也只需检查极少数从其它委员会处传来的、已经聚合过的见证消息。
签名聚合
Eth2使用了BLS签名方案——?一种在多条椭圆曲线上得到定义、对签名聚合较为友好的方案。在方案所选定的曲线上,单个签名的大小是96字节。
如果占总量10%的ETH参与了质押,则Eth2会拥有约35万个验证者。这就意味着,单个epoch产生的签名数据量大小可能会达到33.6MB,那么一天就是7.6GB。那么,只要133天,签名数据就会超过1TB。
解决方案是,BLS签名是可以聚合的。如果Alice提交了签名A,而Bob所提交的签名B是对相同数据签的名,那么只需存储C=A+B,就能验证Alice和Bob的签名。使用了签名聚合技术,整个委员会的验证者前面都可以聚合成一个签名。这样就能将签名数据的存储需求降低到每天2MB。
总结
把验证者分配到不同委员会中的设计,让验证Eth2所需付出的工作量降低了几个数量级。
对于一个想要验证信标链和所有分片链的节点来说,它要做的仅仅是监测来自每一个委员会的聚合见证消息,只需如此便可知道每条分片链的状态,以及各验证者对哪些区块属于/不属于信标链主链的看法。
因此,委员会机制帮助Eth2实现了两大设计目标:只需消费者级别的笔记本即可参与Eth2网络、支持尽可能多的验证者来实现尽可能的去中心化。
用数字来说明:大多数拜占庭容错式的权益证明协议只能支持数十位验证者,但Eth2可以支持数十万验证者同时为系统安全性作贡献,又不牺牲执行时延和吞吐量。
原文链接:https://blog.ethereum.org/2020/03/27/sharding-consensus/
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。