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

  • 背景:Tezos是一個自我修正的區塊鏈網絡,能夠在不進行硬分叉的情況下,通過鏈上機制提議、選擇、測試和激活協議升級。本文將描述其自我修正程序的運作方式,並提出近期改進方法。

  • 修正程序概述:Tezos的修正過程分為四個階段,每個階段持續8個Baker週期(約22天18小時),整個過程從提案到激活需約3個月。若任一階段失敗,程序將重新啟動。

    • 提案階段:Baker可提交最多20個提案,並對提案進行投票。投票權重基於其質押餘額中的「卷數」。提案期結束後,得票最多的提案進入下一階段。

    • 探索投票期:Baker對上一階段選出的提案進行投票(贊成、反對或棄權)。需達到法定參與率且80%非棄權票支持,提案才能進入測試期。否則程序重啟。

    • 測試期:通過探索投票的提案將在測試網運行48小時,評估其安全性與可行性。測試期旨在確保升級不會破壞網絡,但現有48小時的測試時間可能不足。

    • 升級投票期:Baker根據測試結果再次投票。若達到法定參與率且80%支持,提案將激活為新主網;否則程序重啟。

  • 改進方向:文中提到測試期時間可能過短,未來需進一步探討如何優化修正流程,例如延長測試時間或調整投票機制。下篇將繼續介紹改進方案。

總結

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


背景


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中文

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:Tezos中文如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
推薦閱讀
2021-04-13 02:10
2021-04-13 02:09
2021-04-13 02:03
2021-04-13 01:28
2021-04-13 01:16
2021-04-12 11:18

熱門文章

行業要聞
市場熱點
精選讀物

精選專題

App内阅读