PoR信譽共識(Proof of Reputation) ,由貝克鏈提出。在PoR信譽共識算法之中主要講的是信譽,根據信譽高低動態展開節點進行拜占廷容錯的算法 。
算法理論,技術突破,算法結構,拜占庭容錯,BLAZE並行架構,SHARDING數據分片技術,雙花攻擊,
算法理論
PO互不認識、互不信任的各方為了能夠獲取自己利益的最大化而約定相互不作惡。各方通過提交自己的舉證物來獲得贏取在網路的信任,大家快速達成一致,能夠使自己參與這個共識,貢獻算力從而獲得收益。
技術突破
POR信譽共識協定,通過底層算法的突破性創新,將速度提高到十萬級TPS,在MVP全球分散式節點公網環境中,峰值速度達到12萬TPS
算法結構
貝克鏈已於2018年10月3日向全球發布MVP測試報告,在五個分散式節點(分別位於紐約、阿姆斯特丹、法蘭克福、新加坡、北京)公網環境下,峰值速度超過12萬TPS。貝克鏈的高性能就得益於由貝克鏈團隊自主研發的PoR信譽共識協定,該算法在結構上包括四個部分:
創新的Bit-R信譽量化體系:用於選誠信節點,並有效抗中心化
基於PBFT的拜占庭容錯過程:提高共識效率
創新的BLAZE技術:提高並行處理效率
SHARDING數據分片技術:實現多節點協作
拜占庭容錯
實用性拜占庭容錯過程包括兩個部分:
定義可信節點列表
一個基於PBFT的拜占庭容錯過程
BLAZE並行架構
為了進一步提高系統並行處理效率,提高運算速度,貝克鏈團隊首次提出BLAZE(Bitconch Ledger Access Zero-delay Extension)貝克鏈零延遲賬本訪問技術,簡稱BLAZE並行處理技術。
BLAZE的架構設計受到了Classic RISC pipeline(經典精簡指令集流水線)的啟發。將區塊鏈驗證中的數據Fetch、解碼Decode、哈希運算Hash、狀態變更State、寫數據Write的五個步驟,在操作期間,每個流水線階段一次處理一個指令。這些階段中的每一個都包括一組初始指令,這些指令對進入的交易的輸出進行操作。
SHARDING數據分片技術
POR支持通過分片技術(Sharding)提高吞吐量。分片技術借鑑於經典資料庫中的分區技術,當數據吞吐量很大的時候,一個資料庫的讀寫會需要很長的時間,因此可以通過將數據分別存儲在不同的資料庫的不同的表中,提供高速訪問數據的能力。在POR中,從高信譽節點中選擇N個節點,作為Sharding節點,Sharding節點通過和leader節點保持同步,每個Sharding節點打包處理自己所關心的數據,通過上一層的Leader節點再一次將每個Sharding節點打包的交易進行確認。
首先在所有的記賬節點中,定義一組Sharding節點和Leader節點。在這裡使用分散式隨機數生成算法,選擇Sharding節點和Leader節點。Sharding節點負責分流匯聚到Leader節點的Tx,通過系統時鐘,Sharding節點和Leader節點保持同步,並且可以同步驗證交易的正確性,系統時鐘在這裡充當了一個信息通道的作用,保證Leader節點和Sharding節點之間的一致性。每一個Sharding節點給自己處理的交易,加上一個標記序列(Sharding ID),Leader節點和投票節點可以通過校驗ShardingID,從而對於交易進行確認。
雙花攻擊
由於POR信譽共識算法採用的是確定性模型。若系統出現雙花交易,由於拜占庭容錯過程的確定性特質,即使兩筆交易被同時確認,當其中的一個被更新到賬本上後,另一個由於餘額不足就會被自動捨棄,從而避免了雙花攻擊的出現。作惡的節點將被追溯並受到懲罰,信譽值降低,失去參選信任節點的資格。由於節點的作惡成本遠高於作惡可能帶來的收益,所以作惡動機極低。