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

區塊鏈中基于中國剩余定理投票方案的共識機制

2023-02-24 05:01:14唐淑敏
計算機應用 2023年2期
關鍵詞:機制

唐淑敏,金 瑜

(武漢科技大學 計算機科學與技術學院,武漢 430065)

0 引言

2008 年,一位匿名為“中本聰”的學者在論壇上以《比特幣:一種P2P 電子現金支付系統》的文章掀起了數字貨幣的狂風浪潮[1]。區塊鏈作為其核心技術也受到了各界人士的廣泛關注。區塊鏈本質上是一個分布式的賬本數據庫[2],通過時間戳、數字簽名、共識機制、激勵機制以及智能合約等技術實現去中心化。傳統的賬本系統需要一個記賬中心,而在區塊鏈系統中節點可以在相互不信任的分布式環境中,實現點對點的交易與協作[3]。區塊鏈的去中心化、安全性、不可篡改等特性使它在金融[4]、隱私保護[5]、物聯網[6]、醫療健康[7]等領域都有著廣泛的應用。

在保證分布式的區塊鏈系統去中心化的同時,滿足各節點能在數據記錄的真實性與準確性方面達成一致,就需要共識機制來調度完成。共識問題由來已久[8],在“中本聰”提出區塊鏈之前,就有針對“拜占庭將軍問題”而提出的一系列經典式共識機制,例如Paxos[9]、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)算法[10]等。區塊鏈被提出之后,在經典式共識機制[11]和基于工作量證明的共識機制(Proof of Work,PoW)的基礎上又提出許多新算法,包括后來提出的基于權益證明的共識機制(Proof of Stack,PoS)等[12]。

在區塊鏈共識機制中,“礦工”只有通過挖礦獲取某區塊記賬的權力,才能獲得在該區塊中產生的交易費獎勵與挖礦獎勵。但是無論是基于工作量證明還是權益證明都存在一些問題,例如工作量證明的算力資源浪費、權益證明的權益積累攻擊等。黃建華等[13]提出的基于動態授權的信任度證明機制(Proof of Trust,PoT)中,結合了PoW 與PoS 的特性,旨在以基于信任度的方式搭建一個安全、低資源消耗且去中心化的區塊鏈系統,有效解決了PoW 與PoS 等共識機制存在的不足,但同時也造成了記賬權“壟斷化”[14]問題,且共識時延由于需要遍歷所有競爭節點的交易記錄,會隨著競爭成為權益節點(Stackholder)數量的增多而增長較快。

本文基于文獻[13]提出的PoT 的基礎上提出了一個基于中國剩余定理(Chinese Remainder Theorem,CRT)的權益節點選舉共識機制——CRT-PoT(Chinese Remainder Theorem-Proof of Trust)。每個參與節點在共識之初進行選擇,決定成為投票節點(Voter)或者競選節點(Candidate),并只能二者選其一。一般起始擁有更多資源的節點更有可能成為Candidate,而小節點只能選擇成為Voter。因此又在投票模型的基礎上提出多投機制,在確保每個Candidate 節點能夠公平競爭的同時,保證Voter 節點能獲得更多的機會,以更大概率爭取之后的區塊記賬權,以此良性激發Voter 節點與Candidate 節點之間的參與積極性與誠信競爭,記賬權不會總局限于一部分節點,由此解決記賬權PoT 中的記賬權壟斷問題。其次在本文方案中,不需要遍歷所有交易記錄,共識時延只與節點數有關,因此共識時延呈線性增長,相比起PoT,共識時延增長較慢。

1 相關工作

基于工作量證明的共識機制通過循環計算SHA-256 尋找一個隨機數,使得該隨機數讓目標哈希值前部分出現足夠數量的0,然后將該區塊廣播至系統中接受其他節點的驗證,若該區塊合法,礦工就能成為出塊者,獲得對該區塊的記賬權。礦工之間競爭激烈,造成大量算力資源浪費。為了能夠更快地找到隨機數,礦工們相互合作,集中算力資源,形成礦池礦場,形成中心化的同時也造成了“公地悲劇”問題。所謂的“公地悲劇”是在區塊鏈系統中,礦工的收益主要來自交易費獎勵與挖礦獎勵。而挖礦的難度與日俱增,礦工的收益大多依靠交易費獎勵。用戶們為了支付少的手續費,盡可能進行小的交易,礦工獲得的交易費變少。長此以往,礦工流失,算力下降,敵手發動攻擊的成本減少,區塊鏈系統的安全性下降,形成“公地悲劇”。

