在深入討論拜占庭共識優勢之前,先快速了解一下拜占庭共識對
區塊鏈有哪些關鍵功能改進。
1.安全性:如果網絡中2/3的活躍受托人誠實地遵循協議行事,則兩個富有爭議的區塊無法在區塊鏈上達成終結性。
2.活性:即使1/3活躍受托人離線,新區塊仍可在區塊鏈上達成終結性。
3.問責制:如果一名受托人違反了共識協議,他/她將為自己行為負責。
以上便是拜占庭共識具有的三個高級特性。它能迅速地從分叉中恢復過來,快速地達成區塊鏈終結性。三個特性都需要深入了解,如果你樂意的話,可以了解LIP以及拜占庭共識研究論文。本文重點是介紹拜占庭的實現細節。
在拜占庭共識算法中,每個節點不僅維護區塊鏈,還維護其他內存元數據,以便根據算法規則驗證區塊鏈。部分內存元數據還將保存在區塊鏈上,以防節點奔潰時可以重建內存數據集。我們另外針對區塊增加的屬性是受托人鍛造的前一區塊高度以及鍛造區塊時的最大預投票高度。與此同時,每個節點都將追求終結高度,因此在恢復區塊鏈的情況下,已被終結的區塊無法再逆轉。
支持區塊民主投票
在Lisk生態系統中,投票并不是什么新鮮事——投票是任何DPoS共識算法的基礎。LSK代幣持有者可以給受托人投票,然后,根據得票多少,系統選出得票最高的受托人鍛造新一輪區塊。之前,投票系統僅僅用于給受托人投票,引入拜占庭共識算法后,投票系統不再僅用于投票了。每個受托人將給區塊投上一票,不同的是受托人投的票由各個節點自身維護和保留。只有少數計算出來的屬性會公布在網絡上,并非公布到整個投票賬本上。拜占庭數學公式和協議確保各個節點正確地投票。
與其他投票系統的基本規則一致,受托人只能在給特定高度的區塊投票一次。因為同一高度不能存在兩個區塊,受托人只能投給一個區塊。這個過程叫做預投票,收集了2/3選票的區塊合格進入下一輪投票。
第二輪投票叫做預提交,規則與上面類似,受托人可以預提交一個區塊,只能提交一次,獲得2/3預投票的區塊達到合格線。在第二輪中,獲得2/3預提交的區塊具有終結性。具有最高預提交數的區塊最終確定為區塊鏈的高度。低于終結性區塊高度的區塊也將具有最終性,且不可逆轉。
其他一些規則:
1.如果受托人沒有參與這輪投票,就不能進行預投票或預提交。目的是防止垃圾投票。因此在受托人激活時,我們會跟蹤投票輪情況。
2.一個受托人不能參與3輪投票,提高整個系統性能。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。