999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

授權(quán)股份證明共識(shí)機(jī)制的改進(jìn)方案

2020-10-10 00:59:58付瑤瑤李盛恩
關(guān)鍵詞:機(jī)制

付瑤瑤,李盛恩

山東建筑大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,濟(jì)南250100

1 引言

區(qū)塊鏈因比特幣[1]而生,最初作為比特幣的底層技術(shù)解決比特幣系統(tǒng)中各方之間的信任問題。區(qū)塊鏈的本質(zhì)就是一種分布式數(shù)據(jù)庫(kù),具有去中心化、不可篡改、可追溯和集體維護(hù)的特點(diǎn)[2]。作為數(shù)字加密貨幣領(lǐng)域的核心支撐技術(shù),區(qū)塊鏈通過集成P2P協(xié)議、非對(duì)稱加密、共識(shí)機(jī)制、塊鏈結(jié)構(gòu)等多種技術(shù),解決了數(shù)據(jù)的可信問題。通過應(yīng)用區(qū)塊鏈技術(shù),可以在互不信任的多方間無(wú)需任何第三方機(jī)構(gòu)實(shí)現(xiàn)可信、對(duì)等的價(jià)值傳輸[3]。區(qū)塊鏈技術(shù)作為一種普適性的底層框架,其應(yīng)用范圍已經(jīng)超出了數(shù)字貨幣領(lǐng)域的范疇。在醫(yī)療領(lǐng)域,文獻(xiàn)[4-6]針對(duì)醫(yī)療數(shù)據(jù)容易發(fā)生隱私泄露及不同醫(yī)療機(jī)構(gòu)間共享醫(yī)療數(shù)據(jù)困難的問題,提出利用區(qū)塊鏈技術(shù)實(shí)現(xiàn)了醫(yī)療數(shù)據(jù)的安全存儲(chǔ)與共享。在數(shù)據(jù)溯源方面,Liang等人[7]將用戶對(duì)數(shù)據(jù)的操作轉(zhuǎn)化成一定格式的源數(shù)據(jù),將這些源數(shù)據(jù)存儲(chǔ)在區(qū)塊的交易字段中實(shí)現(xiàn)日志的功能。分布式數(shù)據(jù)庫(kù)中首先面臨的就是如何解決數(shù)據(jù)的分布式一致性問題[8]。區(qū)塊鏈的共識(shí)層中封裝了共識(shí)算法,共識(shí)算法作為區(qū)塊鏈的工作引擎,能夠使系統(tǒng)中的各參與方在沒有中心機(jī)構(gòu)的控制下進(jìn)行大規(guī)模的協(xié)同工作,實(shí)現(xiàn)數(shù)據(jù)的分布式一致性[9]。傳統(tǒng)的分布式數(shù)據(jù)只需支持崩潰容錯(cuò),而區(qū)塊鏈系統(tǒng)具有去中心化的特點(diǎn),部分節(jié)點(diǎn)可能并不可信,所以算法需要支持更為復(fù)雜的拜占庭容錯(cuò)[10]。隨著區(qū)塊鏈技術(shù)在不同領(lǐng)域的應(yīng)用,共識(shí)機(jī)制的研究也成為分布式系統(tǒng)中的一個(gè)研究熱點(diǎn),相繼出現(xiàn)了多種主流共識(shí)機(jī)制。

2 相關(guān)研究

工作量證明(Proof of Work,PoW)機(jī)制[11]源于Dwork等人對(duì)防范垃圾郵件問題進(jìn)行的研究,比特幣采用PoW 機(jī)制解決了系統(tǒng)中存在女巫攻擊問題[12]。PoW要求礦工貢獻(xiàn)計(jì)算資源求解工作量證明問題(俗稱“挖礦”),最先挖礦成功的礦工將會(huì)獲得區(qū)塊記賬權(quán)及系統(tǒng)發(fā)放的比特幣獎(jiǎng)勵(lì)。這種機(jī)制的特點(diǎn)是利用節(jié)點(diǎn)算力保證系統(tǒng)安全,并能夠有效避免區(qū)塊鏈分叉問題。但PoW過程會(huì)使部分礦工大量浪費(fèi)算力,并且一些算力低的節(jié)點(diǎn)會(huì)將彼此的算力聯(lián)合組成礦池,礦池算力的擴(kuò)張也會(huì)導(dǎo)致系統(tǒng)中算力中心化的現(xiàn)象。2012 年,King 等人[13]在點(diǎn)點(diǎn)幣中首次實(shí)現(xiàn)權(quán)益證明(Proof of Stake,PoS)機(jī)制。PoS 中的節(jié)點(diǎn)把持有貨幣的數(shù)量和天數(shù)作為權(quán)益(幣齡)競(jìng)爭(zhēng)區(qū)塊記賬權(quán),權(quán)益越大越容易獲得記賬權(quán),一定程度上縮短了共識(shí)達(dá)成的時(shí)間,提高了共識(shí)效率。但是隨著幣齡的累計(jì),系統(tǒng)長(zhǎng)期運(yùn)行PoS機(jī)制可能導(dǎo)致權(quán)益集中化的現(xiàn)象[14]。比特股(Bitshares)項(xiàng)目采用了股份授權(quán)證明(Delegated Proof of Stake,DPoS)機(jī)制,在這種機(jī)制中,每個(gè)擁有權(quán)益的節(jié)點(diǎn)都作為一個(gè)股東節(jié)點(diǎn)具有投票的權(quán)利,每個(gè)股東節(jié)點(diǎn)將票投給自己認(rèn)為可信的節(jié)點(diǎn),得票數(shù)最多且愿意成為代表的前N個(gè)節(jié)點(diǎn)進(jìn)入“董事會(huì)”成為授權(quán)代表節(jié)點(diǎn),代表節(jié)點(diǎn)的職責(zé)是生產(chǎn)區(qū)塊并進(jìn)行區(qū)塊的驗(yàn)證。節(jié)點(diǎn)進(jìn)入“董事會(huì)”之前必須先交納一定數(shù)量的保證金,每一輪選舉結(jié)束之后,這N 個(gè)代表節(jié)點(diǎn)會(huì)輪流生產(chǎn)區(qū)塊,并且區(qū)塊的驗(yàn)證只在代表節(jié)點(diǎn)內(nèi)部進(jìn)行。如果一個(gè)節(jié)點(diǎn)錯(cuò)過生產(chǎn)相對(duì)應(yīng)的區(qū)塊或者惡意篡改區(qū)塊,股東會(huì)收回對(duì)該節(jié)點(diǎn)的投票從而將該節(jié)點(diǎn)“投出”董事會(huì),同時(shí)該節(jié)點(diǎn)也面臨保證金被罰的風(fēng)險(xiǎn)[15]。DPoS 機(jī)制可以認(rèn)為是一種“民主集中式”的記賬方式[16],整個(gè)共識(shí)過程不依靠任何算力,很好地解決PoW 機(jī)制中浪費(fèi)計(jì)算資源和PoS 機(jī)制中可能出現(xiàn)的權(quán)益集中化的現(xiàn)象。這種機(jī)制大幅減少了參與區(qū)塊生成和驗(yàn)證區(qū)塊的節(jié)點(diǎn)的數(shù)量,可以實(shí)現(xiàn)秒級(jí)的共識(shí)驗(yàn)證。

