张卫家:
我理解是一个是节点不作为的惩罚,另一个是对恶意作为的惩罚。我认为这种惩罚应该在DAO(社区自动管理系统)建立起来,有了惩罚共识以后才有意义。5随机性问题:协议并非二选一
主持人:关于PoS协议,随机性是非常重要的,目前Beacon chain选择的是RANDAO结构来实现随机性,而未来,开发者计划使用可验证延迟函数(VDF),请杨镇老师给大家讲讲RANDAO和可验证延迟函数(VDF)这两款随机抽样技术的情况。
杨镇:
RANDAO 就是 random DAO 的意思,其中的 DAO 就是 Decentralized Autonomous Organization 的缩写,也就是所谓的“去中心化自治组织”。这种方式是通过一个智能合约来使多人合作一起生成随机数的方式。它使用了智能合约开发里的所谓 commit-reveal 的设计模式。合约应该是可以反复使用的,也就是应该是一个循环状态机;每次产生一个随机数的执行过程会分为三个阶段:提交、揭示和实际计算。第一个阶段是所有参与者各提交一个他们各自随意指定的输入数据的哈希值,等所有人都提交完或者规定时间达到时,进入第二阶段,由所有提交人提交之前哈希值对应的原始数据。如果两次提交的数据相符,则作为一个有效的计算输入。待所有人揭示完毕或达到规定时间之后,合约将自动基于有效的计算输入(应该多于一个固定的最小数量)来计算实际的随机数。然后合约回到第一阶段的状态,可以重新开始生成随机数。RANDAO 模式的风险就是:在揭示阶段,最后一个提交原始数据的人,是可以看到之前所有其他人的原始数据的(因为所有交易的附加数据都是公开的),可以预知最终的结果。VDF 则是作为一种开源硬件(ASIC)设计的,目的是用来作为对通过 RANDAO 方式产生的随机数进行再计算来获得最终结果,它是要与 RANDAO 共同使用的,并不是二选一的关系。也就是说,在 Eth 2.0 中,首先会由所有参与委员会的成员基于 RANDAO 的方式产生一个随机数,然后由 VDF 将此随机数作为输入来计算得到最终的随机数。
VDF 的计算过程是一种无法通过并行计算加速的计算过程,这也就能避免通过并行计算的方式提前获知结果而从中牟利的可能。目前这个延迟的时间(也就是计算的难度)被设定为 102 分钟,就是必须要经过 102 分钟的计算才能得到最终的随机数。
Mako:
VDF 矿机的研究,目前是以太坊基金会和 filecoin 一起在做,进展好像不是很多。61024个分片:兼顾安全和性能
主持人:刚才,张卫家老师有提到说,以太坊的分片数量被设为了1024个,这些分片之间会互现由合约进行交流,那么为何会设置为1024这个数字,不是更多也不是更少呢?其中的权衡之道是什么?此外这也意味着会有131072(1024*128)个验证者的位置(最优),而届时如果验证者数量不够,会发生一些什么?
阿剑:
哈哈哈。这个数量咋定出来的我也不知道。可能需要是 2 的次方个吧。另外,增发率也会动态调整来激励验证者加入。
Mako:
程序员喜欢 1024。
张卫家:
二进制,肯定是二的次方。1024 不是固定的,如果验证节点不够,Vitalik 也能让基金会运行一些节点。
阿剑:
确实可能是安全和性能的权衡,验证者不能太少,不然分片就容易被攻破。
杨镇:
社区里的大神解释过这个问题,说是出于安全性的考虑,基于每个分片至少 128 个验证者这个设计来确定的 1024 个分片这个数字。我并不是算法专家,没法简单地解释为什么 128 个验证者就是安全的。大家有兴趣的话,可以去看 V 神的论文:http://vitalik.ca/files/Ithaca201807_Sharding.pdf对于 Eth 2.0 的分片系统来说,因为每个分片都是独立的地址空间,所以如果系统中处理的所有交易都不是跨片交易,也就是不依赖于其他分片的数据,那么整体处理速度理论上确实能提高了 1000 倍;但这个整体性能是会随着跨片交易比例的提高而显著降低的。关于跨片交易的处理是分片系统中最复杂的部分,目前也还没有确定的技术方案。最后有关验证者数量不够的问题,
此文由
比特币官网 编辑,未经允许不得转载!:首页 > btc是什么 » Eth 2.0 会成为第一个从 PoW转PoS 的公链吗?丨SheKnows第五期