所有的區(qū)塊鏈網(wǎng)絡(luò)都會使用一種共識算法來確保下一個寫入賬本中的區(qū)塊是正確的。Hyperledger Indy 使用的是稱為 Plenum 的共識算法,它實現(xiàn)了拜占庭容錯 Byzantine Fault Tolerance (BFT) 算法。BFT 算法能夠?qū)崿F(xiàn)即使有部分節(jié)點不可用或者有問題的情況下還能夠得到正確的結(jié)果。
雖然說驗證節(jié)點越多越安全,但是節(jié)點的增多會影響達成共識的效率,經(jīng)過測試發(fā)現(xiàn),25個節(jié)點(能夠支持8個無效節(jié)點)具有最好的效率來支持大約每秒100次的 transactions。
Indy 網(wǎng)絡(luò)中的 Stewards 節(jié)點可以分別負責(zé)兩部分的工作:
- 驗證節(jié)點,validators nodes:參與 Plenum 共識算法,向賬本中寫入數(shù)據(jù)。
- 觀察者節(jié)點,observer nodes:追蹤區(qū)塊鏈的增長,提供數(shù)據(jù)讀取服務(wù),并且如果需要可以隨時成為驗證節(jié)點。