但是目前的DPoS 機(jī)制仍然存在一些缺陷,不少研究者也對(duì)其進(jìn)行了改進(jìn)。針對(duì)機(jī)制中股東節(jié)點(diǎn)投票的積極性不高的問題,文獻(xiàn)[17]采用一種投票激勵(lì)方案激勵(lì)股東節(jié)點(diǎn)投票的積極性。在這種方案中,每個(gè)股東節(jié)點(diǎn)可以根據(jù)代表節(jié)點(diǎn)的信用分?jǐn)?shù)投反對(duì)票,如果一個(gè)信用分?jǐn)?shù)低的節(jié)點(diǎn)在下一輪的選舉中未能成為代表節(jié)點(diǎn),系統(tǒng)將給予對(duì)該節(jié)點(diǎn)投反對(duì)票的節(jié)點(diǎn)信用系數(shù)獎(jiǎng)勵(lì)。若選民節(jié)點(diǎn)在某輪投票選舉中未進(jìn)行投票操作,則會(huì)扣除一定信用分?jǐn)?shù)。選民節(jié)點(diǎn)通過正確行使投票權(quán)為自己贏得信用分?jǐn)?shù),增大自身日后成為代表節(jié)點(diǎn)的可能性。但是這種方案并不能很好地解決節(jié)點(diǎn)之間的信任問題,節(jié)點(diǎn)可以通過合理生產(chǎn)區(qū)塊和正確投票兩種方式提高自身的信用分?jǐn)?shù),因而信用分?jǐn)?shù)高的節(jié)點(diǎn)并不代表該節(jié)點(diǎn)被信任的概率大。EOS 項(xiàng)目為了更好地解決對(duì)代表節(jié)點(diǎn)的監(jiān)督問題對(duì)DPoS 機(jī)制進(jìn)行了改進(jìn),在改進(jìn)后的機(jī)制中每輪只選出21 位代表節(jié)點(diǎn)[18]。雖然這種方式可以提高出塊速率,但是代表節(jié)點(diǎn)數(shù)量的減少會(huì)導(dǎo)致系統(tǒng)中心化程度加強(qiáng)。像PoW 機(jī)制以及PoS 機(jī)制中都是挖礦成功的節(jié)點(diǎn)獲得交易費(fèi)用和系統(tǒng)發(fā)放的貨幣獎(jiǎng)勵(lì),而其余付出過工作量或者幣齡的節(jié)點(diǎn)一無(wú)所得。而在DPoS機(jī)制中,每次共識(shí)過程結(jié)束,只有“董事會(huì)”中的授權(quán)代表節(jié)點(diǎn)會(huì)獲得獎(jiǎng)勵(lì),最終會(huì)導(dǎo)致幣的流動(dòng)性大大減少,加劇系統(tǒng)中“窮者越窮,富者越富”的局面。另外,在DPoS 機(jī)制的每次共識(shí)過程中,部分節(jié)點(diǎn)可能會(huì)篡改區(qū)塊信息、持續(xù)生成無(wú)效區(qū)塊等其他作惡行為,由此會(huì)給系統(tǒng)的安全性造成一定的威脅。

因此,本文針對(duì)以上DPoS 機(jī)制中存在的問題提出了一種該機(jī)制的改進(jìn)方案,改進(jìn)后的機(jī)制能夠很好地解決以上問題并進(jìn)行了實(shí)驗(yàn)加以驗(yàn)證。

3 改進(jìn)方案

3.1 獎(jiǎng)勵(lì)機(jī)制

獎(jiǎng)勵(lì)機(jī)制是為解決節(jié)點(diǎn)投票積極性不高而采取的一種方案。在DPoS 機(jī)制中,普通節(jié)點(diǎn)投票時(shí)需要耗費(fèi)時(shí)間精力等,而且一個(gè)節(jié)點(diǎn)投票與否對(duì)自身來說沒有任何的影響。改進(jìn)后的方案中加入了獎(jiǎng)勵(lì)機(jī)制,每次投票選出N 個(gè)節(jié)點(diǎn)負(fù)責(zé)出塊,并獲得一定的獎(jiǎng)勵(lì),而這其中每一個(gè)節(jié)點(diǎn)的投票者本身也會(huì)從中獲得一定的回報(bào)。具體來說,每一次共識(shí)過程結(jié)束之后,成功生產(chǎn)區(qū)塊的某個(gè)代表節(jié)點(diǎn)要將獲得的獎(jiǎng)勵(lì)按照相應(yīng)的比例分給為它投票的所有節(jié)點(diǎn)。

3.1.1 獎(jiǎng)勵(lì)分配方案

DPoS機(jī)制中的每個(gè)擁有數(shù)字貨幣的節(jié)點(diǎn)都具有投票的權(quán)利,且投票時(shí)遵循“一幣一票”的原則。舉個(gè)例子,假設(shè)Alice 擁有100 個(gè)幣,那么她每票就擁有100 單位的票權(quán),Bob擁有50個(gè)幣,那么他每票就擁有50單位的票權(quán)。假設(shè)Alice 和Bob 同時(shí)投票給了節(jié)點(diǎn)候選人John,那么John獲得的票數(shù)就為150票。

獎(jiǎng)勵(lì)機(jī)制規(guī)定每次代表節(jié)點(diǎn)成功出塊所得的收益由它本身和為它投票的節(jié)點(diǎn)共享,通常會(huì)按照投票節(jié)點(diǎn)的票權(quán)占比分配它們各自的收益,因此票權(quán)占比大的節(jié)點(diǎn)(大節(jié)點(diǎn))所得的收益相對(duì)會(huì)多一些。文獻(xiàn)[19]提出了如何計(jì)算PoS 機(jī)制中每個(gè)參與區(qū)塊生成的節(jié)點(diǎn)的收益,算法的主要思想是將所有參與區(qū)塊生成的節(jié)點(diǎn)看作一個(gè)聯(lián)盟博弈(N 代表局中人集合,v 稱為價(jià)值函數(shù))[20],中的每個(gè)節(jié)點(diǎn)i 稱為局中人,聯(lián)盟博弈中要解決的關(guān)鍵問題就是如何分配每個(gè)局中人的權(quán)益。中每個(gè)局中人所得的收益稱為沙普利值,記為。記節(jié)點(diǎn)Ni在一次共識(shí)過程結(jié)束后所得的收益為E,則每個(gè)局中人i 所得的收益為:

在這種收益分配算法中,大節(jié)點(diǎn)(票權(quán)占比大的節(jié)點(diǎn))對(duì)應(yīng)的沙普利值不一定與它們的票權(quán)占比成正比。比如,當(dāng)大節(jié)點(diǎn)的票權(quán)占比不變而小節(jié)點(diǎn)的個(gè)數(shù)增加時(shí),小節(jié)點(diǎn)所得的總體收益會(huì)增加,大節(jié)點(diǎn)的總體收益會(huì)減少。這種分配算法旨在通過增加小節(jié)點(diǎn)的收益改善系統(tǒng)中貧富不均的現(xiàn)狀,但算法未能考慮大節(jié)點(diǎn)會(huì)有分散投票權(quán)(比如一個(gè)節(jié)點(diǎn)有1 000 個(gè)幣,將這1 000 個(gè)幣分成10份分別投給不同的節(jié)點(diǎn))的行為,大節(jié)點(diǎn)可以通過分散投票權(quán)將自身的幣投給多個(gè)節(jié)點(diǎn),這樣大節(jié)點(diǎn)就變成了多個(gè)( )N,v 中的小節(jié)點(diǎn),以此增加大節(jié)點(diǎn)自身的總體收益。因此,算法有必要限制節(jié)點(diǎn)的投票次數(shù),防止一個(gè)投票者通過向多個(gè)節(jié)點(diǎn)投票獲得更大的收益。同時(shí)考慮到系統(tǒng)運(yùn)行DPoS機(jī)制時(shí)每經(jīng)過一個(gè)時(shí)間間隔(目前為1天)代表節(jié)點(diǎn)的名單會(huì)被更新一次,當(dāng)系統(tǒng)發(fā)起投票時(shí),每個(gè)節(jié)點(diǎn)投票的時(shí)間也是不一樣的。為了給積極投票的節(jié)點(diǎn)更多的獎(jiǎng)勵(lì)(即如果節(jié)點(diǎn)能夠保持時(shí)時(shí)在線,及時(shí)響應(yīng)系統(tǒng)發(fā)起的投票任務(wù),則會(huì)獲得較多的收益),可以在收益分配算法中加入時(shí)間因素,節(jié)點(diǎn)投票的時(shí)間與系統(tǒng)發(fā)起投票日期的時(shí)間間隔越小,節(jié)點(diǎn)所得的收益就越多。因此,對(duì)于系統(tǒng)中的所有節(jié)點(diǎn)來說,要獲得收益不僅要向其他節(jié)點(diǎn)投票,還應(yīng)該在系統(tǒng)發(fā)起投票指令后及時(shí)投票,這樣才有可能獲得較多的收益。

本文在文獻(xiàn)[19]中的收益分配算法基礎(chǔ)上進(jìn)行了改進(jìn),改進(jìn)后的算法規(guī)定每個(gè)投票者只能對(duì)一個(gè)節(jié)點(diǎn)進(jìn)行投票,并在計(jì)算節(jié)點(diǎn)沙普利值后又加入了時(shí)間因素對(duì)節(jié)點(diǎn)所得收益進(jìn)行再分配,改進(jìn)后的收益分配算法如算法1所示。

3.1.2 合理性分析

在獎(jiǎng)勵(lì)分配方案中,每個(gè)投票者所得的最終收益不僅取決于它們?cè)谡麄€(gè)聯(lián)盟博弈中的沙普利值,還取決于它們投票的時(shí)間與系統(tǒng)發(fā)起投票日期的時(shí)間間隔。假設(shè)系統(tǒng)中存在兩個(gè)節(jié)點(diǎn)a 和b,且兩節(jié)點(diǎn)對(duì)應(yīng)的沙普利值均為1/3,按計(jì)算沙普利值的方式兩節(jié)點(diǎn)所得的收益都為33%。如果a 節(jié)點(diǎn)與發(fā)起投票的時(shí)間間隔Ta=1,b 節(jié)點(diǎn)對(duì)應(yīng)的時(shí)間間隔Tb=6,根據(jù)算法a 節(jié)點(diǎn)所得最終收益仍然為33%,而b 節(jié)點(diǎn)的最終收益僅為33%×1/6≈5.5%。由此,可以看出雖然兩節(jié)點(diǎn)在( )N,v 中的沙普利值相同,但a 節(jié)點(diǎn)的投票時(shí)間要早于b 節(jié)點(diǎn),所以a節(jié)點(diǎn)的最終收益要高于b 節(jié)點(diǎn)。因此,節(jié)點(diǎn)要想獲得較多的收益,應(yīng)該保持時(shí)時(shí)在線,及時(shí)進(jìn)行投票。

