《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 區(qū)塊鏈權(quán)益證明共識(shí)機(jī)制綜述

區(qū)塊鏈權(quán)益證明共識(shí)機(jī)制綜述

2021-09-11
來源:信息安全與通信保密雜志社

區(qū)塊鏈技術(shù)被提出以來,共識(shí)機(jī)制作為其核心部分之一受到廣泛關(guān)注。在眾多共識(shí)機(jī)制中,根據(jù)節(jié)點(diǎn)權(quán)益情況以競(jìng)爭(zhēng)記賬權(quán)的權(quán)益證明共識(shí)機(jī)制有著較低能耗和較高性能等特點(diǎn)。為深入研究這一共識(shí)機(jī)制,第一,闡述了權(quán)益證明的主要原理;第二,將權(quán)益證明機(jī)制按照區(qū)塊鏈系統(tǒng)結(jié)構(gòu)劃分為基于鏈結(jié)構(gòu)和圖結(jié)構(gòu)的權(quán)益證明共識(shí)機(jī)制,并分別介紹了Ouroboros、Algorand、Tendermint、Casper 和LaKSA 這 5 種基于權(quán)益證明的共識(shí)機(jī)制的特點(diǎn)、共識(shí)、性能與安全性;第三,分析了權(quán)益證明共識(shí)機(jī)制面臨的安全威脅,如無利害關(guān)系攻擊、研磨攻擊、長(zhǎng)程攻擊、變節(jié)攻擊和 51% 攻擊,給出應(yīng)對(duì)措施;第四,總結(jié)了權(quán)益證明目前的發(fā)展現(xiàn)狀,并對(duì)未來發(fā)展提出了展望。

  0

  引 言

  2008 年,中本聰發(fā)表了《比特幣:一種點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng)》,其采用的區(qū)塊鏈技術(shù)開始獲得大眾的關(guān)注。因區(qū)塊鏈技術(shù)具有去中心化、不可篡改以及可溯源等特性,受到了各界關(guān)注。隨后,出現(xiàn)了如以太坊 、Monero 與IOTA 等各類加密貨幣,帶來了諸如智能合約、環(huán)簽名以及有向無環(huán)圖結(jié)構(gòu)等功能性、安全性以及結(jié)構(gòu)性創(chuàng)新,區(qū)塊鏈技術(shù)發(fā)展進(jìn)入了新階段。而在區(qū)塊鏈技術(shù)中,共識(shí)機(jī)制是其重要組成部分。區(qū)塊鏈網(wǎng)絡(luò)通過共識(shí)機(jī)制,即節(jié)點(diǎn)間運(yùn)行共識(shí)協(xié)議,實(shí)現(xiàn)了在節(jié)點(diǎn)之間建立“信任”網(wǎng)絡(luò), 體現(xiàn)了區(qū)塊鏈去中心化等特性。同時(shí),共識(shí)機(jī)制也決定了網(wǎng)絡(luò)的中心化程度、安全性和可擴(kuò)展性。其中權(quán)益證明(PoS)機(jī)制作為能耗較低、性能較高的新型共識(shí)機(jī)制,意在取代傳統(tǒng)的工作量證明(PoW)機(jī)制,是目前區(qū)塊鏈領(lǐng)域的重要研究方向,學(xué)界與業(yè)界均對(duì)其開展深入研究。

  在國(guó)內(nèi)研究方面,袁勇等人深入探討了主流共識(shí)機(jī)制中的共識(shí)算法;劉懿中等人將共識(shí)機(jī)制劃分為對(duì)經(jīng)典分布式共識(shí)機(jī)制和區(qū)塊鏈共識(shí)機(jī)制,并進(jìn)行了詳細(xì)分析;劉漢卿等人探討了區(qū)塊鏈系統(tǒng)中容易面臨的攻擊狀況;吳狄等人則針對(duì)基于區(qū)塊鏈的法定數(shù)字貨幣以及原型系統(tǒng)進(jìn)行了綜述。

  在國(guó)外研究方面,Khan 等人對(duì)主流加密貨幣的共識(shí)機(jī)制進(jìn)行了對(duì)比研究;Wang等人分析了主流加密貨幣的共識(shí)機(jī)制與挖礦策略;Du 等人對(duì)工作量證明、權(quán)益證明、委托權(quán)益證明以及傳統(tǒng)分布式共識(shí)機(jī)制等共識(shí)算法進(jìn)行了分析;Nguyen 等人對(duì)基于權(quán)益證明的部分共識(shí)機(jī)制進(jìn)行了討論。

  本文主要從以下幾點(diǎn)展開研究:第一,概述了區(qū)塊鏈的背景,簡(jiǎn)要概述了共識(shí)機(jī)制的原理, 對(duì)工作量證明與權(quán)益證明進(jìn)行了對(duì)比分析;第二,按照系統(tǒng)結(jié)構(gòu)將 Ouroboros、Algorand、Tendermint、Casper與 LaKSA[17] 等5 種基于權(quán)益證明的共識(shí)協(xié)議劃分為基于鏈結(jié)構(gòu)的共識(shí)機(jī)制與基于圖結(jié)構(gòu)的共識(shí)機(jī)制,并分析了各個(gè)協(xié)議的特點(diǎn)、流程、安全性以及性能;第三, 闡述了權(quán)益證明機(jī)制面臨的無利害關(guān)系攻擊、研磨攻擊、長(zhǎng)程攻擊、變節(jié)攻擊和 51% 攻擊等安全威脅以及其應(yīng)對(duì)措施;第四,總結(jié)權(quán)益證明的發(fā)展和展望權(quán)益領(lǐng)域的未來研究方向。

  1

  共識(shí)機(jī)制概述

  共識(shí)機(jī)制的研究起源于 1975 年 Akkoyunlu 等人提出的“兩軍問題”,指出了在不可信的信道中通信無法保證一致性。隨后 Lamport 等人提出了“拜占庭將軍問題”,主要研究在存在一定故障節(jié)點(diǎn)或者惡意攻擊時(shí)誠(chéng)實(shí)節(jié)點(diǎn)如何實(shí)現(xiàn)共識(shí)的問題。在 2008 年發(fā)布的比特幣白皮書中,中本聰將共識(shí)機(jī)制應(yīng)用到加密貨幣系統(tǒng)以及其使用的區(qū)塊鏈技術(shù)中,以完成交易的驗(yàn)證和確認(rèn)。

  共識(shí)機(jī)制可分為經(jīng)典分布式機(jī)制和區(qū)塊鏈共識(shí)機(jī)制。經(jīng)典分布式機(jī)制有 PBFT、SBFT 和Paxos等。區(qū)塊鏈共識(shí)機(jī)制根據(jù)應(yīng)用場(chǎng)景的不同可以分為兩種:一種是授權(quán)共識(shí)機(jī)制,該網(wǎng)絡(luò)中的節(jié)點(diǎn)想要參與共識(shí)過程需要通過公鑰進(jìn)行身份認(rèn)證;另一種是非授權(quán)共識(shí)機(jī)制,該網(wǎng)絡(luò)中的節(jié)點(diǎn)可以隨意加入和退出網(wǎng)絡(luò),在目前主流的共識(shí)機(jī)制中,工作量證明和權(quán)益證明都屬于非授權(quán)共識(shí)機(jī)制。

  在區(qū)塊鏈系統(tǒng)中,共識(shí)機(jī)制的基本工作流程如下:選舉出塊者、生成區(qū)塊和節(jié)點(diǎn)驗(yàn)證更新區(qū)塊。安全性、交易吞吐量、可拓展性、交易確認(rèn)時(shí)間、去中心化程度和能源消耗等是衡量區(qū)塊鏈共識(shí)機(jī)制的標(biāo)準(zhǔn)。接下來將從以上幾個(gè)方面闡述目前主流的共識(shí)機(jī)制:工作量證明 (Proof-of-Work,PoW) 與權(quán)益證明 (Proof-of- Stake,PoS)。

  1.1 工作量證明機(jī)制

  工作量證明是 1992 年由 Dwork 等人共同提出,用來防止垃圾郵件。隨著比特幣的誕生,基于工作量證明的共識(shí)機(jī)制正式進(jìn)入了公眾的視野。在基于 PoW 機(jī)制中,節(jié)點(diǎn)是通過不斷的單向哈希(Hash)計(jì)算尋找一個(gè)隨機(jī)數(shù)(nonce) 的過程來達(dá)成共識(shí),最先算出 nonce 值的節(jié)點(diǎn)即被選為出塊者,這也就意味著算力越大的節(jié)點(diǎn)越有可能成為出塊者。由于哈希函數(shù)的特性, 只能通過反復(fù)嘗試不同的 nonce 值來找到滿足輸出哈希值前 n 位為零的值,其中 n 的值關(guān)系到哈希計(jì)算難度的大小,通過 PoW 機(jī)制的難度調(diào)整機(jī)制,保證數(shù)字貨幣不論在何種算力之下, 其出塊速度在一定速度范圍內(nèi)波動(dòng)。

  在 PoW 機(jī)制中,參與者互相競(jìng)爭(zhēng),第一個(gè)找到正確 nonce 的參與者就可以獲得記賬的權(quán)利。在這個(gè)搜尋隨機(jī)數(shù)的過程中,參與者擁有的算力越多,就越有可能獲得記賬權(quán)。參與者為了提高獲得記賬權(quán)的概率,會(huì)不斷提高算力,在這種計(jì)算模式下,導(dǎo)致了 PoW 共識(shí)機(jī)制在挖礦過程中需要消耗大量的能源。此時(shí),算力較低的參與者因其獲得獎(jiǎng)勵(lì)的概率相對(duì)較低,可通過加入礦池等措施,以期獲得一定的收入。礦池是由大量的參與者組成,由于其擁有巨大的計(jì)算資源,將會(huì)有更多的機(jī)會(huì)來獲得記賬權(quán)。

  比特幣和以太坊目前使用工作量證明作為共識(shí)機(jī)制。在 PoW 機(jī)制中,各節(jié)點(diǎn)需投入大量計(jì)算資源用以挖礦,即通過進(jìn)行 Hash 運(yùn)算來爭(zhēng)奪記賬權(quán)。但挖礦計(jì)算無實(shí)際意義,將造成大量計(jì)算資源浪費(fèi),并且 PoW 機(jī)制性能較低,如比特幣每分鐘僅支持 7 筆交易,以太坊每分鐘僅支持 15 筆交易。同時(shí),隨著礦池算力的增加, 特別是針對(duì)挖礦算法而研發(fā)的 ASIC 礦機(jī)出現(xiàn), 導(dǎo)致基于PoW 機(jī)制的加密貨幣受到了“中心化”的挑戰(zhàn)。此外,PoW 機(jī)制主要面臨的安全隱患有日蝕攻擊、雙花攻擊和自私挖礦等。

  1.2 權(quán)益證明機(jī)制

  PoS 機(jī)制解決了 PoW 機(jī)制拓展性差和能源消耗大的問題,該機(jī)制不依賴計(jì)算哈希問題, 僅依據(jù)節(jié)點(diǎn)所持有的權(quán)益大?。垂?jié)點(diǎn)在區(qū)塊鏈網(wǎng)絡(luò)中投入或存儲(chǔ)的數(shù)字資產(chǎn)總額)決定新區(qū)塊的記賬歸屬。因此,在 PoS 機(jī)制中不需要堆積算力,僅需在區(qū)塊鏈網(wǎng)絡(luò)中投入權(quán)益即可參加記賬權(quán)的競(jìng)爭(zhēng),以此解決了 PoW 機(jī)制的能源消耗問題。

  綜上所述,從 PoW 機(jī)制到 PoS 機(jī)制,共識(shí)機(jī)制向著更加節(jié)能、安全、高效的方向發(fā)展。表 1 是兩種共識(shí)機(jī)制在出塊者選擇、能源消耗、區(qū)塊生成時(shí)間、交易確認(rèn)速度、設(shè)備要求、安全隱患和應(yīng)用這幾個(gè)方面的比較。

  2

  基于權(quán)益證明的機(jī)制

  自 King 提出點(diǎn)點(diǎn)幣(PPCoin)后,首次將PoS 機(jī)制引入加密貨幣系統(tǒng)中 ,PoS 機(jī)制因其具有能耗較低與性能較高的特性,獲得廣泛關(guān)注。隨后,各界分別針對(duì)性能與安全性等方面提出了大量基于 PoS 機(jī)制的共識(shí)協(xié)議。而在基于 PoS 的共識(shí)機(jī)制中,可根據(jù)采用該機(jī)制的區(qū)塊鏈系統(tǒng)結(jié)構(gòu),將其分為基于鏈結(jié)構(gòu)的共識(shí)機(jī)制和基于圖結(jié)構(gòu)的共識(shí)機(jī)制。以下從共識(shí)特點(diǎn)、共識(shí)流程、安全性分析以及性能等方面分別對(duì)基于鏈結(jié)構(gòu)的 Ouroboros、Algorand、Tendermint 和 Casper 協(xié)議與基于圖結(jié)構(gòu)的 LaKSA 協(xié)議進(jìn)行介紹。

  2.1 Ouroboros 協(xié)議

  Ouroboros 是由 Kiayias 等人提出的基于權(quán)益證明的共識(shí)協(xié)議,是第一個(gè)可證明安全性的基于 PoS 的共識(shí)機(jī)制。

  表 1   共識(shí)機(jī)制的比較

 ?。?)共識(shí)特點(diǎn)

  Ouroboros 協(xié)議將時(shí)間劃分為幾個(gè)時(shí)期,每個(gè)時(shí)期由多個(gè)輪組成,每輪產(chǎn)生的區(qū)塊數(shù)最多為 1,若該輪的出塊者不在線或者未及時(shí)將創(chuàng)建的區(qū)塊廣播到網(wǎng)絡(luò)中,則本輪將不產(chǎn)生區(qū)塊。在 Ouroboros 協(xié)議中,每一個(gè)時(shí)期節(jié)點(diǎn)的權(quán)益值是由該時(shí)期開始時(shí)各節(jié)點(diǎn)的歷史權(quán)益值來計(jì)算, 若權(quán)益值發(fā)生改變,不影響當(dāng)前時(shí)期出塊者的選擇,并且 Ouroboros 要求相連幾個(gè)時(shí)期,節(jié)點(diǎn)的權(quán)益值變化不能過大。在每個(gè)時(shí)期開始時(shí),有一個(gè)創(chuàng)世區(qū)塊記錄了該時(shí)期出塊者候選人和第一輪的隨機(jī)種子,由該種子通過 FTS(Follow- the-Satoshi)算法選出第一輪的出塊者即為該輪的領(lǐng)導(dǎo)者,節(jié)點(diǎn)是否被選為領(lǐng)導(dǎo)者由其擁有的權(quán)益值決定,擁有的權(quán)益值越高,被選為領(lǐng)導(dǎo)者的可能性就越大。其中每一輪都通過安全多方協(xié)議產(chǎn)生隨機(jī)數(shù),選取出該輪的出塊者。在Ouroboros 協(xié)議中,選擇該輪領(lǐng)導(dǎo)者的同時(shí),還要選出交易驗(yàn)證者。在協(xié)議執(zhí)行過程中,領(lǐng)導(dǎo)者只是創(chuàng)建一個(gè)空區(qū)塊,交易是由驗(yàn)證者確認(rèn)并將交易添加到區(qū)塊中。建立區(qū)塊所獲得的獎(jiǎng)勵(lì)將分給領(lǐng)導(dǎo)者和驗(yàn)證者,以此來激勵(lì)更多的人參與到共識(shí)機(jī)制中。

 ?。?)共識(shí)流程

 ?、儆?FTS 算法選取領(lǐng)導(dǎo)者和驗(yàn)證者;

  ②領(lǐng)導(dǎo)者創(chuàng)建空區(qū)塊;

 ?、垓?yàn)證者確認(rèn)交易并將交易添加到區(qū)塊中;

 ?、茴I(lǐng)導(dǎo)者和驗(yàn)證者劃分獎(jiǎng)勵(lì)。Ouroboros 協(xié)議工作流程如圖 1 所示。

  圖 1 Ouroboros 協(xié)議工作流程

 ?。?)安全性分析

  與其他基于 PoS 機(jī)制的協(xié)議相 比, Ouroboros 在提出時(shí)就已通過安全性證明,并且具有較強(qiáng)的激勵(lì)兼容性。但是,Ouroboros 只能證明在敵手股份少于 51% 時(shí)整個(gè)網(wǎng)絡(luò)是安全的,該協(xié)議依舊無法承受 51% 攻擊。同時(shí)在Ouroboros 協(xié)議中,由于領(lǐng)導(dǎo)者的身份是公開的, 增加了敵手發(fā)動(dòng)賄賂攻擊的可能性。針對(duì)這一問題,David 等人提出了 Ouroboros Praos,在建塊成功之前將領(lǐng)導(dǎo)者的身份隱藏,以此有效地降低了敵手發(fā)動(dòng)賄賂攻擊的可能。

  PoS 機(jī)制通過檢查點(diǎn)機(jī)制來應(yīng)對(duì)新加入的節(jié)點(diǎn)易受到長(zhǎng)程攻擊的情況,但由于檢查點(diǎn)機(jī)制是通過選取一個(gè)信任節(jié)點(diǎn)的方式來確認(rèn)正確的區(qū)塊節(jié)點(diǎn),有可能會(huì)導(dǎo)致中心化。Badertscher 等人舍棄檢查點(diǎn)機(jī)制,提出了 Ouroboros Genesis, 為新加入網(wǎng)絡(luò)的節(jié)點(diǎn)設(shè)計(jì)了自啟過程,新節(jié)點(diǎn)對(duì)比不同鏈,選出與其他鏈有共同前綴并且最長(zhǎng)的鏈為正確的區(qū)塊鏈,以此來解決 PoS 機(jī)制易于受到長(zhǎng)程攻擊的問題。

 ?。?)性能

  Ouroboros 目前已經(jīng)被 Cardano、Sp8de 等加密貨幣方案使用。相較于其他區(qū)塊鏈協(xié)議, Ouroboros 的優(yōu)勢(shì)是交易確認(rèn)時(shí)間短,約為2 min, 交易吞吐量高,為 250 tx/s,同時(shí)其也具備權(quán)益證明共識(shí)機(jī)制所具備的優(yōu)勢(shì),Ouroboros 的能量損耗小。

  2.2 Algorand 協(xié)議

  Algorand 是在 2016 年由 SilvioMicali 等人共同提出的區(qū)塊鏈協(xié)議。Algorand 的提出是為了建立耗能更低、拓展性更好、更加去中心化的分布式賬本。

 ?。?)共識(shí)特點(diǎn)

  Algorand 的共識(shí)過程主要是隨機(jī)選擇出塊者和形成共識(shí),其中 Algorand 中提出了一種新的共識(shí)協(xié)議 BA*(Byzantine Agreement)。BA* 與 Ouroboros 相似,Algorand 也是以委員會(huì)的形式運(yùn)作。但是,Algorand 選擇領(lǐng)導(dǎo)者和委員會(huì)成員的方式不是 FTS 算法,而是密碼學(xué)加密抽簽的方式。由于區(qū)塊生成者節(jié)點(diǎn)由加密抽簽后偽隨機(jī)算法決定,因此不會(huì)讓對(duì)手預(yù)先知道攻擊目標(biāo)。加密抽簽是一種可驗(yàn)證隨機(jī)函數(shù)(VRF),用共識(shí)節(jié)點(diǎn)的私鑰和種子作為輸入,其中種子是隨機(jī)生成的并且每一輪都會(huì)重新創(chuàng)建,接著輸出哈希值和用于公共驗(yàn)證的證明。每一個(gè)節(jié)點(diǎn)可以分得一個(gè)與其權(quán)益值成比例的哈希值范圍,如果節(jié)點(diǎn)哈希值在分配的共識(shí)節(jié)點(diǎn)范圍內(nèi),則該節(jié)點(diǎn)會(huì)被選中,其選中概率與其權(quán)益值成正比。

 ?。?)共識(shí)流程

 ?、儆妹艽a學(xué)加密抽簽算法選取領(lǐng)導(dǎo)者和驗(yàn)證者;

 ?、陬I(lǐng)導(dǎo)者創(chuàng)建區(qū)塊;

 ?、垓?yàn)證者運(yùn)行 BA* 協(xié)議進(jìn)行交易驗(yàn)證。

  Algorand 協(xié)議工作流程如圖 2 所示。

  圖 2 Algorand 協(xié)議工作流程

 ?。?)安全性分析

  在 Algorand 中,只要誠(chéng)實(shí)節(jié)點(diǎn)控制的權(quán)益超過總權(quán)益的 51%,就可以保障此協(xié)議安全。被選中參與投票的節(jié)點(diǎn)均秘密知道其身份,其身份在投票后被公布。因此,即使敵手攻擊這些節(jié)點(diǎn),但節(jié)點(diǎn)發(fā)送的消息已經(jīng)無法撤銷,用于簽名的一次性臨時(shí)密鑰也會(huì)被立刻丟棄,使敵手無法以此生成合法信息。并且 BA* 協(xié)議每次循環(huán)過程都會(huì)選擇新的驗(yàn)證者,大大降低了驗(yàn)證者聯(lián)合攻擊網(wǎng)絡(luò)的風(fēng)險(xiǎn)。

 ?。?)性能

  Algorand 的交易吞吐量可以達(dá)到 875 tx/s, 相對(duì)于其他協(xié)議而言,每秒鐘的交易吞吐量較高, 它的平均交易確認(rèn)時(shí)間是 20 s。Algorand 可快速確認(rèn)交易,并且出現(xiàn)分叉的概率很小, 不會(huì)因?yàn)橛脩舻脑龆喽绊懡灰椎拇_認(rèn)速度。正是因?yàn)檫@些優(yōu)點(diǎn),目前 Algorand 已經(jīng)被多家加密貨幣公司所采用。

  2.3 Tendermint 協(xié)議

  Tendermint 是 Kwon 開 發(fā), 由 Buchman 在博士論文中提出的分布式平臺(tái) ,其包含了共識(shí)協(xié)議、實(shí)現(xiàn)代碼、接口以及管理工具,旨在解決數(shù)字貨幣等分布式系統(tǒng)存在的共識(shí)問題。為方便討論,本文以Tendermint 指代其共識(shí)協(xié)議。

 ?。?)共識(shí)特點(diǎn)

  Tendermint 屬于拜占庭容錯(cuò)算法,它針對(duì)傳統(tǒng)的實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT) 共識(shí)算法做了優(yōu)化, 使用BFT 投票協(xié)議確認(rèn)區(qū)塊,并且需要兩輪投票才可達(dá)成共識(shí),這兩個(gè)階段分別是預(yù)投票(pre- vote) 和預(yù)提交(pre-commit)。在 Tendermint 協(xié)議中的節(jié)點(diǎn)被稱為驗(yàn)證人。與其他協(xié)議類似, 驗(yàn)證者通過在系統(tǒng)中存款獲得投票權(quán),這些驗(yàn)證者輪流成為每一個(gè)區(qū)塊的提議者。提議者提議出一個(gè)區(qū)塊,同時(shí)由驗(yàn)證者進(jìn)行預(yù)投票簽名, 接著由驗(yàn)證者預(yù)提交,當(dāng)超過 2/3 的驗(yàn)證者將區(qū)塊預(yù)提交到系統(tǒng)中,此塊才能上鏈,并在鏈上占據(jù)一定的“高度”。提交塊存在失敗的可能,如果失敗,協(xié)議會(huì)進(jìn)行下一輪提交,會(huì)有新的提議者提出那個(gè)高度的區(qū)塊,并由驗(yàn)證者去提交。

  (2)共識(shí)流程

 ?、儆眉用艹楹炈惴ㄟx出驗(yàn)證者,并在其中選出提議者;

 ?、谔嶙h者創(chuàng)建新區(qū)塊;

  ③驗(yàn)證者對(duì)新區(qū)塊進(jìn)行預(yù)投票簽名;

  ④驗(yàn)證者對(duì)新區(qū)塊進(jìn)行預(yù)提交;

  ⑤獎(jiǎng)勵(lì)驗(yàn)證者和提議者。

  Tendermint 協(xié)議工作流程如圖 3 所示。

  圖 3 Tendermint 協(xié)議工作流程

 ?。?)安全性分析

  當(dāng)誠(chéng)實(shí)節(jié)點(diǎn)持有權(quán)益大于或等于總權(quán)益的2/3 時(shí),可保障 Tendermint 協(xié)議安全。由于網(wǎng)絡(luò)的延時(shí)性,兩輪投票可能出現(xiàn)在一個(gè)高度的不同輪提交兩個(gè)區(qū)塊的情形,Tendermint 引入了鎖機(jī)制,使驗(yàn)證者只能在鎖定高度預(yù)提交區(qū)塊。Tendermint 可以在多個(gè)機(jī)器上一致地復(fù)制同一應(yīng)用,每一個(gè)工作節(jié)點(diǎn)都會(huì)有相同的交易日志, 這一優(yōu)點(diǎn)對(duì)提高分布式系統(tǒng)的容錯(cuò)性能起到重要作用。正是其同步一致的特性,使 Tendermint沒有分叉問題,所以可以排除與分叉相關(guān)的攻擊。雖然 Tendermint 已經(jīng)被證明可以抵御多種攻擊,但是此協(xié)議缺乏形式定義和理論背景, 并且輪流擔(dān)任提議者會(huì)給網(wǎng)絡(luò)帶來安全隱患。

 ?。?)性能

  Tendermint 在創(chuàng)建之初,其開發(fā)團(tuán)隊(duì)就致力于實(shí)現(xiàn)快速的交易處理速度,其交易吞吐量最高為 800 tx/s,交易確認(rèn)的平均時(shí)間是 1 s。

  2.4 Casper 協(xié)議

  Casper 是由 Buterin 和 Criffith 共同提出的用于以太坊網(wǎng)絡(luò)的共識(shí)算法,該算法是 PoW機(jī)制和 PoS 機(jī)制的結(jié)合,是以太坊拋棄高耗能PoW 機(jī)制逐漸向 PoS 機(jī)制過渡的產(chǎn)物。

  (1)共識(shí)特點(diǎn)

  Casper 依舊是由 PoW 算法選取出塊者,但是它加入了動(dòng)態(tài)委員會(huì)機(jī)制,每間隔 50 個(gè)區(qū)塊選取驗(yàn)證者檢查出塊是否合理。此時(shí),Casper 協(xié)議中的節(jié)點(diǎn)想要成為驗(yàn)證者參與共識(shí)過程需要交保證金,被選為驗(yàn)證者的概率與繳納的保證金數(shù)成正比。同時(shí)若是驗(yàn)證人做出了危害協(xié)議的行為, 其保證金就會(huì)被系統(tǒng)扣除,并且剝奪其參與共識(shí)的權(quán)利。這就為網(wǎng)絡(luò)中的節(jié)點(diǎn)提供了識(shí)別當(dāng)前情況下合法鏈的方法,只要獲取當(dāng)前鎖定保證金的驗(yàn)證者列表,即可推斷出合法最長(zhǎng)鏈,這在某種程度上有效解決了“長(zhǎng)程攻擊”的問題。

  Casper 的投票過程滿足下注共識(shí),該共識(shí)要求驗(yàn)證者將繳納的保證金中的一大部分拿來下注候選區(qū)塊,當(dāng)驗(yàn)證者和其他大部分驗(yàn)證者選擇同一塊區(qū)塊時(shí),即為下注成功,驗(yàn)證者可以取回保證金和交易費(fèi)用,可能還有新發(fā)的貨幣作為獎(jiǎng)勵(lì);若是驗(yàn)證者和大部分驗(yàn)證者的選擇結(jié)果沒有快速達(dá)成一致,驗(yàn)證者就不能取回全部的保證金。在幾次投注之后,驗(yàn)證者的投注就會(huì)收斂;若是驗(yàn)證者在多輪投注中,投注目標(biāo)改變較大,驗(yàn)證者就會(huì)受到懲戒,以此來保證驗(yàn)證者下注收斂于一個(gè)結(jié)果。當(dāng)絕大多數(shù)驗(yàn)證者下注這個(gè)區(qū)塊時(shí),這一區(qū)塊會(huì)成為鏈中一部分,而不包含這個(gè)區(qū)塊的分叉會(huì)被排除, 在一定程度上提高了整個(gè)鏈的安全性。

  (2)共識(shí)流程

 ?、俟?jié)點(diǎn)通過 PoW 機(jī)制創(chuàng)建一個(gè)區(qū)塊;

  ②參與驗(yàn)證的節(jié)點(diǎn)繳納保證金,選取驗(yàn)證者;

 ?、垓?yàn)證區(qū)塊,驗(yàn)證者下注候選區(qū)塊;

  ④若候選區(qū)塊成功上鏈,驗(yàn)證者劃分獎(jiǎng)勵(lì)。Casper 協(xié)議工作流程如圖 4 所示。

  圖 4 Casper 協(xié)議工作流程

 ?。?)安全性分析

  如上文所述,Casper 投票機(jī)制的驗(yàn)證者都是公開可查的,同時(shí)該機(jī)制針對(duì)離線節(jié)點(diǎn)提出處罰機(jī)制,讓更多的節(jié)點(diǎn)保持在線,綜上得出, 此協(xié)議可以在一定程度上避免“長(zhǎng)程攻擊”。并且只要驗(yàn)證有 2/3 的投票權(quán)由誠(chéng)實(shí)節(jié)點(diǎn)控制, 整個(gè)協(xié)議就是安全的。Casper 在投票過程中的下注機(jī)制,可以保證更多的參與者遵守協(xié)議,解決“無利害攻擊”的問題。但是 Casper 運(yùn)行在PoW 機(jī)制上,該協(xié)議同樣無法逃避 51% 攻擊。

 ?。?)性能

  Casper 運(yùn)行在 PoW 機(jī)制上,雖然 PoW 機(jī)制保證 Casper 一定的安全性,但是 Casper 的性能是由 PoW 機(jī)制決定,所以該機(jī)制的交易確認(rèn)速度會(huì)低于上述的其他機(jī)制。

  2.5 LaKSA 協(xié)議

  LaKSA 是由 Reijsbergen 等人提出的新型PoS 協(xié)議,用以解決傳統(tǒng) PoS 機(jī)制中存在的激勵(lì)中心化、長(zhǎng)程攻擊以及無利害攻擊等問題, 并且避免了部分 PoS 協(xié)議中出現(xiàn)的委員會(huì)機(jī)制內(nèi)類 BFT 共識(shí)通信過于復(fù)雜的問題。

 ?。?)共識(shí)特點(diǎn)

  LaKSA 采用基于概率統(tǒng)計(jì)的區(qū)塊提交規(guī)則。節(jié)點(diǎn)在選擇區(qū)塊時(shí),分別計(jì)算各個(gè)區(qū)塊被撤回的概率,選擇提交區(qū)塊推翻概率低于閾值的區(qū)塊。在結(jié)構(gòu)方面,LaKSA 改進(jìn)了 GHOST* 協(xié)議,將系統(tǒng)從鏈型結(jié)構(gòu)拓展為圖結(jié)構(gòu)(樹式結(jié)構(gòu)),區(qū)塊可引用因爭(zhēng)奪記賬權(quán)失敗而出現(xiàn)分叉區(qū)塊,使得分叉中交易可被確認(rèn),有效提高交易吞吐量。

  (2)共識(shí)流程

  LaKSA 共識(shí)機(jī)制分為投票者選舉與領(lǐng)導(dǎo)者選舉兩個(gè)階段。

 ?、俑鶕?jù)投票者權(quán)益比例與該輪偽隨機(jī)信標(biāo)對(duì)所有權(quán)益進(jìn)行抽樣,得出該輪的投票者抽樣子集;

 ?、诠?jié)點(diǎn)分別檢查是否當(dāng)選為投票者,若是, 則計(jì)算可投票數(shù)并進(jìn)行投票;

 ?、弁镀闭吖?jié)點(diǎn)分別廣播投票結(jié)果,結(jié)束投票者選舉階段;

  ④根據(jù)領(lǐng)導(dǎo)者權(quán)益比例與該輪偽隨機(jī)信標(biāo)對(duì)所有權(quán)益進(jìn)行抽樣,得出該輪的領(lǐng)導(dǎo)者抽樣子集;

 ?、莨?jié)點(diǎn)分別檢查是否當(dāng)選為領(lǐng)導(dǎo)者,若是, 則構(gòu)建區(qū)塊;

 ?、揞I(lǐng)導(dǎo)者節(jié)點(diǎn)廣播區(qū)塊,結(jié)束領(lǐng)導(dǎo)者選舉階段,共識(shí)結(jié)束。

  LaKSA 協(xié)議工作流程如圖 5 所示。

  圖 5  LaKSA 協(xié)議工作流程

 ?。?)安全性分析

  通過采用概率性區(qū)塊選擇規(guī)則,LaKSA 實(shí)現(xiàn)了基于概率的安全性保障,且通過對(duì)可接受的區(qū)塊推翻概率的閾值進(jìn)行修改可以較好地抵抗長(zhǎng)程攻擊。此外,LaKSA 協(xié)議中的投票者選舉階段與領(lǐng)導(dǎo)者選舉階段可能遭受拒絕服務(wù)攻擊,可通過采用如 Dandelion 等技術(shù)對(duì)節(jié)點(diǎn)進(jìn)行保護(hù),防御拒絕服務(wù)攻擊。

  (4)性能

  得益于其基于概率的提交規(guī)則與樹形結(jié)構(gòu),LaKSA 具有較高的吞吐量。Reijsbergen 等人公布的測(cè)試結(jié)果表明,當(dāng)存在 100 個(gè)節(jié)點(diǎn)的模擬環(huán)境下,LaKSA 吞吐量最高為 1300 tx/s。

  各協(xié)議的結(jié)構(gòu)、交易確認(rèn)、敵手容量、交易確認(rèn)時(shí)間、交易速度、安全隱患和應(yīng)用如表2 所示。

  表 2   基于 PoS 機(jī)制的區(qū)塊鏈協(xié)議比較

  3

  權(quán)益證明機(jī)制的攻擊和應(yīng)對(duì)措施

  權(quán)益證明受到的安全威脅主要有無利害關(guān)系攻擊、研磨攻擊、長(zhǎng)程攻擊、變節(jié)攻擊和51% 攻擊等攻擊,下面對(duì)以上 5 種主要攻擊方式進(jìn)行闡述,并給出應(yīng)對(duì)措施。

  3.1 無利害關(guān)系攻擊

  無利害關(guān)系攻擊是 PoS 機(jī)制上較為常見的攻擊方式。正因?yàn)樵赑oS 機(jī)制中,生成新區(qū)塊所需要付出的代價(jià)很小,并且驗(yàn)證區(qū)塊還能獲得幣作為獎(jiǎng)勵(lì),所以部分驗(yàn)證者為了讓自己的利益最大化,會(huì)在不同的分鏈上去驗(yàn)證新的區(qū)塊,當(dāng)這些分鏈發(fā)布到網(wǎng)上,無論哪一條分鏈勝出,驗(yàn)證者都會(huì)獲得獎(jiǎng)勵(lì)。在此情況下,區(qū)塊鏈更容易產(chǎn)生分鏈,使得區(qū)塊鏈更容易受到雙花攻擊。

  為了應(yīng)對(duì)無利害關(guān)系攻擊,PoS 機(jī)制共識(shí)機(jī)制讓參與驗(yàn)證的節(jié)點(diǎn)向系統(tǒng)繳納押金,以此獲得驗(yàn)證權(quán)。當(dāng)系統(tǒng)檢測(cè)出驗(yàn)證人出現(xiàn)雙簽的情況時(shí),該驗(yàn)證人在系統(tǒng)中的押金就會(huì)被扣除, 并且押金數(shù)額會(huì)遠(yuǎn)高于獲得懲罰數(shù)額,同時(shí)撤銷該節(jié)點(diǎn)驗(yàn)證者的身份。

  3.2 研磨攻擊

  研磨攻擊主要發(fā)生在 PoS 機(jī)制選擇領(lǐng)導(dǎo)者的過程中。攻擊者通過攻擊領(lǐng)導(dǎo)者選舉函數(shù),影響函數(shù)中種子的隨機(jī)性,使領(lǐng)導(dǎo)者的選擇向著有利于敵手控制的節(jié)點(diǎn)方向發(fā)展,使這些節(jié)點(diǎn)有更高的概率被選為領(lǐng)導(dǎo)者,以此讓區(qū)塊鏈更有可能受到攻擊。針對(duì)這一攻擊,Kiayias 等人提出了委員會(huì)的概念,由委員會(huì)成員共同算出下一輪的種子, 以此保障領(lǐng)導(dǎo)選舉函數(shù)的隨機(jī)性。

  其中幣齡攻擊就是研磨攻擊的一種,幣齡這一概念是在 PPCoin 上提出來的,節(jié)點(diǎn)擁有越多的幣,并且擁有幣的時(shí)間越長(zhǎng),就越有可能被選為出塊者,所以攻擊者只需要不斷積累自己的幣齡,就越有可能在下一輪被選為出塊者, 也就是說節(jié)點(diǎn)會(huì)隨著時(shí)間的增長(zhǎng)被選為出塊者的概率就會(huì)越高,攻擊者會(huì)通過不斷積累時(shí)間的方式,來讓選中的概率提升。主要的解決方案是設(shè)置幣齡的最大上限或者幣齡不作為領(lǐng)導(dǎo)選舉函數(shù)的參數(shù),目前權(quán)益證明在很多情況下已經(jīng)去除了幣齡這一概念,從而解決了幣齡攻擊這一問題。

  3.3 長(zhǎng)程攻擊

  長(zhǎng)程攻擊是PoS 機(jī)制系統(tǒng)最大的威脅之一, 攻擊者創(chuàng)建一條從創(chuàng)世鏈開始的長(zhǎng)區(qū)塊鏈分叉, 以此替換合法主鏈。區(qū)塊鏈系統(tǒng)中最易受到長(zhǎng)程攻擊的是新加入節(jié)點(diǎn)和長(zhǎng)期離線節(jié)點(diǎn),這些節(jié)點(diǎn)具有弱主觀性,當(dāng)這類節(jié)點(diǎn)進(jìn)入網(wǎng)絡(luò)時(shí), 它們會(huì)接收到區(qū)塊鏈上所有公開分叉,并且不能分辨出哪些分叉屬于主鏈。

  相較于 PoS 機(jī)制,PoW 機(jī)制不易受到長(zhǎng)程攻擊,由于 PoW 機(jī)制受算力的影響很大,所以攻擊者想要?jiǎng)?chuàng)建一條非法的分支鏈來代替主鏈, 首先需要獲得50% 以上的算力來創(chuàng)建一條分鏈, 同時(shí)想要分鏈的長(zhǎng)度達(dá)到主鏈的長(zhǎng)度,需要大量的算力來作為支撐,這對(duì)攻擊者而言是得不償失的。PoS 機(jī)制中不依靠算力來創(chuàng)建新的區(qū)塊, 所以攻擊者創(chuàng)建新鏈的代價(jià)相對(duì)較小,PoS 機(jī)制也就更容易受到長(zhǎng)程攻擊的威脅。

  目前針對(duì)長(zhǎng)程攻擊的應(yīng)對(duì)措施主要為移動(dòng)檢查點(diǎn)、情境感知交易和經(jīng)濟(jì)懲罰。

  移動(dòng)檢查點(diǎn)是所有 PoS 機(jī)制協(xié)議中都會(huì)用到的保護(hù)措施。移動(dòng)檢查點(diǎn)的意義在于網(wǎng)絡(luò)中區(qū)塊鏈只有末端的圖片個(gè)區(qū)塊可以被重組,可能被重組的區(qū)塊數(shù)目 圖片 取決于協(xié)議實(shí)施的不同。正因?yàn)橐苿?dòng)檢查點(diǎn)規(guī)定了攻擊者的攻擊范圍,使攻擊者無法做到從創(chuàng)世區(qū)塊開始生成一條私鏈來代替主鏈。

  情境感知交易是在每個(gè)交易中加入上一個(gè)區(qū)塊的哈希值,因此,每一筆交易都與特定的區(qū)塊和分支聯(lián)系起來。通過情境感知交易,保存在當(dāng)前分支中的一個(gè)交易將不會(huì)被復(fù)制到其他分支中,也就是說,攻擊者無法將主鏈上的交易復(fù)制到這條私鏈上,所以攻擊者只能被迫創(chuàng)造一條完全不一樣的歷史交易數(shù)據(jù),這大大提高了攻擊的難度。

  在經(jīng)濟(jì)懲罰中,若驗(yàn)證者被檢測(cè)到存在不正當(dāng)?shù)男袨椋礊樵谙嗤膮^(qū)塊高度中該驗(yàn)證者驗(yàn)證了不同的區(qū)塊,則該驗(yàn)證者在網(wǎng)絡(luò)中存入的貨幣就會(huì)被扣除,并且有可能撤銷驗(yàn)證者的身份。當(dāng)然經(jīng)濟(jì)懲罰也存在一定的局限性, 若該驗(yàn)證者只參加了私鏈的驗(yàn)證,將無法查出其具備不當(dāng)行為,無法給予懲罰。

  3.4 變節(jié)攻擊

  變節(jié)攻擊是指攻擊者通過購(gòu)買、行賄或破解的方式獲得舊驗(yàn)證人私鑰,通過這些舊驗(yàn)證人私鑰去簽署以往區(qū)塊,以此來達(dá)到攻擊者快速完成較長(zhǎng)鏈的目的。

  要解決變節(jié)攻擊的問題,可以使用密鑰演進(jìn)加密技術(shù)(Key-Evolving Cryptography,KEC) 的方式動(dòng)態(tài)生成簽名私鑰,使攻擊者無法獲得有效私鑰。除此之外,密鑰演進(jìn)加密技術(shù)和前文中提到的移動(dòng)檢查點(diǎn)技術(shù)也可解決變節(jié)攻擊的問題。

  3.5 51% 攻擊

  當(dāng)攻擊者擁有網(wǎng)絡(luò)中大多數(shù)的權(quán)益時(shí),尤其是攻擊者的權(quán)益超過 51% 時(shí),攻擊節(jié)點(diǎn)被選為當(dāng)前這一時(shí)段領(lǐng)導(dǎo)者可能性的概率會(huì)很高, 并且該攻擊節(jié)點(diǎn)有被持續(xù)選為出塊者的可能, 創(chuàng)造一條私鏈代替原來的主鏈就變得很容易。由于 PoS 機(jī)制沒有算力成本,攻擊成本也相對(duì)較低,導(dǎo)致 PoS 機(jī)制共識(shí)機(jī)制會(huì)存在讓富者控制區(qū)塊鏈的風(fēng)險(xiǎn)。

  目前并沒有合適的方法去應(yīng)對(duì) 51% 攻擊,但是對(duì)于擁有 51% 權(quán)益的節(jié)點(diǎn)而言,攻擊系統(tǒng)有可能導(dǎo)致整個(gè)系統(tǒng)陷入風(fēng)險(xiǎn)中,因此影響到攻擊者自身的利益,所以于這樣的節(jié)點(diǎn)而言, 攻擊區(qū)塊鏈反而得不償失。

  4

  權(quán)益證明機(jī)制的發(fā)展和展望

  自權(quán)益證明機(jī)制被提出以來,因其具有較低能耗與較高性能的特點(diǎn),并且與現(xiàn)實(shí)中企業(yè)決策架構(gòu)較為類似,一直受到學(xué)界與業(yè)界的廣泛關(guān)注,出現(xiàn)了大量改進(jìn)方案,并持有一定的研究熱度。以下對(duì)權(quán)益證明機(jī)制的發(fā)展進(jìn)行總結(jié),并對(duì)權(quán)益證明機(jī)制的未來進(jìn)行展望。

  4.1 權(quán)益證明機(jī)制的發(fā)展

  為了解決工作量證明機(jī)制帶來的資源浪費(fèi)問題,同時(shí)滿足日益增長(zhǎng)的交易吞吐量需求,權(quán)益證明這一機(jī)制被提出。自 King 等人提出權(quán)益證明機(jī)制后,學(xué)界與業(yè)界涌現(xiàn)出大量的解決方案, 其中尤為出名的是 Casper FFG、Ouroboros以及Algorand 等協(xié)議,分別通過結(jié)合工作量證明、微型區(qū)塊以及委員會(huì)機(jī)制等方法在降低能耗的同時(shí)實(shí)現(xiàn)較高的交易吞吐量,一定程度上解決了傳統(tǒng)工作量證明中存在的問題,提高了區(qū)塊鏈系統(tǒng)性能。但是,權(quán)益證明機(jī)制存在受到無利害攻擊、長(zhǎng)程攻擊及研磨攻擊等安全威脅, 并且這一機(jī)制中的激勵(lì)模式仍存在鼓勵(lì)中心化的問題,可能出現(xiàn)誠(chéng)實(shí)節(jié)點(diǎn)收益低于惡意節(jié)點(diǎn)收益的情況??偠灾?,權(quán)益證明機(jī)制具有較低能耗與較高吞吐量等優(yōu)點(diǎn),部分解決了工作量證明機(jī)制中存在的問題,具有較為廣闊的發(fā)展前景。

  4.2 權(quán)益證明機(jī)制的展望

  權(quán)益證明共識(shí)機(jī)制作為接替工作量證明機(jī)制的主要共識(shí)機(jī)制之一,在實(shí)際應(yīng)用過程中依舊存在一些不足,未來對(duì)于權(quán)益證明共識(shí)機(jī)制的研究主要有以下幾個(gè)方面。

 ?。?)安全方面:目前 PoS 機(jī)制依舊面臨無利害攻擊、長(zhǎng)程攻擊及研磨攻擊等威脅,如何在不違背區(qū)塊鏈去中心化初衷的前提下,提出更為安全的權(quán)益證明共識(shí)機(jī)制方案是未來研究者探索的主要方向之一。

 ?。?)擴(kuò)容方面:采用 PoS 機(jī)制雖然可減少PoW 機(jī)制所需的大量計(jì)算資源,但由于 PoS 機(jī)制仍需通過投票等流程決定記賬權(quán),投票流程對(duì)吞吐量造成一定的影響。并且,在爭(zhēng)奪記賬權(quán)的過程中,容易造成部分交易未被包含在勝選者所打包的區(qū)塊中而被丟失,從而影響交易性能,在效率上仍然有待提高。對(duì)此,可采取優(yōu)化投票流程、將區(qū)塊鏈擴(kuò)展為樹結(jié)構(gòu)或圖結(jié)構(gòu)等方法進(jìn)行擴(kuò)容。

 ?。?)激勵(lì)方面:解決獎(jiǎng)勵(lì)收益過于集中化、領(lǐng)導(dǎo)者獲取絕大多數(shù)獎(jiǎng)勵(lì)的現(xiàn)狀,重新劃分獎(jiǎng)勵(lì)分配比例,制定合理的獎(jiǎng)勵(lì)和懲戒機(jī)制,讓作惡收益少于激勵(lì)收益,促使更多的用戶以誠(chéng)實(shí)的態(tài)度加入到共識(shí)機(jī)制的運(yùn)行中。

  5

  結(jié) 語

  權(quán)益證明機(jī)制是區(qū)塊鏈共識(shí)機(jī)制中重要的一員,具有效率較高與能源消耗較低等優(yōu)點(diǎn), 擁有廣泛的應(yīng)用前景。當(dāng)前,對(duì)權(quán)益證明機(jī)制的研究處于快速發(fā)展階段,學(xué)界與業(yè)界出現(xiàn)了大量改進(jìn)方案與應(yīng)用實(shí)例。本文通過對(duì)比工作量證明機(jī)制,細(xì)致分析權(quán)益證明機(jī)制的特點(diǎn)、模型、結(jié)構(gòu)、交易流程與安全性。并從安全、擴(kuò)容、激勵(lì)機(jī)制這三個(gè)方面,對(duì)權(quán)益證明機(jī)制未來發(fā)展提出了展望。




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。