King 等[12]提出點點幣(PPCoin),用權益證明的方式取代工作量證明。同時提出“幣齡”的概念,節點只要手持有幣,持幣時間越長,幣齡越大。節點通過押注機制抵押一定的代幣成為驗證節點,之后以消耗幣齡的方式挖礦。雖然這種方式有效解決了PoW 算力浪費和如今區塊鏈礦工因難以獲得挖礦獎勵而帶來的“公地悲劇”問題,但它也存在新問題。節點通過離線方式就能積累幣齡,難以保證節點在線比例。持幣多的節點,幣齡積累越快,就越容易成為礦工,敵手以此發動權益積累攻擊,嚴重影響系統安全;持幣少的節點因為挖礦的代價小,試圖在區塊鏈上分叉挖礦[15]獲取更多的利益,導致區塊鏈分叉眾多,影響其穩定性。

2014 年Bentov 等[16]提出基于行動量的共識機制,結合了PoW 和PoS 的特性。礦工挖出區塊頭,區塊的記賬權交由隨之衍生出的N個參與者。挖礦與記賬權分開,有效解決“公地悲劇”和分叉攻擊,但是難以保證參與節點的在線率,導致挖到的區塊頭由于未及時驗證而被丟棄。2014 年Larimer 等[17]在PoS 的基礎上提出權益委托證明(Delegated Proof of Stake,DPoS),權益持有人自行決定委托人,以權益比重選出101 位委托人組成委員會,各委托人依次輪流出塊和記賬。委托人受到其他節點的監督,大部分時間必須保證在線,極大地提升了出塊的速率;但是同樣委員會的出現也造成了嚴重的中心化,委托人可能為了利益而和權益持有人共謀。為保證公平以及記賬者的隨機性,2019 年王纘等[14]提出基于門限密碼方案的共識機制,以盲猜競價的方式來爭取記賬權,但是該機制保證金的管理和門限密鑰的分發都依賴一個可信中心,不能保證去中心化。

PoT 機制根據權益節點參與創建區塊的行為賦予其信任度,權益節點通過賦予區塊信任來進行挖礦,信任越高,挖礦成功的概率越大,同時設置信任衰減機制保證節點的在線率。以信任的機制在一定程度上解決了以上算法存在的問題,但是通過引入跟隨幣機制(Follw The Satoshi,FTS)選出Stackholders 的方法又引起了新的問題:參與節點們持有的未花費的satoshi 幣越多,被選中的機會就越大,普通節點仍然難有機會,隨著系統的運行,容易造成記賬權“壟斷化”,從而導致小節點的流失。對于一個區塊鏈系統來說,共同維護系統的節點越多,系統就越安全。記賬權“壟斷化”造成普通節點的流失,權益節點暴露的可能性大大增加,敵手可以付出更少的代價來攻擊權益節點操縱出塊和記賬,因此保證節點間的公平競爭以激勵普通節點的參與。解決“壟斷化”問題后會吸引更多普通節點來競爭成為權益節點,競選節點需要將自己所有未花費的satoshi 幣的交易記錄按字典的順序進行排序,跟隨幣機制中需要遍歷更多的節點交易記錄來生成權益節點,其權益節點選出的時延增長得也會越來越快。

為此,本文在PoT 的基礎上,改進Stackholder 節點的選出機制來解決PoT 存在的記賬權“壟斷化”以及參與競選節點數量增多帶來的耗時問題。

2 權益節點投票模型

本章主要介紹權益節點選出的過程,首先基于中國剩余定理的秘密分享算法[18]提出投票模型,簡稱CRT-Election,并從模型的基本思想、具體實現進行詳細描述[19-20],其次在此模型上提出多投機制,并分析其設定的必要性,最后提出本模型基于誠實記錄的競爭機制。

2.1 CRT-Election模型基本思想

中國剩余定理的秘密分享算法是將秘密分為N份子秘密,將子秘密交由N個參與者管理,其中有任意T份子秘密就能還原出本來的結果。由此,本文提出(n,t)門限的權益節點選舉模型,其中n為參與共識節點總數量,t為競選節點需獲得的支持數。如圖1 所示,該模型包括了初始化、競選階段、投票階段和驗證階段4 個階段,基本思想如下:

1)初始化(Initialization)。節點參與共識的方式有兩種:報名成為競選節點或是參與對競選節點的投票。參與共識后,參與節點(Participant)(圖1 中Pi)隨機獲得一對公私鑰(SK,PK)作為參與券。