3.1.3 懲罰措施

針對(duì)成功出塊的代表節(jié)點(diǎn)沒有遵守協(xié)議獨(dú)吞收益的情況,系統(tǒng)可以設(shè)置懲罰措施約束代表節(jié)點(diǎn)的行為。區(qū)塊獎(jiǎng)勵(lì)只有在代表節(jié)點(diǎn)成功生成塊時(shí)提供,因此投票者有責(zé)任跟蹤他們支持的代表節(jié)點(diǎn)的行為。假設(shè)在一次共識(shí)過程中由代表節(jié)點(diǎn)Ni負(fù)責(zé)生成區(qū)塊,當(dāng)Ni成功生成區(qū)塊并得到相應(yīng)的獎(jiǎng)勵(lì)后并沒有將獎(jiǎng)勵(lì)分配給它的支持者,那么投票給Ni的節(jié)點(diǎn)將收回它們的選票。系統(tǒng)監(jiān)測(cè)到一個(gè)代表節(jié)點(diǎn)的選票被它的大多數(shù)支持者收回時(shí),就會(huì)認(rèn)定此節(jié)點(diǎn)做出了違反系統(tǒng)規(guī)定的行為,此時(shí)系統(tǒng)就會(huì)將該節(jié)點(diǎn)的保證金沒收,以此來表示對(duì)該節(jié)點(diǎn)的懲罰。一個(gè)普通節(jié)點(diǎn)成為代表節(jié)點(diǎn)時(shí)需要繳納的保證金的金額相當(dāng)于生產(chǎn)一個(gè)區(qū)塊收入的100倍,因此如果一個(gè)節(jié)點(diǎn)做出獨(dú)吞收益的行為,它將損失一筆數(shù)量不小的財(cái)產(chǎn),對(duì)該節(jié)點(diǎn)來說得不償失。獎(jiǎng)勵(lì)機(jī)制流程如圖1所示。

圖1 獎(jiǎng)勵(lì)機(jī)制流程圖

3.2 信用機(jī)制

在DPoS 機(jī)制的選舉過程中,系統(tǒng)不希望出現(xiàn)過作惡行為的節(jié)點(diǎn)再次成為授權(quán)代表節(jié)點(diǎn)。因此,為了降低惡意節(jié)點(diǎn)成為代表節(jié)點(diǎn)的概率,系統(tǒng)有必要對(duì)代表節(jié)點(diǎn)的行為進(jìn)行打分,根據(jù)它們的行為給予相應(yīng)的分?jǐn)?shù),分?jǐn)?shù)高的節(jié)點(diǎn)被信任的概率就越大,在下一輪選舉中往往占有一定優(yōu)勢(shì)。

3.2.1 信譽(yù)值

在DPoS 機(jī)制中,每輪投票結(jié)束后,成功當(dāng)選“董事會(huì)”成員的節(jié)點(diǎn)擁有驗(yàn)證并生產(chǎn)區(qū)塊的權(quán)利。系統(tǒng)開始會(huì)為每個(gè)節(jié)點(diǎn)分配100分的信譽(yù)值。傳統(tǒng)DPoS機(jī)制中每個(gè)周期內(nèi)一個(gè)代表節(jié)點(diǎn)只生產(chǎn)一個(gè)新區(qū)塊,如果一個(gè)節(jié)點(diǎn)成功生產(chǎn)出一個(gè)區(qū)塊并且經(jīng)其他節(jié)點(diǎn)驗(yàn)證此區(qū)塊確實(shí)有效,系統(tǒng)會(huì)給予此節(jié)點(diǎn)10分的信譽(yù)值獎(jiǎng)勵(lì);并且信譽(yù)值會(huì)在以后隨著節(jié)點(diǎn)的行為逐漸累加,閾值為200分。當(dāng)一個(gè)節(jié)點(diǎn)存在作惡行為、未在規(guī)定時(shí)間段內(nèi)生產(chǎn)出有效的區(qū)塊時(shí),此節(jié)點(diǎn)會(huì)被扣掉10分。

3.2.2 節(jié)點(diǎn)狀態(tài)

根據(jù)節(jié)點(diǎn)信譽(yù)值的大小,本文會(huì)給每個(gè)節(jié)點(diǎn)添加一個(gè)狀態(tài)標(biāo)識(shí),并設(shè)置三種不同的節(jié)點(diǎn)狀態(tài),每個(gè)節(jié)點(diǎn)的狀態(tài)都與它們的信譽(yù)值相關(guān):

normal:代表信譽(yù)值在區(qū)間[100,150]內(nèi)的節(jié)點(diǎn),此狀態(tài)的節(jié)點(diǎn)未當(dāng)選過代表節(jié)點(diǎn)或在共識(shí)過程中表現(xiàn)一般;

good:代表信譽(yù)值在區(qū)間(150,200]內(nèi)的節(jié)點(diǎn),此狀態(tài)的節(jié)點(diǎn)在共識(shí)過程中表現(xiàn)良好,無(wú)作惡行為出現(xiàn)。

bad:代表信譽(yù)值小于100分的節(jié)點(diǎn),此節(jié)點(diǎn)在共識(shí)過程中表現(xiàn)不佳,有作惡或其他不良行為出現(xiàn);

3.2.3 信譽(yù)值重置

