查看原文
其他

Bifrost 风控系列二:Ethereum 2.0 与 Polkadot 的 Slash 规则简介

Bifrost Bifrost Finance 2021-10-13



PoS 公链必须内嵌 Slash 机制

目前的公链设计,大体上可以分为两大类 PoW (Proof of Work)PoS (Proof of Stake) ,而 PoW+PoS 混合共识,则属于两者的结合设计。采用 PoW 共识的典型公链是 Bitcoin 与 Ethereum 1.0。采取 PoS 共识的典型公链是 Ethereum 2.0Polkadot。在采取 PoW 共识的公链中,很少有设计节点惩罚机制(Slash),而采取 PoS 的公链,则必然会内嵌设计各种 Slash 规则。这是因为 PoW 公链的节点(矿工/Miner)在生产区块时,是必须付出算力与能耗代价,而 PoS 公链的节点(验证者/Validator)在生产区块时,生产成本可忽略不计,占比最高的成本是购买一定数量的公链代币进行 Staking 后,丢失流动性所损耗的机会成本。而 PoW 与 PoS 都需支付运行一个持续在线的主机节点的成本,在这一点上,差异并不大。


当生产区块需要支付不可忽视的成本时,节点伪造区块的可能性就大大降低了,所以 PoW 公链不需要设计 Slash 机制。而 PoS 公链的节点生产区块的成本可忽略不计,就很容易伪造区块,对整个系统有效达成共识造成严重破坏,所以需要设计 Slash 机制对这种恶意行为进行惩罚。PoS 公链典型的问题是 Nothing At Stake 以及 Long Range Attack,这都需要采取 Slash 机制去解决。


另外,从系统设计与实现的角度看,PoS 公链通常比 PoW 公链要复杂很多,比如为了确保 PoS 公链的可用性以及对账本状态达成确定的终结态,则要求足够数量的节点保持在线,因此需设计对应的 Slash 机制对节点掉线执行惩罚。而 PoW 公链只需达成概率上的账本终结态,且没有 Staking 本金抵押做为生产区块的准入门槛,并设计有挖矿难度调整机制,所以不用担心系统的可用性,必然会有节点在利益驱使下保持在线并提供出块服务。



ETH 2.0 的 Staking 与 Slash 机制

Ethereum 2.0 所采取的 PoS 共识算法是 Casper(FFG,Friendly Finality Gadget)。目前的具体实现方式是:在 Ethereum 1.0 中发送 32 ETH 到官方 Deposit 合约中,然后激活运行 Validator 节点即可。Ethereum 2.0 采取 Sharding 分片方式,并可支持数十万~数百万数量级的节点在线运行,目前正在开发过程中,还未实现完整的设计目标。其 Slash 规则比较复杂,目前已知的 Slash 执行处罚条件:


  • 在同一个 Slot 中提议两个或多个互相冲突的区块

  • 在同一个 Slot 中投票赞同两个或多个互相冲突的区块

  • 当前投票行为与历史投票行为互相冲突

  • 节点离线(网络中断、系统宕机)


第1和第2点主要对应 Nothing At Stake 问题,第3点则对应 Long Range Attack 问题。前三点对应的罚款额度都比较大,应运行官方认同的标准协议客户端软件,并避免同时运行多个配置了相同 Validator Key 的节点。第4点对应的惩罚则比较少,只要节点保持在线的时间占据 ⅔ 以上的比例,仍可获得正向收益,无需过分担心节点掉线。运行一个 Validator 节点的初始抵押额度为 32 ETH,在执行罚款的过程中,若剩余额度等于或低于 16 ETH 时,则会触发强制退出机制。更细节的 Slash 规则描述可参考这篇文章:

https://consensys.net/blog/codefi/rewards-and-penalties-on-ethereum-20-phase-0



波卡的 Staking 与 Slash 机制

Polkadot 对共识算法的进行了模块化分解,采取 NPoS+BABE+GRANDPA 的方式达成系统共识。NPoS 为节点选举算法,BABE 为出块算法,GRANDPA 为状态终结算法。NPoS(Nominated Proof of Stake)机制设计有验证人(Validator)和提名人(Nominator)两类角色。任何持币用户都可成为 Nominator 并参与选举 Validator,而 Validator 的数量级为几百个或上千个左右。


Validator 可能因离线伪造平行链的 PoV投票赞同不正确的区块、对同一高度的不同区块同时投票确认,而被 Slash 罚款。Slash 罚款的额度与 Validator 获得的 Staking 抵押额度成正比,抵押金额越多,执行罚款时对应的绝对数额就越大。Nominator 需要综合考虑收益分配节点运营者知名度可信度处罚力度等多种因素,然后选择合适的 Validator 进行 Nominating / Staking。


Polkadot 基于系统安全性考虑,设计了 4 类级别的 Slash 规则:


Lv1:较低安全威胁,罚款 0.1% 或强制退出 

Lv2:本无恶意,但由于不良行为导致的不当行为,罚款 1% 

Lv3:恶意或意外发生的不当行为,但不会导致严重安全风险与资源浪费,罚款 10% 

Lv4:对系统运行构成严重安全风险,大量 Validator 互相串通,强迫系统消耗大量资源,罚款 100%


更细节的 Slash 规则描述可参考这篇文章:

https://w3f-research.readthedocs.io/en/latest/polkadot/slashing/amounts.html



Slash 机制对 Bifrost 的影响

如上所述,PoS 公链的出块成本主要表现为 Staking 本金在质押期间的机会成本,以及可能发生的 Slash 风险。Bifrost 的核心设计目标,就是让用户在执行 Staking 时,可以获得 Staking 衍生品,释放流动性,帮助用户降低机会成本。由于 PoS 公链必然内嵌 Slash 机制,所以 Bifrost 需要仔细分析各类公链对应的各种 Slash 风险,给出对应的风险防控措施,才能确保平台安全性,让用户投入的本金 Token 所铸造的 vToken 能够最大程度地获取正收益,并防止攻击者买走 Token 投票权后故意执行恶意行为,用以触发 PoS 公链较高级别的 Slash 罚款机制,造成 Staking 本金的严重损失。我们将在后续文章中给出 Bifrost 的多种级别风险防控措施的设计细节。



Bifrost 是什么?

Bifrost(彩虹桥)是卡生态 DeFi 基础协议致力成为质押资产提供流动性的基础设施,目前推出面向 Staking 和波卡平行链卡槽(PLO)的衍生品 vToken目前已获得 NGC、SNZ、DFG、CMS 等机构数百万美金融资和 Web3 基金会 Grant,同时也是Substrate Builders Program、Web3 Bootcamp 成员。


vToken 可在 DeFiDAppDEXCEX 等多场景下优化交易,通过 vToken 实现 StakingPLO 等质押权益的转让通道,实现质押资产风险对冲,扩充场景如 vToken 作为抵押物进行借贷时,其 Staking 收益可抵销部分利息,实现低息借贷



往期文章

Bifrost 101 - Why Bifrost

vETH 多签 Deposit 记录公示

Bifrost 第二期 Mint Drop AMA 回顾

Bifrost 第二期 Mint Drop 参与教程

Bifrost 第二期铸币空投规则公布

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存