2)競選階段(Campaign stage)。Participant 節點報名成為競選節點(Candidate)(圖1 中Ci)之后,系統會將該Candidate節點的歷史誠實信息(包括歷史投票信息和曾作為某一周期的權益代表成功出塊的信息)、公鑰地址(info,Addr)組成信息M(圖1 中Mi),在系統中進行廣播。

3)投票階段(Voting stage)。投票節點(Voter)(圖1 中Vi)在此階段可以根據廣播的消息,查看該Candidate 的信息M,以此決定是否對它進行投票。若支持,則以投票公鑰PK對M進行簽名,隨之生成一個部分簽名partSig 并廣播。系統中任意參與節點都能作為簽名合成者合成最終簽名。若M收到的partSigs 不少于門限t,則能合成最終的簽名Sig,更新M的內容并廣播,否則將該M丟棄。若合法,則該M對應的Candidate 節點成為權益節點,否則將該M丟棄。

4)驗證階段(Verification stage)。所有節點在參與或離開系統時,系統會廣播新的投票組公鑰Cpk,任意參與節點都可以作為簽名驗證者,利用組公鑰驗證廣播的M及其簽名是否合法,驗證合法即為權益節點(Stackholder)(圖1中的Si)。

圖1 CRT-Election模型示意圖Fig.1 Schematic diagram of CRT-Election model

2.2 模型具體實現

2.2.1 初始化

1)設置系統參數。

在每一周期的起始,若有n個節點參與共識,t為門限,系統隨機生成一系列基礎數據Primes{p,q,g,Dn,D},隨后將Primes的內容廣播。其中,Primes中數據的位數K由系統規定,p、q為兩個大素數,且滿足p|(q-1),p用于投票公私鑰的生成,q用于生成組公鑰。Dn由n個互素且嚴格單調遞增的素 數(d1,d2,…,dn) 組成,且滿足(di,p)=1|i=1,2,…,n,g為q有限域中的一個生成原,。

2)參與節點投票公私鑰的生成。

參與節點Vi收到廣播的Primes后,在q的有限域中隨機獲取一個數作為自己的投票私鑰∈(0,[p/n])。投票公鑰為:

節點Vi將自己的投票公鑰進行公布,若其他節點發現新的投票公鑰出現,則更新投票組公鑰為:

系統每周期初始化完成后,當在競選階段或投票階段有節點Vi+1加入時,生成一個新的符合條件的di+1,并更新Primes。此節點的投票公鑰為,產生私鑰后更新投票組公私鑰為:

將該節點的公鑰廣播,由此從競選階段之后繼續。若節點Vi+1離開時,同理進行除法,更新投票組公私鑰后刪除di+1并更新Primes。

算法1 Initialization。

輸入(K,n,t);

輸出(Primes,node)。

2.2.2 競選階段

報名競選的節點Ci在報名成功后,會生成一個(info,Addr)的信息包,同時在該信息包附上(Sig,U)的相關信息,Sig 為簽名,U 為給該信息包簽過名的節點投票公鑰積,兩者的初始化值均為0,Ci將該信息包序列化后廣播。

算法2 Campaign stage。

輸入 Candidatenode;

輸出M。

2.2.3 投票階段

1)子秘密的分割。

在節點Vi隨機生成投票私鑰的同時隨機生成一個用于分享的子秘密,在[0,(D/p-1)/n]區間隨機生成一個素數。為保證秘密的安全性,將其變式為:

隨之將其分割為n份子秘密份額,分別發送給其他對應節點,分割如下:

sonShareij的意義是節點Vi關于dj的子秘密份額發送給Vj。

2)投票簽名。

節點Vj在收到來自其他節點或自己的n份sonShareji(j=1,2,…,n)后計算:

3)簽名合成。

合成簽名后更新并廣播。

算法3 Voting stage。

2.2.4 驗證階段

任意參與節點通過投票公鑰Cpk,以及U 可驗證簽名結果的合法性,驗證公式為:

若驗證合法,則中的競選節點Ci成功當選為權益節點。

算法4 Verification stage。

輸入M_list;

輸出 Stackholders。

2.3 多投機制

針對CRT-Election 投票模型,設計一個多投機制,做出以下幾個設定:

設定1 若系統總共有n個參與節點,n-s個競選節點,s個投票節點,設定每個投票節點至多能夠投m票。

設定2 每個投票節點對每個競選節點至多只能投1 票。

酒過數巡,說到秦鐵崖的神勇無敵,酒到七成的秦鐵崖道:“秦某身經百戰,至今未落敗,奧秘何在?說出來諸位或許不信,奧秘就是,不怕受傷,不怕死!”

2.3.1 設定1分析

若系統原來選出權益節點是n-s個競選節點競爭s枚票數,假設在投票節點給競選節點投票的概率相同的理想情況下,那么選出第i個權益節點的概率為:

其中:Pv是投票節點給競選節點投票的概率,sum(i-1)為前i-1 個權益節點獲得的總票數。由式(12)可知,當i越大,后面權益節點選出的概率越小。在Pv不相同時,也不影響最終選出概率的趨勢變化。權益節點未能選出會影響后續區塊的生成和交易記賬。

若每個投票節點能夠投m票,相當于每個競選節點競爭s枚票數,此時選出第i個權益節點的概率為:

由式(13)可以看出,隨著i的變化,的概率保持穩定。同時對于投票節點來說,若支持的競選節點能夠成功出塊,讓區塊上鏈,則其也會有更多的誠實行為記錄。多投機制讓它支持的成功率從1/(n-s)上升至m/(n-s),由此激勵投票節點的投票積極性。

2.3.2 設定2分析

假若投票節點可以將自己的全部選票都投給一個競選節點,很明顯當競選節點通過賄賂部分投票節點,或者參與節點之間合謀時,很容易操縱投票過程,因此設定投票節點只能對不同的節點進行投票,避免敵手以此惡意競選是必要的。

2.4 競爭機制

與原來依靠資源競爭出塊和記賬不同,在本投票模型中,節點們通過自身的誠實記錄數提升競爭力。在共識的每一周期,根據上一周期節點的記錄數競爭本輪的出塊記賬權,其具體設定如下:

2)對于投票節點:其誠實的記錄在于周期內有效投票的記錄數量,有效投票即所支持的競選節點成為記賬節點后有成功出塊記錄。

在本輪競爭過程中,節點們其最終計算方式為:競爭/投票節點上輪有效記錄數×競爭/投票計算權重,以權重來調節當前系統的資源差異化,避免壟斷。

3 CRT?PoT共識機制

在CRT-PoT 的共識機制中,按時間分為一系列周期T,每一周期包括權益節點的選出,區塊生成以及區塊上鏈。具體的過程如下。

3.1 權益節點的選出

在n個節點參與共識下,通過投票系統選出m個權益節點需要分兩種情況:

1)啟動時期。

當該機制剛剛開始,周期處在起始周期0。在各節點的歷史記錄都為零的情況下,為了獲得更多的獎勵費,眾節點比起成為投票節點更愿意成為競選節點,導致競選節點可能難以獲得超過門限t的簽名數,從而難以有競選節點產生,最終導致系統啟動失敗。為此,在啟動階段,引入PoW 機制的算力證明,節點通過算力挖一個簡單難度的區塊,率先挖出區塊的前m個節點成為起始周期的權益節點。

2)穩定時期。

在起始周期過后,各節點的記錄有了變化。為激勵參與節點成為投票節點積極投票,同時也保證系統每周期能成功選出m個權益節點,采用多投機制。

算法5 Stackholders selection。

輸入 Participant node;

輸出 Stackholders。

3.2 區塊生成以及交易打包

如圖2 是區塊生成的示意圖。在每個周期中又分為多個時隙(slot),一個時隙只生成一個區塊。在每一時隙開始,由礦工通過簡單難度的PoW 挖出一個空的區塊頭,包含上一區塊哈希值(HashprevB)、隨機值(nonce)、當前鏈高度(height)、時間戳(timestamp),但是不包含交易。

圖2 區塊生成示意圖Fig.2 Schematic diagram of block generation

每一周期前,系統通過投票模型選出m個權益代表,每時隙中從m個權益代表前m-1 個負責交易管理,第m個Stackholder 負責打包交易進塊中。Stackholders 通過判定該區塊頭合法后,用私鑰對該區塊簽名,并采用經典的PBFT 的2/3 的投票原則:只有超過2/3 的Stackholders 在該區塊上簽字,該區塊才有上鏈的資格。

4 安全性分析

4.1 抗壟斷性

抗壟斷性就是保證在一定周期后,權益節點的選出不被部分節點掌握,其他節點仍然有機會成為權益節點,即在一定周期后節點之間的競爭權益節點依靠的資源分布是否聚集于某一部分節點。本節從理論層面分析PoT 和CRT-PoT的抗壟斷化性,比較PoT 和CRT-PoT 中擁有更多資源的節點和普通節點成功競選權益節點的概率比ρ隨著共識周期的變化。

在PoT 的起始周期0 中,若總共有n個競選節點,每個節點的未花費的satoshi 幣的分別為(coin1,coin2,…,coinn),要從中選出m個權益節點。根據PoT 的競選規則,每個競選節點被選中的概率為:

