在深入讨论拜占庭(tíng)共识优势之前,先快速(sù)了解一下拜占庭共(gòng)识对
区块链(liàn)有(yǒu)哪些关键功(gōng)能改进。
1.安全性:如果网络中2/3的活(huó)跃受托人诚实地遵(zūn)循协议行事(shì),则两个富有(yǒu)争议(yì)的区块无法(fǎ)在(zài)区块链上(shàng)达成终结性。
2.活性:即使1/3活跃(yuè)受(shòu)托人离线,新(xīn)区(qū)块仍可在区块链(liàn)上(shàng)达(dá)成终结性。
3.问责制:如果一名受托人违反了(le)共(gòng)识协(xié)议,他(tā)/她将(jiāng)为自己行为负(fù)责。
以上便是拜占庭(tíng)共识具(jù)有的三个高级特(tè)性(xìng)。它能迅(xùn)速地从分叉中恢复过(guò)来,快速(sù)地(dì)达成区块链终结性。三(sān)个特(tè)性(xìng)都需要深入了解,如果你乐意的(de)话,可以了解LIP以及拜占庭(tíng)共识研(yán)究论文。本文重点是介绍拜占庭的实(shí)现细节。
在拜占(zhàn)庭共识算法中(zhōng),每个节点(diǎn)不仅(jǐn)维(wéi)护区块链,还维护其他内存(cún)元数据,以便(biàn)根据算(suàn)法(fǎ)规则(zé)验证区块链(liàn)。部分(fèn)内存元数据(jù)还将保存(cún)在(zài)区块链上,以防节点奔溃时可以(yǐ)重(chóng)建内(nèi)存数据集。我们另外针(zhēn)对区(qū)块增加的属性(xìng)是(shì)受托(tuō)人锻(duàn)造的前(qián)一区块高度以及锻造区(qū)块时的最大预投票(piào)高度。与此同(tóng)时,每个节点都(dōu)将追求(qiú)终结高度,因(yīn)此在恢复区块链(liàn)的情况下,已被(bèi)终结的区块无法再(zài)逆转。
支持区块民主投票
在Lisk生(shēng)态系统中,投票并不(bú)是什么新鲜(xiān)事——投票是任何DPoS共识算法的基础。LSK代币持(chí)有者可以给受(shòu)托人投票(piào),然(rán)后,根据得票多(duō)少,系统(tǒng)选(xuǎn)出(chū)得票最高的(de)受托人(rén)锻造(zào)新一轮区块。之前,投(tóu)票(piào)系统仅仅用于给受托人投票(piào),引入拜占(zhàn)庭共识(shí)算法后,投票系统不(bú)再仅用于投票了。每(měi)个(gè)受托(tuō)人将给(gěi)区(qū)块投上一票,不同(tóng)的是受托人投(tóu)的票由各个(gè)节(jiē)点自(zì)身维(wéi)护(hù)和保留。只有少数计算出来的属性会公布(bù)在(zài)网络上,并非公布到整个(gè)投票账本上。拜占庭数学公(gōng)式和协议确保各个节点正确地投票。
与其他投票系统的基(jī)本规则一(yī)致(zhì),受托人只(zhī)能在给特定高度的区块投票一次。因为同(tóng)一高度不能存在两(liǎng)个(gè)区块,受托人只能投给一个区块(kuài)。这个(gè)过(guò)程叫做(zuò)预投票,收集了2/3选(xuǎn)票的区(qū)块合格进入下一轮投票(piào)。
第二轮投(tóu)票叫做预(yù)提交,规则与上(shàng)面类似,受托人可(kě)以预(yù)提交一个区块,只能提交一次,获(huò)得2/3预投票(piào)的区块达到合格线。在(zài)第二(èr)轮中,获得2/3预提交的(de)区(qū)块具(jù)有(yǒu)终结性。具有最(zuì)高预提交数的区块(kuài)最(zuì)终确定(dìng)为区块链(liàn)的(de)高度。低于终结性区块高度的(de)区块也将具(jù)有(yǒu)最终性,且不可逆转。
其他(tā)一些规(guī)则:
1.如(rú)果受托人没有参(cān)与这轮投(tóu)票,就(jiù)不能进行预投票或预提交。目的是防止垃圾(jī)投票。因此在(zài)受托人激活时,我们会跟踪投(tóu)票轮情况。
2.一个受(shòu)托(tuō)人(rén)不能参与(yǔ)3轮投票,提高整个(gè)系(xì)统性能。
版权申明:本内容来自于互联网,属第三方(fāng)汇集推荐平台。本文的版权(quán)归原作者(zhě)所(suǒ)有(yǒu),文(wén)章言论不代表链门户的观点,链门户不承担(dān)任何法律责任。如有侵权请联系QQ:3341927519进行反馈(kuì)。