密码极客 | 国内最权威的区块链技术创投社群

除了 Proof of Stake,你还要知道何谓 Nothing at Stake

江鹏江鹏 2019-05-29 5,463 次 收藏0

PoS (Proof of Stake)本质上是一种持有一定币量而获得挖矿资格和收益的共识协议,在最初 Proof of Stake 2013 年被提出来后, Nothing At Stake (无利害关系)的问题和 Long-Range Attack (长程攻击)问题是经常被谈论的 Proof of Stake 共识协议的挑战。

原文标题:《谈 PoS, 怎能不懂 Nothing At Stake ?》
文章来源:公众号 Cobo 钱包
作者:Cobo 小姐姐

今天我们先来看看 Nothing At Stake problem (无利害关系)。

Nothing At Stake, a situation where someone loses nothing when behaving badly, but stands to gain everything.

Nothing At Stake 问题的本质是「作恶无成本,好处无限多」。具体来讲,是当在 PoS 共识系统出现分叉(fork)的情况时 ,出块节点可以在「不受任何损失」的前提下,同时为多条链出块,从而有可能获得「所有收益」。

这就好比有个窗口,排队既可领钱,当只有一个窗口时,大家会乖乖的排队,每人都有,其乐融融。

但是当第二个窗口出现时。大家知道,最终这两个窗口有可能只有一个领到的是「真钱」,另外一个的钱会变成废纸。但排队的你不知道哪个窗口会是发「真钱」的窗口。所以你会怎么做呢? 你可能会下个跑腿订单帮你分身同时去另外一个窗口排队。

但是,在实际 PoS 出块节点时,此时的分身无成本,只是计算机做一个运算而已。

这会造成什么乱象呢?

聪明的出块节点会有动力产生新的分叉,支持或发起不合法交易,其他逐利的出块节点会同时在多条链(窗口)上排队出块支持新的分叉。随着时间的推移,分叉越来越多,非法交易,作恶猖狂。区块链将不再是唯一链,所有出块节点没有办法达成共识。

除了 Proof of Stake,你还要知道何谓 Nothing at Stake

另外,无利害关系问题还让双花攻击更容易。不像 PoW 51% 的攻击那样,PoS 的攻击节点只需要多一定的算力 (有时候仅仅 1% )就有可以进行攻击。例如一个质押总量占流通币量只有 30% 的币,攻击成本相比 60% 质押率的网络更容易攻击。

有多容易呢?如下图所示,仍然是 A、B、C 三个出块节点,假如 A 是攻击节点,它在产生分叉时创造两笔交易。一笔将 X 个币发给自己的一个钱包地址,同时在另外一个分叉上将 X 个币发到交易所。B、C 出块节点因 Nothing At Stake 所以同时会在两条分叉链上出块。当交易被交易所确认后, A 将 X 个币出售兑换成隐私币种,移出交易所。之后 A 通过增加质押币量,或创建多个其他出块节点的方式提升出块权重,只在分叉链继续出块。此时最长链很明显,且逐渐拉开差距,会最终成为最长链,A 成功将 X 个币双花。

640 (1).jpeg

为什么 Nothing At Stake 问题仅仅是 PoS 的挑战? PoW 难道不会有吗?

PoW 机制天生避免了这个问题。因为在出块时,矿工会付出机会成本 — 算力资源。如果分叉出现, 矿工需要慎重的选择在哪条链上出块,一旦选错,付出的算力成本则没有收益。矿工也不会选择在两条链上均分算力,这样只会将原链的出块概率缩小一半,可能得不偿失。

那么如何解决 Nothing At Stake 问题 ?

一般的策略都是后置惩罚,既如果被判为恶意出块行为,则会将 stake 的一部分或保证金作为罚金。然而,所有的惩罚和监管措施都只是事后,而不像 PoW 需算力出块的隐形约束直接。

我们来看看 Tezos 是怎样使用惩罚机制来避免 Nothing At Stake 问题的:在 Tezos 链上参与挖矿需要保证金,这部分保证金就是用来保证「面包师」 (baker)的诚实行为,如果面包师试图在两个分支上广播区块,那么他的保证金将被没收。如果面包师成功创建和广播了合法区块,他将获得区块奖励和交易手续费。这种机制用金钱奖惩来避免双挖矿问题,节点的安全由面包师自行维护。

除了后置惩罚,至今的解决方案,都是要牺牲一定程度的性能、去中心化原则,合约机制的设计也更复杂。

这种复杂性体现在什么地方呢?

在 PoS 中,节点的角色和职责众多:除了和 PoW 中类似的出块节点 (Miner), 还有验证节点(Validator) 为区块背书 ,守护猎人(State Guardian) 抓「坏人」。

守护猎人的 stake 有一定的锁定期,一般是需要 X 个区块之后才可以拿到质押的币,这样可以给守护猎人足够时间来抓住非法节点。

此外,虽然项目方可以通过前置节点筛选选择信任的节点,但是中心化的问题依然不可避免:

  • 如果网络发展迅速,利益超过了组织的信誉,那么,被选出的实名节点不一定仍然可信;
  • 节点是否有足够的动机或技术能力去保证自身的反攻击能力,从而保证网络安全;
  • 节点数量有限,伸缩性不够,仍然是中心化。
本文系作者个人观点,转载请注明出处!
喜欢 0
支付宝扫码打赏
微信打赏

相关文章

更多

发布评论

共0条评论