EIP-225: Clique 权威证明 ( proof-of-authority ) 一致性协议

EIP-225 阅读及翻译

Posted by Nicodechal on 2020-11-14
作者 Péter Szilágyi
讨论区 https://github.com/ethereum/EIPs/issues/225
状态 Final
类型 Standards Track
分类 Core
创建时间 2017-03-06

摘要

Clique 是一种权威证明一致性协议,它切合以太网主网的设计,所以可以以最小影响添加到客户端中。

动机

以太坊的第一个官方测试网是Morden。它运行于 2015 年 7 月至 2016 年 11 月左右,当时由于 Geth 和 Parity 积累的垃圾和一些共识问题,它最终被搁置等待测试网的重新启动。

罗普斯滕(Ropsten)就这样诞生了,他清除了所有垃圾,并从一个干净的状态开始。直到 2017 年 2 月底以前,它都运行良好。之后恶意攻击者开始滥用低困难的 PoW,逐渐将区块的 gaslimit 提高到90亿( 从正常的470万开始增加 ),这时发送的大量交易破坏了整个网络。甚至在此之前,攻击者还试图进行多个极其长的重组( long reorgs ),导致以太网在不同客户端甚至不同版本之间的分裂。

这些攻击可以成功的根本原因在于 PoW 网络的安全性仅取决于其背后的计算能力。从零重新启动测试网无法解决任何问题,因为攻击者可以一次又一次发起相同的攻击。Parity 小组决定采用紧急解决方案,即回滚大量区块,并制定软分叉规则,以禁止超过一定阈值的 gaslimit。

尽管这个解决方案在短期内可以解决问题,但是:

  • 不够优雅:区块的 gaslimit 应该是可以动态设置的。
  • 不可移植:其他的客户端需要实现新的分叉逻辑。
  • 和一些同步模式不兼容:快速客户端和轻量客户端都不兼容。
  • 它只是延缓了攻击:垃圾信息仍旧可以无穷无尽地加入到网络中。

Parity 的解决方案虽然不完美,但仍然可行。我想提出一个更长期的替代解决方案,该解决方案涉及更多方面,但应足够简单以允许在合理的时间内推出。

标准化的权威证明

[TODO]