

V神提议的99%容错共识:只需1%的诚实节点?
source link: https://www.tuicool.com/articles/FrEZraq
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

“如果你增加更多的假设,具体来说,这要求观察者也积极监察共识,而不只是在事后下载输出,那么,你可以将容错率一直提高到99%。”
在一篇由Emin Gun Sirer评论的高度技术性文章中,V神提出,这表明可以不要求50%以上的矿工或者权益质押者是诚实的,只需1%的人诚实即可。
因此,令人害怕的51%攻击在这种共识算法情况下,成为99%攻击,这也意味着攻击实际上变成不可能。
从高阶视角来看,它的运行方式,按照我们的理解,它是通过要求监听节点或独立观察者来运作。
你可能熟悉比特币中最先看到的规则。如果不熟悉,这是中本聪在2010年7月17日的解释,我们完整引用过来:
“我相信,对于一家支付处理公司来说,提供快速分发交易服务是可能的,并且能够在10秒甚至更短时间内完成足够充分的检查。”
网络节点只接收他们收到的第一个交易版本,以便合并到他们试图生成的区块中。当你广播一个交易,如果其他人同时广播一个双花交易,这是关于谁先广播到大多数节点的竞赛。如果一个人稍微先行开始,通过网络进行几何扩散它会更快,并率先抵达大多数节点。
一个粗略的示例:
这意味着,如果双花的交易必须等待即使只是一秒钟的时间,那么,它也有巨大的劣势。
支付处理商跟很多节点有连接。当它收到交易,它就会将其大力扩散,同时监控网络的双花交易。如果它在任何一个监听节点上收到一笔双花交易,它就会警示该交易是坏的。如果没有其中的监听者听到,双花交易不会走太远。
双花交易将不得不等待,直到监听阶段结束,但到那个时候,支付处理商的广播已经抵达大多数节点,或者它在广播方面遥遥领先,双花交易没有任何希望能够超越。
Buterin提出类似的东西,但是针对区块的。Buterin后来澄清说,正如他在原始提案中明确指出的一样,他没有发明99%容错共识算法,是Leslie Lamport发明的。Lamport是计算机科学家,曾因为其在分布式系统领域的贡献而获得图灵奖。
“我恰好写了一个解释器并将其改编为区块链语境”,Buterin说。在以太坊开发者Conrad Barski的高级别解释中,他指出:
“Vitalik建议,如果网络流量的独立观察者(也就是用户运行的区块链客户端,不是矿工/验证者)观察实时发生的事情,并注意信息何时出现,他们可以监测到矿工发起的51%攻击的“犯规行为”,这可以提供额外的安全保障,可以防止这种攻击。”
Buterin后来补充道:“另外一个用例是它可以用作检测51%审查攻击的工具,并协调使用少数软分叉来摆脱它们,而不需要靠太多人为驱动的社会协调工具,以在边缘情况下选择一个行为或其他。”
这听上去像欺诈证明,一些比特币核心开发者表示并不存在的这样的神秘生物。然而,中本聪的白皮书,提到这样的欺诈证明,以解释为什么不需要保留特定的数据,或为什么轻节点可以是非常安全的。
简单来说,顾名思义,欺诈证明是欺诈、欺骗或不当行为的证据,或未达成共识的证据。
如果你运行全节点,你在验证所有内容,因此节点会拒绝不当行为。但是,如果你不是验证所有内容,假说你使用的是智能手机,那么,在极少数情况下,你可能会接收到不正确的数据,而你无法知道它们是不正确的。
欺诈证明提供了这种方式,这里的建议是,如果我们理解非常好,似乎是因为独立观察者在监测,所以你可以知道数据是不正确的。
当然,所有这些都是由软件或代码本身完成的。如在代码中“知道”一些数据不正确,由此,它会自动拒绝它。Buterin说:
“如果5%的验证者是诚实的,那么,在512个随机选择的节点中没有一个是诚实的,这种概率大约只有万亿分之一。因此,只要网络延迟加上时钟偏差小于D/2,上述的算法就会有效,它能就某些单个最终值上正确地协调节点,即使在最终值上存在多个冲突(由于阀值相关算法的容错被破坏)也能正确解决。”
这里的重点当然是Casper,这个提议似乎是建议将其纳入PoS。如果它在这种背景下有效,那么,以太坊区块链可能会变得更加安全。
本文作者Trustnodes,由蓝狐笔记社群“LS”翻译。
附录:Vitalik《99%容错共识指南》
https://vitalik.ca/general/2018/08/07/99_fault_tolerant.html
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK