Title:投票證實:基於投票機制和聯盟封鎖鏈的高性能一致性協議算法
Abstract:比特幣引入了一種革命性的去中心化共識機制。然而,應用於公共區塊鏈的比特幣衍生共識機制不適合新興聯盟區塊鏈的部署場景。咱們提出了一種新的共識算法,即投票證實(POV)。協商一致由聯合體合做夥伴控制的分佈式節點協調,這些節點將經過投票進行分散仲裁。關鍵的想法是爲網絡參與者創建不一樣的安全身份,以便在不依賴第三方中介或沒法控制的公衆意識的狀況下,由機構在聯盟中的投票決定提交和驗證區塊。與徹底分散的一致性工做證實(POW)相比,POV具備可控的安全性、收斂可靠性、只需一個塊配置便可實現事務合理性和低延遲事務驗證時間。數據庫
Index Terms:區塊鏈,聯盟區塊鏈,共識,投票機制。安全
I、Introduction:服務器
區塊鏈源於比特幣[1],是一種分佈式數據庫、數據一致性算法、密碼技術、點對點傳輸等綜合技術。比特幣在對等網絡中維護分佈式帳簿,帳簿採用加密數據塊鏈的形式,包括整個網絡中全部經驗證的數字貨幣交易。與傳統的數字貨幣系統不一樣,人們能夠在不受信任的網絡中直接交易比特幣,而無需依賴第三方中介。比特幣密碼技術的使用使整個網絡數據透明、真實,保留了我的信息的匿名性,抵抗了基於計算能力競爭的整個網絡共識的雙薪攻擊。所以,區塊鏈做爲比特幣的基礎技術,掀起了研究熱潮。網絡
通常來講,區塊鏈能夠分爲三種類型:公共區塊鏈、私有區塊鏈和聯合區塊鏈[6]。區塊鏈技術是在公共區塊鏈中孵化出來的,但在實際應用中,聯盟區塊鏈能夠爲許多沒法解決的金融問題提供解決方案,例如遵照規則和法規、健康保險可移植性和責任法案(HIPAA)、反洗錢(AML)和了解您的客戶(KYC)法律。因爲主要的國際金融巨頭已經加入了R3 CEV區塊鏈的計劃[8],金融集團對財團區塊鏈更爲青睞。併發
公共區塊鏈一般被認爲是「徹底去中心化」。其共識算法依賴於公衆對計算能力的認識和競爭,不受規則和法規的約束。然而,當應用於商業界時,公共區塊鏈的共識機制(如POW)受到兩點限制:(1)其計算能力的競爭致使大量的能源浪費,並下降交易驗證的效率;(2)其交易驗證和區塊生成依賴於沒法控制的全網自主驗證,不符合商業社會法,不符合商業社會規則。dom
真正的商業社會是自由和干預的妥協結果。即便在金融集團中,聯合體成員也可能更喜歡控制交易驗證。可是,他們拒絕一個成員對交易記錄擁有絕對控制權。前者能夠經過投票機制來實現,後者能夠經過去中心化的區塊鏈來解決。所以,咱們設計了基於投票機制和聯盟區塊鏈的共識協議POV。分佈式
以銀行爲例,金融系統在管理上相對封閉,銀行間的障礙阻礙了信息、資源和帳戶相互認證的共享。若是多家銀行組成一個聯盟,利用區塊鏈共享一個分佈式帳簿,客戶的流動性信息能夠在不一樣的銀行之間快速共享。然而,因爲聯合體的銀行會要求僅驗證交易信息,所以公共區塊鏈的共識機制沒法知足這一要求,由於其「徹底分散」。在基於POV的財團區塊鏈系統中,區塊的提交和驗證僅由機構在聯盟中投票決定,其中一方有規則和條例。另外一方面,該系統可以實現銀行共同決策的權力下放,知足合規要求。爲了拒絕主導權,創建聯盟內部的內部控制機制,POV將投票權和執行權分離開來,以維護執行的獨立性。區塊生產的執行角色經過活動分配給一個可靠、無領導的專業團隊,這樣聯合體就沒必要依賴一家超級大國銀行機構做爲第三方信託代理。這個團隊將從整個網絡中招募並接受輪值選舉。函數
目前針對區塊鏈設計的共識機制速度較慢,由於區塊生產和安全性能消耗的時間和能量巨大。爲了在分佈式系統中實現一致性,一致性算法的不一樣折衷是做爲一種折衷。一種方法是嚇跑計算能力,如工做證實(PoW),比特幣[1]和以太坊[2],另外一種方法是使用代幣,如Peercoin[5]表示的股權證實(POS)和Bitshare[4]表示的委託股權證實(DPO)。除了這些不可避免的折扣以外,因爲存在分歧的可能性,現有的解決方案在安全要求下加速交易配置仍然困難。亞瑟等人。[3]分析了POW的安全性,發現litecoin和dogecoin、bitcoin是最突出的分叉,將塊生成間隔從10分鐘縮短到2.5分鐘和1分鐘。可是,爲了匹配比特幣的安全性,它們仍然須要28和47個塊配置,從而致使高延遲事務驗證。然而,本文提出的POV巧妙地利用了聯盟區塊鏈的特色。投票結果最終會生成一個獨特的有效塊,從而優化交易配置時間,提升系統吞吐量。性能
在本文中,咱們提出了POV的完整共識過程。在POV中,成員節點有投票權,高投票權的塊是無效的,使得有效的塊是惟一的,一些特殊的節點爲產生塊的權利而運行,以便在聯盟區塊鏈網絡中沒有任何第三方中介直接交易。咱們分析了證券化、交易合法性和分岔的可能性。如本文所示,POV在事務驗證中能夠得到超低延遲的優異性能。
II、威脅模型
節點能夠被攻擊併成爲對手。咱們假設工會成員的一些機器(不到一半)受到攻擊。系統能夠容忍不到50%的關鍵節點受到攻擊。對手能夠僞造交易或像正常交易同樣行事。網絡能夠分區。然而,對手不能破解和僞造簽名。
聯盟中的節點使用高性能、可靠的機器和操做系統,所以聯盟節點受到攻擊的可能性比普通節點小。網絡時間協議(NTP)服務器用於同步關鍵節點的時間。當一個關鍵節點從新啓動時,它將首先調整與NTP服務器同步的時間,而後參與協商一致的過程。
III、投票證實
假設已經成立了幾家公司做爲聯盟委員會,方便地共享業務數據,而且每一個專員表明一家公司。區塊鏈用於記錄特定的業務交易和運營。然而,沒有一家公司願意將生產塊的權利讓給其餘公司。結果,他們決定從全世界聘請一個管家團隊,並按期爲管家舉行選舉。團隊負責生產區塊,每一個區塊將提交給每一個公司進行驗證和投票,使聯盟委員會內的權力分散。爲確保團隊工做的安全性、效率和可靠性,這些公司決定:(a)管家將根據工做量得到高薪;(b)申請加入管家團隊的人必須由聯盟成員推薦並提交押金;(c)管家的工做將由管理層監督和評分。聯盟的成員,因此只有最誠實的人才能生存。
所以,咱們提出了一種共識機制POV,專門用於聯盟區塊鏈。區塊鏈系統由聯盟維護,由世界不一樣地區的企業和組織組成。在此聯盟鏈上開發的應用程序能夠爲全球網絡的終端用戶提供服務。
A、網絡模型
咱們爲網絡參與者創建不一樣的安全身份。在POV共識過程當中有四個角色:專員、管家、管家候選人和普通用戶。如圖1所示。
專員:
來自世界不一樣地區的多家企業或機構組成聯盟委員會,共同維護聯盟區塊鏈。專員是團委委員之一。在聯盟委員會中,新的專員必須被聯盟法接受(超出本條的範圍),並由在聯盟區塊鏈網絡中工做的機器表明。專員有權推薦、投票和評估管家。他們也有義務驗證和轉發區塊和交易。每一個專員都有相同的權利和義務,地位平等。區塊鏈網絡中生成的區塊將發送給全部專員進行驗證。當一個區塊收到至少51%的投票時,該區塊將被標記爲有效,並添加到區塊鏈中。投票結果能夠表明全體委員的意志。
管家:
管家專門生產區塊。管家節點的數量有限。管家身份的設計是指表決權與執行權的分離。委員會負責投票,管家負責生產區塊。管家就像比特幣上的礦工,但他們不須要爲了奪取生產區塊的權利而浪費計算能力,他們將被隨機指定生產區塊。管家將從網絡收集交易信息,並將其打包成一個塊,並在該塊上簽名。變成管家須要兩步:
·變成一個管家候選人
·贏得一次管家選舉
委員們投票選出管家候選人。管家輪流在任期週期內隨機生成區塊,並在任期屆滿後接受從新選舉。節點能夠同時是專員和管家。
管家選舉:
因爲管家數量有限,必須從管家候選人中選出一名管家,候選人將由全部委員投票選出。若是他們在選舉中輸了,他們能夠留在網上,等待下一次選舉。申請管家候選人有三個步驟:
·在聯合體區塊鏈系統中註冊一個用戶賬戶,並提交一份管家候選人申請。
·提交至少由電子委託人簽署的推薦信(經過密鑰加密)。推薦信相似於由專員經過非對稱加密調用函數生成的邀請代碼。私鑰用於加密推薦信內容,使推薦信不被僞造。
·提交押金以成爲管家候選人。
專員能夠保留專員和管家候選人的雙重角色,以便他們能夠推薦本身成爲管家候選人。
普通用戶:
這四個角色都使用密碼來驗證他們的身份。他們須要簽署他們發送的消息,而且他們的行爲能夠被驗證。普通用戶能夠隨時加入或退出網絡而無需受權,他們的行爲能夠是任意的。未經許可,不得參與數據塊生成過程,只能參與數據塊分發和消息轉發過程。他們能夠在使用系統服務的同時看到整個共識過程。
每一個角色的轉換如圖2所示。
B、共識過程
咱們的算法假設專員的數量爲nc,管家的數量爲nb,管家候選人的數量爲nbc,普通用戶的數量爲no。因爲節點能夠具備雙重身份,所以全部角色的總數爲nall,satis fies nall≤nc+nb+nbc,其中nb是量化的。在每一個任期週期中,咱們爲每一個管家分配一個數字,從0開始,最後一個數字是nb-1。咱們將Butler的任期設置爲tw,而且在每一個任期內都會生成bw+1block。最後一個塊是一個特殊塊,包括選舉結果和相關記錄,以及新選舉的管家節點的服務器信息。管家須要在分配的時間內生成一個區塊,這是區塊tb的包裝週期。圖3顯示了任期週期的共識模型。
每次生成和簽署一個有效的塊時,咱們都稱之爲一輪共識。在每輪共識結束時,管家調用一個函數來生成一個隨機數r,0≤r<nb。若是一個管家的編號等於r,那麼這個管家就是指定生成下一個塊的管家。一個塊必須至少有NC/2+1簽名,這些簽名由不一樣的專員發送,才能成爲有效的塊。若是在tb時間內沒有生成有效的塊,則編號爲r+1的管家將從新生成塊,並讓r=r+1。當r+1>nB時,r從0開始增長。若是至少有一個管家工做正常,網絡最終能夠達成共識。由於在一個打包週期內,只有一個塊能夠接收到至少NC/2+1簽名,因此每一個有效塊都具備相關性,而且區塊鏈不會分叉。
在任期週期內的最後一輪共識將產生BW+1區塊,這是一個特殊區塊。現任管家和管家候選人每每會在下一輪競選新的管家。在這一共識中,每一個委員都會給出一份投票名單,最終NB的頂級候選人將贏得選舉。選舉結果及相關記錄將寫入本專區。在達成這一特殊共識後,現任管家正式退休,新管家將在新一輪任期內開始工做。在每一輪任期內,徹底有BW+1共識基礎,產生了BW+1塊。
C、生成普通有效塊
有效塊的生成被稱爲一輪共識。一輪共識可能須要m個包裝週期(tb),若是管家i未能在tb時間內生成有效的塊,則該塊生產的許可權將移交給管家i+1。一輪共識的總時間爲tc=m tb(1≤m≤nb)。數字m意味着在這個共識中有m-1無效塊被放棄。當m≤nb時,生成有效塊包含如下步驟:
·S1全部節點均可以生成附加簽名的交易數據,同時接收交易數據,驗證接收到的交易數據是否有效,若是有效,將交易數據轉發給專員和管家;
·s2全部管家監控交易數據,將合法交易數據分別存儲到交易池中;
·(M = 1,R = get以前的隨機數(塊)。若是這是《first本tenure塊,而後在以前的最後一塊冰塊特別有效的預tenure綜合性大學。若是這個共識的冰淇淋生產的兩塊(《創世記》blockchainfirst塊),而後defaults R兩個零;
·S4 butler i(i=r)從事務池中取出一些事務,將它們打包成一個塊,並將該塊發送給全部專員。此塊的截止時間爲t,cut=get previous block comfirmtime()+m tb;
·S5在收到塊後,專員驗證塊中的數據,若是他們贊成今生產,則在塊頭上簽名並將簽名發送回管家;
·S6在收到至少NC/2+1簽名後,管家得到由NTP服務器簽名的時間戳信息。
·若是時間在T切割以前,管家能夠計算R值,將其寫入塊,並在塊上簽名,以證實生產商是本身製造的。而後Bulter將完整的有效塊發佈到整個網絡。跳到步驟8;
·S7若是時間超過T切割,則此塊將成爲無效塊。設r=r+1,m遞增,跳至步驟4;
·S8收到有效區塊後,全部管家將從交易池中刪除非法交易,獲取有效區塊的隨機編號R,開始下一輪共識。
特別是,若是m>n b,讓m=1增益,這意味着沒有一個管家能夠生成有效的塊。這可能發生在第4節討論的網絡分區狀況下。在這種狀況下,塊的生成將陷入死區,直到網絡恢復。
D、特殊有效塊的產生
特別選區是任期週期中的最後一個選區,旨在完成新管家的選舉。特殊塊的生成與普通塊的生成相似:
·s1在特殊區塊出現以前,全部專員將從當前管家和管家候選人的名單中生成一個序列,以造成投票名單;
·s2全部專員和現任管家將從全部專員處接收投票信息,並將其放入其內存池(事務池)。
·S3-S7相似於生成普通有效塊的S3-S7,特殊塊還須要獲取專員的簽名進行認證,並最終達成共識。與普通分組的區別在於,特殊分組包含投票信息,但不包含交易。通過計算,前NB節點將贏得選舉,成爲下一屆任期的新管家。
·S8製做完此特殊塊後,當前任期的管家將被解除職務,並刪除內存池中的相關投票信息。
E、一個任期週期
一般,管家候選人(NBC)的數量大於管家(NB)的數量。在聯盟區塊鏈的Genesis區塊生產以前,巴特勒候選人經過自我推薦或推薦的方式出現。當知足NBC≥NB條件時,第一批管家將由管家投票,其中一名管家將初始信息寫入Genesis區塊。而後開始一個正常的任期週期。一個任期週期包括如下步驟:
·s1在每一輪開始時,r=get previous block random num();
·S2完成BW輪共識,生成BW普通有效塊;
·S3在(BW+1)第三輪共識中,這是最後一輪共識,專員更新他們的巴特勒候選人名單的等級,並投票選舉。將生成一個包含投票信息的特殊塊。
·S4任期結束。循環執行步驟1-4。
若是NBC<N B,專員將在沒有候選人的狀況下經過自我推薦補充候選人數量。
F、投票過程
有兩個主要的投票程序。第一個是對區塊生產的投票,第二個是對管家候選人的投票。委員們經過返回簽名進行投票。
投票支持區塊生產。巴特勒,我生成一個塊,併發送給全部專員。若是專員贊成生成此塊,他將加密塊頭並將簽名返回給Butler I。若是Butler I在預約時間內收到至少NC/2+1簽名,則該塊有效。不然,塊無效,將由管家I+1複製。
投票給管家候選人。管家J向全部委員發送投票請求。在收集和統計選票後,管家J生成一個帶有選舉結果和相關記錄的特殊塊。而後,管家J將把這個區塊發送給全部專員進行驗證。
專員的投票信息是兩種票的組合:
·計分票:每一個專員都有一個記錄管家候選人得分的清單,專員選擇一個得分高的候選人序列。
·指定票:專員在考慮人的因素的狀況下,對候選人進行特定的收集,或設置隨機的候選人收集,這增長了管家的流動性。
G、時間同步策略
NTP服務器是一個受信任的實體,它爲事務提供並簽署時間戳。管家須要從NTP服務器獲取時間信息,NTP服務器將簽署時間戳以確保時間信息不被篡改。例如:
•s1管家向全部專員發送街區;
•s2若是專員贊成此區塊,則在區塊標題上簽名並返回簽名;
•S3當Butler至少收到NC/2+1簽名時,這些簽名將依次附加在塊頭以後,新的塊頭將發送到NTP服務器;
•S4在接收到塊頭以後,NTP服務器提供當前時間戳,加密新的塊頭和時間戳,生成簽名,並將時間戳和簽名返回給管家。
•S5 Butler從NTP服務器接收消息,驗證消息,提取時間戳信息,而後獲取時間戳做爲塊的配置時間,將簽名附加到新塊頭的末尾,用時間戳和Butler本身的簽名完成塊,而後釋放塊。
•網絡中的S6節點能夠驗證數據塊的時間信息。根據tcut=get previous block comfirm time()+m tb,若是該塊的確認時間小於tcut,則該塊最終有效。
圖5獲取時間戳以生成塊的過程。
H、隨機數字R的產生
每一個塊生成一個隨機數,肯定誰將是下一個管家,這確保管家以隨機順序生成塊。隨機數生成算法以下:
假設管家已收到K專員的簽名,用簽名[I]表示(0≤I≤K,NC/2<K≤NC−1)。從NTP服務器接收它的時間是時間戳。獲得Rsource:
假設取字符串最後32位的函數是substringend32(string),sor是:
因爲每一個塊頭的值是不可預測的,咱們能夠得到一個不可預測的資源和一個隨機數r,防止管家可能聯合起來,經過使r值以某種模式出現而得到更多收入的可能性。
I、聯盟基金
聯盟成立後,將創建一個帳戶,用於存儲管家候選人提交的押金和管家的工資。管家的效率獲得了獎勵,基本上是成功驗證的塊的數量。各專員有義務按期補充聯盟基金。
J、激發機制
管家候選人能夠隨時放棄他的身份。當它退出時,若是沒有任何不良記錄,它會找回本身的存款。並且,若是巴特勒在任期內申請退出網絡,他就沒法取回他的存款,由於這是一種不良行爲。
每一個專員都會保留一份管家候選人名單,並對他們的行爲進行評估。評分規則包括:
•每次專員經過並簽署一個街區,它將給管家額外的分數,不然分數將降低。
•當管家節點爲Fluine且錯過區塊生產時,分數將被清除,這意味着當管家在線時,他須要從新開始評分。
一個管家可能有不一樣的委員記錄的分數。分數表明委員的信任程度,也成爲投票的理由之一。
通過一段特定的時間後,管家和管家候選人將根據他們生成的有效積木數量從聯盟基金中得到獎勵,這樣他們就能夠有動力接受工做、誠實工做和長時間在線。
IV、性能分析
基於投票機制和聯盟區塊鏈,提出了一個完整的共識模型。因爲安全性和可用性的重要性,當前的共識機制犧牲了性能,以保證安全性。在保證安全的前提下,該模型可以保證區塊鏈的高性能和低延遲的交易識別。在本章中,咱們將分析POV的可靠性,它能夠由兩個參數控制:投票機制和激勵機制。最後,咱們比較了POV和現有的基於POW的區塊鏈的性能,代表POV能夠在低事務延遲的狀況下得到更高的性能。
A、安全性
引理4.1:假設專員的人數是北卡羅來納州。只要NC/2+1以上的專員有效工做,區塊是安全和合法的。
證實:假設能夠有效地驗證非法塊。因爲管家必須獲取超過NC/2+1的簽名才能生成有效的區塊,在有效的專員數量大於NC/2+1的狀況下,有效的專員不會簽署非法區塊。因此非法區塊的簽名數量最多
NC−(NC/2+1)=NC/2−1。所以,假設是失敗的,原來的命題是正確的。
B.可靠性
爲了在贏得選舉後得到獎勵,管家必須保持最長的在線時間,誠實的工做,充分肯定在規定時間內生產塊的責任。
引理4.2:管家團隊愈來愈可靠。
證據:若是區塊生產不符合系統規則,區塊不能經過專員的驗證,管家的分數將降低。所以,在選舉中得到選票的可能性會下降。在選舉中的失敗使管家失去了產生積木和得到利益的機會。能夠證實,對於試圖建立非法積木以在選舉中得到成功或任何利益的管家來講,是很困難的。可靠的管家更有可能在選舉中獲勝,而且系統將變得更加可靠。
管家的工做可靠性是可控的,咱們能夠用兩個參數來調整管家工做的可靠性:投票數K和管家收入B。
首先,咱們分析每一個委員的投票數。根據投票規則,在每輪選舉中,由全國委員會委員從全國委員會巴特勒候選人中選出全國委員會巴特勒,經過創建數學模型,研究了每一個陪審團所投的最低票數k,這是最簡單、省時、公平、合理的投票規則。
在不考慮計分機制影響的狀況下,咱們假設投票是隨機的,沒有任何放棄,每一個委員投K票,那麼每一個候選人得到投票的機率是相同的,K/NBC。投票活動原則上服從二項分佈:
管家候選人得到x票的機率是p(x):
爲了使投票結果更加公正,咱們但願管家能得到的票數超過NC/2。所以,咱們能夠肯定候選人投票超過NC/2的機率p1。
爲了在全國廣播公司的候選人中選出全國廣播公司的管家,候選人在選舉中獲勝的機率是p2。
根據(4)(5),知足(6)的最小k值是最佳票數。
例如,咱們設置參數nc=20,nb=50,nbc=200,繪製p1和p2的圖像,如圖6所示。橫座標爲k,縱座標爲機率值。咱們能夠從p1和p2的曲線交點獲得最優值k。
(a)原始圖/原始地圖/原始字典
(b)放大圖/放大地圖/放大字典
圖6.P1和P2的分佈圖。在曲線相交處可獲得最佳K值。咱們能夠從右邊放大的地圖上看到細節。當k≥81,p1>p2,當k<81,p1<p2時,k的最佳值爲81。
如圖6所示,當k=81時,每一個委員能夠提交81票支持81名巴特勒候選人。贏得選舉的管家得到的選票可能超過NC/2(管家人數的一半),這意味着當選的管家能夠得到超過一半的管家承認。這樣,投票結果將更加科學和公正,以便大多數委員都能承認投票結果。當POV應用於不一樣的系統時,能夠經過改變NC、NB、NBC的值來配置K。
經過引入評分機制,一個工做可靠的管家會獲得更高的分數。所以,一個誠實的管家更有可能在選舉中獲得分數票,每一個專員能夠獨立地給每一個管家評分(第3.f節)。咱們能夠將公式(4)改寫爲:
若是α>0,則意味着因爲分數較高,候選人被委員投票的機率較高。α<0表明候選人得到選票的機會低於平均值。經過設置α=−0.三、−0.二、−0.1,0,0.1,0.2,0.3,咱們能夠比較不一樣狀況下的機率分佈。結果如圖7所示。
圖7
如圖7所示,當k爲固定值時,管家的工做越可靠,管家在任期內獲得的分數越高,所以,管家做爲候選人得到選票的機率越高,贏得選舉的可能性也越大。
第二個參數是管家的利益。在一個任期週期內,候選人i有可能當選爲管家。在成爲管家後,管家有1/nb的機率在每一個包裝週期包裝一個塊。假設一個區塊的獎勵爲b,咱們將單個包裝週期的平均能源成本定義爲ei。在n個週期後,總成本爲ei n。咱們能夠定義一個事件,以下所示:管家候選人i成功贏得了選舉,併產生了一個有效的K區(k=1,2,·························咱們將pi表示爲有效塊的打包機率。
咱們將過程EIK做爲一個相同的獨立分佈(IID)。那麼,在n個包裝週期後,管家能夠獲得的總獎勵是:
Ri遵循二項分佈,平均值表示爲:
只有當μ(ri)超過0,即
咱們能夠得出以下結論。考慮到計分機制和投票機制,試圖破壞該系統的管家將沒法發射積木,從而得到負等級。所以,管家或候選人贏得選舉的可能性低於平均水平。若是系統中有比預期數量更多的候選人,不可靠的候選人將退出網絡,由於他們微薄的獎勵沒法補償他們的能源成本。條件(6)(8)能夠做爲候選人質量和數量控制的標準。
C、交易結局姓
引理4.3:最終能夠生成一個塊,它是惟一的。
證實:根據第3節中普通有效塊生成過程的步驟7,未能在分配的時間內生成有效塊的管家將失去生成該塊的機會,並將執行權限留給下一個節點。只要至少有一個巴特勒節點是誠實的,有效的塊最終將在一輪共識中生成。經過驗證時間戳和tcut,每一個有效塊都是惟一的。
D、區塊鏈不分叉
引理4.4:區塊鏈永遠不會分叉。
證實:考慮到網絡分區可能致使區塊鏈分岔,咱們假設網絡環境分爲兩個徹底隔離的部分,A和B,A B=∅。只要其中一名分區專員金額A≥NC/2+1。在區域中,仍然能夠生成和驗證塊。可是在B區域,交易不能繼續被確認,而且塊不能被驗證和生成,由於沒有一個管家能夠在B區域收到至少NC/2+1簽名。所以POV容許最多兩個網絡分區,而且不能容許兩個區域中的管家平均分開。
E、低延遲的交易驗證
POV共識機制旨在加快區塊生產。它能夠提供低延遲事務驗證和高吞吐量(每秒事務數)。根據對比特幣網絡中信息的評估[7],比特幣網絡中一個區塊的傳播速度約爲6.5s,理想狀況下的POV,區塊生成的限制時間爲tb(可設置約15s),使有效區塊在15s內傳播到整個網絡。
圖8 事務驗證時間的性能比較
根據Gervais的研究[3],POW在約10分鐘內生成一個塊,有效塊中的事務須要約1小時(生成6個塊)才能確認[1]。以太坊須要至少37個配置來匹配比特幣的安全性,平均25秒的數據塊間隔,事務驗證延遲約爲15分鐘。Litecoin(數據塊間隔=2.5分鐘,須要28個配置)和DogeCoin(數據塊間隔=1分鐘,須要47個配置)須要70分鐘和47分鐘的事務延遲。時間[ 3 ]。圖9顯示了與基於POV的區塊鏈和一些基於POW的區塊鏈的比較圖。從理論上講,與這些基於POW的區塊鏈相比,POV表現出最佳的性能。
此外,POV在低功耗方面表現突出。基於良好的協同機制,POV不須要浪費大量的計算能力,就能夠在聯盟區塊鏈中達成共識。
V、結論
在本文中,咱們提出了一種新的共識機制(POV),專門用於聯盟區塊鏈。基於投票活動和投票機制的核心思想,設計了網絡參與者的四種身份。前者保證了投票權與執行權的分離,加強了布爾特角色的獨立性,同時也保證了聯合體內部的內部控制制度。對於後者,在至少NC/2+1專員有效工做的狀況下,咱們的分析代表,POV能夠保證安全性、交易效率、低功耗,確保區塊鏈永不分叉。經過參數整定進一步分析了POV的可靠性,並從低事務延遲的角度論證了其強大的性能。
確認
本課題獲得了國家重點梯級研發項目(2017年YFB08034.2016YFB0800 101)、國家天然科學基金(NSFC)第61671001號、第61521003號、廣東重點項目(GD2016B03030500)、深圳研究項目(ZDYS20160311739 42八、JCYJ2017030609303052一、JCYJ201503110072474)的支持。
Title:投票證實:基於投票機制和聯盟封鎖鏈的高性能一致性協議
Abstract:比特幣引入了一種革命性的去中心化共識機制。然而,應用於公共區塊鏈的比特幣衍生共識機制不適合新興聯盟區塊鏈的部署場景。咱們提出了一種新的共識算法,即投票證實(POV)。協商一致由聯合體合做夥伴控制的分佈式節點協調,這些節點將經過投票進行分散仲裁。關鍵的想法是爲網絡參與者創建不一樣的安全身份,以便在不依賴第三方中介或沒法控制的公衆意識的狀況下,由機構在聯盟中的投票決定提交和驗證區塊。與徹底分散的一致性工做證實(POW)相比,POV具備可控的安全性、收斂可靠性、只需一個塊配置便可實現事務合理性和低延遲事務驗證時間。
Index Terms:區塊鏈,聯盟區塊鏈,共識,投票機制。
I、Introduction:
區塊鏈源於比特幣[1],是一種分佈式數據庫、數據一致性算法、密碼技術、點對點傳輸等綜合技術。比特幣在對等網絡中維護分佈式帳簿,帳簿採用加密數據塊鏈的形式,包括整個網絡中全部經驗證的數字貨幣交易。與傳統的數字貨幣系統不一樣,人們能夠在不受信任的網絡中直接交易比特幣,而無需依賴第三方中介。比特幣密碼技術的使用使整個網絡數據透明、真實,保留了我的信息的匿名性,抵抗了基於計算能力競爭的整個網絡共識的雙薪攻擊。所以,區塊鏈做爲比特幣的基礎技術,掀起了研究熱潮。
通常來講,區塊鏈能夠分爲三種類型:公共區塊鏈、私有區塊鏈和聯合區塊鏈[6]。區塊鏈技術是在公共區塊鏈中孵化出來的,但在實際應用中,聯盟區塊鏈能夠爲許多沒法解決的金融問題提供解決方案,例如遵照規則和法規、健康保險可移植性和責任法案(HIPAA)、反洗錢(AML)和了解您的客戶(KYC)法律。因爲主要的國際金融巨頭已經加入了R3 CEV區塊鏈的計劃[8],金融集團對財團區塊鏈更爲青睞。
公共區塊鏈一般被認爲是「徹底去中心化」。其共識算法依賴於公衆對計算能力的認識和競爭,不受規則和法規的約束。然而,當應用於商業界時,公共區塊鏈的共識機制(如POW)受到兩點限制:(1)其計算能力的競爭致使大量的能源浪費,並下降交易驗證的效率;(2)其交易驗證和區塊生成依賴於沒法控制的全網自主驗證,不符合商業社會法,不符合商業社會規則。
真正的商業社會是自由和干預的妥協結果。即便在金融集團中,聯合體成員也可能更喜歡控制交易驗證。可是,他們拒絕一個成員對交易記錄擁有絕對控制權。前者能夠經過投票機制來實現,後者能夠經過去中心化的區塊鏈來解決。所以,咱們設計了基於投票機制和聯盟區塊鏈的共識協議POV。
以銀行爲例,金融系統在管理上相對封閉,銀行間的障礙阻礙了信息、資源和帳戶相互認證的共享。若是多家銀行組成一個聯盟,利用區塊鏈共享一個分佈式帳簿,客戶的流動性信息能夠在不一樣的銀行之間快速共享。然而,因爲聯合體的銀行會要求僅驗證交易信息,所以公共區塊鏈的共識機制沒法知足這一要求,由於其「徹底分散」。在基於POV的財團區塊鏈系統中,區塊的提交和驗證僅由機構在聯盟中投票決定,其中一方有規則和條例。另外一方面,該系統可以實現銀行共同決策的權力下放,知足合規要求。爲了拒絕主導權,創建聯盟內部的內部控制機制,POV將投票權和執行權分離開來,以維護執行的獨立性。區塊生產的執行角色經過活動分配給一個可靠、無領導的專業團隊,這樣聯合體就沒必要依賴一家超級大國銀行機構做爲第三方信託代理。這個團隊將從整個網絡中招募並接受輪值選舉。
目前針對區塊鏈設計的共識機制速度較慢,由於區塊生產和安全性能消耗的時間和能量巨大。爲了在分佈式系統中實現一致性,一致性算法的不一樣折衷是做爲一種折衷。一種方法是嚇跑計算能力,如工做證實(PoW),比特幣[1]和以太坊[2],另外一種方法是使用代幣,如Peercoin[5]表示的股權證實(POS)和Bitshare[4]表示的委託股權證實(DPO)。除了這些不可避免的折扣以外,因爲存在分歧的可能性,現有的解決方案在安全要求下加速交易配置仍然困難。亞瑟等人。[3]分析了POW的安全性,發現litecoin和dogecoin、bitcoin是最突出的分叉,將塊生成間隔從10分鐘縮短到2.5分鐘和1分鐘。可是,爲了匹配比特幣的安全性,它們仍然須要28和47個塊配置,從而致使高延遲事務驗證。然而,本文提出的POV巧妙地利用了聯盟區塊鏈的特色。投票結果最終會生成一個獨特的有效塊,從而優化交易配置時間,提升系統吞吐量。
在本文中,咱們提出了POV的完整共識過程。在POV中,成員節點有投票權,高投票權的塊是無效的,使得有效的塊是惟一的,一些特殊的節點爲產生塊的權利而運行,以便在聯盟區塊鏈網絡中沒有任何第三方中介直接交易。咱們分析了證券化、交易合法性和分岔的可能性。如本文所示,POV在事務驗證中能夠得到超低延遲的優異性能。
II、威脅模型
節點能夠被攻擊併成爲對手。咱們假設工會成員的一些機器(不到一半)受到攻擊。系統能夠容忍不到50%的關鍵節點受到攻擊。對手能夠僞造交易或像正常交易同樣行事。網絡能夠分區。然而,對手不能破解和僞造簽名。
聯盟中的節點使用高性能、可靠的機器和操做系統,所以聯盟節點受到攻擊的可能性比普通節點小。網絡時間協議(NTP)服務器用於同步關鍵節點的時間。當一個關鍵節點從新啓動時,它將首先調整與NTP服務器同步的時間,而後參與協商一致的過程。
III、投票證實
假設已經成立了幾家公司做爲聯盟委員會,方便地共享業務數據,而且每一個專員表明一家公司。區塊鏈用於記錄特定的業務交易和運營。然而,沒有一家公司願意將生產塊的權利讓給其餘公司。結果,他們決定從全世界聘請一個管家團隊,並按期爲管家舉行選舉。團隊負責生產區塊,每一個區塊將提交給每一個公司進行驗證和投票,使聯盟委員會內的權力分散。爲確保團隊工做的安全性、效率和可靠性,這些公司決定:(a)管家將根據工做量得到高薪;(b)申請加入管家團隊的人必須由聯盟成員推薦並提交押金;(c)管家的工做將由管理層監督和評分。聯盟的成員,因此只有最誠實的人才能生存。
所以,咱們提出了一種共識機制POV,專門用於聯盟區塊鏈。區塊鏈系統由聯盟維護,由世界不一樣地區的企業和組織組成。在此聯盟鏈上開發的應用程序能夠爲全球網絡的終端用戶提供服務。
A、網絡模型
咱們爲網絡參與者創建不一樣的安全身份。在POV共識過程當中有四個角色:專員、管家、管家候選人和普通用戶。如圖1所示。
專員:
來自世界不一樣地區的多家企業或機構組成聯盟委員會,共同維護聯盟區塊鏈。專員是團委委員之一。在聯盟委員會中,新的專員必須被聯盟法接受(超出本條的範圍),並由在聯盟區塊鏈網絡中工做的機器表明。專員有權推薦、投票和評估管家。他們也有義務驗證和轉發區塊和交易。每一個專員都有相同的權利和義務,地位平等。區塊鏈網絡中生成的區塊將發送給全部專員進行驗證。當一個區塊收到至少51%的投票時,該區塊將被標記爲有效,並添加到區塊鏈中。投票結果能夠表明全體委員的意志。
管家:
管家專門生產區塊。管家節點的數量有限。管家身份的設計是指表決權與執行權的分離。委員會負責投票,管家負責生產區塊。管家就像比特幣上的礦工,但他們不須要爲了奪取生產區塊的權利而浪費計算能力,他們將被隨機指定生產區塊。管家將從網絡收集交易信息,並將其打包成一個塊,並在該塊上簽名。變成管家須要兩步:
·變成一個管家候選人
·贏得一次管家選舉
委員們投票選出管家候選人。管家輪流在任期週期內隨機生成區塊,並在任期屆滿後接受從新選舉。節點能夠同時是專員和管家。
管家選舉:
因爲管家數量有限,必須從管家候選人中選出一名管家,候選人將由全部委員投票選出。若是他們在選舉中輸了,他們能夠留在網上,等待下一次選舉。申請管家候選人有三個步驟:
·在聯合體區塊鏈系統中註冊一個用戶賬戶,並提交一份管家候選人申請。
·提交至少由電子委託人簽署的推薦信(經過密鑰加密)。推薦信相似於由專員經過非對稱加密調用函數生成的邀請代碼。私鑰用於加密推薦信內容,使推薦信不被僞造。
·提交押金以成爲管家候選人。
專員能夠保留專員和管家候選人的雙重角色,以便他們能夠推薦本身成爲管家候選人。
普通用戶:
這四個角色都使用密碼來驗證他們的身份。他們須要簽署他們發送的消息,而且他們的行爲能夠被驗證。普通用戶能夠隨時加入或退出網絡而無需受權,他們的行爲能夠是任意的。未經許可,不得參與數據塊生成過程,只能參與數據塊分發和消息轉發過程。他們能夠在使用系統服務的同時看到整個共識過程。
每一個角色的轉換如圖2所示。
B、共識過程
咱們的算法假設專員的數量爲nc,管家的數量爲nb,管家候選人的數量爲nbc,普通用戶的數量爲no。因爲節點能夠具備雙重身份,所以全部角色的總數爲nall,satis fies nall≤nc+nb+nbc,其中nb是量化的。在每一個任期週期中,咱們爲每一個管家分配一個數字,從0開始,最後一個數字是nb-1。咱們將Butler的任期設置爲tw,而且在每一個任期內都會生成bw+1block。最後一個塊是一個特殊塊,包括選舉結果和相關記錄,以及新選舉的管家節點的服務器信息。管家須要在分配的時間內生成一個區塊,這是區塊tb的包裝週期。圖3顯示了任期週期的共識模型。
每次生成和簽署一個有效的塊時,咱們都稱之爲一輪共識。在每輪共識結束時,管家調用一個函數來生成一個隨機數r,0≤r<nb。若是一個管家的編號等於r,那麼這個管家就是指定生成下一個塊的管家。一個塊必須至少有NC/2+1簽名,這些簽名由不一樣的專員發送,才能成爲有效的塊。若是在tb時間內沒有生成有效的塊,則編號爲r+1的管家將從新生成塊,並讓r=r+1。當r+1>nB時,r從0開始增長。若是至少有一個管家工做正常,網絡最終能夠達成共識。由於在一個打包週期內,只有一個塊能夠接收到至少NC/2+1簽名,因此每一個有效塊都具備相關性,而且區塊鏈不會分叉。
在任期週期內的最後一輪共識將產生BW+1區塊,這是一個特殊區塊。現任管家和管家候選人每每會在下一輪競選新的管家。在這一共識中,每一個委員都會給出一份投票名單,最終NB的頂級候選人將贏得選舉。選舉結果及相關記錄將寫入本專區。在達成這一特殊共識後,現任管家正式退休,新管家將在新一輪任期內開始工做。在每一輪任期內,徹底有BW+1共識基礎,產生了BW+1塊。
C、生成普通有效塊
有效塊的生成被稱爲一輪共識。一輪共識可能須要m個包裝週期(tb),若是管家i未能在tb時間內生成有效的塊,則該塊生產的許可權將移交給管家i+1。一輪共識的總時間爲tc=m tb(1≤m≤nb)。數字m意味着在這個共識中有m-1無效塊被放棄。當m≤nb時,生成有效塊包含如下步驟:
·S1全部節點均可以生成附加簽名的交易數據,同時接收交易數據,驗證接收到的交易數據是否有效,若是有效,將交易數據轉發給專員和管家;
·s2全部管家監控交易數據,將合法交易數據分別存儲到交易池中;
·(M = 1,R = get以前的隨機數(塊)。若是這是《first本tenure塊,而後在以前的最後一塊冰塊特別有效的預tenure綜合性大學。若是這個共識的冰淇淋生產的兩塊(《創世記》blockchainfirst塊),而後defaults R兩個零;
·S4 butler i(i=r)從事務池中取出一些事務,將它們打包成一個塊,並將該塊發送給全部專員。此塊的截止時間爲t,cut=get previous block comfirmtime()+m tb;
·S5在收到塊後,專員驗證塊中的數據,若是他們贊成今生產,則在塊頭上簽名並將簽名發送回管家;
·S6在收到至少NC/2+1簽名後,管家得到由NTP服務器簽名的時間戳信息。
·若是時間在T切割以前,管家能夠計算R值,將其寫入塊,並在塊上簽名,以證實生產商是本身製造的。而後Bulter將完整的有效塊發佈到整個網絡。跳到步驟8;
·S7若是時間超過T切割,則此塊將成爲無效塊。設r=r+1,m遞增,跳至步驟4;
·S8收到有效區塊後,全部管家將從交易池中刪除非法交易,獲取有效區塊的隨機編號R,開始下一輪共識。
特別是,若是m>n b,讓m=1增益,這意味着沒有一個管家能夠生成有效的塊。這可能發生在第4節討論的網絡分區狀況下。在這種狀況下,塊的生成將陷入死區,直到網絡恢復。
D、特殊有效塊的產生
特別選區是任期週期中的最後一個選區,旨在完成新管家的選舉。特殊塊的生成與普通塊的生成相似:
·s1在特殊區塊出現以前,全部專員將從當前管家和管家候選人的名單中生成一個序列,以造成投票名單;
·s2全部專員和現任管家將從全部專員處接收投票信息,並將其放入其內存池(事務池)。
·S3-S7相似於生成普通有效塊的S3-S7,特殊塊還須要獲取專員的簽名進行認證,並最終達成共識。與普通分組的區別在於,特殊分組包含投票信息,但不包含交易。通過計算,前NB節點將贏得選舉,成爲下一屆任期的新管家。
·S8製做完此特殊塊後,當前任期的管家將被解除職務,並刪除內存池中的相關投票信息。
E、一個任期週期
一般,管家候選人(NBC)的數量大於管家(NB)的數量。在聯盟區塊鏈的Genesis區塊生產以前,巴特勒候選人經過自我推薦或推薦的方式出現。當知足NBC≥NB條件時,第一批管家將由管家投票,其中一名管家將初始信息寫入Genesis區塊。而後開始一個正常的任期週期。一個任期週期包括如下步驟:
·s1在每一輪開始時,r=get previous block random num();
·S2完成BW輪共識,生成BW普通有效塊;
·S3在(BW+1)第三輪共識中,這是最後一輪共識,專員更新他們的巴特勒候選人名單的等級,並投票選舉。將生成一個包含投票信息的特殊塊。
·S4任期結束。循環執行步驟1-4。
若是NBC<N B,專員將在沒有候選人的狀況下經過自我推薦補充候選人數量。
F、投票過程
有兩個主要的投票程序。第一個是對區塊生產的投票,第二個是對管家候選人的投票。委員們經過返回簽名進行投票。
投票支持區塊生產。巴特勒,我生成一個塊,併發送給全部專員。若是專員贊成生成此塊,他將加密塊頭並將簽名返回給Butler I。若是Butler I在預約時間內收到至少NC/2+1簽名,則該塊有效。不然,塊無效,將由管家I+1複製。
投票給管家候選人。管家J向全部委員發送投票請求。在收集和統計選票後,管家J生成一個帶有選舉結果和相關記錄的特殊塊。而後,管家J將把這個區塊發送給全部專員進行驗證。
專員的投票信息是兩種票的組合:
·計分票:每一個專員都有一個記錄管家候選人得分的清單,專員選擇一個得分高的候選人序列。
·指定票:專員在考慮人的因素的狀況下,對候選人進行特定的收集,或設置隨機的候選人收集,這增長了管家的流動性。
G、時間同步策略
NTP服務器是一個受信任的實體,它爲事務提供並簽署時間戳。管家須要從NTP服務器獲取時間信息,NTP服務器將簽署時間戳以確保時間信息不被篡改。例如:
•s1管家向全部專員發送街區;
•s2若是專員贊成此區塊,則在區塊標題上簽名並返回簽名;
•S3當Butler至少收到NC/2+1簽名時,這些簽名將依次附加在塊頭以後,新的塊頭將發送到NTP服務器;
•S4在接收到塊頭以後,NTP服務器提供當前時間戳,加密新的塊頭和時間戳,生成簽名,並將時間戳和簽名返回給管家。
•S5 Butler從NTP服務器接收消息,驗證消息,提取時間戳信息,而後獲取時間戳做爲塊的配置時間,將簽名附加到新塊頭的末尾,用時間戳和Butler本身的簽名完成塊,而後釋放塊。
•網絡中的S6節點能夠驗證數據塊的時間信息。根據tcut=get previous block comfirm time()+m tb,若是該塊的確認時間小於tcut,則該塊最終有效。
圖5獲取時間戳以生成塊的過程。
H、隨機數字R的產生
每一個塊生成一個隨機數,肯定誰將是下一個管家,這確保管家以隨機順序生成塊。隨機數生成算法以下:
假設管家已收到K專員的簽名,用簽名[I]表示(0≤I≤K,NC/2<K≤NC−1)。從NTP服務器接收它的時間是時間戳。獲得Rsource:
假設取字符串最後32位的函數是substringend32(string),sor是:
因爲每一個塊頭的值是不可預測的,咱們能夠得到一個不可預測的資源和一個隨機數r,防止管家可能聯合起來,經過使r值以某種模式出現而得到更多收入的可能性。
I、聯盟基金
聯盟成立後,將創建一個帳戶,用於存儲管家候選人提交的押金和管家的工資。管家的效率獲得了獎勵,基本上是成功驗證的塊的數量。各專員有義務按期補充聯盟基金。
J、激發機制
管家候選人能夠隨時放棄他的身份。當它退出時,若是沒有任何不良記錄,它會找回本身的存款。並且,若是巴特勒在任期內申請退出網絡,他就沒法取回他的存款,由於這是一種不良行爲。
每一個專員都會保留一份管家候選人名單,並對他們的行爲進行評估。評分規則包括:
•每次專員經過並簽署一個街區,它將給管家額外的分數,不然分數將降低。
•當管家節點爲Fluine且錯過區塊生產時,分數將被清除,這意味着當管家在線時,他須要從新開始評分。
一個管家可能有不一樣的委員記錄的分數。分數表明委員的信任程度,也成爲投票的理由之一。
通過一段特定的時間後,管家和管家候選人將根據他們生成的有效積木數量從聯盟基金中得到獎勵,這樣他們就能夠有動力接受工做、誠實工做和長時間在線。
IV、性能分析
基於投票機制和聯盟區塊鏈,提出了一個完整的共識模型。因爲安全性和可用性的重要性,當前的共識機制犧牲了性能,以保證安全性。在保證安全的前提下,該模型可以保證區塊鏈的高性能和低延遲的交易識別。在本章中,咱們將分析POV的可靠性,它能夠由兩個參數控制:投票機制和激勵機制。最後,咱們比較了POV和現有的基於POW的區塊鏈的性能,代表POV能夠在低事務延遲的狀況下得到更高的性能。
A、安全性
引理4.1:假設專員的人數是北卡羅來納州。只要NC/2+1以上的專員有效工做,區塊是安全和合法的。
證實:假設能夠有效地驗證非法塊。因爲管家必須獲取超過NC/2+1的簽名才能生成有效的區塊,在有效的專員數量大於NC/2+1的狀況下,有效的專員不會簽署非法區塊。因此非法區塊的簽名數量最多
NC−(NC/2+1)=NC/2−1。所以,假設是失敗的,原來的命題是正確的。
B.可靠性
爲了在贏得選舉後得到獎勵,管家必須保持最長的在線時間,誠實的工做,充分肯定在規定時間內生產塊的責任。
引理4.2:管家團隊愈來愈可靠。
證據:若是區塊生產不符合系統規則,區塊不能經過專員的驗證,管家的分數將降低。所以,在選舉中得到選票的可能性會下降。在選舉中的失敗使管家失去了產生積木和得到利益的機會。能夠證實,對於試圖建立非法積木以在選舉中得到成功或任何利益的管家來講,是很困難的。可靠的管家更有可能在選舉中獲勝,而且系統將變得更加可靠。
管家的工做可靠性是可控的,咱們能夠用兩個參數來調整管家工做的可靠性:投票數K和管家收入B。
首先,咱們分析每一個委員的投票數。根據投票規則,在每輪選舉中,由全國委員會委員從全國委員會巴特勒候選人中選出全國委員會巴特勒,經過創建數學模型,研究了每一個陪審團所投的最低票數k,這是最簡單、省時、公平、合理的投票規則。
在不考慮計分機制影響的狀況下,咱們假設投票是隨機的,沒有任何放棄,每一個委員投K票,那麼每一個候選人得到投票的機率是相同的,K/NBC。投票活動原則上服從二項分佈:
管家候選人得到x票的機率是p(x):
爲了使投票結果更加公正,咱們但願管家能得到的票數超過NC/2。所以,咱們能夠肯定候選人投票超過NC/2的機率p1。
爲了在全國廣播公司的候選人中選出全國廣播公司的管家,候選人在選舉中獲勝的機率是p2。
根據(4)(5),知足(6)的最小k值是最佳票數。
例如,咱們設置參數nc=20,nb=50,nbc=200,繪製p1和p2的圖像,如圖6所示。橫座標爲k,縱座標爲機率值。咱們能夠從p1和p2的曲線交點獲得最優值k。
(a)原始圖/原始地圖/原始字典
(b)放大圖/放大地圖/放大字典
圖6.P1和P2的分佈圖。在曲線相交處可獲得最佳K值。咱們能夠從右邊放大的地圖上看到細節。當k≥81,p1>p2,當k<81,p1<p2時,k的最佳值爲81。
如圖6所示,當k=81時,每一個委員能夠提交81票支持81名巴特勒候選人。贏得選舉的管家得到的選票可能超過NC/2(管家人數的一半),這意味着當選的管家能夠得到超過一半的管家承認。這樣,投票結果將更加科學和公正,以便大多數委員都能承認投票結果。當POV應用於不一樣的系統時,能夠經過改變NC、NB、NBC的值來配置K。
經過引入評分機制,一個工做可靠的管家會獲得更高的分數。所以,一個誠實的管家更有可能在選舉中獲得分數票,每一個專員能夠獨立地給每一個管家評分(第3.f節)。咱們能夠將公式(4)改寫爲:
若是α>0,則意味着因爲分數較高,候選人被委員投票的機率較高。α<0表明候選人得到選票的機會低於平均值。經過設置α=−0.三、−0.二、−0.1,0,0.1,0.2,0.3,咱們能夠比較不一樣狀況下的機率分佈。結果如圖7所示。
圖7
如圖7所示,當k爲固定值時,管家的工做越可靠,管家在任期內獲得的分數越高,所以,管家做爲候選人得到選票的機率越高,贏得選舉的可能性也越大。
第二個參數是管家的利益。在一個任期週期內,候選人i有可能當選爲管家。在成爲管家後,管家有1/nb的機率在每一個包裝週期包裝一個塊。假設一個區塊的獎勵爲b,咱們將單個包裝週期的平均能源成本定義爲ei。在n個週期後,總成本爲ei n。咱們能夠定義一個事件,以下所示:管家候選人i成功贏得了選舉,併產生了一個有效的K區(k=1,2,·························咱們將pi表示爲有效塊的打包機率。
咱們將過程EIK做爲一個相同的獨立分佈(IID)。那麼,在n個包裝週期後,管家能夠獲得的總獎勵是:
Ri遵循二項分佈,平均值表示爲:
只有當μ(ri)超過0,即
咱們能夠得出以下結論。考慮到計分機制和投票機制,試圖破壞該系統的管家將沒法發射積木,從而得到負等級。所以,管家或候選人贏得選舉的可能性低於平均水平。若是系統中有比預期數量更多的候選人,不可靠的候選人將退出網絡,由於他們微薄的獎勵沒法補償他們的能源成本。條件(6)(8)能夠做爲候選人質量和數量控制的標準。
C、交易結局姓
引理4.3:最終能夠生成一個塊,它是惟一的。
證實:根據第3節中普通有效塊生成過程的步驟7,未能在分配的時間內生成有效塊的管家將失去生成該塊的機會,並將執行權限留給下一個節點。只要至少有一個巴特勒節點是誠實的,有效的塊最終將在一輪共識中生成。經過驗證時間戳和tcut,每一個有效塊都是惟一的。
D、區塊鏈不分叉
引理4.4:區塊鏈永遠不會分叉。
證實:考慮到網絡分區可能致使區塊鏈分岔,咱們假設網絡環境分爲兩個徹底隔離的部分,A和B,A B=∅。只要其中一名分區專員金額A≥NC/2+1。在區域中,仍然能夠生成和驗證塊。可是在B區域,交易不能繼續被確認,而且塊不能被驗證和生成,由於沒有一個管家能夠在B區域收到至少NC/2+1簽名。所以POV容許最多兩個網絡分區,而且不能容許兩個區域中的管家平均分開。
E、低延遲的交易驗證
POV共識機制旨在加快區塊生產。它能夠提供低延遲事務驗證和高吞吐量(每秒事務數)。根據對比特幣網絡中信息的評估[7],比特幣網絡中一個區塊的傳播速度約爲6.5s,理想狀況下的POV,區塊生成的限制時間爲tb(可設置約15s),使有效區塊在15s內傳播到整個網絡。
圖8 事務驗證時間的性能比較
根據Gervais的研究[3],POW在約10分鐘內生成一個塊,有效塊中的事務須要約1小時(生成6個塊)才能確認[1]。以太坊須要至少37個配置來匹配比特幣的安全性,平均25秒的數據塊間隔,事務驗證延遲約爲15分鐘。Litecoin(數據塊間隔=2.5分鐘,須要28個配置)和DogeCoin(數據塊間隔=1分鐘,須要47個配置)須要70分鐘和47分鐘的事務延遲。時間[ 3 ]。圖9顯示了與基於POV的區塊鏈和一些基於POW的區塊鏈的比較圖。從理論上講,與這些基於POW的區塊鏈相比,POV表現出最佳的性能。
此外,POV在低功耗方面表現突出。基於良好的協同機制,POV不須要浪費大量的計算能力,就能夠在聯盟區塊鏈中達成共識。
V、結論
在本文中,咱們提出了一種新的共識機制(POV),專門用於聯盟區塊鏈。基於投票活動和投票機制的核心思想,設計了網絡參與者的四種身份。前者保證了投票權與執行權的分離,加強了布爾特角色的獨立性,同時也保證了聯合體內部的內部控制制度。對於後者,在至少NC/2+1專員有效工做的狀況下,咱們的分析代表,POV能夠保證安全性、交易效率、低功耗,確保區塊鏈永不分叉。經過參數整定進一步分析了POV的可靠性,並從低事務延遲的角度論證了其強大的性能。
確認
本課題獲得了國家重點梯級研發項目(2017年YFB08034.2016YFB0800 101)、國家天然科學基金(NSFC)第61671001號、第61521003號、廣東重點項目(GD2016B03030500)、深圳研究項目(ZDYS20160311739 42八、JCYJ2017030609303052一、JCYJ201503110072474)的支持。