為了避免出現(xiàn)由于某些節(jié)點(diǎn)信譽(yù)值累計(jì)過高導(dǎo)致投票結(jié)果趨于中心化的現(xiàn)象,信用機(jī)制中增加了重置信譽(yù)值的功能。DPoS 機(jī)制中得票數(shù)最多的前N個(gè)節(jié)點(diǎn)在一個(gè)周期內(nèi)輪流生產(chǎn)區(qū)塊,當(dāng)一個(gè)周期結(jié)束之后,系統(tǒng)又會(huì)重新選舉代表節(jié)點(diǎn)。每輪選舉開始時(shí),節(jié)點(diǎn)都會(huì)保留它們當(dāng)前的信譽(yù)值,只有當(dāng)每個(gè)周期結(jié)束之后,節(jié)點(diǎn)的信譽(yù)值才會(huì)發(fā)生變化。信譽(yù)值重置是針對(duì)good狀態(tài)的節(jié)點(diǎn)而言的,一個(gè)節(jié)點(diǎn)的信譽(yù)值最高可以為200分,當(dāng)一個(gè)狀態(tài)為good 的節(jié)點(diǎn)的信譽(yù)值達(dá)到200 分時(shí),此時(shí)系統(tǒng)會(huì)將該節(jié)點(diǎn)的信譽(yù)值重置為100分(為了讓其他狀態(tài)的節(jié)點(diǎn)有更多的機(jī)會(huì)生產(chǎn)區(qū)塊及在一定程度上縮小貧富差距,綜合考慮,重置為100分最合適)。

3.2.4 節(jié)點(diǎn)狀態(tài)變更

狀態(tài)變更指的是代表節(jié)點(diǎn)的狀態(tài)變化,主要與節(jié)點(diǎn)產(chǎn)生的區(qū)塊數(shù)量及有效性相關(guān)。開始系統(tǒng)內(nèi)所有的節(jié)點(diǎn)均處于normal狀態(tài),當(dāng)代表節(jié)點(diǎn)多次產(chǎn)生有效區(qū)塊并且產(chǎn)生區(qū)塊的次數(shù)大于累計(jì)值(累計(jì)值是一個(gè)節(jié)點(diǎn)狀態(tài)變更的常量)時(shí)可升級(jí)為good狀態(tài),處于good狀態(tài)的節(jié)點(diǎn)有較高的信譽(yù)值,在以后的競(jìng)爭(zhēng)選舉中處于一定優(yōu)勢(shì);當(dāng)處于good 狀態(tài)的節(jié)點(diǎn)有產(chǎn)生無(wú)效區(qū)塊的記錄或信譽(yù)值達(dá)到閾值時(shí),該節(jié)點(diǎn)可能又變?yōu)閚ormal 狀態(tài);而good狀態(tài)的節(jié)點(diǎn)產(chǎn)生無(wú)效區(qū)塊的次數(shù)超過累計(jì)值時(shí),該節(jié)點(diǎn)可能被降級(jí)為bad 狀態(tài),bad 狀態(tài)的節(jié)點(diǎn)只有產(chǎn)生有效區(qū)塊才可能升級(jí)為normal 狀態(tài)。代表節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)換圖如圖2所示。

圖2 節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換圖

在DPOS中加入信用機(jī)制后,每個(gè)節(jié)點(diǎn)都擁有一個(gè)狀態(tài)標(biāo)志,這樣在每一輪的投票選舉過程中投票節(jié)點(diǎn)可以根據(jù)其他節(jié)點(diǎn)的狀態(tài)選擇自身信任的節(jié)點(diǎn),因此節(jié)點(diǎn)的狀態(tài)可以看作是節(jié)點(diǎn)的一個(gè)標(biāo)記。Good狀態(tài)的節(jié)點(diǎn)說明在多次共識(shí)過程中都能產(chǎn)生有效區(qū)塊,其他節(jié)點(diǎn)出于對(duì)系統(tǒng)安全性的考慮,在投票時(shí)會(huì)優(yōu)先考慮這些節(jié)點(diǎn),因此信譽(yù)值越高的節(jié)點(diǎn)在每輪選舉過程中往往占有一部分優(yōu)勢(shì),再次被選為代表節(jié)點(diǎn)的可能性較大。整個(gè)信用機(jī)制的流程圖如圖3所示。

3.3 投票結(jié)果的優(yōu)化

投票結(jié)果統(tǒng)計(jì)是選舉代表節(jié)點(diǎn)的最后一個(gè)流程,合理的計(jì)票方式能夠提升選舉結(jié)果的公平性及系統(tǒng)的安全性。本文針對(duì)DPOS機(jī)制的改進(jìn)方案提出了一種新的投票結(jié)果的計(jì)算方式,某節(jié)點(diǎn)最終得票數(shù)的計(jì)算公式如下:

總得票數(shù)=α×支持票+β×信譽(yù)值 (2)

圖3 信用機(jī)制流程圖

在這種計(jì)算方式中引入了兩個(gè)參數(shù)α和β(α+β=1),節(jié)點(diǎn)處于不同狀態(tài)時(shí)對(duì)應(yīng)的的α和β的值是不同的,所以α和β能夠在一定程度上影響節(jié)點(diǎn)的最終票數(shù)。本文引入信用機(jī)制的目的是降低惡意節(jié)點(diǎn)成為代表節(jié)點(diǎn)的概率,因此系統(tǒng)必須保證信譽(yù)值高的節(jié)點(diǎn)成為代表節(jié)點(diǎn)需要的票數(shù)比信譽(yù)值低的節(jié)點(diǎn)需要的票數(shù)要少。基于這種原則,本文為三種狀態(tài)下的節(jié)點(diǎn)對(duì)應(yīng)的α和β設(shè)置了不同的值。當(dāng)一個(gè)節(jié)點(diǎn)處于normal狀態(tài)時(shí),α和β的值都置為0.5;對(duì)good狀態(tài)的節(jié)點(diǎn)來說,它們的信譽(yù)值較高,成為代表節(jié)點(diǎn)需要的票數(shù)要少,所以β的值理論上要大于0.5,α的值要小于0.5;而bad狀態(tài)的節(jié)點(diǎn)成為代表節(jié)點(diǎn)需要的票數(shù)最多,所以α的值要大于0.5,而β的值要小于0.5。對(duì)處于同一狀態(tài)的節(jié)點(diǎn)來說,它們的信譽(yù)值相差無(wú)幾,得票數(shù)多的節(jié)點(diǎn)成為代表節(jié)點(diǎn)的概率大;對(duì)處于不同狀態(tài)的兩個(gè)節(jié)點(diǎn)來說,信譽(yù)值越高的節(jié)點(diǎn)對(duì)應(yīng)的β的值越大,這也就意味著信譽(yù)值低的節(jié)點(diǎn)要成為代表節(jié)點(diǎn)需要更多的票數(shù)。因此,這種新的投票結(jié)果的計(jì)算方式保證了選舉結(jié)果的公平性,從而能夠提升系統(tǒng)的安全性。信用機(jī)制的具體算法如算法2所示。

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

