国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

區(qū)塊鏈DPoS共識機制的研究與改進

2019-04-08 00:48:12談森鵬楊超
現(xiàn)代計算機 2019年6期
關(guān)鍵詞:代幣檢查點記賬

談森鵬,楊超

(上海師范大學信息與機電學院,上海201400)

0 引言

探尋區(qū)塊鏈的機制和發(fā)展,比特幣永遠是無法繞過的話題。區(qū)塊鏈作為一種獨立的技術(shù)出現(xiàn),最早可以追溯到比特幣系統(tǒng)中。2008年一個筆名為中本聰(Satoshi Nakamoto)的人(或團隊)發(fā)布了一篇名為《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》的文章,又在2009年公開了其早期的實現(xiàn)代碼,比特幣就此誕生[1]。

區(qū)塊鏈的誕生,標志著人類開始構(gòu)建真正可以信任的互聯(lián)網(wǎng)[2-4]。區(qū)塊鏈能夠在網(wǎng)絡中建立點對點之間可靠的信任,使得價值傳遞過程去除了中介的干擾,既公開信息又保護隱私,既共同決策又保護個體權(quán)益,這種機制提高了價值交互的效率并降低了成本。而共識機制作為區(qū)塊鏈的靈魂,解決了在互不信任或若信任的參與者之間達成共識的問題。

分布式系統(tǒng)的共識達成需要依賴可靠的共識機制,共識機制通常解決的是分布式系統(tǒng)中由哪個節(jié)點發(fā)起提案,以及其他節(jié)點如何就這個提案達成一致的問題。我們根據(jù)傳統(tǒng)分布式系統(tǒng)與區(qū)塊鏈系統(tǒng)間的區(qū)別,將共識機制分為可信節(jié)點間的共識機制與不可信節(jié)點間的共識機制。前者已經(jīng)被深入研究,并且在現(xiàn)在流行的分布式系統(tǒng)中廣泛應用,其中Paxos[5]和Raft及其相應變種算法最為著名。對于后者,雖然也早被研究,但直到近年區(qū)塊鏈技術(shù)發(fā)展如火如荼,相關(guān)共識機制才得到大量應用。而根據(jù)應用場景的不同,后者又分為以 PoW(Proof of Work,工作量證明)、PoS(Proof of Stake,股權(quán)證明)和 DPoS(Delegated Proof Of Stake,股權(quán)授權(quán)證明)等算法為代表的適用于公鏈的共識算法和以 PBFT(Practical Byzantine Fault Tolerance,拜占庭容錯)及其變種算法為代表的適用于聯(lián)盟鏈或私有鏈的共識算法。

但區(qū)塊鏈技術(shù)處于前期發(fā)展階段,現(xiàn)今出現(xiàn)的這些共識機制都存在一定的問題,本文根據(jù)DPoS中存在的問題進行優(yōu)化改進,提出投票激勵機制配合節(jié)點互評兩種核心方案來提升社區(qū)活躍度,以及及時對惡意節(jié)點進行剔除和懲罰,促進系統(tǒng)始終保持高安全和高效率。

1 共識機制

所謂共識,是指多方參與的節(jié)點在預設規(guī)則下,通過節(jié)點交互對某些數(shù)據(jù)、行為或流程達成一致的過程。共識機制是指定義共識過程的算法、協(xié)議和規(guī)則。

1.1 工作量證明

PoW共識機制[6]通過各節(jié)點進行哈希運算,第一個運算出達到要求的結(jié)果的節(jié)點獲得記賬權(quán),再由此節(jié)點生成一個區(qū)塊,將十分鐘內(nèi)發(fā)生的交易打包裝進區(qū)塊并全網(wǎng)廣播以供其他節(jié)點驗證,驗證完成則獲得一定的收益。比特幣和以太坊都采用PoW共識機制來進行共識,并成功運行至今。雖然PoW共識機制為比特幣和以太坊的飛速發(fā)展提供了良好的基礎(chǔ),但它的能源消耗過多和共識時間過長導致的交易速度太慢等問題廣受詬病。

1.2 股權(quán)證明

PoS共識機制是為解決PoW在資源浪費和達成共識所耗時間過長而提出的替代者。PoS共識機制的實質(zhì)是一種依據(jù)幣齡來決定節(jié)點獲得記賬所有權(quán)的概率[7]。所謂幣齡,就是持有幣的數(shù)額與持有天數(shù)的乘積。可以說幣齡越高,節(jié)點越容易獲得記賬權(quán)。故PoS相較于PoW通過算力獲得記賬權(quán)而言,大大降低了資源的浪費,也縮短了達成共識所耗費的時間。但PoS依舊需要挖礦,本質(zhì)上沒有解決問題,而且會降低虛擬貨幣的流通性提高中心化的風險。

1.3 拜占庭容錯

PBFT共識機制是針對拜占庭將軍問題[8]而提出的。PBFT主要由一致性協(xié)議、視圖更換協(xié)議和檢查點協(xié)議組成[9]。一致性協(xié)議保證區(qū)塊在全網(wǎng)達成一致,在總結(jié)點個數(shù)為3f+1的情況下能容納f個錯誤節(jié)點。檢查點協(xié)議的主要目的是維護節(jié)點所儲信息的規(guī)模,減輕節(jié)點的存儲負擔,同時同步系統(tǒng)狀態(tài)不一致的節(jié)點。PBFT在視圖切換協(xié)議中提出了View(視圖)概念,View是達成一致的節(jié)點群,在一個View中,只有一個主節(jié)點,其余均為備份節(jié)點。主節(jié)點將客戶端的請求排好序,然后廣播給備份節(jié)點,但主節(jié)點可能會是拜占庭的。所以備份節(jié)點有職責主動檢查主節(jié)點排序的合法性,并通過timeout機制檢測主節(jié)點是否宕機。當出現(xiàn)異常出現(xiàn),則觸發(fā)View Change(視圖切換)下個編號的節(jié)點成為主節(jié)點以保證系統(tǒng)穩(wěn)定運行。IBM創(chuàng)建的Hyperledger 0.6版本就是使用該共識機制。雖然PBFT優(yōu)化通信過程提高共識效率,但它的容錯率相較于PoW和PoS偏低[10]。

1.4 股權(quán)授權(quán)證明

DPoS共識機制[11]通過代幣持有者投票,選出101個節(jié)點,對中心化作出了一定的妥協(xié)。通過減少節(jié)點來實現(xiàn)秒級驗證,進一步降低網(wǎng)絡能耗和運行成本。但當投票選出的101個節(jié)點中出現(xiàn)惡意節(jié)點,DPoS對惡意節(jié)點的處理存在諸多困難,因為投票亦不能有效地阻止惡意節(jié)點的出現(xiàn),而且還會存在投票不積極的問題致使不能及時處理惡意節(jié)點,會給網(wǎng)絡安全造成隱患。

2 DPoS共識機制改進方案

本文引入投票激勵機制以及PBFT的檢查點協(xié)議,針對DPoS共識機制投票的積極性不高和對惡意節(jié)點的不能及時有效地處理等問題,提出投票激勵機制和檢查點協(xié)議兩種核心方案。通過投票激勵機制可以鼓勵代幣持有者積極投票,選出相對公正的101個節(jié)點,配合檢查點協(xié)議,通過101個節(jié)點間互相檢查,做到及時刪除惡意節(jié)點。下面給出了投票激勵機制和檢查點協(xié)議的詳細介紹。

2.1 投票激勵機制

由于DPoS共識機制需要從競選節(jié)點中選出101個節(jié)點來輪流執(zhí)行區(qū)塊鏈的記賬和上鏈等職責,但由于缺乏對投票的激勵機制,致使廣大代幣持有者投票積極性不高,最終導致票選出101個節(jié)點耗費了大量的時間效率不高。

