共識算法的研究

前天面試官問我了解不了解國內(nèi)的公鏈溪食,所以今天來整理一下國內(nèi)的幾個(gè)公鏈以及常見的共識算法

首先我們介紹一下共識算法的使用場景:對于需要貨幣體系的許可鏈大多用的是POW,POS,DPOS,而對于可信環(huán)境分為聯(lián)盟連和私有鏈娜扇,聯(lián)盟鏈一般使用PBFT,DBFT栅组,私鏈一般選用RAFT以及PAXOS.

1.布萌:

共識機(jī)制:PBFT:是基于拜占庭容錯(cuò)機(jī)制枢析,一致性的確保分為三部分:預(yù)準(zhǔn)備,準(zhǔn)備和確認(rèn)


豎過來看.....

2.NEO  共識機(jī)制:拜占庭容錯(cuò)委托DBFT

與PBFT對比:全網(wǎng)中的NEO節(jié)點(diǎn)分為兩類節(jié)點(diǎn):


一類為共識記點(diǎn)司浪,負(fù)責(zé)和其他共識記點(diǎn)之間進(jìn)行共識通訊把沼,產(chǎn)生新的區(qū)塊;另外一類為普通節(jié)點(diǎn)租谈,不參與共識捆愁,但能夠驗(yàn)證和接受新的區(qū)塊。共識節(jié)點(diǎn)由全網(wǎng)用戶通過投票產(chǎn)生昼丑。NEO節(jié)點(diǎn)提出dBFT的背后思想是:PBFT算法能夠很好的解決分布式節(jié)點(diǎn)的共識問題,但是PBFT共識參與節(jié)點(diǎn)數(shù)量越大性能就會越低页慷。采用投票選取出相對較小數(shù)量的共識節(jié)點(diǎn)內(nèi)部進(jìn)行PBFT共識生成新區(qū)塊胁附,然后將該新區(qū)塊發(fā)布到全網(wǎng)中達(dá)成全網(wǎng)共識.

產(chǎn)生新區(qū)塊的流程:(1)開啟共識的節(jié)點(diǎn)分為兩大類滓彰,非記賬人和記賬人節(jié)點(diǎn),非記賬人的不參與共識弓候,記賬人參與共識流程(2)選擇議長他匪,Neo議長產(chǎn)生機(jī)制是根據(jù)當(dāng)前塊高度和記賬人數(shù)量做MOD運(yùn)算得到,議長實(shí)際上按順序當(dāng)選(3)節(jié)點(diǎn)初始化依鸥,議長為primary節(jié)點(diǎn)悼沈,議員為backup節(jié)點(diǎn)姐扮。滿足出塊條件后議長發(fā)送PrepareRequest(4)議員收到請求后衣吠,驗(yàn)證通過簽名發(fā)送PrepareResponse(5)記賬節(jié)點(diǎn)接收到PrepareResponse后,節(jié)點(diǎn)保存對方的簽名信息缚俏,檢查如果超過三分之二則發(fā)送 block(6)節(jié)點(diǎn)接收到block惊搏,PersistCompleted事件觸發(fā)后整體重新初始化

而NEO中dBFT缺乏PBFT的commit階段胀屿,所以可能因?yàn)楣沧R節(jié)點(diǎn)之間的網(wǎng)絡(luò)延遲或者宕機(jī)問題包雀,造成共識節(jié)點(diǎn)之間無法達(dá)成共識。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -----NEO源自于360博客

3.量子鏈:首個(gè)基于UTXO模型的POS智能合約平臺才写,可以寫智能合約,共識機(jī)制:POS

pos:根據(jù)每個(gè)節(jié)點(diǎn)所占代幣的比例和時(shí)間讹堤,等比例的降低挖礦難度厨疙,從而加快找隨機(jī)數(shù)的速度

4.IOTA:共識機(jī)制:DAG算法

http://www.reibang.com/p/ced888ba7d3a這里的描述更為準(zhǔn)確,提高了交易的并發(fā)性梗醇,支持交易離線共識撒蟀,但存在延遲