基于提出的DPOS機(jī)制的改進(jìn)方案,本文在配置為Intel i5-3320M CPU 2.60 GHz處理器,8 GB內(nèi)存,64位的Ubuntu 18.04 系統(tǒng)下,在以太坊客戶端Geth 上搭建測(cè)試用的本地區(qū)塊鏈進(jìn)行實(shí)驗(yàn)驗(yàn)證。

4.1 投票節(jié)點(diǎn)所得收益的合理性驗(yàn)證

假設(shè)對(duì)某一代表節(jié)點(diǎn)進(jìn)行投票的a節(jié)點(diǎn)對(duì)應(yīng)的沙普利值為1/3,即不考慮時(shí)間因素的情況下a節(jié)點(diǎn)可獲得33%的收益。當(dāng)系統(tǒng)規(guī)定的投票周期為1天(即24小時(shí))時(shí),分析a節(jié)點(diǎn)與發(fā)起投票的時(shí)間間隔逐漸增大的情況下,a節(jié)點(diǎn)最終所得收益的情況。

從圖4中可以看出,當(dāng)a節(jié)點(diǎn)與發(fā)起投票的時(shí)間間隔從1增大到24的過程中,a節(jié)點(diǎn)所得的收益由33%下降到不足1.5%。這說明當(dāng)節(jié)點(diǎn)對(duì)應(yīng)的沙普利值不變的情況下,利用算法對(duì)收益再分配時(shí)投票時(shí)間越早的節(jié)點(diǎn)所得的收益就越高,反之就越低。

圖4 a 節(jié)點(diǎn)收益情況

4.2 投票結(jié)果計(jì)算方式的合理性驗(yàn)證

為了驗(yàn)證在新的投票結(jié)果的計(jì)算方式中,對(duì)于不同狀態(tài)的節(jié)點(diǎn)來說,在獲得的投票數(shù)相同的情況下,信譽(yù)值低的節(jié)點(diǎn)要成為代表節(jié)點(diǎn)需要更多的票數(shù),本文實(shí)驗(yàn)方案中選擇了三個(gè)信譽(yù)值不同的節(jié)點(diǎn):a節(jié)點(diǎn)(信譽(yù)值為80分)、b節(jié)點(diǎn)(信譽(yù)值為125分)和c節(jié)點(diǎn)(信譽(yù)值為175分),分析這三個(gè)節(jié)點(diǎn)在得票數(shù)相同的情況下按投票結(jié)果計(jì)算方式所得的總得票數(shù)情況。實(shí)驗(yàn)結(jié)果如圖5所示。

圖5 各節(jié)點(diǎn)得票數(shù)情況

由節(jié)點(diǎn)總得票數(shù)的對(duì)比圖可知,三種節(jié)點(diǎn)在得票數(shù)相同的情況下,c節(jié)點(diǎn)的總得票數(shù)明顯要高于b節(jié)點(diǎn)和a節(jié)點(diǎn),這說明信譽(yù)值低的節(jié)點(diǎn)只有比信譽(yù)值高的節(jié)點(diǎn)獲得更多的票數(shù)才有可能成為代表節(jié)點(diǎn);另外,當(dāng)投票數(shù)超過200 后,a節(jié)點(diǎn)的總得票數(shù)很可能高于b節(jié)點(diǎn)。因此,為了降低信譽(yù)值低的節(jié)點(diǎn)成為代表節(jié)點(diǎn)的概率,可以動(dòng)態(tài)調(diào)整α和β的值以保證系統(tǒng)的安全穩(wěn)定運(yùn)行。

5 本文方案與其他現(xiàn)有DPOS方案對(duì)比

5.1 本文改進(jìn)方案的優(yōu)勢(shì)

EOS項(xiàng)目在傳統(tǒng)DPOS機(jī)制上進(jìn)行了改進(jìn),將代表節(jié)點(diǎn)的數(shù)量由101個(gè)減為21個(gè),并且在共識(shí)過程中采用代表節(jié)點(diǎn)連續(xù)出塊的方式提高區(qū)塊的產(chǎn)成速率。雖然這種方式可在一定程度上縮短交易的確認(rèn)時(shí)間,但仍未解決傳統(tǒng)DPOS機(jī)制中存在的問題。文獻(xiàn)[17]采用基于信用的獎(jiǎng)懲方案解決節(jié)點(diǎn)投票積極性不高的問題,節(jié)點(diǎn)可以通過投反對(duì)票的方式獲取更多的信用分?jǐn)?shù),當(dāng)節(jié)點(diǎn)兩次投票的時(shí)間間隔超過T時(shí),信用分?jǐn)?shù)就會(huì)降低。在這種改進(jìn)方案中,節(jié)點(diǎn)會(huì)通過投票的方式為自己贏得更多的信用分?jǐn)?shù),雖然信用分?jǐn)?shù)高的節(jié)點(diǎn)被選為代表節(jié)點(diǎn)的可能性大,但是節(jié)點(diǎn)的信用分?jǐn)?shù)高并不代表被信任的概率大,而且對(duì)于那些作惡的節(jié)點(diǎn)并沒有相應(yīng)的懲罰措施。