故本文提出了投票激勵機制,以獎勵投票的代幣持有者,減少票選101個節(jié)點以及其他去要投票的場景所耗時間,提高效率。

社區(qū)發(fā)起投票活動時,代幣持有者從投票到獲得收益需要兩個階段。具體步驟如下:

①代幣持有者進行投票,至投票活動結(jié)束時,對投票者是否有資格后的收益及獲得多少收益進行清算。

②當計算完收益后,投票者并不能立刻收到獎勵,需要經(jīng)過鎖定期才能獲得獎勵。

獎勵公式:

以投票選出101個節(jié)點為例,其中VOTES為投票數(shù),與投票者所持代幣數(shù)量一比一的關(guān)系。N為常數(shù),表示此次獎勵總數(shù)。I只有1和0兩個值,表示投票者是否有權(quán)獲得獎勵,例如:投票者所投的競選節(jié)點是否成為最終節(jié)點。T與投票者投票的日期相關(guān),投票者投票的日期與社區(qū)發(fā)起投票的日期相差越大,則T越小。

2.2 檢查點協(xié)議

在PBFT中存在主節(jié)點(primary)和從節(jié)點(replica)兩種角色。一次共識中只有一個主節(jié)點,其他都為從節(jié)點。主節(jié)點負責對一段時間內(nèi)的交易進行驗證,通過驗證的交易被打包進區(qū)塊,最后上鏈。這一概念與DPoS的101個節(jié)點的概念類似。在DPoS中101個節(jié)點輪流獲得記賬權(quán),獲得記賬權(quán)的節(jié)點與PBFT主節(jié)點的職責大致相同,其余100個節(jié)點也與PBFT從節(jié)點的職責類似。在PBFT中,一旦主節(jié)點出現(xiàn)問題或為惡,可以立即進行試圖切換,但在DPoS中,卻無法及時刪除有問題的節(jié)點。

故引入PBFT的檢查點協(xié)議。在PBFT的檢查點協(xié)議中,由于拜占庭服務器的存在,一致性協(xié)議并不能保證每一臺服務器都執(zhí)行了相同的請求,所以,不同服務器狀態(tài)可能不一致。因此,設置周期性的檢查點協(xié)議,將服務器同步到某一個相同狀態(tài)。本文基于檢查點協(xié)議添加了節(jié)點狀態(tài)和懲罰機制。

(1)節(jié)點狀態(tài)

為了有效防止惡意節(jié)點持續(xù)地產(chǎn)生無效區(qū)塊或其他惡意行為,給101個節(jié)點都添加一個節(jié)點狀態(tài),本文將節(jié)點狀態(tài)定義為4種,如表1所示。

表1 節(jié)點狀態(tài)及權(quán)限

成為代理節(jié)點后,初始狀態(tài)為Normal,多次產(chǎn)出有效區(qū)塊,則狀態(tài)轉(zhuǎn)換為Good。當代理節(jié)點產(chǎn)出無效區(qū)塊時,不管當前狀態(tài)是Good或Normal,直接轉(zhuǎn)換為Exception。代理節(jié)點若產(chǎn)出無效區(qū)塊的次數(shù)超過標準定值,則節(jié)點狀態(tài)轉(zhuǎn)化為Error。

(2)懲罰機制

當代理節(jié)點狀態(tài)轉(zhuǎn)換為Exception時,會限制其權(quán)限,此時節(jié)點僅有參與檢查點協(xié)議權(quán)限,輪空記賬權(quán)。下一輪,其狀態(tài)自動恢復為Normal,產(chǎn)出無效區(qū)塊的次數(shù)累計不清空。

當代理節(jié)點的狀態(tài)轉(zhuǎn)換為Error時,首先節(jié)點不具備任何權(quán)限,其次會將其作為代理節(jié)點時間段內(nèi)的收益鎖定,并將其從代理節(jié)點中刪除,此后不再具備競選代理節(jié)點資格。

