http://www.7klian.com

Vitalik Buterin亲笔:区块链验证的哲学

深入阐明区块链验证

分片

一个区块链最强大的一个特性,就是可以独立验证这个区块链执行的每个部门。纵然大大都区块链矿工(或权益证明区块链中的验证人)被进攻者经受,假如该进攻者试图推送无效区块块,网络也会直接拒绝这些区块。即便用户在某个特按时间内没有验证那些区块,他们也会潜在地、自动地得到告诫,并且可以查抄进攻者的区块链是否无效并自动拒绝这些区块,然后再凭据法则接管一条链。

此刻,让我们阐明下“默认杂乱”思维方法大概会造成的最严重效果:51%的进攻他们本身。很多社区中的当前类型是,假如51%进攻得胜,那么谁人蒙受51%进攻的链一定是有效链。一般来说,我们会严格遵守这个类型,好比最近以太坊经典(EthereumClassic)遭到51%进攻就说明白这一点。进攻者还原了3000多个区块(在此进程中,通过双花付出窃取了807,260ETC),这使得该链的汗青比两个ETC客户端之一(OpenEthereum)在技能上可以或许还原的时间更远,功效导致Geth节点与进攻者的链保持一致,而OpenEthereum节点则与原始链保持一致。

也就是说,从久远来看,区块链必定可以改进这一点。改造的一个非凡来历是ZK-SNARK(可能说是“有效性证明”):有效验证的加密证明,使区块出产者可以向客户端证明区块已经满意了某些任意巨大的有效性条件。有效性证明比欺诈证明更强,因为它们不依赖于交互式游戏来捕捉欺诈。另一个重要技能是数据可用性查抄,它可以防备区块执行未完全宣布的数据。不外,数据可用性查抄基于很是守旧的假设,即网络中某处至少存在少量厚道节点,好动静是:即便存在存在大量进攻者,网络中老是会有厚道节点。

界说概念vs.协调概念

可以说,这次进攻简直造成了“默认杂乱”,尽量这是一次偶尔事件,而不是ETC社区存心设计所抉择的。但不幸的是,以太坊经典社区随后选择接管(较长的)进攻链作为类型,以太坊经典官方推特账户将其描写为“遵循预期的事情量证明”,因此到最后,社区居然在努力辅佐进攻者得胜。

那么替代的概念是什么?这里给出的一个焦点思想是通过协调问题将区块链视为工程安详(engineeringsecurity)。

如上图所示,区块链中的独立区块仅涉及几个账户。欺诈证明将包括这些帐户中的数据以及证明该数据正确的Merkle证明。

请留意,这个概念有两个焦点部门:

2、有些人认为美国假如改用公制计量大概会更好;

2、重要的是,你必需保持链上有你本身认为可以接管的法则。

凡是而言,区块链中的单个区块仅打仗区块链“状态”的一小部门(好比账户余额、智能合约代码、等等...)。假如颠末完全验证的节点处理惩罚了一个区块并发明它是无效的,则他们可以生成一个包括该区块的包(package)——也就是欺诈证明,这个包中将包括足够的、处理惩罚该区块的区块链状态数据。之后,区块链会将此包广播给轻客户端,轻客户端便可以吸收该包并利用相关数据来验证区块自己,纵然他们没有链中的其他数据也没有问题。

轻客户端和欺诈证明

以太坊连系首创人Vitalik 好比在大都链包括一个轻客户端不会接管区块的环境下。假如颠末完全验证的节点处理惩罚了一个区块并发明它是无效的。只要有一个厚道节点来验证欺诈区块。

这里的“>”代表的寄义是“优于”。最好是进攻完全失败;第二好是进攻导致杂乱,每小我私家都对正确的链持差异意见,最糟糕的是进攻乐成。这里的问题是:为什么杂乱比胜利要好得多?事实上,这是一个念头问题,即:杂乱会增加进攻者的本钱,这意味着进攻者必定会得胜的大概性会大幅低落,因此进攻者从一开始就不勉励举办进攻。默认为杂乱的情况意味着进攻者不只需要赢得举办51%进攻的区块链战争,还要说服社区跟从这场“社会战争”,这比仅仅提倡51%进攻并通过纯真进攻取告捷利要坚苦得多,吸引力也要低得多。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。