本文提出的改進(jìn)方案中通過信用機(jī)制為節(jié)點(diǎn)設(shè)置了狀態(tài)和信譽(yù)值,系統(tǒng)根據(jù)節(jié)點(diǎn)在共識(shí)過程中的表現(xiàn)增加/減少它們的信譽(yù)值,信譽(yù)值的高低代表了不同的狀態(tài)。good 狀態(tài)的節(jié)點(diǎn)說明它在共識(shí)過程中幾乎無(wú)作惡行為,被信任的可能性較大;而bad 狀態(tài)的節(jié)點(diǎn)說明它在共識(shí)過程中有大量作惡行為,被信任的概率小。節(jié)點(diǎn)在投票時(shí)可根據(jù)其他節(jié)點(diǎn)的狀態(tài)判斷它們是否能被信任,從而可降低惡意節(jié)點(diǎn)成為代表節(jié)點(diǎn)的可能性。為提高投票節(jié)點(diǎn)的積極性,獎(jiǎng)勵(lì)機(jī)制采用為投票節(jié)點(diǎn)分配收益的方式而非給予它們相應(yīng)的信用分?jǐn)?shù)。獎(jiǎng)勵(lì)機(jī)制規(guī)定代表節(jié)點(diǎn)的收益要與為它投票的節(jié)點(diǎn)共享,由于每個(gè)節(jié)點(diǎn)都帶有一個(gè)狀態(tài),投票的節(jié)點(diǎn)為了盡可能的獲得收益,在投票時(shí)更傾向于投給good狀態(tài)的節(jié)點(diǎn),可在一定程度上保證系統(tǒng)的安全性。

5.2 投票節(jié)點(diǎn)所得收益的分配方式比較

由于每個(gè)投票節(jié)點(diǎn)手中的權(quán)益是不一樣的,因此它們?yōu)橥粋€(gè)代表節(jié)點(diǎn)投票后的票權(quán)占比也是不同的。按照每個(gè)投票節(jié)點(diǎn)的票權(quán)占比分配收益的方式看似是一種合理的分配策略,但實(shí)際上會(huì)讓系統(tǒng)中權(quán)益越多的節(jié)點(diǎn)越有錢,加劇貧富差距。本文實(shí)驗(yàn)主要分析在時(shí)間間隔T固定的情況下(為了簡(jiǎn)單起見,可以令T=1),系統(tǒng)中存在兩個(gè)大節(jié)點(diǎn)(每個(gè)大節(jié)點(diǎn)擁有1/3 的票權(quán)且只能投票一次)時(shí),隨著小節(jié)點(diǎn)的數(shù)目逐漸增多,按沙普利值再分配和按票權(quán)占比再分配兩種方式中小節(jié)點(diǎn)所得收益的情況。實(shí)驗(yàn)結(jié)果如圖6 所示。從圖6 可以看出,在小節(jié)點(diǎn)個(gè)數(shù)相同的情況下,考慮時(shí)間因素進(jìn)行收益再分配時(shí),小節(jié)點(diǎn)按沙普利值再分配所得的收益都要高于按票權(quán)占比再分配得到的收益。這說明當(dāng)所有節(jié)點(diǎn)的時(shí)間間隔T都相同時(shí),改進(jìn)的分配算法能夠讓小節(jié)點(diǎn)獲得較多的收益,這將有利于小節(jié)點(diǎn)的健康發(fā)展和縮小大小節(jié)點(diǎn)之間的貧富差距。

圖6 小節(jié)點(diǎn)最終收益情況

5.3 與優(yōu)化投票結(jié)果統(tǒng)計(jì)方案比較

文獻(xiàn)[17]為降低惡意節(jié)點(diǎn)成為代表節(jié)點(diǎn)的可能性,提出了一種優(yōu)化投票結(jié)果的統(tǒng)計(jì)方案,具體計(jì)算公式為:

式中,A的值可根據(jù)系統(tǒng)的安全性進(jìn)行設(shè)定,B、C的值是常量,通常取B和C的值是0.5。

為了將本文提出的對(duì)投票結(jié)果的優(yōu)化方案與文獻(xiàn)[17]中的方案進(jìn)行對(duì)比,分析在考慮評(píng)分的情況下惡意節(jié)點(diǎn)成功被投票為代表節(jié)點(diǎn)的概率,本實(shí)驗(yàn)在Geth搭建了一條測(cè)試鏈gttc,設(shè)置了20 個(gè)賬戶,并以go語(yǔ)言的方式將改進(jìn)的DPOS 方案添加進(jìn)Geth的創(chuàng)世文件genesis.j son中。由于文獻(xiàn)[17]中的投票節(jié)點(diǎn)可以投反對(duì)票,因此為gttc上的每個(gè)賬戶也都設(shè)置了投反對(duì)票的功能。當(dāng)gttc啟動(dòng)的時(shí)候,會(huì)從創(chuàng)世文件中讀取相關(guān)配置,系統(tǒng)將按照改進(jìn)的共識(shí)機(jī)制進(jìn)行投票、生成區(qū)塊。第一輪投票結(jié)束后各節(jié)點(diǎn)所得票數(shù)情況如表1所示。

表1 投票結(jié)果

