LBFT跨链共识机制
簡(jiǎn)介
LBFT跨鏈共識(shí)機(jī)制是L0區(qū)塊鏈的跨鏈共識(shí)機(jī)制,是對(duì)PBFT共識(shí)機(jī)制的改進(jìn),可以保證在容錯(cuò)范圍內(nèi),每一筆交易都在不同的參與方區(qū)塊鏈上同步處理。
對(duì)于某個(gè)子賬本來說,如果交易雙方都在同一個(gè)區(qū)塊鏈(鏈A)內(nèi),則只在這個(gè)子賬本記錄這筆交易;如果交易雙方在不同的區(qū)塊鏈(鏈A和鏈B)上,則需要在區(qū)塊鏈A和區(qū)塊鏈B賬本上同步記賬。我們的跨鏈共識(shí)算法可以在A和B兩個(gè)區(qū)塊鏈都滿足拜占庭容錯(cuò)的情況下,完成交易并同步記錄在雙方區(qū)塊鏈的賬本上。
L0目前支持兩個(gè)參與方進(jìn)行的資產(chǎn)轉(zhuǎn)移交易,需要更多參與方或者更復(fù)雜轉(zhuǎn)移方式的交易可以通過智能合約來完成。
一條典型的交易包括交易類型,付款方賬戶及所在鏈,收款方賬戶及所在鏈,交易金額,時(shí)間,簽名等信息。
L0中的交易類型如下圖:
共識(shí)機(jī)制
(1)A鏈主節(jié)點(diǎn)廣播Preprepare交易到B鏈節(jié)點(diǎn)(主節(jié)點(diǎn)即共識(shí)消息發(fā)出節(jié)點(diǎn))
(2)A鏈和B鏈主節(jié)點(diǎn)分別廣播Preprepare到各自鏈的從節(jié)點(diǎn)(從節(jié)點(diǎn)即共識(shí)消息投票節(jié)點(diǎn)
(3)A和B鏈的從節(jié)點(diǎn)分別對(duì)Preprepare的交易進(jìn)行驗(yàn)證,驗(yàn)證通過后廣播Prepare消息到A, B區(qū)塊鏈的所有節(jié)點(diǎn)
(4)A和B鏈的節(jié)點(diǎn)收到2f+1的A鏈節(jié)點(diǎn)以及2 k+1的B鏈節(jié)點(diǎn)的相同Prepare消息后廣播Commit消息到A, B區(qū)塊鏈的所有節(jié)點(diǎn)
(5) A和B鏈的節(jié)點(diǎn)收到2f+1的A鏈節(jié)點(diǎn)以及2 k+1的B鏈節(jié)點(diǎn)的相同Commit消息后確認(rèn)
容錯(cuò)性
在擁有3f+1(也適用于3f+2或3f+3)的LO區(qū)塊鏈中,具有f個(gè)節(jié)點(diǎn)的容錯(cuò)性能。
在錯(cuò)誤節(jié)點(diǎn)數(shù)小于等于f時(shí),錯(cuò)誤節(jié)點(diǎn)不影響跨鏈雙方誠實(shí)節(jié)點(diǎn)對(duì)交易的確認(rèn),跨鏈交
易可以正常記賬。
在錯(cuò)誤節(jié)點(diǎn)數(shù)大于f小于2f+1時(shí),誠實(shí)節(jié)點(diǎn)無法確認(rèn)交易,跨鏈交易無法記賬。
在錯(cuò)誤節(jié)點(diǎn)數(shù)大于2f+1時(shí),錯(cuò)誤節(jié)點(diǎn)有聯(lián)合作惡并對(duì)賬本造成分叉的可能,可以造成
跨鏈交易雙方賬本數(shù)據(jù)不一致,還可以操縱本地賬本數(shù)據(jù)。
在錯(cuò)誤節(jié)點(diǎn)數(shù)大于2f+1時(shí),錯(cuò)誤節(jié)點(diǎn)有聯(lián)合作惡并對(duì)賬本造成分叉的可能,可以造成跨鏈交易雙方賬本數(shù)據(jù)不一致,還可以操縱本地賬本數(shù)據(jù)。
作者:vdes
鏈接:https://www.jianshu.com/p/62ddf9fcb56b
來源:簡(jiǎn)書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
總結(jié)
以上是生活随笔為你收集整理的LBFT跨链共识机制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 揭开知识库问答KB-QA的面纱2·语义解
- 下一篇: 【密码学】一万字带您走进密码学的世界(上