5.RAFT:將一致性算法分為了幾個(gè)部分,包括領(lǐng)導(dǎo)選缺M汀(leader selection)、日志復(fù)制(log replication)竟终、安全(safety)

Raft協(xié)議基于復(fù)制狀態(tài)機(jī)(replicated state machine)切蟋,即一組server從相同的初始狀態(tài)起,按相同的順序執(zhí)行相同的命令瘾境,最終會達(dá)到一直的狀態(tài),一組server記錄相同的操作日志迷守,并以相同的順序應(yīng)用到狀態(tài)機(jī)。

Raft與PBFT的區(qū)別:raft算法從節(jié)點(diǎn)不會拒絕主節(jié)點(diǎn)的請求凯力,而pbft算法從節(jié)點(diǎn)在某些情況下會拒絕主節(jié)點(diǎn)的請求 ;raft算法只能容錯(cuò)故障節(jié)點(diǎn)礼华,并且最大容錯(cuò)節(jié)點(diǎn)數(shù)為(n-1)/2,而pbft算法能容錯(cuò)故障節(jié)點(diǎn)和作惡節(jié)點(diǎn)祈惶,最大容錯(cuò)節(jié)點(diǎn)數(shù)為(n-1)/3扮匠。

6.PAXOS:允許一組不一定可靠的處理器(服務(wù)器)在某些條件得到滿足情況下就能達(dá)成確定的安全的共識,如果條件不能滿足也確保這組處理器(服務(wù)器)保持一致疹蛉。


客戶端的寫操作:

首先Paxos管理的系統(tǒng)中一個(gè)客戶端要求寫入一個(gè)新值力麸,客戶端這里如圖所示是紅圈,其它流程是藍(lán)圈闺鲸, Paxos能保證客戶端發(fā)送它們的寫請求到Paxos集群中任何成員, 這里演示中客戶端隨機(jī)挑選流程中任意一個(gè)陨舱,這種方式是重要且巧妙的版仔,意味著沒有任何單點(diǎn)風(fēng)險(xiǎn),意味著我們的Paxos管治系統(tǒng)能繼續(xù)保持在線可用蛮粮,無論任何一個(gè)節(jié)點(diǎn)當(dāng)機(jī)或其他不可用原因無響應(yīng)然想。如果我們設(shè)計(jì)一個(gè)特定節(jié)點(diǎn)作為“推薦人proposer”或者 "the master" 等, 如果這個(gè)主節(jié)點(diǎn)死機(jī),那么整個(gè)系統(tǒng)就崩潰了变泄。

https://www.jdon.com/artichect/paxos.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市屏富,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌噩死,老刑警劉巖神年,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異垛耳,居然都是意外死亡飘千,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門泡嘴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逆济,“玉大人,你說我怎么就攤上這事抛虫〖蛏” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵棉姐,是天一觀的道長啦逆。 經(jīng)常有香客問我,道長乃坤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任狱杰,我火速辦了婚禮厅须,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘九杂。我一直安慰自己,他們只是感情好甥捺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布镀层。 她就那樣靜靜地躺著,像睡著了一般吴侦。 火紅的嫁衣襯著肌膚如雪坞古。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天织堂,我揣著相機(jī)與錄音奶陈,去河邊找鬼。 笑死吃粒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的事示。 我是一名探鬼主播疏旨,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼檐涝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谁榜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤帝蒿,失蹤者是張志新(化名)和其女友劉穎巷怜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绣张,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡关带,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年宋雏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磨总。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蚪燕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邻薯,到底是詐尸還是另有隱情,我是刑警寧澤累榜,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布灵嫌,位于F島的核電站,受9級特大地震影響猖凛,放射性物質(zhì)發(fā)生泄漏绪穆。R本人自食惡果不足惜虱岂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一菠红、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧试溯,春花似錦、人聲如沸键袱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽比藻。三九已至倘屹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纽匙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工馏段, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留践瓷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓喷舀,卻偏偏與公主長得像淋肾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子拿愧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容