開始所有節(jié)點(diǎn)都是處于同一狀態(tài),所以可直接根據(jù)投票結(jié)果選出得票數(shù)最多的前4 個(gè)節(jié)點(diǎn)作為代表節(jié)點(diǎn)進(jìn)行第一輪的區(qū)塊生成及共識(shí)過程,并令賬戶名為“0x30d……51571”的節(jié)點(diǎn)在共識(shí)過程中產(chǎn)生無(wú)效區(qū)塊,則共識(shí)過程結(jié)束后此節(jié)點(diǎn)變?yōu)閎ad狀態(tài),其他節(jié)點(diǎn)仍為normal狀態(tài)。將bad狀態(tài)的節(jié)點(diǎn)命名為B節(jié)點(diǎn),并以第一輪共識(shí)過程結(jié)束后各節(jié)點(diǎn)的狀態(tài)為基礎(chǔ)再次投票,重復(fù)進(jìn)行50 次實(shí)驗(yàn),統(tǒng)計(jì)B節(jié)點(diǎn)在兩種投票結(jié)果計(jì)算方式中的得票數(shù)情況。根據(jù)實(shí)驗(yàn)結(jié)果,繪制出B節(jié)點(diǎn)在兩種方案中的票數(shù)排名對(duì)比折線圖,如圖7所示(方案1是本文提出的投票結(jié)果的優(yōu)化方案,方案2 是文獻(xiàn)[17]中的方案)。

圖7 B 節(jié)點(diǎn)所得票數(shù)的排名情況

從B節(jié)點(diǎn)在50 次實(shí)驗(yàn)中的票數(shù)排名情況可以看出,大約30 次實(shí)驗(yàn)之后B節(jié)點(diǎn)在兩種方案中的排名情況逐漸穩(wěn)定(方案1 中排名17 左右,方案2 中排名11 左右),但從對(duì)比情況可得出總體上B節(jié)點(diǎn)在方案2 的票數(shù)排名要比方案1 中的排名靠后。這說明本文提出的方案能夠顯著降低B節(jié)點(diǎn)成為代表節(jié)點(diǎn)的可能性,從而為系統(tǒng)的安全性提供了一定的保障。

6 結(jié)束語(yǔ)

本文通過對(duì)DPOS共識(shí)機(jī)制的特點(diǎn)進(jìn)行分析,針對(duì)其中存在的節(jié)點(diǎn)投票積極性不高及如何降低惡意節(jié)點(diǎn)成為代表節(jié)點(diǎn)的概率問題,提出了一種基于獎(jiǎng)勵(lì)機(jī)制和信用機(jī)制的改進(jìn)方案。獎(jiǎng)勵(lì)機(jī)制中規(guī)定投票節(jié)點(diǎn)也會(huì)獲得相應(yīng)的收益,并采用計(jì)算節(jié)點(diǎn)沙普利值的方式分配各自的收益,由此普通節(jié)點(diǎn)的投票積極性會(huì)提高并縮小了節(jié)點(diǎn)之間的貧富差距。信用機(jī)制為節(jié)點(diǎn)設(shè)置了信譽(yù)值和狀態(tài),提出了一種將信譽(yù)值考慮在內(nèi)的投票結(jié)果的計(jì)算方式。新的投票結(jié)果的計(jì)算方式能夠使信譽(yù)值高的節(jié)點(diǎn)獲得極少的票數(shù)便可成為代表節(jié)點(diǎn),而信譽(yù)值低的節(jié)點(diǎn)要成為代表節(jié)點(diǎn)需要更多的票數(shù),從而能夠提高系統(tǒng)的安全性。改進(jìn)后的方案通過在以太坊平臺(tái)上搭建測(cè)試鏈的方式進(jìn)行實(shí)驗(yàn)驗(yàn)證,未來的工作將在共識(shí)機(jī)制的吞吐量及共識(shí)時(shí)延等方面進(jìn)行探索,尋求共識(shí)機(jī)制更廣的應(yīng)用領(lǐng)域。

猜你喜歡
機(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ī)制 顯成效
主站蜘蛛池模板: 人妖无码第一页| 国产视频一区二区在线观看| 在线看片中文字幕| 丝袜美女被出水视频一区| 国产系列在线| 色婷婷电影网| 夜夜爽免费视频| 国产H片无码不卡在线视频| 欧美日韩国产在线人| 青青青国产视频| 亚洲啪啪网| 六月婷婷激情综合| 亚洲AV无码久久精品色欲| 婷婷色中文网| 爆操波多野结衣| 午夜国产大片免费观看| 亚洲综合欧美在线一区在线播放| 国产呦精品一区二区三区下载| 亚洲欧美一区在线| 国产欧美日韩视频怡春院| 日韩精品一区二区三区视频免费看| 国产va免费精品观看| 日韩毛片视频| 蜜桃臀无码内射一区二区三区 | 九九这里只有精品视频| 欧美在线黄| 亚洲成人黄色在线| 黄色片中文字幕| 999精品在线视频| 素人激情视频福利| 国产亚洲精品自在久久不卡 | 亚洲精品无码AⅤ片青青在线观看| vvvv98国产成人综合青青| 国产欧美视频一区二区三区| 中文字幕欧美日韩| 久久久国产精品无码专区| 五月综合色婷婷| 国产福利免费在线观看| 91网红精品在线观看| 国产成熟女人性满足视频| 亚洲视频二| 亚洲三级片在线看| 亚洲AⅤ无码国产精品| 精品亚洲麻豆1区2区3区| 日本高清免费一本在线观看| av在线无码浏览| 在线精品亚洲一区二区古装| 波多野结衣视频网站| 亚洲免费三区| 国产激爽爽爽大片在线观看| 四虎永久免费在线| 毛片免费在线| 凹凸国产分类在线观看| 亚洲免费黄色网| аv天堂最新中文在线| 91精品国产91久无码网站| 国产成人禁片在线观看| 国产97区一区二区三区无码| 四虎永久在线| 青青久久91| 国产精品亚欧美一区二区三区| 一级成人欧美一区在线观看 | 国产福利微拍精品一区二区| 国模粉嫩小泬视频在线观看| 亚洲免费播放| 欧美激情伊人| 日本91视频| 国内a级毛片| 免费观看无遮挡www的小视频| 2022国产91精品久久久久久| 91精品国产自产在线老师啪l| 亚洲综合九九| 99re热精品视频国产免费| 亚洲看片网| 超碰免费91| 欧美色综合网站| 国产女人在线| 激情无码视频在线看| 全免费a级毛片免费看不卡| 为你提供最新久久精品久久综合| 丁香六月激情婷婷| 99这里精品|