懲罰機制主要針對的是狀態(tài)為Error的代理節(jié)點,因為其產(chǎn)出無效區(qū)塊的累計次數(shù)超過了標準定值,故可認定其為惡意節(jié)點,需對其采取一定的懲罰措施。

3 實驗與分析

本文引入PBFT的檢查點協(xié)議與投票激勵機制,對DPoS的惡意節(jié)點無法及時處理和效率兩方面進行改善,由于投票激勵機制更多的是與代幣擁有著主觀思想相關(guān),本實驗無法有效分析。故僅對DPoS引入檢查點協(xié)議前后進行實驗分析。

3.1 惡意節(jié)點處理速度比較

引入檢查點協(xié)議的目的就是為了即使處理惡意節(jié)點提高效率。當系統(tǒng)中出現(xiàn)記賬節(jié)點狀態(tài)為Exception或Error時,惡意節(jié)點處理速度如圖1所示。改進后相比于改進前,對惡意節(jié)點處理效率明顯要更高效。該實驗表明,改進后的DPoS在處理惡意節(jié)點時更為高效。

圖1 DPoS改進前后對惡意節(jié)點處理速度對比

3.2 運行效率比較

隨著改進后的DPoS對惡意節(jié)點的處理速度更快,相較于改進前的DPoS,它的運行效率更快,能夠更高效地完成區(qū)塊生成。圖2為改進前后的DPoS的運行效率對比圖。可以看到改進后的DPoS由于減少了處理惡意節(jié)點的時間,運行效率更快。

圖2 DPoS改進前后每分鐘確認交易量對比

4 結(jié)語

DPoS引入PBFT的檢查點協(xié)議和投票激勵機制很好地解決了無法及時剔除和懲罰惡意節(jié)點以及社區(qū)活躍度不高的問題,但仍然有許多地方需要優(yōu)化。

區(qū)塊鏈作為近幾年的熱點技術(shù),最早出現(xiàn)在比特幣中,而PoW共識機制作為比特幣的基礎(chǔ),在互不信任的互聯(lián)網(wǎng)中創(chuàng)造信任,讓互不認識的人們協(xié)同工作產(chǎn)生價值。共識機制時區(qū)塊鏈的核心基石,是區(qū)塊鏈系統(tǒng)安全性的重要保障。PoW、PoS、DPoS、PBFT等共識機制在不同的場景又各自的優(yōu)勢。在不同的場景下,使用最合適的共識機制,顯然現(xiàn)在的共識機制并不能滿足所有場景,所以共識機制的研究還有很長的路要走。

猜你喜歡
代幣檢查點記賬
Spark效用感知的檢查點緩存并行清理策略①
免疫檢查點抑制劑相關(guān)內(nèi)分泌代謝疾病
記賬類APP
記賬類APP
農(nóng)家參謀(2019年2期)2019-09-10 03:54:02
首次代幣發(fā)行監(jiān)管的行為經(jīng)濟學路徑
免疫檢查點抑制劑在腫瘤治療中的不良反應及毒性管理
央行等七部門叫停各類代幣發(fā)行融資
世界知識(2017年18期)2017-12-28 22:00:38
央行等七部門叫停各類代幣發(fā)行融資
人民周刊(2017年17期)2017-10-23 09:06:00
央行等七部門叫停各類代幣發(fā)行融資
南部县| 芒康县| 阜平县| 沂源县| 十堰市| 乌兰浩特市| 三都| 疏附县| 滕州市| 手机| 大悟县| 科尔| 莲花县| 措美县| 旅游| 额尔古纳市| 香格里拉县| 长海县| 连云港市| 都江堰市| 仁布县| 桂林市| 仙游县| 社会| 盐津县| 驻马店市| 南陵县| 晋城| 德格县| 太康县| 西乌珠穆沁旗| 衡水市| 衡阳市| 抚宁县| 赤壁市| 西充县| 临猗县| 绥化市| 新邵县| 峨眉山市| 富蕴县|