体验Tezos“自我修正”的过程(上)

Tezos中文热度: 32760

摘要:在这篇文章中,将描述 Tezos “自我修正”程序在实践中是如何运作的,并提出一些近期改进的方法。

 
 
 
 
 
 

在这篇文章中,将描述 Tezos “自我修正”程序在实践中是如何运作的,并提出一些近期改进的方法。

 
 
 
 
 
 
 
 
 
 
 
 

得得号

 
 
 
 

更新到2020年:后巴比伦时期的图表更新

 

(感谢Pietro Abate的更新)

 
 
 
 
 

背景

 
 
 
 
 

Tezos 是一个自我修正的区块链网络,该网络整合了正式的链上机制,可以提议,选择,测试和激活协议升级,而无需进行硬分叉。

 
 
 
 
 

在这篇文章中,我将描述 Tezos “自我修正”程序在实践中是如何运作的,并提出一些近期改进的方法。更深层次的问题,如将投票权从共识中分离出来,或者如何为链上的修正提案提供资金,不在本文讨论范围之内,但却是未来需要考虑的重要话题。

 
 
 
 
 

这幅作品需要具备Tezos Baker(烘焙师)的基本知识。我建议阅读《It’s a baker’s life for me》和 Tezos 的利益证明文件来开始。

 
 
 
 
 

*为了避免与 Baker 的“周期”相混淆,我使用“ amendment process ”而不是“ election cycle ”。

 
 
 
 
 

1. 了解 Tezos 修正程序

 
 
 
 
 

修正过程可以分为四个独立的阶段:提案阶段、探索或“测试”投票阶段、测试阶段和升级投票阶段。这四个周期中的每个周期持续8个Baker周期(即32,768个区块或大约22天18小时),从提案到激活几乎需要花费整整3个月。

 
 
 
 
 

正如下面的流程图所示,任何未能进入下一周期的情况都将使网络恢复提议阶段。换句话说,如果周期流转失败,整个修正过程将重新启动。

 
 
 
 
 

这正是自Tezos 创世区块在六月份被社区采用以来发生的情况简介。在没有任何提案的情况下,自创世区块开始,每八个周期重新启动一个新的提案期。

 
 
 
 
 

那么它是如何工作的呢?

 
 
 
 
 

1.1 提案阶段

 
 
 
 
 

Tezos 修正过程从提案期开始,在此期间,“烘焙师”(Baker)可以通过提案操作在链上提交提案,该操作以“源”、“周期”和“提案哈希”作为参数。“源”是提交提案操作的Baker,“period”指定提交提案的特定提案期限,“提案哈希”是串联的.ml / .mli源文件的压缩包的哈希。

 
 
 
 
 

Baker 在每个提案期内最多可提交20份提案。当提交一份提案时,Baker 也提交一份对该提案的投票,该投票数等于期初股权余额中的滚动数。

 
 
 
 
 

对于那些想要跟随的人,Tzscan.io(以及其他 Tezos 区块探索者)允许你观看即将到来的提案。

 
 
 
 
 

然后,其他 Baker 可以通过提交自己的提案操作来对提案进行投票。正如白皮书中所述,提案期的投票是通过“赞成投票”进行的,这意味着每位 Baker 可以对20个提案各进行一次投票。可以将这种行为视为“投票”的一种形式。

 
 
 
 
 

在提议期结束时,该网络将计算提案投票,投票最多的提案将进入探索投票期。如果没有提交任何提案,或者提案之间有联系,一个新的提案期就开始了。

 
 
 
 
 

1.2 探索投票期(在当前议定书中称为“测试投票”)

 
 
 
 
 

在探索投票期,Baker 可以对上一个提议期排名靠前的提议进行投票。

 
 
 
 
 

投票是通过“投票操作”(Ballot Operation)在链上完成的,整个过程包含“source”、“period_n”、“proposal”和“Ballot”。“source”是 Baker,“period_n”是操作提交的具体投票周期,“proposal”是提案,“ballot”是 Baker 的投票,可以是“(是)Yay”、“(否)Nay”、“(弃权)Abstain”。

 
 
 
 
 

与在提案期一样,Baker 的投票基于探索投票期开始时其质押余额中的“卷数”(Rolls)。每个 Baker 在投票期间只能进行一次投票操作。

 
 
 
 
 

在八个周期结束时,网络将对票数进行计数。如果投票参与(“赞成”,“反对”和“弃权”的总数)达到法定人数(如下所述),并且有80%的非弃权 Baker 通过,则提案将进入测试期。

 
 
 
 
 

如果未达到法定人数或80%的绝对多数,修正过程将恢复到提案期的开始。

 
 
 
 
 

与提案期的一个显著区别是,在探索投票期之后,法定人数更新如下,其中Qt为之前的法定人数,qt为总参与人数:

 
 
 
 

得得号

 
 
 
 

这将调整法定人数以匹配过去参与率的指数移动平均数。

 
 
 
 
 

在创世区块,开始时的法定人数是80%,直到第一次探索投票结束前都将保持在80%。

 
 
 
 
 

1.3 测试周期

 
 
 
 
 

如果在探索投票期间,一项提案获得了绝对多数人的批准,那么测试阶段(8个周期)的测试网分支将与 Tezos 主链平行运行48小时。为了减少网络将测试网分支误视为主链的风险,已保守地设置了该48小时常数。

 
 
 
 
 

正如在2014年的Tezos白皮书中所描述的那样,提案可以访问一个小型标准库,但已被沙盒化,不能进行任何系统调用。

 
 
 
 
 

测试期的目的是评估一项提案是否值得修正协议。

 
 
 
 
 

测试网分支确保升级不会破坏网络,并且如果采用了升级,网络将继续进行有效的状态转换。然而,48小时的测试时间显然太短了,无法确定一项提案是否值得一试,以及是否安全。特别是,它可以维持超过48小时的活跃状态,并且不包含安全漏洞。因此,一个与修订提案相匹配的测试网很可能在余下的7.3个测试周期内运行,使网络参与者能够评估和讨论修订,从而更好地了解其特性。

 
 
 
 
 

1.4 升级投票期

 
 
 
 
 

测试期结束即升级投票期开始。在此期间,网络根据链下讨论和测试期期间的行为来决定是否采用修正提案。

 
 
 
 
 

与探索投票阶段一样,Baker 使用投票操作提交他们的投票,投票的权重与推广投票期间开始时的质押余额中的掷骰数成比例。同探索投票期一样,每名 Baker 在此期间只能进行一次投票操作。

 
 
 
 
 

在升级投票期结束时,网络会统计投票数。如果参与率达到最低法定人数,并且不弃权的 Baker 中有80%的绝对多数投了赞成票,则该提案将被激活为新的主网。

 
 
 
 
 

否则,流程将再次回到第一阶段。根据参与率更新最小法定人数,所用公式与探索投票期结束时相同:

 
 
 
 

得得号

 
 
 
 

修改后的协议被激活后,新的提案期开始,修改过程重新开始。

 
 
 
 

得得号

 
 
 
 

 
 
 

我们将在下篇继续为大家介绍改进Tezos修正流程,敬请期待!

 
 

作者:Tezos中文;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:[email protected]

   
声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。