摘要:以太坊基金和以及在一起积极研究一个安全的去中心化的股权证明协议。总结在本文中,我们讨论了工作量证明和股权证明,它们是实现了拜占庭容错的共识算法,并在当今的区块链系统中得到实际应用。
在第一部分中,我们讨论了拜占庭将军问题、如何实现拜占庭容错以及他们与区块链的关系。
在上一篇文章中提到的算法实际上就是实现拜占庭容错的解决方案。但是,那个解决方案还不够有效率,它的变型也是有限制的,即不到三分之一的网络是不诚实的。
用Lamport、Shostak和Pease提出的算法解决的拜占庭将军问题的运行时间(n = 成员数量, m = 叛徒数量)
这把我们带到了计算机科学中一个经典的问题:
我们能做的更好吗?
本文的主题将讨论实现拜占庭容错的替代算法。
注意:请原谅我做了一些简化。这些算法背后都有很多复杂的研究。我接下来将会为那些感兴趣的、想要更深入研究的读者们提供链接。
区块链用共识算法来选举一位领导者来决定下一个区块的内容。
那个领导者还要负责把该区块广播到网络,以便于其他同行可以验证其内容的有效性。
工作量证明(PoW)这是像比特币和以太坊等货币最常用的算法,每一种都有自己的不同。
在继续之前,为了非技术性读者的一点解释:
一个散列函数(或译哈希函数)是任何可以将任意大小的数据映射到固定大小的数据的函数。
如果一个哈希函数是安全的,它的输出是无法与随机结果区分开的。
Example: keccak256("hello") = 1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8 keccak256("hello1") = 57c65f1718e8297f4048beff2419e134656b7a856872b27ad77846e395f13ffe
在工作量证明中,一个成员要想成为领导者并选择下一个要添加到区块链的区块,他们必须要找到解决一个特定数学问题的方法。
比如那个数学问题是:
给定数据X,找到一个数n,如附加到X结果的n的哈希是一个小于Y的数。
Example - hash is a hypothetical hash function that has the outputs listed as below Y = 10, X = "test" hash(X) = hash("test") = 0x0f = 15 > 10 hash(X+1) = hash("test1") = 0xff = 255 > 10 hash(X+2) = hash("test2") = 0x09 = 9 < 10 OK, 解决了.
鉴于所使用的哈希函数是加密安全的,找到解决这个问题的唯一方法就是用暴风算法(尝试所有的组合)。换句话说,从概率学的角度,首先解决上述问题的成员是拥有最大计算能力的成员。这些成员也被称为矿工。
这获得广泛的成功主要得益于一下特质:
这个问题很难找到解决方法
当该问题有解决方法的时候,很容易验证它的正确性
每当一个区块被开采的时候,该矿工会获得一些货币(区块奖励、交易费用),因此他就更有动力继续采矿。在工作证明中,其他节点通过检查区块的散列是否小于预设数字来验证区块的有效性。
由于计算能力的供应有限,矿工也不会想作弊。因为硬件、能源和错过的潜在开采利润的高成本,攻击网络会损失很多。
以下图片很好的说明了比特币和其他使用工作证明的币种是如何阻止恶意行为的。
那些对链分裂(又名分叉或链重组)如何在分歧情况下工作感兴趣的读者,我建议读读这篇文章。
工作量证明提供了所需的安全性,并且迄今为止也被证实是好用的。但是,它非常耗能:
几乎所有的非洲国家(多带带的)都比比特币矿业消耗的电力要少
股权证明(PoS)在继续之前,让我把领导者选举(选择下一个区块的成员)比喻为抽奖:
在抽奖中,如果Bob比Alice有更多的票,他就更有可能获胜。
与此类似:
在工作量证明中,如果Bob比Alice拥有更多的计算能力和能量,从而可以输出更多的工作 — — 他就更有可能获胜(开采下一个区块)。
再一次,类似的:
在股权证明中,如果Bob比Alice拥有更多股权,他就更有可能获胜(“开采”下一个区块)。
股权证明去掉了工作量证明对于能源和计算能力的要求,并用股权替代。股权就是在一段时间内成员愿意锁定的货币数量。作为回报,他们有和他们的股权成比例的机会成为下一个领导者,并选择下一个区块。现在有一些币种只用股权证明如Nxt和Blackcoin。
PoS的主要问题就是所谓的缺乏利害关系。从本质上来说,在分叉的情况下,股权持有人不是没有在两条链上持股的动机,然后就会增加双重支出问题的危险性。想了解更多,看这里。
为了避免这种情况,出现了混合共识算法,如Decred使用的PoW-PoS组合。以太坊基金和 Casper The Friendly Ghost 以及 Casper The Friendly Finality Gadget在一起积极研究一个安全的、去中心化的股权证明协议。
总结在本文中,我们讨论了工作量证明和股权证明,它们是实现了拜占庭容错的共识算法,并在当今的区块链系统中得到实际应用。其他共识算法例如实用拜占庭容错PBFT(Tendermint)或分散式拜占庭容错(NEO)也是存在的。想了解比较PBFT和Casper的朋友可以看这里。
原文作者:Georgios Konstantopoulos (Loom Network)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24005.html
摘要:而比特币却在没有政府或公司背书的情况下,在过去一年内支持了相当于一万亿美元的交易。除此之外,还有一点值得注意的是,很多人误以为比特币的扩容问题是机制的局限性造成的。因此,公链项目在早期使用是避免共识中心化,保护区块链核心价值的明智选择。 showImg(https://segmentfault.com/img/bVbljbX?w=893&h=380);在传统的互联网公司或金融机构中,如...
摘要:而比特币却在没有政府或公司背书的情况下,在过去一年内支持了相当于一万亿美元的交易。除此之外,还有一点值得注意的是,很多人误以为比特币的扩容问题是机制的局限性造成的。因此,公链项目在早期使用是避免共识中心化,保护区块链核心价值的明智选择。 showImg(https://segmentfault.com/img/bVbljbX?w=893&h=380);在传统的互联网公司或金融机构中,如...
摘要:月日圣诞夜,伍鸣博士做客火星财经创始学习群,分享了使用结构提升中本聪共识的吞吐率。为什么传统的基于的中本聪共识机制的吞吐率非常低下总结来说,为了安全,不得不如此。这样,就绕开了中本聪共识中安全与效率两难的困境。 12月25日圣诞夜,Conflux CTO伍鸣博士做客「火星财经创始学习群」,分享了Conflux: 使用 DAG 结构提升中本聪共识的吞吐率。 嘉宾简介: showImg(h...
阅读 2243·2023-04-25 14:50
阅读 1165·2021-10-13 09:50
阅读 1828·2019-08-30 15:56
阅读 1814·2019-08-29 15:29
阅读 2869·2019-08-29 15:27
阅读 3522·2019-08-29 15:14
阅读 1127·2019-08-29 13:01
阅读 3253·2019-08-26 14:06