根據式(14)可知,在PoT 剛開始時擁有更多幣的參與節點成為Stackholder 概率更大。上一周期就是Stackholder 的節點再次成為Stackholder 的概率為:

其中:是在周期0 內每一時隙成功出塊后節點的代幣收益,K是本周期內節點成功出塊的個數,是m個權益節點的總代幣收益,sum(slot)是一周期內的時隙總數。而前一周期的普通節點成為這周期Stackholder 的概率為:

由式(15)(16)可知,擁有更多資源的節點在起始周期獲得更高概率成為權益節點之后,再次成為權益節點的概率總是比普通節點的概率高,其概率比,由此看概率比其實就是資源比值。只要節點誠實出塊,起始擁有更多資源的節點成為權益節點的概率總會高于普通節點,積累代幣收益越來越多,最終ρ會越來越小,形成壟斷化。

在CRT-PoT 起始周期0 中,成為權益節點的方法是依靠簡單的工作量證明,擁有更多算力資源的節點能獲得更多機會,每個參與節點被選中的概率為:

其中cali為節點i的算力資源。在起始周期之后,節點通過自身積累的誠實行為記錄獲得其他節點的投票,記錄越多,被投的機會越大。起始周期當選權益節點的節點再次成為權益節點的概率為:

由此可知,在PoT 中擁有更多資源的節點在后期成為權益節點的概率會越來越大,資源節點和普通節點的競選成功的概率比值ρ越來越小,而CRT-PoT 中ρ會維持一個相對穩定,普通節點有更公平的機會,因而能有效解決壟斷化的問題。

4.2 抗自私挖礦

自私挖礦的原理就在于惡意礦工挖到區塊后,不立即將其公布出去,而是在這之后繼續挖礦,在某一段時間之后將一段連續的區塊公布,而此時誠實礦工挖到的區塊因為長度不夠,不能作為主鏈而作廢。長此以往,以吸引其他礦工加入,加大挖取私鏈的幾率。

對于這種攻擊,CRT-PoT 采用的是記賬上鏈權和挖塊權分開,礦工只需要通過簡單的數學難題挖到空塊,塊中的記賬權,以及該塊是否能夠上主鏈由每一個周期的Stackholder節點們投票決定。一旦礦工一次性發布私鏈,Stackholder 節點們會判斷該區塊是否合法,決定是否投票,通過投票比重決定該塊是否最終能夠上鏈。對于惡意礦工來說,即使自己挖到的私鏈長度夠長,也不能確保一定能夠上鏈。

4.3 抗雙花攻擊

雙花攻擊就是字面上的意思就是一筆金額,花費兩次。其形成的原理就是若在區塊鏈中,有礦工同時挖到區塊,獲得該區塊的記賬權時,在區塊鏈上就會因此造成分叉,分成兩條鏈,只有出塊速度更高的分叉鏈才會形成主鏈。因此惡意節點在某區塊花費一筆金額后,在交易成功前,在該區塊上惡意分叉,重新構造一筆新交易,那么該筆金額就會成功花費兩次。

在PoW 或是PoS 中,若能成功分叉,就得掌握51%的算力或是51%的幣齡。而在CRT-PoT 中,節點的記賬權不在礦工手中,在于競選成功的節點。區塊能否上鏈也是由競選成功的節點投票決定。因此,若想操控區塊鏈分叉,首先得至少得獲得門限t個投票節點的支持,成為Stackholder 節點;其次得操控至少2/3 的Stackholder 節點,支持該塊成功上鏈。在CRT-PoT 中分叉的難度是非常大的,若將t設置得足夠大,要想獲得這么多投票節點的支持,也是一個長期誠實行為的積累。其行為時時刻刻受到投票節點的監督,一旦有惡意行為,將很難再次獲得投票節點的支持。對于理性節點來說,這將是得不償失的。

5 性能分析

5.1 與經典共識機制對比

在PoW 中,礦工通過解決數學難題挖到區塊上鏈,從而獲得該區塊的記賬權。隨著區塊難度的增大,區塊產生的時延越大。在比特幣中,每隔大約10 min 產生一個區塊。為了保證區塊鏈系統安全,也不能以降低難度而提高區塊生成速度,因此在PoW 中,共識的時延是比較高的。

在PoS 中,仍然是解決數學難題,采用幣齡(持幣數量×持幣時間)使該數學難題的難度減小。雖然在一定程度解決了PoW 的問題,提高了時延,但極大依賴于幣齡。如果幣齡大,挖塊簡單;否則,其難度和PoW 也相差無幾。因此,PoS在一定程度上提高了共識速度,但卻治標不治本。

