Cosmos 日前提出了按比例罚没,试图让该方法不仅作用于网络安全,更能够影响参与者的博弈策略,进而让节点趋向于更小更分散。

原文标题:《避免网络权力集中化,「反向激励」如何发挥作用?》
作者:stake.fish

各个区块链网络面临的权力集中问题,一直是研究者和持币人广泛讨论的话题。其实,这在区块链设计者、开发者的眼中也是重要议题,希望在设计上尽可能让权力分散,贴合去中心化网络的初衷。

在 PoS 网络上,这种集中化的讨论体现在节点拥有网络权力(投票权力、共识权力)不平衡的问题,像 Cosmos 网络上「基尼系数」所体现的那样。不同设计上的尝试正在进行,这次,我们看到了「惩罚机制」的设计入手的提议。

一个关于「再分配」的问题

集中化的问题主要关于两个方面:代币如何分配、再分配。前者是「代币经济学」——作出什么样的贡献可以获得怎样的初始网络权力;后者是「staking 经济学」——获得的权力如何产生新的收益,以及根据怎样的规则进行奖惩。

具体到 staking 经济学,我们已经对于质押获取奖励的概念逐渐清新,这一正向激励让参与 staking 的人获得网络「增发」的收益,久而久之,网络的投票权或进行共识的权力就从不参与者的手中转移到参与者手中。原因很简单,未参与者手中的代币数量不变,但因为没有获得随区块产生的奖励,代币占比逐渐减少了。

不容忽视的「反向激励」

而「反向激励」,即罚没(slashing),一直以来的主要作用是维护网络安全。如果「作恶」或者行为不当,质押的一部分代币就将被网络没收。有了反向激励,验证节点更加恪尽职守,保持在线、避免双签

在 staking 经济学中,按比例罚没等「反向激励」机制有何演进?来源:Cosmos Hub 官网

在 Cosmos Hub 主网创世文件中,我们可以在这段参数中看到目前罚没的三个方面:

  • 可用性差(离线时间长)造成的暂时封禁;
  • 可用性差被惩罚的比例,0.01%;
  • 双重签名被惩罚的比例,5%;

在 Polkadot/Kusama 网络上对于罚没程度的设计与 Cosmos 相似,都将双重签名视为严重的不当行为,我们此前分享的 文章 有过相关介绍。今年 6 月份,Cosmos 上发生了第一次双签导致的罚没,造成节点和委托人共损失 6 万美元等额代币。虽然在 Tezos 网络上,罚没仅仅对于验证节点,而一长串关于网络惩罚的记录,也让人们意识到设置、选择一个可靠节点的必要性

遭受像双签这样的惩罚,对于节点名誉都是巨大的打击,虽然大部分的「双签」都并蓄意而为,多因技术上的误操作。而无论如何,惩罚措施大多与网络安全有关,直到「按比例罚没」概念提出,引起人们关于罚没对缓解网络集中化作用的思考。

「按比例罚没」拓宽反向激励作用

Cosmos 核心开发者Sunny Aggarwal日前发布了一篇改进罚没的 ADR (Architecture Decision Records)草案,提出按比例罚没(proportional slashing),讨论让罚没这种形式不仅作用于网络安全,更试图影响参与者的博弈策略,进而让节点趋向于更小更分散。

方案中指出,目前 Cosmos 网络上集中化趋势对网络不利:会提高审查风险,有可能造成活跃度的下降分叉攻击等情况,是一种负外部性。而由于「 女巫攻击(sybil attack,指网络中的一个节点同时活跃地操作多个身份)「的存在,在设计避免集中化的尝试中,总会遇到一些阻隔。也就是说,同一个节点运营者可以利用协议的规则,创造出不同的身份,来抵消掉区块链冗余存储所带来的去中心化参与的实际效果。比如,把一个大节点,拆分成许多小节点

在草案中,Sunny Aggarwal 说:我们建议,实施「按比例罚没」提议,来对抗女巫攻击。也就是,在这个网络体系中,不再按照单一的百分比,对各个节点实施同等程度的惩罚,而是 按照一个验证节点所拥有网络权力的不同,实施不同的罚没比例。

slash_amount = power // power is the faulting validator's voting power.

slash_amount = (power_1 + power_2 + ... + power_n) // where power_i is the voting power of the ith validator faulting in the period

