持币生息(Staking)并非没有风险。PoS 安全模型奖励诚实的节点,但也惩罚不诚实或不靠谱的节点,还有他们的委托者,那么选择持币生息节点时该考虑哪些问题?

原文标题:《Staking 防割指南 | Staked》
作者:Staked

Slash 是 Vitalik Buterin 2014 年在 Slasher: A Punitive Proof-of-Stake Algorithm 里提出的一种 PoS 安全机制。Slash 这个动词,翻译过来就是

用人话说,如果一个节点同时出两个块 —— 双签。不仅拿不到出块奖励,用户投给他的币还会被系统自动罚掉一部分。每个链罚的百分比不一样,在用 Tendermint 共识的链 (Cosmos, Binance dex, IRISnet, Loom, Sentinel, Terra, etc) 上,罚这个节点票仓的 5%. 你委托给他,他被割,你的币就亏了。

最近有两个节点被割了。CosmosPool.org 被割了九十万人民币的 ATOM,LunaWhale.com 被割了一百万美元的 Luna,Staked 从来没被割过,我们是这么做的 —— 持币生息(Staking)并非没有风险。PoS 安全模型奖励诚实的节点,但也惩罚不诚实或不靠谱的节点,还有他们的委托者。Cosmos Hub 最近割了一个双重签名的节点。这是很好的例子,让你知道选择持币生息节点时该考虑哪些问题。

咋回事?

CosmosPool.org 在高度 848186 处提出了两个不同的区块。这被称为双签名,是对链安全的威胁。因此,Cosmos Pool 验证节点的身份被移除(相当于「监禁」),并且被委派给其节点的所有 ATOM (即 Cosmos 的原生代币)的 5% 被罚没。

咋发生的?

Cosmos Pool 使用相同的验证密钥同时运行两个不同的节点。乍一看这个思路挺靠谱:运行一个主节点和一个备份节点,以确保主节点(或其数据中心)出现故障时保障运行时间。尽管如此,你得把它设置对呀。

我们复盘一下,主节点暂时出现故障,备份进入联机状态。目前为止还靠谱,接下来就不对劲了。细节问题并不清楚,但公开的数据是,这时主节点重新上线,两个节点都提出了相同高度的区块。咔嚓!验证者被移除,所有的委托者损失了 5% 的资产,一脸懵逼。

怎么改进?

我们对自己的正常运行时间非常自豪,并跨多个云服务商运行,以确保我们始终保持正常运行。无论如何,双重签名的惩罚是如此严厉,我们必须谨慎。如果出问题的话,最好接受短暂的停机,而不是拿客户资产冒险。

这也是我们引入 100% 正常运行时间服务协议的原因之一(当出现停机时,Staked 补贴用户,保证用户能拿到 100% 的收益) 。它允许我们在不影响客户的情况下花费时间维护。最近,我们又引入了一个签名代理机制,允许多个节点同时运行,并确保只有一个区块出现在网络上。

教训?

如果你的委托节点瞎搞,你可能会失去 5% 的币。这是大型 PoS 加密网络中第一次发生双重签名和处罚节点的情况,但不会是最后一次(文章写作时 Terra 处罚事件还没发生)。以太坊计划处罚实施不良行为的节点,大多数 PoS 网络也一样。对于技术差劲的节点来说,最大的风险就是被割。

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