亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種聯(lián)盟區(qū)塊鏈共識(shí)機(jī)制

        2022-07-20 05:57:04全立新
        宜賓學(xué)院學(xué)報(bào) 2022年6期
        關(guān)鍵詞:機(jī)制

        全立新

        (湖南財(cái)政經(jīng)濟(jì)學(xué)院信息技術(shù)與管理學(xué)院,湖南長(zhǎng)沙 410205)

        自2008 年比特幣[1]誕生以來(lái),區(qū)塊鏈正在形成席卷互聯(lián)網(wǎng)和傳統(tǒng)經(jīng)濟(jì)界的一股浪潮. 目前區(qū)塊鏈在重塑金融基礎(chǔ)設(shè)施、金融服務(wù)、產(chǎn)品溯源、政務(wù)民生、電子存證、數(shù)字身份、供應(yīng)鏈協(xié)同、物聯(lián)網(wǎng)、教育等多個(gè)領(lǐng)域都有應(yīng)用的開展和探索[2-3]. 從區(qū)塊鏈的類型來(lái)看,可分公有鏈、私有鏈和聯(lián)盟鏈三種類型[4],不同的類型應(yīng)用場(chǎng)景和采用的共識(shí)機(jī)制也會(huì)不同. 以比特幣、以太坊等成熟的公有鏈為例,這些系統(tǒng)的交易速率低、能耗高是它們的痛點(diǎn),且這些系統(tǒng)需要使用加密貨幣,不好監(jiān)管,不符合我國(guó)國(guó)情[5].而物流、物聯(lián)網(wǎng)等這類交易頻繁、要求交易手續(xù)低、系統(tǒng)運(yùn)行要求低能耗的應(yīng)用,目前還沒有較好的公有鏈解決方案或者是遇到項(xiàng)目實(shí)踐落地困難的瓶頸. 聯(lián)盟鏈由聯(lián)盟企業(yè)和注冊(cè)會(huì)員組成,訪問權(quán)限也僅限于聯(lián)盟企業(yè)和注冊(cè)的會(huì)員. 聯(lián)盟鏈從理論層面上希望解決公有鏈的痛點(diǎn)問題,但是目前還沒有行業(yè)標(biāo)準(zhǔn)和比較成熟的應(yīng)用. 本文致力于實(shí)現(xiàn)高頻交易、低廉手續(xù)費(fèi)、低能耗的聯(lián)盟鏈共識(shí)機(jī)制研究,以期為聯(lián)盟鏈的創(chuàng)新發(fā)展提供借鑒.

        1 相關(guān)工作

        1.1 區(qū)塊鏈技術(shù)

        區(qū)塊鏈技術(shù)是指通過去中心化的方式集體維護(hù)一個(gè)不可篡改的數(shù)據(jù)庫(kù)的技術(shù)方案. 該技術(shù)方案主要讓區(qū)塊通過密碼學(xué)方法相關(guān)聯(lián)起來(lái),每個(gè)區(qū)塊包含了一定時(shí)間內(nèi)的系統(tǒng)交易,并且生成數(shù)字簽名以驗(yàn)證信息的有效性并鏈接到前一個(gè)區(qū)塊形成一條主鏈.

        區(qū)塊鏈技術(shù)的核心是所有當(dāng)前參與的節(jié)點(diǎn)共同維護(hù)交易及數(shù)據(jù)庫(kù),即共識(shí)機(jī)制. 共識(shí)機(jī)制使交易基于密碼學(xué)原理而不是基于信任,使得任何達(dá)成一致的雙方能夠直接進(jìn)行交易,不需第三方的參與.

        從技術(shù)上來(lái)講,交易是一種數(shù)據(jù)結(jié)構(gòu),反映一筆交易的價(jià)值流向. 區(qū)塊是某段時(shí)間被認(rèn)證的交易的集合,通過梅克爾樹根對(duì)區(qū)塊內(nèi)交易進(jìn)行加密,通過對(duì)上一個(gè)區(qū)塊頭簽名形成關(guān)聯(lián),使系統(tǒng)中已經(jīng)達(dá)成交易的區(qū)塊連接在一起形成一條主鏈,所有參與計(jì)算的節(jié)點(diǎn)都記錄了主鏈或主鏈的一部分.

        1.2 聯(lián)盟鏈的共識(shí)協(xié)議研究

        共識(shí)協(xié)議作為區(qū)塊鏈的核心技術(shù),近年來(lái)得到學(xué)術(shù)界和產(chǎn)業(yè)界的廣泛重視[6],已成為國(guó)內(nèi)外區(qū)塊鏈的研究熱點(diǎn)之一[2,3,6,7].夏清等[6]提出將共識(shí)機(jī)制分為出塊節(jié)點(diǎn)的選舉和區(qū)塊鏈共識(shí)兩個(gè)階段,并針對(duì)每個(gè)階段對(duì)目前流行的協(xié)議進(jìn)行分析比較、總結(jié)共識(shí)機(jī)制的發(fā)展現(xiàn)狀和趨勢(shì),給出了未來(lái)的重要研究方向;劉懿中等[8]學(xué)者從系統(tǒng)模型、共識(shí)機(jī)制本質(zhì)、激勵(lì)設(shè)置和安全攻擊等視度對(duì)現(xiàn)有共識(shí)機(jī)制進(jìn)行分析,對(duì)于經(jīng)典分布式共識(shí)的一致性算法給出具體流程和優(yōu)缺點(diǎn)分析,對(duì)于區(qū)塊鏈共識(shí),根據(jù)應(yīng)用場(chǎng)景的不同將共識(shí)機(jī)制其分為授權(quán)和非授權(quán)兩類共識(shí)機(jī)制,指出共識(shí)機(jī)制在安全、擴(kuò)容、啟動(dòng)、激勵(lì)等層面的研究熱點(diǎn)和發(fā)展方向;冷基棟等[9]檢索WoS、中國(guó)知網(wǎng)等數(shù)字資源,梳理區(qū)塊鏈共識(shí)機(jī)制及其分類方法,總結(jié)拜占庭問題、布魯爾定理、拜占庭系統(tǒng)和拜占庭容錯(cuò)機(jī)制的內(nèi)在聯(lián)系,指出聯(lián)盟鏈共識(shí)機(jī)制的容錯(cuò)能力、通信時(shí)延、轉(zhuǎn)換效率等維度的改進(jìn)共識(shí)機(jī)制是聯(lián)盟鏈共識(shí)機(jī)制未來(lái)的研究方向.

        在聯(lián)盟區(qū)塊鏈應(yīng)用領(lǐng)域方面,文獻(xiàn)[10]首次將經(jīng)典拜占庭容錯(cuò)協(xié)議應(yīng)用到純異步聯(lián)盟鏈中. 所有節(jié)點(diǎn)收到交易密文集合后,通過對(duì)一組位向量達(dá)成共識(shí),當(dāng)交易大小為250字節(jié)、節(jié)點(diǎn)數(shù)量為104個(gè)時(shí),可以達(dá)到1 500 TPS 和時(shí)延小于6 min 的性能效果;文獻(xiàn)[11]在聯(lián)盟鏈系統(tǒng)中采用輪詢機(jī)制加經(jīng)典拜占庭容錯(cuò)算法對(duì)新區(qū)塊達(dá)成共識(shí),在網(wǎng)絡(luò)弱同步且誠(chéng)實(shí)節(jié)點(diǎn)至少達(dá)到2/3 票數(shù)的情況下可以滿足安全性和活性. 本文將結(jié)合要求交易頻率高、交易手續(xù)費(fèi)低的行業(yè)應(yīng)用的需求,提出一種無(wú)需挖礦、高吞吐量的共識(shí)機(jī)制,作為這類聯(lián)盟區(qū)塊鏈應(yīng)用的技術(shù)參考.

        2 聯(lián)盟區(qū)塊鏈通用架構(gòu)的設(shè)計(jì)

        2.1 基于聯(lián)盟鏈的應(yīng)用架構(gòu)設(shè)計(jì)理論

        從系統(tǒng)的角度來(lái)看,區(qū)塊鏈本質(zhì)上就是一個(gè)分布式系統(tǒng). 布魯爾定理[9]是分布式系統(tǒng)設(shè)計(jì)的重要理論之一,它將分布式系統(tǒng)的基本需求定義為一致性、可用性和分區(qū)容錯(cuò)性. 其中,一致性是指分布式系統(tǒng)中一個(gè)操作的結(jié)果在同一時(shí)刻各個(gè)節(jié)點(diǎn)上都是一致的;可用性是指在分布式系統(tǒng)中出現(xiàn)部分故障節(jié)點(diǎn)時(shí),系統(tǒng)在有限時(shí)間內(nèi)仍然具有處理請(qǐng)求的能力;分區(qū)容錯(cuò)性是指如果分布式系統(tǒng)允許數(shù)據(jù)分成不同的集群節(jié)點(diǎn)區(qū)域,其中一個(gè)區(qū)域出現(xiàn)故障,不會(huì)影響整個(gè)系統(tǒng)的運(yùn)作[9].

        本文在設(shè)計(jì)聯(lián)盟鏈架構(gòu)時(shí),考慮到時(shí)分區(qū)容錯(cuò)是無(wú)法避免的,底層網(wǎng)絡(luò)采用了P2P 網(wǎng)絡(luò),提高了節(jié)點(diǎn)間通信的魯棒性和系統(tǒng)的可用性. 對(duì)于系統(tǒng)一致性需求,比如出現(xiàn)消息丟失或延遲的情況,系統(tǒng)一致性得不到滿足,這正是本文要解決的問題之一.

        2.2 聯(lián)盟鏈的通用架構(gòu)

        聯(lián)盟鏈的通用架構(gòu)分為應(yīng)用層、擴(kuò)展層、網(wǎng)絡(luò)層和存儲(chǔ)層四層,如圖1所示.

        圖1 聯(lián)盟鏈通用架構(gòu)

        ⑴應(yīng)用層. 應(yīng)用層類似電腦中的各種應(yīng)用軟件,是注冊(cè)用戶、聯(lián)盟企業(yè)、各級(jí)行政管理部門、金融機(jī)構(gòu)、工商稅務(wù)等用戶可以直接使用的軟件產(chǎn)品.為了方便與集成相關(guān)組織、企業(yè)現(xiàn)有的管理信息系統(tǒng),在應(yīng)用層可以提供Web Services服務(wù)的接口[12].

        ⑵擴(kuò)展層. 擴(kuò)展層類似于電腦驅(qū)動(dòng)程序,是為了讓聯(lián)盟區(qū)塊鏈系統(tǒng)更加實(shí)用,主要包括交易、用戶信用畫像等類的智能合約;用戶管理類組件,比如用戶注冊(cè)、錢包等功能;管理部門監(jiān)管類組件;金融服務(wù)類組件;數(shù)據(jù)服務(wù)類組件等.

        ⑶網(wǎng)絡(luò)層. 網(wǎng)絡(luò)層類似于個(gè)人電腦的操作系統(tǒng)是整個(gè)聯(lián)盟區(qū)塊鏈核心,由一個(gè)聯(lián)盟主席節(jié)點(diǎn)和若干個(gè)委員會(huì)節(jié)點(diǎn)組成. 主席節(jié)點(diǎn)負(fù)責(zé)仲裁,委員會(huì)節(jié)點(diǎn)負(fù)責(zé)交易認(rèn)證和交易打包. 網(wǎng)絡(luò)層負(fù)責(zé)實(shí)施共識(shí)機(jī)制;維護(hù)P2P網(wǎng)絡(luò)節(jié)點(diǎn)和節(jié)點(diǎn)安全性.它僅僅提供各種API以供調(diào)用來(lái)實(shí)現(xiàn)聯(lián)盟區(qū)塊鏈項(xiàng)目的網(wǎng)絡(luò)編程、分布式算法、密碼學(xué)和數(shù)據(jù)存儲(chǔ)功能等最核心的功能.

        需要注意的是聯(lián)盟鏈企業(yè)戶要進(jìn)行實(shí)名認(rèn)證來(lái)證明身份. 這種認(rèn)證包括工商執(zhí)照、CA(Certificate Authority)機(jī)構(gòu)頒發(fā)的數(shù)字證書等.只有通過聯(lián)盟鏈認(rèn)證的企業(yè)才有可能成為聯(lián)盟鏈節(jié)點(diǎn).

        ⑷存儲(chǔ)層. 負(fù)責(zé)存儲(chǔ)聯(lián)盟鏈項(xiàng)目的區(qū)塊鏈.所有節(jié)點(diǎn)和用戶訪問區(qū)塊鏈數(shù)據(jù)都需要通過聯(lián)盟鏈官方的CA 認(rèn)證. 本文建議聯(lián)盟鏈項(xiàng)目可以采用雙鏈結(jié)構(gòu)[13]. 一條是交易區(qū)塊鏈用來(lái)存儲(chǔ)交易相關(guān)的數(shù)據(jù),另一條是信用畫像區(qū)塊鏈用來(lái)存儲(chǔ)聯(lián)盟企業(yè)和注冊(cè)用戶信用畫像相關(guān)數(shù)據(jù). 如果說(shuō)存儲(chǔ)交易區(qū)塊鏈?zhǔn)琼?xiàng)目的業(yè)務(wù)需要,它維護(hù)區(qū)塊鏈的一致性和合法性,那么,存儲(chǔ)信用畫像區(qū)塊鏈則是建立線上和線下信用生態(tài)圈的一項(xiàng)制度保障. 聯(lián)盟鏈中所有企業(yè)和用戶都是實(shí)名的,信用生態(tài)圈的建立有利于聯(lián)盟鏈的健康發(fā)展和系統(tǒng)安全.

        可以根據(jù)項(xiàng)目實(shí)際情況制定兩類區(qū)塊鏈的區(qū)塊生成周期.它們的區(qū)塊周期可以相同也可以不同.

        3 基于聯(lián)盟鏈的共識(shí)機(jī)制設(shè)計(jì)

        共識(shí)機(jī)制是區(qū)塊鏈技術(shù)的核心,從技術(shù)角度來(lái)看,共識(shí)機(jī)制要解決兩個(gè)核心問題,即記賬節(jié)點(diǎn)的選舉和新區(qū)塊如何達(dá)成共識(shí). 本節(jié)將從出塊節(jié)點(diǎn)的選舉、區(qū)塊隨機(jī)數(shù)和主鏈共識(shí)三個(gè)方面闡述.

        3.1 出塊節(jié)點(diǎn)選舉算法

        聯(lián)盟鏈上節(jié)點(diǎn)都是通過CA 認(rèn)證才能加入的節(jié)點(diǎn),所有節(jié)點(diǎn)的身份對(duì)全網(wǎng)來(lái)說(shuō)是已知的,為了節(jié)約能源,沒有必要通過算力競(jìng)爭(zhēng)獲得記賬權(quán). 下面給出一種出塊節(jié)點(diǎn)的選舉算法.

        本文設(shè)想通過節(jié)點(diǎn)的算力大小、服務(wù)質(zhì)量等特征值為參考值,通過全網(wǎng)投票產(chǎn)生N個(gè)委員會(huì)節(jié)點(diǎn). 并約定只有委員會(huì)節(jié)點(diǎn)才能充當(dāng)區(qū)塊出塊節(jié)點(diǎn)也稱為當(dāng)值節(jié)點(diǎn),負(fù)責(zé)在某個(gè)時(shí)間間隔生成區(qū)塊.當(dāng)最新區(qū)塊全網(wǎng)共識(shí)結(jié)束,新的出塊節(jié)點(diǎn)選舉開始,算法如圖2所示.

        圖2 當(dāng)值節(jié)點(diǎn)選舉算法

        由圖2 知:算法以網(wǎng)絡(luò)時(shí)間作為隨機(jī)種子,首先按1+mod(rand(),N)的公式計(jì)算選擇本次出塊節(jié)點(diǎn)的編號(hào),公式中N表示委員會(huì)節(jié)點(diǎn)數(shù)(注:所有委員會(huì)節(jié)點(diǎn)按注冊(cè)先后次序從1編號(hào)到N),然后,判斷新當(dāng)值節(jié)點(diǎn)是否連續(xù)當(dāng)值,如果連續(xù)當(dāng)值就回到上一步,否則,選出了新的當(dāng)值節(jié)點(diǎn),本次選舉結(jié)束.

        采用這種函數(shù)生成隨機(jī)數(shù)的選舉方式,節(jié)省了選舉時(shí)間和各節(jié)點(diǎn)算力,為縮短區(qū)塊周期提高交易吞吐量提供了算法理論保障. 出塊節(jié)點(diǎn)的選舉除了選舉效率外,選舉結(jié)果的公平性也非常重要. 這里的公平性體現(xiàn)在各委員會(huì)節(jié)點(diǎn)在一段時(shí)間內(nèi)當(dāng)值次數(shù)基本相同和當(dāng)值順序節(jié)點(diǎn)間沒有相關(guān)性. 下節(jié)將通過實(shí)驗(yàn)來(lái)證明選舉算法的公平性.

        3.2 區(qū)塊頭的隨機(jī)數(shù)生成算法

        區(qū)塊頭的隨機(jī)數(shù)是節(jié)點(diǎn)驗(yàn)證最新區(qū)塊的重要數(shù)據(jù)字段. 當(dāng)所有委員會(huì)節(jié)點(diǎn)接收到新區(qū)塊以后,通過用本地區(qū)塊鏈數(shù)據(jù)檢驗(yàn)隨機(jī)數(shù)即可得出新區(qū)塊是否按共識(shí)機(jī)制產(chǎn)生的區(qū)塊,是另一種工作量證明.本文擬定的區(qū)塊頭核心部分結(jié)構(gòu)為:區(qū)塊頭={上一個(gè)區(qū)塊哈希,梅克爾根,隨機(jī)數(shù),出塊節(jié)點(diǎn),時(shí)間戳}.新區(qū)塊的隨機(jī)數(shù)由出塊節(jié)點(diǎn)與最近N個(gè)區(qū)塊進(jìn)行N次哈希計(jì)算得到,N為委員會(huì)節(jié)點(diǎn)數(shù).這樣設(shè)計(jì)的目的是要用最近N個(gè)已取得共識(shí)的區(qū)塊作為新區(qū)塊的前向證明[14].具體算法流程如下:

        ⑴出塊節(jié)點(diǎn)獲得本地最近區(qū)塊的高度H.

        ⑵根據(jù)H來(lái)確定哈希計(jì)算次數(shù)K. 如果H<N(即還沒有生成N 個(gè)區(qū)塊的情況),K=實(shí)際區(qū)塊數(shù),否則K=N.

        ⑶計(jì)算p=hash32(當(dāng)值節(jié)點(diǎn)公鑰),即計(jì)算隨機(jī)數(shù)p的初始值.

        ⑷p=hash(block[head-i]+p),即依次把最近區(qū)塊的區(qū)塊頭與p進(jìn)行哈希迭代K次,i的初始為0.

        ⑸輸出p,隨機(jī)數(shù)生成完畢.

        p是一個(gè)真正的隨機(jī)數(shù)沒有重復(fù),不能提前生成可作為出塊節(jié)點(diǎn)的“工作量證明”.

        3.3 主鏈共識(shí)算法

        主鏈共識(shí)是指出塊節(jié)點(diǎn)產(chǎn)生的新區(qū)塊如何取得全網(wǎng)認(rèn)可. 通過3.2 節(jié)知,理論上出塊節(jié)點(diǎn)生成的新區(qū)塊一定是鏈接在最近的一個(gè)區(qū)塊的,但是不排隊(duì)委員會(huì)節(jié)點(diǎn)中拜占庭節(jié)點(diǎn)產(chǎn)生的區(qū)塊鏈接到非最近區(qū)塊,這樣出現(xiàn)區(qū)塊鏈分叉. 如何保證主鏈不分叉是主鏈共識(shí)的主要內(nèi)容.

        主鏈共識(shí)有弱共識(shí)和強(qiáng)共識(shí)兩類[3]. 像比特幣、以太坊采用弱共識(shí),共識(shí)效率低,即交易確認(rèn)需要的時(shí)間長(zhǎng),交易吐吞量小,區(qū)塊鏈容易產(chǎn)生分叉,理論上不適合交易數(shù)量大和交易頻繁的應(yīng)用. 聯(lián)盟區(qū)塊鏈具有出塊節(jié)點(diǎn)固定且節(jié)點(diǎn)規(guī)模不大的特點(diǎn),故本文采用強(qiáng)共識(shí)來(lái)克服弱共識(shí)的不足,采用“全有全無(wú)”的共識(shí)原則.

        在主鏈共識(shí)開始時(shí),聯(lián)盟主席節(jié)點(diǎn)需要確認(rèn)所有的委員會(huì)節(jié)點(diǎn)在線,如果有節(jié)點(diǎn)不在線將采取“熔斷”機(jī)制,系統(tǒng)停止交易打包進(jìn)區(qū)塊. 這里犧牲可用性來(lái)保證安全性. 聯(lián)盟會(huì)調(diào)查節(jié)點(diǎn)不在線原因,將按照聯(lián)盟章程處理. 下面給出一種改進(jìn)的PBFT 強(qiáng)共識(shí)算法,共識(shí)過程分歸約階段和認(rèn)可階段,算法如圖3所示.

        (I)歸約階段:是在所有委員會(huì)節(jié)點(diǎn)對(duì)各自本地區(qū)塊鏈的高度和最近區(qū)塊達(dá)成一致共識(shí)的過程.

        為了提高歸約效率,考慮到主鏈上區(qū)塊將會(huì)有很多,系統(tǒng)固定周期向區(qū)塊鏈中插入檢查點(diǎn),每次區(qū)塊高度歸約都是從最近檢查點(diǎn)開始,如果主鏈上還沒有檢查點(diǎn),則從創(chuàng)世區(qū)塊開始.由圖3知:

        圖3 改進(jìn)的PBFT算法

        ⑴當(dāng)值節(jié)點(diǎn)以最后一個(gè)檢查點(diǎn)為標(biāo)準(zhǔn),計(jì)算本地最近區(qū)塊的高度H.

        ⑵當(dāng)值節(jié)點(diǎn)發(fā)起H提議投票并廣播所有委員會(huì)節(jié)點(diǎn).

        ⑶如果某節(jié)點(diǎn)的本地最近區(qū)塊高度與提議的H不同,則投反對(duì)票并廣播.

        ⑷當(dāng)值節(jié)點(diǎn)如果收到反對(duì)票,請(qǐng)聯(lián)盟主席節(jié)點(diǎn)仲裁. 聯(lián)盟主席節(jié)點(diǎn)以半數(shù)以上節(jié)點(diǎn)的H 為仲裁結(jié)果,凡是不是這個(gè)H值的節(jié)點(diǎn)同步本地區(qū)塊鏈,然后重新第1步.

        ⑸當(dāng)值節(jié)點(diǎn)廣播本地最近的區(qū)塊哈希,發(fā)起最近區(qū)塊投票.

        ⑹其他節(jié)點(diǎn)哈希各自本地最近區(qū)塊并與提議區(qū)塊的哈希對(duì)比,如果不同投反對(duì)票并廣播.

        ⑺當(dāng)值節(jié)點(diǎn)如果收到反對(duì)票,請(qǐng)聯(lián)盟主席節(jié)點(diǎn)仲裁. 聯(lián)盟主席節(jié)點(diǎn)以半數(shù)以上節(jié)點(diǎn)的最近區(qū)塊為最近區(qū)塊仲裁結(jié)果,凡是最近區(qū)塊不是仲裁區(qū)塊的節(jié)點(diǎn)同步本地區(qū)塊鏈,然后重新第1步.

        ⑻聯(lián)盟主席節(jié)點(diǎn)監(jiān)測(cè)到兩次投票沒有反對(duì)票,通過各節(jié)點(diǎn)準(zhǔn)備進(jìn)行認(rèn)可階段,歸約階段結(jié)束.

        (II)認(rèn)可階段:是對(duì)最新區(qū)塊二進(jìn)制認(rèn)可. 由圖3知:

        ⑴只有當(dāng)值節(jié)點(diǎn)收到本次歸約結(jié)束通知后,開始廣播最新區(qū)塊給其他委員會(huì)節(jié)點(diǎn).

        ⑵各委員會(huì)節(jié)點(diǎn)利用本地主鏈數(shù)據(jù)驗(yàn)證當(dāng)值節(jié)點(diǎn)發(fā)來(lái)的隨機(jī)數(shù),如果與本地計(jì)算結(jié)果不同,則投反對(duì)票并廣播結(jié)果.

        ⑶各委員會(huì)節(jié)點(diǎn)檢查收到的最新區(qū)塊梅克爾根、出塊節(jié)點(diǎn)公鑰、時(shí)間戳等區(qū)塊頭字段是否正確,只要有其中一項(xiàng)不正確將投反對(duì)票且說(shuō)明原因并廣播.

        ⑷如果各節(jié)點(diǎn)統(tǒng)計(jì)發(fā)現(xiàn)沒有反對(duì)票,則把收到的最新區(qū)塊存儲(chǔ)到本地區(qū)塊鏈中.

        ⑸如果各節(jié)點(diǎn)統(tǒng)計(jì)發(fā)現(xiàn)有反對(duì)票,則存儲(chǔ)一個(gè)空區(qū)塊(只有區(qū)塊頭沒有區(qū)塊體的區(qū)塊)存儲(chǔ)到本地區(qū)塊鏈中.本次主鏈共識(shí)結(jié)束.

        如果本次共識(shí)不成功,聯(lián)盟主席節(jié)點(diǎn)將啟動(dòng)問責(zé)制,將審計(jì)認(rèn)可階段不成功原因. 如果被系統(tǒng)認(rèn)定為拜占庭節(jié)點(diǎn)將強(qiáng)行取消該節(jié)點(diǎn)為委員會(huì)節(jié)點(diǎn)的角色(注:創(chuàng)世區(qū)塊在系統(tǒng)中正式啟動(dòng)后由系統(tǒng)自動(dòng)產(chǎn)生,不需要共識(shí). 新加入的委員會(huì)節(jié)點(diǎn)在初始化時(shí)會(huì)自動(dòng)拷貝創(chuàng)世區(qū)塊).

        4 實(shí)驗(yàn)與分析

        4.1 共識(shí)機(jī)制安全性分析

        區(qū)塊鏈共識(shí)協(xié)議的安全性一般圍繞持久性和活性進(jìn)行[3]. 從持久性和活性兩方面對(duì)本文提出的共識(shí)協(xié)議進(jìn)行安全性分析.

        ⑴持久性. 根據(jù)3.3 節(jié)主鏈共識(shí)算法知,主鏈在取得強(qiáng)共識(shí)之前需要進(jìn)行歸約處理,使得每個(gè)委員會(huì)節(jié)點(diǎn)所存儲(chǔ)的區(qū)塊鏈高度一致,即某區(qū)塊在節(jié)點(diǎn)本地區(qū)塊鏈中擁有H個(gè)區(qū)塊的高度,該區(qū)塊在其他節(jié)點(diǎn)的本地區(qū)塊鏈中也擁有H個(gè)區(qū)塊的高度. 由于網(wǎng)絡(luò)傳播延時(shí)的原因可能造成各個(gè)委員會(huì)節(jié)點(diǎn)區(qū)塊高度暫時(shí)不一致,但通過多個(gè)多輪歸約后,最近區(qū)塊在各個(gè)委員會(huì)節(jié)點(diǎn)的主鏈上已會(huì)保持相同,說(shuō)明通過主鏈共識(shí)算法可以保證區(qū)塊鏈數(shù)據(jù)的一致性.

        ⑵活性. 活性指非拜占庭節(jié)點(diǎn)發(fā)起的交易最終被打包進(jìn)區(qū)塊鏈中并滿足持久性[3]. 現(xiàn)在的共識(shí)機(jī)制不一定都會(huì)滿足活性要求,比如,比特幣網(wǎng)絡(luò)因交易吞吐量和交易手續(xù)費(fèi)等原因,也造成很多交易被積壓. 這些被積壓的交易有一部分是因吞吐量造成的,但是還有一部分是因?yàn)榈V工認(rèn)為交易手續(xù)費(fèi)出價(jià)低的原因造成的. 礦工更愿意先打包手續(xù)費(fèi)出價(jià)高的交易,這樣就有可能造成有些交易“活鎖”,永遠(yuǎn)不能打包進(jìn)區(qū)塊進(jìn)行交易確認(rèn),即沒有滿足活性的要求.

        在本文的共識(shí)機(jī)制中沒有“挖礦”環(huán)節(jié),即委員會(huì)節(jié)點(diǎn)不需要消耗大量算力獲得記賬權(quán),各節(jié)點(diǎn)沒有很大利益競(jìng)爭(zhēng)關(guān)系,故設(shè)定交易確認(rèn)順序的規(guī)則是“先提交先確認(rèn)”.本文共識(shí)機(jī)制的具體做法是:用戶提交某委員會(huì)節(jié)點(diǎn)上的交易通過驗(yàn)證后進(jìn)入本地交易緩沖池,該節(jié)點(diǎn)當(dāng)值在生成新區(qū)塊時(shí)按“先進(jìn)先出”原則打包緩沖池交易. 系統(tǒng)可以平衡各節(jié)點(diǎn)緩沖池交易的數(shù)量,同時(shí),當(dāng)某節(jié)點(diǎn)被取消委員會(huì)節(jié)點(diǎn)資格之前,系統(tǒng)自動(dòng)轉(zhuǎn)發(fā)該節(jié)點(diǎn)緩沖池的交易給其他委員會(huì)節(jié)點(diǎn). 通過這樣的規(guī)則約束就可以保證所有滿足要求的交易最終都會(huì)打包進(jìn)區(qū)塊得到確認(rèn).也就是說(shuō)明了本文共識(shí)機(jī)制是滿足活性的要求.

        從網(wǎng)絡(luò)安全來(lái)看,出塊節(jié)點(diǎn)是通過隨機(jī)函數(shù)產(chǎn)生,網(wǎng)絡(luò)不可能出現(xiàn)“雙花”攻擊;各節(jié)點(diǎn)都必須通過CA 認(rèn)證才能進(jìn)網(wǎng),不可能出現(xiàn)“女巫”攻擊;各委員會(huì)節(jié)點(diǎn)在一段時(shí)間內(nèi)當(dāng)值次數(shù)大致相同,理論上講不會(huì)出現(xiàn)“自私挖礦”和“長(zhǎng)程”攻擊的可能.

        綜上所述,本文提出的共識(shí)機(jī)制是安全的.

        4.2 出塊節(jié)點(diǎn)選舉的公平性

        出塊節(jié)點(diǎn)選舉的公平性主要包括兩方面:一是所有委員會(huì)節(jié)點(diǎn)在一段時(shí)間內(nèi)當(dāng)值的次數(shù)大致相同,最大當(dāng)值次數(shù)誤差率在工程上可以容忍;二是各節(jié)點(diǎn)當(dāng)值順序無(wú)函數(shù)相關(guān)性. 對(duì)于第二方面,每次選舉時(shí)都用網(wǎng)絡(luò)時(shí)間作為隨機(jī)種子,故選舉的節(jié)點(diǎn)編號(hào)大概率無(wú)函數(shù)相關(guān)性.下面驗(yàn)證第一方面.

        3.1 節(jié)出塊節(jié)點(diǎn)選舉算法用C 語(yǔ)言編寫進(jìn)行模擬實(shí)驗(yàn). 圖4 是節(jié)點(diǎn)數(shù)為100 個(gè),選舉10 000 次,各個(gè)節(jié)點(diǎn)當(dāng)選次數(shù)的統(tǒng)計(jì)圖. 圖中橫坐標(biāo)為節(jié)點(diǎn)編號(hào),縱坐標(biāo)為當(dāng)選次數(shù). 由圖4 知,所有節(jié)點(diǎn)當(dāng)選次數(shù)的散點(diǎn)的趨勢(shì)線近似為y=100. 最大次數(shù)誤差為6 次,最大誤差率為6%,這個(gè)誤差在工程上可以容忍.從R2來(lái)看,各節(jié)點(diǎn)當(dāng)選次數(shù)互不相關(guān),近似等概率事件. 受篇幅限制,另有三種情況的當(dāng)選次數(shù)統(tǒng)計(jì)圖沒有羅列,其相關(guān)數(shù)據(jù)統(tǒng)計(jì)結(jié)果見表1.

        圖4 各節(jié)點(diǎn)當(dāng)選次數(shù)的統(tǒng)計(jì)圖

        表1 四種情況節(jié)點(diǎn)選舉相關(guān)數(shù)據(jù)統(tǒng)計(jì)表

        由表1 知,各個(gè)節(jié)點(diǎn)間的當(dāng)選次數(shù)互不相關(guān),最大誤差率在工程上可以容忍,各節(jié)點(diǎn)當(dāng)選次數(shù)近似為等概率事件,即一段時(shí)間內(nèi)所有節(jié)點(diǎn)當(dāng)選次數(shù)大致相當(dāng).另外,最大當(dāng)選誤差次數(shù)與節(jié)點(diǎn)總數(shù)無(wú)關(guān).

        4.3 性能測(cè)試

        在性能方面,采用Node.js (v5.4.0)平臺(tái)[15],引入Express 框架;操作系統(tǒng)是Ubuntu (v0.29.0);本機(jī)處理器是Intel(R) Core(TM) i7-9750H CPU @2.60 GHz,內(nèi)存32 GB;模擬網(wǎng)絡(luò)規(guī)模為10 個(gè)節(jié)點(diǎn);一個(gè)區(qū)塊中只包含16個(gè)交易;每個(gè)交易固定為240字節(jié);區(qū)塊周期為1分鐘,對(duì)320個(gè)交易打包生成區(qū)塊和主鏈共識(shí)進(jìn)行測(cè)試.

        實(shí)驗(yàn)結(jié)果表明,在沒有出現(xiàn)故障節(jié)點(diǎn)的情況下,當(dāng)區(qū)塊周期為1分鐘、網(wǎng)絡(luò)規(guī)模10個(gè)委員會(huì)節(jié)點(diǎn)時(shí),通過20 次出塊節(jié)點(diǎn)的選舉和主鏈共識(shí),平均消耗時(shí)間34.8 s. 說(shuō)明本文的共設(shè)機(jī)制可以在1 分鐘完成區(qū)塊共識(shí). 當(dāng)然,這個(gè)測(cè)試數(shù)據(jù)只是在虛擬環(huán)境下比較理想狀態(tài)下的結(jié)果,肯定與真實(shí)環(huán)境可能還有一點(diǎn)差異.

        5 結(jié)語(yǔ)

        本文提出的基于聯(lián)盟區(qū)塊鏈的共識(shí)機(jī)制在一定程序可以滿足當(dāng)前我國(guó)區(qū)塊鏈應(yīng)用的需要. 從系統(tǒng)架構(gòu)來(lái)看,它是一個(gè)可監(jiān)管、可控制且數(shù)據(jù)掌握在聯(lián)盟委員會(huì)節(jié)點(diǎn)之中,這樣的系統(tǒng)踐行了國(guó)家信息化建設(shè)指導(dǎo)綱領(lǐng)文件精神;從共識(shí)過程來(lái)看,沒有“挖礦”過程,可以不發(fā)行加密貨幣進(jìn)行系統(tǒng)運(yùn)行. 加密貨幣在區(qū)域鏈系統(tǒng)中起到重要的價(jià)值替代作用,但是,“空氣幣”成為新的網(wǎng)絡(luò)詐騙新型手段,讓部分用戶質(zhì)疑了區(qū)塊鏈應(yīng)用. 共識(shí)機(jī)制可以回避這個(gè)質(zhì)疑. 從共識(shí)機(jī)制的安全性來(lái)看,通過實(shí)驗(yàn)與分析知,共識(shí)機(jī)制滿足安全性要求,可以防止諸如“雙花”“女巫”“自私挖礦”和“長(zhǎng)程”等多種網(wǎng)絡(luò)攻擊;從共識(shí)效率來(lái)看,出塊節(jié)點(diǎn)的函數(shù)式選舉是公平的,選舉過程很快,實(shí)驗(yàn)數(shù)據(jù)說(shuō)明主鏈共識(shí)也比較快,這樣整體上可以降低系統(tǒng)運(yùn)行能耗,在理論上為網(wǎng)絡(luò)交易低手續(xù)費(fèi)打下堅(jiān)實(shí)基礎(chǔ).

        由于實(shí)際系統(tǒng)的復(fù)雜性,理論上的描述和有限的實(shí)驗(yàn)?zāi)M與實(shí)際會(huì)有一定距離,會(huì)遇到諸如管理部門與社會(huì)的認(rèn)可、配合以及交易峰值速率等問題和挑戰(zhàn),需要對(duì)區(qū)塊鏈技術(shù)不斷完善. 基于聯(lián)盟區(qū)塊鏈共識(shí)機(jī)制的項(xiàng)目落地實(shí)踐是以后研究方向.

        猜你喜歡
        機(jī)制
        構(gòu)建“不敢腐、不能腐、不想腐”機(jī)制的思考
        自制力是一種很好的篩選機(jī)制
        文苑(2018年21期)2018-11-09 01:23:06
        “三項(xiàng)機(jī)制”為追趕超越蓄力
        丹鳳“四個(gè)強(qiáng)化”從嚴(yán)落實(shí)“三項(xiàng)機(jī)制”
        保留和突破:TPP協(xié)定ISDS機(jī)制中的平衡
        定向培養(yǎng) 還需完善安置機(jī)制
        破除舊機(jī)制要分步推進(jìn)
        氫氣對(duì)缺血再灌注損傷保護(hù)的可能機(jī)制
        注重機(jī)制的相互配合
        打基礎(chǔ) 抓機(jī)制 顯成效
        亚洲精品第一页在线观看| 国产精品黄网站免费观看| 久久久久亚洲AV成人网毛片 | 国产精品亚洲婷婷99久久精品 | 国产精品久久一区二区三区| 亚洲国产精品嫩草影院久久| 日韩在线精品视频免费| 美利坚日韩av手机在线| 亚洲av无码国产精品色软件下戴| 欧美成人三级网站在线观看| 性色av手机在线观看| 亚洲女优中文字幕在线观看| 女人被狂c躁到高潮视频| 狠狠狠色丁香婷婷综合激情| 亚洲精品精品日本日本| 国产一区二区三区四色av| 漂亮人妻被中出中文字幕久久| 中文字幕少妇AV| 亚洲中文字幕国产剧情| 九九影院理论片私人影院| 成人网站免费大全日韩国产| 国产亚洲精品综合在线网址| 日本一区二区在线播放视频| 影视av久久久噜噜噜噜噜三级| 玖玖资源站无码专区| 国产精品性一区二区三区| 国内自拍色第一页第二页 | 超薄肉色丝袜一区二区| 国产成人自拍视频在线免费| 在线观看国产视频你懂得| 久久超碰97人人做人人爱| 久久91综合国产91久久精品| 国产av自拍在线观看| 国产精品 无码专区| 国产mv在线天堂mv免费观看| 久久免费网站91色网站| 国产精品一区二区三区在线蜜桃| 国产suv精品一区二区6| 波多野结衣一区二区三区免费视频| 一区视频免费观看播放| 国产日产欧产精品精品|