slash_amount = (sqrt(power_1) + sqrt(power_2) + ... + sqrt(power_n))^2

slash_amount = k * (sqrt(power_1) + sqrt(power_2) + ... + sqrt(power_n))^2 // where k is an on-chain parameter for this specific slash type

概括起来,其实要说的较为直观——

假设一个节点有10%的网络权力,那么我们逐渐加入条件,最终形成(4)所确定的罚没公式:

(1)罚没数量根据网络投票权力决定,罚没设置为 10%(暂时假设与网络权力相同);

(2)如果拆分成小节点怎么办?按照相关性,把一段时间内同时出错节点的投票权加在一起,确定网络罚没比例。以两拆分成两个为例,罚没比例为 5%+5%=10%,同样不会少罚。

(3)为了进一步抑制拆分节点,让拆分行为的罚没程度比实际拥有的网络权力比例更高,那么在(2)的基础上,计算各个小节点网络权力平方根之和的平方。这么算,两个 5% 网络权力的节点的罚没比例将从 10% 骤升到20%

(4)为不同的犯错种类确定不同的K值,再用 K 去乘以(3)的结果,来区分不同错误的不同惩罚程度。

比起 0.01% 和 5% 这两个惩罚标准,新的提议显得更加「有机」。

促进多样化 staking

如果按照这个新的罚没机制,那么网络权力越高的运营者,将有可能遭受更大比例的惩罚。也正如 Sunny Aggarwal 所说,「一定时间内出错节点的投票权力占比、一段时间同时出错的节点数量两个因素就可以共同影响罚没标准」。

一方面,这样会让委托人更愿意选择小型验证节点,另一方面,大型节点拆分的风险实际更大了,除非能找到更安全的策略。Sunny 认为,因为「相关性」成了重要标准,专业参与者们将在「去相关性」上进行研究,比如「避免使用同样的数据中心,流行的云托管平台或者 Staking-as-a-Service 的服务商。这会促进一个更具弹性和去中心化特点的网络。

有待细化的方案

不可否认,罚没制度的设计确实有助改善「基尼系数」,让技术上的「去中心化」更进一步,促进更加安全和稳定的区块链网络。一部分社区成员表示赞同并提出问题和建议,比如:

确定相关性的标准是否过宽?防止「女巫攻击」是不错的想法,但是否过于严厉,是否应该设置另一个参数?有人重申设置惩罚比例上下边界的重要性,提倡设置合理的上限避免惩罚过于极端,又由于这种制度可能让小型节点的作恶成本变得更低,有必要认真考虑最小罚没值。

担忧的声音在于,虽然觉得是个好主意,但是认为代币委托人目前根本意识不到这是个风险,而只关注利润。还有观点认为,预期效果是建立在假定验证节点们是十分理性的基础上的,但实际上表现的并不都是这样,希望方案可以先改变一部分理性验证节点的策略,同时,各种工具也应该提示这种罚没比例的区别。

有观点认为这对于集中化只是「安慰剂」。原因在于一些大节点的零手续费十分具有吸引力,以至于让人们只在乎选择自由而方便的方案而不顾未来如何。也有人认为这不会真正对改善集中化有所帮助,因为这可能会让大型节点加强基础设施安全方面的投入,而小型节点则在这方面存在更多资本上的制约。长此以往可能让委托人认为小型节点的风险更高。

关于集中化的更多思考

人们对于网络集中化的看法来自于多方面,并希望能通过制度设计,真正让网络权力去中心化。

今年 5 月份,验证节点 Chainflow 宣布了一个名为 Decentralized Staking Defenders 的组织,意在改变网络上可能出现的寡头趋势,共同维护一个「更加平衡、公平、可加入「的生态。而似乎事关分配与再分配的探讨,更多的不是一个技术问题,而是社会话题。而社会、治理话题则是比技术更难的问题,正如 Vitalik 曾经表述的那样。比如,我们可以从多种手段上做到「平等(equality)」,但如何实现「公平(equity)」则有可能因人而已。

好在,开发者们在设计上的探索从未停止,我们不仅看到许多节点和社区的共同参与,也看到像 Sunny Aggarwal 这样来自当前 Cosmos 第一大节点 Sikka 的核心开发者,正引领去中心化区块链网络的探索之路。

参考资料

来源链接:mp.weixin.qq.com