首先声明,这只是我个人单方面的总结。
Gentle 认为在 GHAST 共识协议进入 conservative settings 之后,会给诚实的矿工不遵守共识协议的经济激励,并且给出了一些具体的攻击策略。
经过一些讨论后,我认为这个攻击策略是可行的,但未必是有利的。因为 Conflux 的 anti-cone penalty 机制会让这些区块收不到交易费与区块奖励。但 anti-cone penalty 机制本身在 conservative setting 下可能会刺激出其他的破坏共识协议的行为,可能需要调整。
Gentle 以“时间就是金钱”的应用举例,表达攻击者可以通过共识协议激励之外获得攻击的经济利益。
但我认为,当区块链共识协议与激励机制之外的利益(例如 Defi 套利机会)显著高于共识激励的利益的时候,普遍会出现普通矿工有动力破坏共识协议的情形。并不是 Conflux 独有或 GHAST 引入的问题。
之后我和 Gentle 的讨论中间出现了一些误会,我没有正确理解他构造攻击的重点。因此我反驳的内容,他也没有理解我想表达什么。
我认为他想表达的重点是攻击会吸引低算力的“吃瓜群众”做破坏共识的行为,所以我用了大量篇幅解释“吃瓜群众”被吸引破坏共识不是 Conflux 独有的问题。
但 Gentle 强调,问题的重点是他构造的攻击会使 GHAST 共识协议失去最终性,使平衡攻击无法终结,所以他认为是“致命的”。
我就为什么这个攻击为什么不会导致没有最终性给出了几点证据,包括
- Gentle 构造的自私挖矿者需要在 GHAST 协议有最终性的情况下才会取得收益,否则是纯算力损失。因此自私挖矿者一定会促成最终性,否则就算关机也不会进行攻击。
- 在均衡中,应当会出现一些人关机,一些人诚实挖矿,一些人自私挖矿。关机使得诚实挖矿的矿工有了更高的平均收益,虽然被自私挖矿分走了一些收益,但整体收益为正,他们的存在可以促成最终性。
- 自私挖矿者自己也有能力解决平衡攻击。具体方法为,观察链上其他自私挖矿者在哪个平衡攻击的分支上多一些,然后加入他们。因为在平衡攻击获胜的分支上挖矿才能达成 Gentle 所构成的攻击。所以自私挖矿者有动力这么做,而且被选择的分支会因为网络效应吸引所有自私挖矿者。
- 我还提出了自私挖矿者链下沟通合作促成最终性的可能,但 Gentle 认为超出了他的模型范围。
(注:我们就这一问题是否应该设定讨论范围进行了争论,最终我认同他的观点,在他的模型范围下讨论,不再考虑论据4)
综上,无论是均衡中存在诚实挖矿者,还是自私挖矿者自发解决平衡攻击,都使 GHAST 的最终性不受影响。
之后,我们就“会在什么地方达成均衡”,“自私挖矿者是否有能力促成最终性”进行了讨论。但在讨论中,Gentle 的论证方式逐渐让我无法接受,包括
- 拒绝做定量分析,却滥用形容词
- 随意引用不相干的模型,不加以解释,实际上引述的模型与讨论的模型并无关联。例如,这个问题并不是囚徒困境,因为所有人都进行攻击时收益为负,还不如关机,并不会达成均衡。他却用囚徒困境类比,还摆出一副我不懂的姿态。
- 在我对他的矿工行为推演给出基于逻辑的反驳理由时,以生活经验反驳
基于此,我认为没有必要再讨论下去。
所以我这里给出我到目前为止的结论:
- Gentle 提出的问题需要一个较为苛刻的场景才能构造出来,包括:
- 网络算力分布被分割成两部分,且之间有较大通信延迟,足以发动平衡攻击。(这个网络拓扑在现实中不太容易达成)
- 有至少20%的算力真的发起了平衡攻击
- 在4个小时的区块都无法确认的情况下、不断有高价值交易出现。
- Gentle 之所以认为自己提出的攻击是致命的,是因为这一攻击会导致 GHAST 失去最终性。但我认为,这是不成立的。因为自私挖矿攻击者只有在 GHAST 有最终性时才能收益,所以均衡下自私挖矿攻击不会导致 GHAST 失去最终性。更详细的论据参考上面我的四点证据。
- Gentle 提出的攻击成功后会吸引矿工违背共识。他提到的 0 门槛,指攻击成功后,算力很低的矿工也有动力违背共识。但任何共识协议都存在这样的问题,其后果是诚实矿工的利益分配不公平。有其他社区朋友对这一风险表示关切。我认为,考虑到这一问题构造场景较为苛刻,且影响只是暂时的分配不公平,影响有限。如果真的有幸有一天,Conflux 链上有国家安全相关的利益,那是更复杂的博弈分析,和本问题无关。
- Conflux 的激励机制设计在极端情况下可能会出现不合理,对诚实参与者不公平的现象。我们会在之后,根据 Conflux 网络的运行情况,判断各种极端情况出现的概率,并 Review Conflux 的激励机制设计,增强 Conflux 的网络安全。