在CRT-PoT 中,只需解決一個簡單數學難題,礦工挖到空塊頭,區塊上鏈交由Stackholder 節點投票決定,而Stackholder 節點只要在線就能進行投票操作,其在線率又受到投票節點的監督,大幅降低了共識時延。

5.2 與PoT共識機制對比

從PoT 和本文的方案來看,共識總共可以分為三部分:權益節點選出、區塊挖出和區塊上鏈,為便于分析性能,其時間消耗分別取為:共識時延(conDelay)、權益節點選出時延(SDelay)、區塊挖出時延(GDelay)和區塊上鏈時延(VDelay)。由于都是讓礦工通過簡單的工作量證明挖出區塊頭后交由權益節點記賬,因此兩個方案中GDelay 是一樣的。對于區塊的上鏈時延,由于本共識機制是基于PoT 改進其權益節點的選出方案,因此設置VDelayCRT?PoT=VDelayPoT,本文就將PoT 和CRT-PoT 的共識時延對比著重于權益節點選出時延對比上,具體的分析如下:

PoT 的權益節點選出采用的是跟隨幣機制:每一周期,有意參與的節點將自己所有的未花費的satoshi 幣,即UTXO(Unspent Transaction Outputs)按字典的順序排序組成列表,系統通過將區塊頭的哈希值與當前要選的權益節點的序號值進行哈希得出x,遍歷列表直到找出最小的大于x的satoshi 幣屬于的節點。若列表中未花費satoshi 幣的記錄有e1 條,排序算法的時間復雜度為O(e12),加上在最壞的情況下至少需要遍歷全部列表才找出一個權益節點的情況,若總共參與了n個節點,其時間復雜度為nO(e1),由于e1 ?n,最終sDelayPoT=O(n2)。

在CRT-PoT 的投票選出權益節點模型中,起始周期0 簡單的基于算力挖礦其復雜度可視為O(1),因此這一期間的時間復雜度可忽略不計,權益節點選出的時延主要來自穩定時期且投票機制的時延主要來源于計算的復雜度:

1)在節點的投票公私鑰生成期間,由式(1)(2)可知,一個節點有一次模冪運算(Kp),一次模乘運算(Km),節點加入或離開,由式(3)可知,節點加入或離開網絡時,信息的更新都是簡單的乘除計算,其復雜度都為O(1),可忽略不計。若有n個節點參與,則這一階段cal1=nKp+nKm。

2)在投票階段,由式(6)(8)可知,一個節點有一次模逆運算(Ki),兩次模乘運算。雖然在其他式中有普通的模運算,但相比起模乘、模冪和模逆運算,普通模運算算法簡單,時延可以忽略不計,因此若門限為t(t≤n),由于每個權益節點獲得的支持數不少于t,每個投票階段的tKi+2tKm≤cal2≤nKi+2nKm。

3)驗證階段,由式(11)可知,一個消息M驗證有兩次模冪運算,一次模乘運算,即cal3=2(n-s)Kp+(n-s)Km,其中s是投票節點數量,n-s為為競選節點的數量。

根據以上分析,最終投票機制的計算復雜度為:

