ripple是什么區(qū)塊鏈?其實(shí)ripple是廣大***者都認(rèn)識的瑞波幣,但是你對ripple的網(wǎng)絡(luò)結(jié)構(gòu)和共識算法有了解嗎,那么接下來就和fx小編一起來了解一下吧,希望對小伙伴們能夠有所幫助。
1.Ripple的網(wǎng)絡(luò)結(jié)構(gòu)
Ripple(瑞波)是一種基于互聯(lián)網(wǎng)的開源支付協(xié)議,可以實(shí)現(xiàn)去中心化的貨幣兌換、支付與清算功能。
在Ripple的網(wǎng)絡(luò)中,交易由客戶端(應(yīng)用)發(fā)起,經(jīng)過追蹤節(jié)點(diǎn)(trackingnode)或驗(yàn)證節(jié)點(diǎn)(validatingnode)把交易廣播到整個(gè)網(wǎng)絡(luò)中。追蹤節(jié)點(diǎn)的主要功能是分發(fā)交易信息以及響應(yīng)客戶端的賬本請求。驗(yàn)證節(jié)點(diǎn)除包含追蹤節(jié)點(diǎn)的所有功能外,還能夠通過共識協(xié)議,在賬本中增加新的賬本實(shí)例數(shù)據(jù)。
2.Ripple共識算法
Ripple的共識達(dá)成發(fā)生在驗(yàn)證節(jié)點(diǎn)之間,每個(gè)驗(yàn)證節(jié)點(diǎn)都預(yù)先配置了一份可信任節(jié)點(diǎn)名單,每個(gè)驗(yàn)證節(jié)點(diǎn)都預(yù)先配置了一份可信任節(jié)點(diǎn)名單,稱為UNL(UniqueNodeList)。在名單上的節(jié)點(diǎn)可對交易達(dá)成進(jìn)行投票。每隔幾秒,Ripple網(wǎng)絡(luò)將進(jìn)行如下共識過程:
1)每個(gè)驗(yàn)證節(jié)點(diǎn)會不斷收到從網(wǎng)絡(luò)發(fā)送過來的交易,通過與本地賬本數(shù)據(jù)驗(yàn)證后,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidateset)。交易候選集里面還包括之前共識過程無法確認(rèn)而遺留下來的交易。
2)每個(gè)驗(yàn)證節(jié)點(diǎn)把自己的交易候選集作為提案發(fā)送給其他驗(yàn)證節(jié)點(diǎn)。
3)驗(yàn)證節(jié)點(diǎn)在收到其他節(jié)點(diǎn)發(fā)來的提案后,如果不是來自UNL上的節(jié)點(diǎn),則忽略該提案;如果是來自UNL上的節(jié)點(diǎn),就會對比提案中的交易和本地的交易候選候選集,如果有相同的交易,該交易就獲得一票。在一定時(shí)間內(nèi),當(dāng)交易獲得超過50%的票數(shù)時(shí),則該交易進(jìn)入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認(rèn)。
4)驗(yàn)證節(jié)點(diǎn)把超過50%票數(shù)的交易作為提案發(fā)給其他節(jié)點(diǎn),同時(shí)提高所需票數(shù)的閾值到60%,重復(fù)步驟3)步驟4),直到閾值達(dá)到80%。
5)驗(yàn)證節(jié)點(diǎn)把經(jīng)過80%UNL節(jié)點(diǎn)確認(rèn)的交易正式寫入本地的賬本數(shù)據(jù)中,稱為最后關(guān)閉賬本(LastClosedLedger),即賬本最后(最新)的狀態(tài)。