这是我们的Polkadot共识系列文章的第3部分。有关简介,请参见第1部分,有关GRANDPA的讨论,请参见第2部分。
区块链扩展的盲分配是一种区块生产引擎,其灵感来自另一个权益证明协议OuroborosPraos。BABE可以单独使用因为提供确定性概率,也可以与GRANDPA这样的终端工具结合使用。
BABE是基于插槽的算法。它把时间分成几个时间段,每个时间段都分成多个时间间隙。在Polkadot中,我们目标区块的时间间隙时长为六秒钟。BABE将选择一个作者在每个插槽中创建一个区块。
Polygon Labs发布开放数据库The Value Prop,展示区块链应用的价值和实用性:6月15日消息,Polygon Labs宣布发布了开放数据库The Value Prop,展示基于区块链应用程序(所有网络上)的基本价值和实用性。包含39个用例和300多个应用程序,预计数量还会增加。这些用例分为七个不同的垂直领域,包括教育、安全和风险管理、社会影响和可持续性、金融、商业和营销、治理和信息技术。
此外,加入白名单的用户可为喜欢的用例在fair.xyz铸造免费的NFT,二次销售的所有收益将捐赠给DeFi教育基金。[2023/6/15 21:40:11]
BABE中的时间分成几个时段,每个时段是一组插槽。
将创建者分配到这些插槽的一种方法就是简单地轮流使用。然而在这种循环模式下,对手始终知道下一位创建者是谁,并可以利用该信息来调整攻击。理想情况是在他或她做出证明之前,没人知道创建是谁。
稳定币HOPE于Sepolia测试网dApp已开启公测:4月3日消息,前贝宝金融(Babel Finance)创始人 Flex Yang 推出以原生加密资产作为储备的分布式稳定币 HOPE 在 Sepolia 测试网 dApp 现已开始公测,并已上线 HopeSwap、Staking、Liquidity Farming、Gauge Vote 等功能。[2023/4/3 13:42:30]
每个槽位可以有主要创建者和次要创建者。主插槽的负责权限是随机分配的。但是由于该功能是随机的,所以有时会有一些没有主要负责人的插槽。为了确保区块时间的一致性,BABE使用循环系统来安排次级插槽负责人。
主要插槽
主要插槽的领导权授予是基于一个可验证函数的评估。区块链中的随机数据已经有了过多的炒作。简而言之,许多应用程序都依赖于随机数生成,但是当所有链上操作都必须是确定性的并且可验证,去识别大家都认可的随机数是有一定难度的。
Solana生态NFT项目y00ts将于明年第一季度桥接至Polygon:12月26日消息,Solana生态NFT项目y00ts发推表示,将于明年第一季度桥接至Polygon,详细信息将在准备就绪和测试后发布。同时,y00ts将在1月份发布更加正式的第二阶段路线图。
据悉,y00ts系列NFT在9月份开启铸造2小时后交易额已登顶OpenSea24小时交易额排行榜,交易量约合204.2万美元。此前y00ts母公司Dust Labs完成700万美元种子轮融资,由Chapter One、Foundation Capital、MagicEden、FTX Ventures、Jump Capital、Solana Ventures、MystenLabs等参投。[2022/12/26 22:07:16]
VRF会生成伪随机数以及正确生成的证明。它们采用一些参数作为输入。我们的VRF获取一个时段随机的种子,一个插槽号和作者的私钥。因为没有两个节点具有相同的私钥,所以每个节点可以为每个插槽生成唯一的伪随机值。
Polygon推出第二个Polygon zkEVM公共测试网:金色财经报道,Polygon推出第二个Polygon zkEVM公共测试网。该测试网通过引入递归升级,以将证明时间从原先的10分钟优化至4分钟。Polygon未透露主网启动的指定时间表,但表示这是“主网启动前的最后一步”。
此外,今年10月Polygon推出的首个Polygon zkEVM公共测试网将于1月5日弃用。
据此前金色财经报道,12月15日,Polygon官方透露已启动zkEVM全面安全审计。本次审计将重点关注zkEVM的正确性和稳健性两方面,也是在上线主网之前最后一个测试网需要完成的关键步骤。据悉,两家安全公司Spearbit和Hexens负责相关审计工作,涉及Polygon zkEVM内部37个审计组件,以确保在以太坊主网上推出时安全可靠。[2022/12/22 22:00:08]
在一段时期内每个创建者为每个插槽评估其VRF。对于每个输出低于某个商定阈值的插槽,验证者有权在该插槽中创立一个区块。由于随机插槽分配过程,有可能会导致具有多种参数的插槽也没有区块。稍后我们将讨论如何处理。
Polygon将投入100万美元用于支持Gitcoin上的项目,并成为Gitcoin捐赠支付渠道:11月17日消息,Polygon宣布将投入100万美元支持Gitcoin上的项目,该资金将平均分配至Gitcoin后五个季度的每一轮捐款中,且Polygon将在Gitcoin将于2021年12月举行的第12轮二次资助中捐赠20万美元。
Polygon成为继ENS、Badger和以太坊基金会后,第四个捐款额度超过50万美元的组织,也使得下一轮捐赠的主匹配池额度达到100万美元,超越了第十一轮中81.5万美元,创下历史新高。此外,Gitcoin还将添加Polygon作为捐赠的付款渠道之一,此前仅支持通过以太坊和zkSync进行捐款。[2021/11/18 21:59:03]
BABE中的VRF以一个随机性时段,时隙编号和验证者私钥作为输入,并为一个插槽中的每个时隙输出一个值。当区块创建者的输出低于网络的阈值时,它将生成一个区块作为该插槽的主要区块指引者。
次要插槽
为了处理空插槽,BABE使用循环反馈模式。每个插槽都有次级负责人。如果没有该插槽开端的主要负责人,则次要负责人将创建一个区块。此后备将确保每个插槽都有一个区块创建者,并有助于确保一致的区块时间。
联合BABE和GRANDPA
到目前为止,我们已经有GRANDPA来确定终端链和BABE来创建了新的区块。自从单个插槽可以有多个负责人,因此BABE的某些链就会产生分叉。
选择最佳延伸链的第一条规则很简单:BABE必须建立在GRANDPA最终确定的链上。这是使用GRANDPA的要求之一。
使用GRANDPA的第二个更微妙的要求是区块生产算法必须具有选择“最佳”链的方法。此属性导致BABE具有概率确定性。
最好的链在BABE只是由原创者创建的最多区块的那条链。
一个BABE选择最佳分叉链的示例
分叉在BABE中很常见,正如在GRANPA文章中讨论的那样,区块生产是O,这意味着创建者只需要向所有人广播新创建的区块,而不需要每个人都向每个人发送消息。因此并非每个人都对未最终确定的链有相同的看法。
该系统使我们能够高效地生产区块,并使GRANDPA最终确定它们所要聚集的链。
该等谁的时钟?
我们根据时间分配槽位,但是我们没有单一时间观念。每台计算机都有自己的时钟。我们不能使用中心化的时间服务,因为这就是单点攻击。攻击者可能会切断NTP服务器,或者切断它的控制权或采取控制措施,以采取更加不道德的行为,例如将不同的时间数据发送到不同的节点。
如果您有兴趣,请考虑以下情形:
我收到您的消息说“是8:42:00。”我的时钟显示是8:42:03。可能发生以下三种情况之一:1.我们的时钟同步,网络传送您的消息只花了3秒钟。2.实际花费了1秒钟来传递您的消息。我们的时钟不同步2秒。3.你在我,这不是你的时钟所说的。
现在设想一下当我的时钟说8:41:59时,我收到了此消息。如果我相信您是在诚实地告诉我您的时钟说了什么,那么我知道我们不同步,我必须将时钟提前。我仍然不知道通过网络传递所花费的时间,所以我不知道我们有多少不同步。
BABE使用相对时间给单个计算机的时钟分配了槽位编号。当节点接收到一个区块时,它将校对接收时间和与该块关联的插槽编号。然后它将槽数编号添加到每个区块上,并用其中位数来预测未来的槽位。请记住,证者会事先知道要为其创建的插槽编号,因此他们可以对此进行检查。
BABE中的区块创建者使用区块的接收时间创建了网络时间视图。他们将接受时间映射到未来,基于槽点时间来确定何时应该创建和发起一个区块。
到目前为止,我们已经讨论了链是如何被制造的和如何确认。我们下一个必须要解决问题是,如何使人们以正确的方式运行这些协议?本系列的最后一部分将讨论运行时如何激励运行BABE和GRANDPA以及对错误的惩罚。
阅读有关安全性的第4部分->
原地址:https://polkadot.network/polkadot-consensus-part-3-babe/
翻译:Mike
编辑:Mike
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。