根據快速冪取模算法Kp的時間復雜度為O(loge2),其中e2 為冪的大小,在本算法中近似于投票模型中的Primes 基礎數據的大小。模乘實際上相當于簡單的模冪,因此Km的時間復雜度也為O(loge3)(e3 ?e2),根據拓展歐幾里得求逆方法可得Ki的時間復雜度為O(loge4)(e2

綜上所得,在參與競選節點數的增加時,CRT-PoT 權益節點選出的時間相較于PoT 增長更緩慢,如圖3 所示。

圖3 PoT和CRT-PoT選出權益節點的時延趨勢Fig.3 Time delay trends of PoT and CRT-PoT in selecting stackholders

6 實驗分析

6.1 實驗環境

本實驗的實驗環境為Intel Core i5-6300HQ CPU 2.30 GHz 和12 GB 內存,采用的操作系統為64 位Windows 10,測試工具有:Goland 2021.1、go1.16.2。

6.2 實驗內容

6.2.1 探究primes以及參與節點數對CRT-Election的影響

在CRT-PoT 的CRT-Election 模型中,投票節點的投票公私鑰以及競選節點最終得到的總簽名的安全性均取決于Primes 中的基礎數據位數:其位數越大,投票節點的公私鑰以及總簽名的長度越長,在有惡意節點試圖破解密鑰以及偽造總簽名時的難度就越大,但與此同時也會帶來一個計算方面的時間消耗代價。與此同時,CRT-Election 模型的時間消耗還與參與節點數有關,因此設置參與節點作為自變量,探究在不同的Primes 的基礎數據位數下,對CRT-PoT 的權益節點選出算法時延的影響。

實驗1 設置參與節點總數N分別為:5、10、15、20、25、30、35、40、45、50,參與節點中有N4 個競選節點。其中設置CRT-PoT 中Primes 的基礎數據位數分別為50、150、250。

由圖4 可知,在基礎位數相同下,隨著參與節點數的增多,柱形圖隨著節點數的橫向趨勢走向呈現一個線性趨勢。在同一參與節點數下,柱形圖的縱向漲勢隨著Primes 基礎數據的位數增多而大致均勻增長。因此,盡管CRT-PoT 的投票方案帶來了一定的計算開銷,但是其影響可控,整個系統也更加安全。同時,在實際的區塊鏈系統共識中,Primes 基礎位數并不是實時變動,在這種情況下,隨著參與節點數的增多,CRT-PoT 投票方案的時延可以認為是一個線性增長。

圖4 Primes中基礎數據的位數以及參與節點數對CRT-Election的影響Fig.4 Influence of the number of bits of basic data and the number of participating nodes in Primes on CRT-Election

為了保證投票密鑰的安全性與變化性,也可以定期通過合理調整Primes 的大小來提高系統的安全性或共識速度。

6.2.2 探究CRT-PoT的抗壟斷性

實驗2 設置相同的參與競選資源節點和普通節點,比較其資源比ρ隨著共識周期的變化來比較抗壟斷化,設置總共有10 個節點參與競選,10 個節點中,設置4 個資源節點,6個普通節點。其起始競爭資源分別為:5、5、5、5、1、1、1、1、1、1,若節點們都是誠實出塊,比較其資源比ρ隨時間的變化。

如圖5 所示,隨著周期數的變化,PoT 中資源比ρ的值越來越大,意味著資源節點和普通節點之間的資源差距越來越大,記賬權被起始擁有更多資源的節點掌握;而CRT-PoT 的資源比ρ隨著時間變化逐漸趨于1,較為穩定。以上結果說明CRT-PoT 比PoT 有良好的抗壟斷性。需要說明的是,時間0 就是節點們參與區塊挖礦共識之前,資源節點和普通節點的資源差距比,就是實驗設置的起始競爭資源比。

圖5 PoT和CRT-PoT的抗壟斷性對比Fig.5 Antimonopoly comparison between PoT and CRT-PoT

6.2.3 探究CRT-PoT的共識性能

共識的過程是從礦工挖到區塊,選出記賬節點,記賬節點將交易寫入區塊,節點們對該區塊合法性檢驗,最后區塊上鏈的過程。在經典共識機制中,PoW 和PoS 中的共識過程與CRT-PoT 在區塊挖礦難度,記賬節點的選出方式,以及上鏈方式均有差異,因此從全局共識角度設置多輪共識,探究隨著共識輪數的變化,經典共識機制與CRT-PoT 的共識時延變化。本文方案基于PoT 的方案進行改進,因此將重點放在權益節點的選出方案上,探究隨著參與共識節點的數量變化,PoT 和CRT-PoT 的共識時延變化。

為了更加嚴謹地全面探究CRT-PoT 的共識性能,本節將分為兩個實驗分別探究與經典共識機制PoW、PoS 以及與PoT 的共識時延對比。

實驗3 與經典共識機制的時延對比。

設置50 個節點參與共識,區塊挖塊的難度值Diff 為20,共進行20 輪共識,測試PoW、PoS、CRT-PoT 每輪的共識時延變化,總共測試數據10 組,求取平均值,如圖6 所示。

圖6 CRT-PoT和PoW、PoS不同共識輪數時的時延對比Fig.6 Time delay comparison of CRT-PoT,PoW and PoS with different numbers of consensus rounds

從圖6 可知,由于哈希碰撞的不確定性,PoS 和PoW 的波動比較大,但總體上呈現CRT-PoT 的時延要低于PoW 和PoS,處于一個較穩定狀態。因為CRT-PoT 解決的是一個簡單的數學難題,其上鏈難度主要取決于Stackholder 節點,因此在第一輪選出Stackholder 節點時延波動較大,第一輪之后都趨于穩定。

實驗4 與PoT 相比的時延對比。

設置參與節點總數N分別為:5、10、15、20、25、30、35、40、45、50,參與節點中有N4 個競選節點。其中設置CRTPoT 中Primes 的基礎數據位數為250,比較PoT 和CRT-PoT 的時延。

如圖7 所示,隨著參與競選節點數的增加,PoT 的時延增長率顯然快于CRT-PoT 的增長率。CRT-PoT 增長率始終呈緩慢的線性增長,而PoT 的增長率越來越大。CRT-PoT 的共識時延相較于PoT 有著顯著的下降,因此,在競選節點數比較多的時候,本文的方案更顯優異。

圖7 PoT和CRT-PoT不同參與節點數時的時延對比Fig.7 Time delay comparison of PoT and CRT-PoT with different numbers of participating nodes

7 結語

本文為解決PoT 存在的記賬權壟斷化以及競爭權益節點數量增多時共識時延增長較快的問題,在PoT 的基礎上提出了基于中國剩余定理投票模型的共識機制,即CRT-PoT。以投票機制以及多投機制來解決壟斷化問題,該機制也同時保證了共識時延隨著競選節點增多而增長緩慢。最后從理論和實驗的角度來證明本文方案在抗壟斷化和共識速度上優于PoT 算法,更加適應如今的區塊鏈系統。

雖然本文提出的CRT-PoT 算法在記賬權抗壟斷化和共識效率上有優勢,但是也存在一些其他方面的問題,如競爭機制誠信積累考慮的場景不夠、投票節點與權益節點之間誠信獎勵不夠細化等。未來將在這個方向繼續研究,考慮在一些博弈場景下,搭建誠信獎勵模型,以求能達到激勵節點的同時,讓節點的收益均衡。

猜你喜歡
機制
構建“不敢腐、不能腐、不想腐”機制的思考
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
“三項機制”為追趕超越蓄力
當代陜西(2018年9期)2018-08-29 01:21:00
丹鳳“四個強化”從嚴落實“三項機制”
當代陜西(2017年12期)2018-01-19 01:42:33
保留和突破:TPP協定ISDS機制中的平衡
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
氫氣對缺血再灌注損傷保護的可能機制
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
打基礎 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 岛国精品一区免费视频在线观看| 久久一本精品久久久ー99| 成人欧美在线观看| 日本www色视频| 亚洲精品第五页| 91在线播放免费不卡无毒| 亚洲国产成人在线| 中字无码精油按摩中出视频| 伊人AV天堂| 激情综合网址| 日本成人在线不卡视频| 中文字幕丝袜一区二区| 亚洲中文久久精品无玛| 国产精品永久免费嫩草研究院| 91在线日韩在线播放| 无码国产伊人| 无码福利视频| 青青青草国产| 久久无码免费束人妻| 亚洲精品国产日韩无码AV永久免费网| 日韩成人午夜| 成人福利在线视频免费观看| 国产精品高清国产三级囯产AV| 男人天堂伊人网| 国产午夜一级毛片| 欧洲熟妇精品视频| 丰满少妇αⅴ无码区| 国产 在线视频无码| 性69交片免费看| 91毛片网| 在线播放国产99re| 国产天天射| 色婷婷成人| 亚洲高清中文字幕| 青草精品视频| 成年人福利视频| 国产高颜值露脸在线观看| 亚洲AV免费一区二区三区| 天天色天天操综合网| 日韩欧美中文字幕在线韩免费 | 久久综合干| 亚洲一区免费看| 亚洲第一极品精品无码| av天堂最新版在线| 又爽又大又光又色的午夜视频| 久久永久免费人妻精品| 一级一级一片免费| 亚洲精品桃花岛av在线| 不卡无码h在线观看| 青青操国产| 久久人搡人人玩人妻精品| 亚洲美女一区| 精品日韩亚洲欧美高清a| 亚洲一区二区无码视频| 国产人免费人成免费视频| 91久久国产综合精品| 精品综合久久久久久97超人| 亚洲人成网站在线观看播放不卡| 第一区免费在线观看| 免费Aⅴ片在线观看蜜芽Tⅴ| hezyo加勒比一区二区三区| 亚洲欧洲自拍拍偷午夜色| 亚洲成人精品久久| 亚洲AⅤ综合在线欧美一区| 欧美综合中文字幕久久| 免费不卡在线观看av| 欧美天堂久久| 亚洲高清中文字幕| 成人在线欧美| 亚洲AⅤ综合在线欧美一区| 国产美女一级毛片| 久久精品日日躁夜夜躁欧美| 亚洲欧洲AV一区二区三区| 久久综合丝袜长腿丝袜| 91无码视频在线观看| 91网址在线播放| h网址在线观看| 亚洲黄色激情网站| 欧美啪啪精品| 国产美女一级毛片| 性视频一区| 国产免费福利网站|