本發(fā)明涉及區(qū)塊鏈領(lǐng)域,特別涉及一種區(qū)塊鏈底層共識機制以及基于該共識機制的區(qū)塊鏈系統(tǒng)。
背景技術(shù):
共識機制是指,區(qū)塊鏈事務(wù)達成分布式共識的算法。
區(qū)塊鏈是一種去中心化的分布式賬本系統(tǒng),它可以用于登記和發(fā)行數(shù)字化資產(chǎn)、產(chǎn)權(quán)憑證、積分等,并以點對點的方式進行轉(zhuǎn)賬、支付和交易。區(qū)塊鏈系統(tǒng)與傳統(tǒng)的中心化賬本系統(tǒng)相比,具有完全公開、不可篡改、防止多重支付等優(yōu)點,并且不依賴于任何的可信第三方。而由于點對點網(wǎng)絡(luò)下存在較高的網(wǎng)絡(luò)延遲,各個節(jié)點所觀察到的事務(wù)先后順序不可能完全一致。因此區(qū)塊鏈系統(tǒng)需要設(shè)計一種機制對在差不多時間內(nèi)發(fā)生的事務(wù)的先后順序進行共識。這種對一個時間窗口內(nèi)的事務(wù)的先后順序達成共識的算法被稱為“共識機制”。
另外一方面,區(qū)塊鏈(blockchain)是由分布式節(jié)點共同參與維護的數(shù)據(jù)存儲系統(tǒng),其使用散列算法連接數(shù)據(jù)塊形成鏈式數(shù)據(jù)結(jié)構(gòu),并通過共識機制以傳輸和同步數(shù)據(jù),從而保障各個節(jié)點數(shù)據(jù)的最終一致性并不可修改和刪除。
共識機制是區(qū)塊鏈系統(tǒng)根據(jù)自身業(yè)務(wù)特點,在拜占庭將軍問題(lamportl.thebyzantinegeneralsproblem[j].acmtransactionsonprogramminglanguages&systems,1995,4(3):382-401.)網(wǎng)絡(luò)中傳輸和同步數(shù)據(jù)的分布式一致性算法。一般包括數(shù)據(jù)廣播驗證、新區(qū)塊產(chǎn)生方法、區(qū)塊廣播驗證、分叉處理等內(nèi)容。目前,現(xiàn)有的常見共識機制包括工作量證明(pow),權(quán)益證明(pos),代理權(quán)益證明(dpos)以及實用拜占庭(pbft)等。
1、pow工作量證明,通過枚舉式的hash運算,計算出一個滿足規(guī)則的隨機數(shù),即獲得本次記賬權(quán),發(fā)出本輪需要記錄的數(shù)據(jù),全網(wǎng)50%以上的其它節(jié)點驗證后一起存儲。pow即工作量證明,其優(yōu)點是:1)算法簡單,容易實現(xiàn);2)節(jié)點間無需交換額外的信息即可達成共識;3)破壞系統(tǒng)需要投入極大的成本;但其缺點也非常明顯:1)浪費能源;2)區(qū)塊的確認時間難以縮短;3)新的區(qū)塊鏈必須找到一種不同的散列算法,否則就會面臨比特幣的算力攻擊;4)容易產(chǎn)生分叉,需要等待多個確認;5)永遠沒有最終性,需要檢查點機制來彌補最終性。pow工作量證明的應(yīng)用案例:比特幣。
但是,目前共識機制pow的缺點在于:目前比特幣已經(jīng)吸引全球大部分的算力,其它再用pow共識機制的區(qū)塊鏈應(yīng)用很難獲得相同的算力來保障自身的安全;挖礦造成大量的資源浪費;共識達成的周期較長,不適合商業(yè)應(yīng)用;由于算力的集中,一定程度上有50%攻擊的風(fēng)險。
2、pos權(quán)益證明,是pow的一種升級共識機制;根據(jù)每個節(jié)點所占代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數(shù)的速度。這種機制的優(yōu)點是不像pow那么費電,但是也有不少缺點:1)沒有專業(yè)化,擁有權(quán)益的參與者未必希望參與記賬;2)容易產(chǎn)生分叉,需要等待多個確認;3)永遠沒有最終性,需要檢查點機制來彌補最終性。pos權(quán)益證明的應(yīng)用案例:未來幣,以太坊采用了pow+pos的混合機制。
但是,目前共識機制pos的缺點在于:還是需要挖礦,本質(zhì)上沒有解決商業(yè)應(yīng)用的痛點;由于代幣持有的集中化,一定程度上造成中心化。
3、dpos股份授權(quán)證明機制,類似于董事會投票,持幣者投出一定數(shù)量的節(jié)點,代理他們進行驗證和記賬。dpos在pos的基礎(chǔ)上,將記賬人的角色專業(yè)化,先通過權(quán)益來選出記賬人,然后記賬人之間再輪流記賬。這種方式依然沒有解決最終性問題。dpos股份授權(quán)證明機制的應(yīng)用案例:比特股。
但是,目前共識機制dpos的缺點在于:代幣持有人的主動投票意愿不強烈或投票集中化,導(dǎo)致一定程度的中心化。
4、pbft實用拜占庭容錯算法,這是一種基于消息傳遞的一致性算法,算法經(jīng)過三個階段達成一致性,這些階段可能因為失敗而重復(fù)進行。
假設(shè)節(jié)點總數(shù)為3f+1,f為拜占庭錯誤節(jié)點:
1)當(dāng)節(jié)點發(fā)現(xiàn)leader作惡時,通過算法選舉其他的replica為leader,
2)leader通過pre-prepare消息把它選擇的value廣播給其他replica節(jié)點,其他的replica節(jié)點如果接受則發(fā)送prepare,如果失敗則不發(fā)送,
3)一旦2f個節(jié)點接受prepare消息,則節(jié)點發(fā)送commit消息,
4)當(dāng)2f+1個節(jié)點接受commit消息后,代表該value值被確定。pbft實用拜占庭容錯算法的應(yīng)用案例:hyperledgerfabric,部分國內(nèi)聯(lián)盟鏈。
但是,目前共識機制pbft的缺點在于:容錯率低、靈活性差,超過1/3的節(jié)點作惡就會導(dǎo)致系統(tǒng)崩潰,不可動態(tài)添加節(jié)點,只適用聯(lián)盟鏈或私鏈場景。
綜上可知,現(xiàn)有的區(qū)塊鏈共識機制,存在共識效率低、消耗浪費計算資源、50%攻擊風(fēng)險、應(yīng)用場景限制等問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是,提供一種結(jié)合區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)和點對點網(wǎng)絡(luò)通信的特點,實現(xiàn)安全、高效、去中心化、應(yīng)用場景靈活的數(shù)據(jù)同步共識的區(qū)塊鏈底層共識機制。
解決上述技術(shù)問題,本發(fā)明提供了一種區(qū)塊鏈底層共識機制,基于由分布式節(jié)點共同參與和維護的數(shù)據(jù)存儲系統(tǒng),所述數(shù)據(jù)存儲系統(tǒng)使用散列算法連接數(shù)據(jù)塊形成鏈式數(shù)據(jù)結(jié)構(gòu),包括:共識網(wǎng)絡(luò)結(jié)構(gòu)和參與者,
所述共識網(wǎng)絡(luò)結(jié)構(gòu)用以提供傳輸和同步數(shù)據(jù)的載體,
所述參與者用以參與所述共識網(wǎng)絡(luò)結(jié)構(gòu)中的數(shù)據(jù)存儲與評估,
還包括:第一協(xié)議,用以基于輪轉(zhuǎn)記賬子協(xié)議投票選擇出特定的參與者,以及在等概率輪轉(zhuǎn)時產(chǎn)生新區(qū)塊,
第二協(xié)議,用以基于集體評估共識子協(xié)議對所有持有代幣或數(shù)字股權(quán)的參與者提供集體投票或評估,并產(chǎn)生額外的新區(qū)塊,
第三協(xié)議,用以基于齒輪共識路由子協(xié)議與任一共識機制網(wǎng)絡(luò)相互連通。
更進一步,所述共識網(wǎng)絡(luò)結(jié)構(gòu),包括多個可動態(tài)加入和/或刪除的節(jié)點,該些節(jié)點進一步包括:數(shù)據(jù)通信模塊、數(shù)據(jù)存儲模塊、共識協(xié)議模塊,
所述數(shù)據(jù)通信模塊,用以保證在數(shù)據(jù)同步廣播時,有足夠多的節(jié)點接收到;
所述數(shù)據(jù)存儲模塊,用以保證完整和可驗證的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu);
所述共識協(xié)議模塊,用以提供共識機制的數(shù)據(jù)處理程序,根據(jù)共識協(xié)議完成數(shù)據(jù)校驗和數(shù)據(jù)同步;
上述節(jié)點之間具備兩兩互聯(lián)的能力,但不必完全兩兩相聯(lián)。
更進一步,所述參與者包括:輪轉(zhuǎn)見證人rotatewitness、一級集體評估人voter以及二級集體評估人valuer,
所述voter,用以作為接入所述共識網(wǎng)絡(luò)結(jié)構(gòu)的用戶,并作為所述數(shù)據(jù)存儲系統(tǒng)的使用者,所述voter還用以按照其所持代幣加權(quán)評估選舉出所述voter;
所述rotatewitness,用以按照等概率輪流記賬即產(chǎn)生新區(qū)塊;
所述valuer,用以通過在評估事件發(fā)生時由所述rotatewitness轉(zhuǎn)化而來,并通過加權(quán)平均的接近率搶奪一次記賬機會;
在所述評估共識中的valuer為評估共識的參與者,在成為valuer之前,首先要成為輪轉(zhuǎn)見證人。
更進一步,所述輪轉(zhuǎn)記賬子協(xié)議進一步包括:成為輪轉(zhuǎn)見證人,
上述成為輪轉(zhuǎn)見證人時,首先成為輪轉(zhuǎn)見證候選人,
成為上述輪轉(zhuǎn)見證候選人需要滿足:在共識網(wǎng)絡(luò)中擁有公私鑰對以及穩(wěn)定運行一個綁定了賬戶體系的共識節(jié)點,
在成為所述輪轉(zhuǎn)見證候選人后,則通過網(wǎng)絡(luò)推送或社區(qū)宣傳的方式拉票,
所述參與者通過手中所持選票選舉出輪轉(zhuǎn)見證人,
若得票數(shù)排在全網(wǎng)候選人前2/3的候選人,則成為當(dāng)前記賬輪次的輪轉(zhuǎn)見證人,
上述持選票為:代幣或數(shù)字股權(quán)。
更進一步,所述輪轉(zhuǎn)記賬子協(xié)議進一步包括:等概率記賬,
當(dāng)所述輪轉(zhuǎn)見證候選人,被評選為輪轉(zhuǎn)見證人后該些輪轉(zhuǎn)見證人所運行的共識節(jié)點在同等間隔的時間段內(nèi)以等概率簽名產(chǎn)生新區(qū)塊,并廣播到網(wǎng)絡(luò)中的其他共識節(jié)點中,所述其他共識節(jié)點驗證區(qū)塊數(shù)據(jù)并存儲新區(qū)塊,
當(dāng)超過50%以上共識節(jié)點確認新區(qū)塊后,則確認區(qū)塊中的數(shù)據(jù),
以及,若一個等概率記賬的新區(qū)塊被網(wǎng)絡(luò)確認后,產(chǎn)生上述區(qū)塊的輪轉(zhuǎn)見證人根據(jù)所記錄的業(yè)務(wù)數(shù)據(jù)類型獲得相應(yīng)的記賬獎勵,
上述記賬獎勵為:代幣或數(shù)字股權(quán)。
更進一步,所述基于集體評估共識子協(xié)議進一步包括:一級集體評估人,
所述一級集體評估人包括:所有持有代幣或數(shù)字股權(quán)的賬戶,用以將所持代幣或數(shù)字股權(quán)數(shù)量為權(quán)重投票選擇輪轉(zhuǎn)見證人,
同時,任一一級集體評估人允許投一次票,選擇輪轉(zhuǎn)見證人完畢即將所述一級集體評估人自己所有權(quán)重票投予該輪轉(zhuǎn)見證人。
更進一步,所述基于集體評估共識子協(xié)議進一步包括:評估共識,
所述評估共識的操作為:
在所述共識網(wǎng)絡(luò)結(jié)構(gòu)中通過預(yù)置和/或智能合約定義一系列評估事件,并將該些事件通過提案的方式廣播到共識節(jié)點中;
期望參與估值的所述參與者中的輪轉(zhuǎn)見證人,用以在規(guī)定時間內(nèi)對事件進行評估,按照所述參與者中一級集體評估人所投的所持選票的權(quán)重,給出評估數(shù)值;
上述輪轉(zhuǎn)見證人通過非對稱加密算法,生成一對臨時公私鑰對使用公鑰加密后,然后廣播到共識網(wǎng)絡(luò)中;
共識網(wǎng)絡(luò)在評估事件到期前,估值對所有人不可見,在評估事件到期后,估值參與人將估值對應(yīng)的臨時私鑰廣播到網(wǎng)絡(luò)中;
當(dāng)所有估值得到解密后,按照加權(quán)平均的原則,去掉最高最低兩個估值,得到一個最終的評估數(shù)值,該估值確定成為該輪評估事件的最終估值;
參與該輪評估共識的輪轉(zhuǎn)見證人中估值最接近最終估值的,則在下一次輪轉(zhuǎn)記賬共識直接獲得100%概率的產(chǎn)生新區(qū)塊機會;
當(dāng)評估共識產(chǎn)生的新區(qū)塊被確認后,區(qū)塊獎勵為估值的一定比例數(shù)量的代幣或數(shù)字股權(quán)。
更進一步,所述基于齒輪共識路由子協(xié)議進一步包括:齒輪共識路由,
所述齒輪共識路由以所述共識網(wǎng)絡(luò)結(jié)構(gòu)作為主干網(wǎng),其他任一共識機制網(wǎng)絡(luò)通過所述共識網(wǎng)絡(luò)結(jié)構(gòu)中的共識節(jié)點中的齒輪共識路由模塊,與所述區(qū)塊鏈底層共識機制互通、互聯(lián)。
基于上述,本發(fā)明還提供了一種區(qū)塊鏈系統(tǒng),包括:所述的區(qū)塊鏈底層共識機制,
所述區(qū)塊鏈底層共識機制是用于區(qū)塊鏈結(jié)構(gòu)數(shù)據(jù)的數(shù)據(jù)點對點傳輸和同步協(xié)議,并通過所述輪轉(zhuǎn)記賬rotate子協(xié)議,所述集體評估groupestimate子協(xié)議以及所述齒輪共識路由gear子協(xié)議,結(jié)合區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)和點對點網(wǎng)絡(luò)通信的數(shù)據(jù)同步共識。
更進一步,所述gear與pow、pos或類pbft實現(xiàn)互通。
本發(fā)明的有益效果:
1)本發(fā)明提供了秒級共識、輪轉(zhuǎn)記賬,最大程度地減少了算力浪費和算力集中的情況。
2)本發(fā)明中采用等概率的輪轉(zhuǎn)記賬,無法預(yù)測新區(qū)塊產(chǎn)生的節(jié)點,沒有中心化風(fēng)險。
3)本發(fā)明中不依靠記賬者所持有代幣,而依靠全網(wǎng)參與者的投票,規(guī)避了代幣集中的風(fēng)險。
4)本發(fā)明中集體評估獎勵機制,讓參與者更有投票或評估意愿,且通過集體評估機制可以使網(wǎng)絡(luò)具有高容錯性。
5)通過本發(fā)明中的齒輪共識路由可以使應(yīng)用場景更廣泛,數(shù)據(jù)存儲更豐富,達到公鏈、私聯(lián)和聯(lián)盟鏈的場景融合。
附圖說明
圖1是本發(fā)明一實施例中的區(qū)塊鏈底層共識機制示意圖;
圖2是圖1中的共識網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
圖3是圖1中的參與者示意圖;
圖4是圖1中的輪轉(zhuǎn)記賬子協(xié)議中成為輪轉(zhuǎn)見證人流程示意圖;
圖5是圖1中的輪轉(zhuǎn)記賬子協(xié)議中等概率記賬流程示意圖;
圖6是圖1中集體評估子協(xié)議中評估共識流程示意圖;
圖7是本發(fā)明一實施例中的區(qū)塊鏈系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
現(xiàn)在將參考一些示例實施例描述本公開的原理??梢岳斫?,這些實施例僅出于說明并且?guī)椭绢I(lǐng)域的技術(shù)人員理解和實施例本公開的目的而描述,而非建議對本公開的范圍的任何限制。在此描述的本公開的內(nèi)容可以以下文描述的方式之外的各種方式實施。
如本文中所述,術(shù)語“包括”及其各種變體可以被理解為開放式術(shù)語,其意味著“包括但不限于”。術(shù)語“基于”可以被理解為“至少部分地基于”。術(shù)語“一個實施例”可以被理解為“至少一個實施例”。術(shù)語“另一實施例”可以被理解為“至少一個其它實施例”。
請參考圖1是本發(fā)明一實施例中的區(qū)塊鏈底層共識機制示意圖,在本實施例中的區(qū)塊鏈底層共識機制,基于由分布式節(jié)點共同參與和維護的數(shù)據(jù)存儲系統(tǒng),所述數(shù)據(jù)存儲系統(tǒng)使用散列算法連接數(shù)據(jù)塊形成鏈式數(shù)據(jù)結(jié)構(gòu),包括:共識網(wǎng)絡(luò)結(jié)構(gòu)和參與者,所述共識網(wǎng)絡(luò)結(jié)構(gòu)用以提供傳輸和同步數(shù)據(jù)的載體,所述參與者用以參與所述共識網(wǎng)絡(luò)結(jié)構(gòu)中的數(shù)據(jù)存儲與評估,還包括:第一協(xié)議,用以基于輪轉(zhuǎn)記賬子協(xié)議投票選擇出特定的參與者,以及在等概率輪轉(zhuǎn)時產(chǎn)生新區(qū)塊,第二協(xié)議,用以基于集體評估共識子協(xié)議對所有持有代幣或數(shù)字股權(quán)的參與者提供集體投票或評估,并產(chǎn)生額外的新區(qū)塊,第三協(xié)議,用以基于齒輪共識路由子協(xié)議與任一共識機制網(wǎng)絡(luò)相互連通。本申請?zhí)岢隽艘环Ngear共識協(xié)議,即全稱是集體評估和輪轉(zhuǎn)記賬(groupestimateandrotate)共識協(xié)議,是適用于區(qū)塊鏈結(jié)構(gòu)數(shù)據(jù)的數(shù)據(jù)點對點傳輸和同步協(xié)議。該協(xié)議通過輪轉(zhuǎn)記賬(rotate),集體評估(groupestimate)和齒輪共識路由(gear)三個子協(xié)議組成,結(jié)合區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)和點對點網(wǎng)絡(luò)通信的特點,實現(xiàn)安全、高效、去中心化、應(yīng)用場景靈活的數(shù)據(jù)同步共識。
作為本實施例中的優(yōu)選,請參考圖2是圖1中的共識網(wǎng)絡(luò)結(jié)構(gòu)示意圖,所述共識網(wǎng)絡(luò)結(jié)構(gòu),包括多個可動態(tài)加入和/或刪除的節(jié)點,該些節(jié)點進一步包括:數(shù)據(jù)通信模塊、數(shù)據(jù)存儲模塊、共識協(xié)議模塊,所述數(shù)據(jù)通信模塊,用以保證在數(shù)據(jù)同步廣播時,有足夠多的節(jié)點接收到;所述數(shù)據(jù)存儲模塊,用以保證完整和可驗證的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu);所述共識協(xié)議模塊,用以提供一共識機制的數(shù)據(jù)處理程序,根據(jù)共識協(xié)議完成數(shù)據(jù)校驗和數(shù)據(jù)同步;上述節(jié)點之間具備兩兩互聯(lián)的能力,但不必完全兩兩相聯(lián)。本申請中的共識網(wǎng)絡(luò)由若干可動態(tài)加入和刪除的節(jié)點組成,這些節(jié)點包括數(shù)據(jù)通信模塊、數(shù)據(jù)存儲模塊、共識協(xié)議模塊。節(jié)點之間具備兩兩互聯(lián)的能力,但不必完全兩兩相聯(lián)。優(yōu)選地,數(shù)據(jù)通信模塊保證數(shù)據(jù)同步的廣播能夠被足夠多的節(jié)點接收;數(shù)據(jù)存儲模塊保證區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)的完整性和可驗證性;共識協(xié)議模塊實現(xiàn)了gear共識的數(shù)據(jù)處理程序,能夠按照gear共識協(xié)議校驗和同步數(shù)據(jù)。
作為本實施例中的優(yōu)選,請參考圖3是圖1中的參與者示意圖,所述參與者包括:輪轉(zhuǎn)見證人rotatewitness、一級集體評估人voter以及二級集體評估人valuer,所述voter,用以作為接入所述共識網(wǎng)絡(luò)結(jié)構(gòu)的用戶,并作為所述數(shù)據(jù)存儲系統(tǒng)的使用者,所述voter還用以按照其所持代幣加權(quán)評估選舉出所述voter;所述rotatewitness,用以按照等概率輪流記賬即產(chǎn)生新區(qū)塊;所述valuer,用以通過在評估事件發(fā)生時由所述rotatewitness轉(zhuǎn)化而來,并通過加權(quán)平均的接近率搶奪一次記賬機會;在所述評估共識中的valuer為評估共識的參與者,在成為valuer之前,首先要成為輪轉(zhuǎn)見證人。參與者協(xié)議的參與者包括輪轉(zhuǎn)見證人(rotatewitness)、一級集體評估人(voter)、二級集體評估人(valuer)。voter作為接入共識網(wǎng)絡(luò)的用戶是系統(tǒng)的使用者也是一級集體評估人,按照其所持代幣加權(quán)評估選舉出輪轉(zhuǎn)見證人;輪轉(zhuǎn)見證人按照等概率輪流記賬(產(chǎn)生區(qū)塊);二級集體評估人是在評估事件發(fā)生時由輪轉(zhuǎn)見證人轉(zhuǎn)化而來,通過加權(quán)平均的接近率搶奪一次記賬機會。
作為本實施例中的優(yōu)選,請參考圖4是圖1中的輪轉(zhuǎn)記賬子協(xié)議中成為輪轉(zhuǎn)見證人流程示意圖,所述輪轉(zhuǎn)記賬子協(xié)議進一步包括:成為輪轉(zhuǎn)見證人,
上述成為輪轉(zhuǎn)見證人時,進入步驟s400成為輪轉(zhuǎn)見證候選人,
步驟s401成為上述輪轉(zhuǎn)見證候選人需要滿足:在共識網(wǎng)絡(luò)中擁有公私鑰對以及穩(wěn)定運行一個綁定了賬戶體系的共識節(jié)點,
步驟s402在成為所述輪轉(zhuǎn)見證候選人后,則通過網(wǎng)絡(luò)推送或社區(qū)宣傳的方式拉票,
步驟s403所述參與者通過手中所持選票選舉出輪轉(zhuǎn)見證人,
步驟s404若得票數(shù)排在全網(wǎng)候選人前2/3的候選人,則成為當(dāng)前記賬輪次的輪轉(zhuǎn)見證人,
上述持選票為:代幣或數(shù)字股權(quán)。
輪轉(zhuǎn)記賬子協(xié)議包括:成為輪轉(zhuǎn)見證人和等概率記賬。
具體而言,成為輪轉(zhuǎn)見證人:成為輪轉(zhuǎn)見證人首先要成為輪轉(zhuǎn)見證候選人,成為輪轉(zhuǎn)見證候選人的基本要求是在共識網(wǎng)絡(luò)中擁有賬戶體系(公私鑰對)以及穩(wěn)定運行一個綁定了賬戶體系的共識節(jié)點。在成為候選人后,可以通過網(wǎng)絡(luò)推送、社區(qū)宣傳等方式為自己拉票,一級集體評估人通過手中所持選票(代幣或數(shù)字股權(quán))選舉輪轉(zhuǎn)見證人。得票數(shù)排在全網(wǎng)候選人前2/3的候選人,可以成為當(dāng)前記賬輪次的輪轉(zhuǎn)見證人。
作為本實施例中的優(yōu)選,請參考圖5是圖1中的輪轉(zhuǎn)記賬子協(xié)議中等概率記賬流程示意圖;所述輪轉(zhuǎn)記賬子協(xié)議進一步包括:等概率記賬,則進入如下步驟:
步驟s500當(dāng)所述輪轉(zhuǎn)見證候選人,被評選為輪轉(zhuǎn)見證人后該些輪轉(zhuǎn)見證人所運行的共識節(jié)點在同等間隔的時間段內(nèi)以等概率簽名產(chǎn)生新區(qū)塊,并廣播到網(wǎng)絡(luò)中的其他共識節(jié)點中,所述其他共識節(jié)點驗證區(qū)塊數(shù)據(jù)并存儲新區(qū)塊,
步驟s501當(dāng)超過50%以上共識節(jié)點確認新區(qū)塊后,則確認區(qū)塊中的數(shù)據(jù),
步驟s502若一個等概率記賬的新區(qū)塊被網(wǎng)絡(luò)確認后,產(chǎn)生上述區(qū)塊的輪轉(zhuǎn)見證人根據(jù)所記錄的業(yè)務(wù)數(shù)據(jù)類型獲得相應(yīng)的記賬獎勵,
優(yōu)選地,上述記賬獎勵為:代幣或數(shù)字股權(quán)。
具體而言,等概率記賬:候選人被集體評估機制評選為輪轉(zhuǎn)見證人后,這些輪轉(zhuǎn)見證人所運行的共識節(jié)點可以每隔1秒以等概率簽名產(chǎn)生新區(qū)塊,并廣播到網(wǎng)絡(luò)中的其他共識節(jié)點中,其他共識節(jié)點驗證區(qū)塊數(shù)據(jù)并存儲新區(qū)塊。超過50%以上共識節(jié)點確認新區(qū)塊后,區(qū)塊中數(shù)據(jù)被確認。當(dāng)一個等概率記賬的新區(qū)塊被網(wǎng)絡(luò)確認后,產(chǎn)生該區(qū)塊的輪轉(zhuǎn)見證人可根據(jù)所記錄的業(yè)務(wù)數(shù)據(jù)類型獲得相應(yīng)的記賬獎勵,即代幣或數(shù)字股權(quán)。
本實施例中的輪轉(zhuǎn)記賬子協(xié)議,實現(xiàn)了秒級共識、輪轉(zhuǎn)記賬,沒有算力浪費和算力集中的情況。通過所述輪轉(zhuǎn)記賬子協(xié)議中的等概率的輪轉(zhuǎn)記賬,無法預(yù)測新區(qū)塊產(chǎn)生的節(jié)點,沒有中心化風(fēng)險。此外,本實施例中的輪轉(zhuǎn)記賬子協(xié)議不依靠記賬者所持有代幣,而依靠全網(wǎng)參與者的投票,規(guī)避了代幣集中的風(fēng)險。
在一些實施例中,所述基于集體評估共識子協(xié)議進一步包括:一級集體評估人,所述一級集體評估人包括:所有持有代幣或數(shù)字股權(quán)的賬戶,用以將所持代幣或數(shù)字股權(quán)數(shù)量為權(quán)重投票選擇輪轉(zhuǎn)見證人,同時,任一一級集體評估人允許投一次票,選擇輪轉(zhuǎn)見證人完畢即將所述一級集體評估人自己所有權(quán)重票投予該輪轉(zhuǎn)見證人。具體而言,一級集體評估人由所有持有代幣或數(shù)字股權(quán)的賬戶組成,負責(zé)以所持代幣或數(shù)字股權(quán)數(shù)量為權(quán)重投票選擇輪轉(zhuǎn)見證人。一個評估人只允許投一次票,選擇輪轉(zhuǎn)見證人完畢即代表自己所有權(quán)重票投予該輪轉(zhuǎn)見證人。
作為本實施例中的優(yōu)選,請參考圖6是圖1中集體評估子協(xié)議中評估共識流程示意圖;所述基于集體評估共識子協(xié)議進一步包括:評估共識,所述評估共識的操作為:
步驟s600在所述共識網(wǎng)絡(luò)結(jié)構(gòu)中通過預(yù)置和/或智能合約定義一系列評估事件,并將該些事件通過提案的方式廣播到共識節(jié)點中;
步驟s601期望參與估值的所述參與者中的輪轉(zhuǎn)見證人,用以在規(guī)定時間內(nèi)對事件進行評估,按照所述參與者中一級集體評估人所投的所持選票的權(quán)重,給出評估數(shù)值;
步驟s602上述輪轉(zhuǎn)見證人通過非對稱加密算法,生成一對臨時公私鑰對使用公鑰加密后,然后廣播到共識網(wǎng)絡(luò)中;
步驟s603共識網(wǎng)絡(luò)在評估事件到期前,估值對所有人不可見,在評估事件到期后,估值參與人將估值對應(yīng)的臨時私鑰廣播到網(wǎng)絡(luò)中;
步驟s604當(dāng)所有估值得到解密后,按照加權(quán)平均的原則,去掉最高最低兩個估值,得到一個最終的評估數(shù)值,該估值確定成為該輪評估事件的最終估值;
步驟s605參與該輪評估共識的輪轉(zhuǎn)見證人中估值最接近最終估值的,則在下一次輪轉(zhuǎn)記賬共識直接獲得100%概率的產(chǎn)生新區(qū)塊機會;
步驟s606當(dāng)評估共識產(chǎn)生的新區(qū)塊被確認后,區(qū)塊獎勵為估值的一定比例數(shù)量的代幣或數(shù)字股權(quán)。
在本實施例中,通過所述集體評估子協(xié)議的獎勵機制,能夠讓參與者更有投票或評估意愿。此外,通過所述集體評估機制可以使網(wǎng)絡(luò)具有高容錯性。
具體而言,在所述評估共識中,二級集體評估人是評估共識的參與者,在成為二級集體評估人之前,首先要成為輪轉(zhuǎn)見證人。
具體評估共識的流程如下:
●共識網(wǎng)絡(luò)通過預(yù)置或智能合約szabon.formalizingandsecuringrelationshipsonpublicnetworks[j].1997,2(9).定義一系列評估事件(如外包工作酬勞、公司股權(quán)估值、抵押物價值評估等),這些事件通過提案的方式廣播到共識節(jié)點中。
●期望參與估值的輪轉(zhuǎn)見證人在規(guī)定時間內(nèi),對事件進行評估,按照所持選票(一級集體評估人所投)的權(quán)重,給出評估數(shù)值。
●該輪轉(zhuǎn)見證人通過非對稱加密算法,生成一對臨時公私鑰對,使用公鑰加密后,廣播到網(wǎng)絡(luò)中。
●網(wǎng)絡(luò)在評估事件到期前,估值對所有人不可見。
●在評估事件到期后,估值參與人將估值對應(yīng)的臨時私鑰廣播到網(wǎng)絡(luò)中。
●當(dāng)所有估值得到解密后,按照加權(quán)平均的原則,去掉最高最低兩個估值,得到一個最終的評估數(shù)值,該估值確定成為該輪評估事件的最終估值。
●參與該輪評估共識的輪轉(zhuǎn)見證人中估值最接近最終估值的,可以在下一次輪轉(zhuǎn)記賬共識直接獲得100%概率的產(chǎn)生新區(qū)塊機會。
●由評估共識產(chǎn)生的新區(qū)塊被確認后,區(qū)塊獎勵為估值的一定比例數(shù)量的代幣或數(shù)字股權(quán)。這部分獎勵由評估者和對評估者投票的一級集體評估人按比例分成。
作為本實施例中的優(yōu)選,所述基于齒輪共識路由子協(xié)議進一步包括:齒輪共識路由,所述齒輪共識路由以所述共識網(wǎng)絡(luò)結(jié)構(gòu)作為主干網(wǎng),其他任一共識機制網(wǎng)絡(luò)通過所述共識網(wǎng)絡(luò)結(jié)構(gòu)中的共識節(jié)點中的齒輪共識路由模塊,與所述區(qū)塊鏈底層共識機制互通、互聯(lián)。本實施例中的齒輪共識路由可以使應(yīng)用場景更廣泛,數(shù)據(jù)存儲更豐富,達到公鏈、私聯(lián)和聯(lián)盟鏈的場景融合。
作為本實施例中的優(yōu)選,請參考圖7是本發(fā)明一實施例中的區(qū)塊鏈系統(tǒng)結(jié)構(gòu)示意圖,本實施例中的一種區(qū)塊鏈系統(tǒng)1,包括:所述的區(qū)塊鏈底層共識機制10,所述區(qū)塊鏈底層共識機制是用于區(qū)塊鏈結(jié)構(gòu)數(shù)據(jù)的數(shù)據(jù)點對點傳輸和同步協(xié)議,并通過所述輪轉(zhuǎn)記賬rotate子協(xié)議101,所述集體評估groupestimate子協(xié)議102以及所述齒輪共識路由gear子協(xié)議103,結(jié)合區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)和點對點網(wǎng)絡(luò)通信的數(shù)據(jù)同步共識。更進一步地,所述gear與pow、pos或類pbft實現(xiàn)互通。
與現(xiàn)有技術(shù)中的區(qū)塊鏈共識機制中存在共識效率低、消耗浪費計算資源、50%攻擊風(fēng)險、應(yīng)用場景限制等問題不同的是:本申請的系統(tǒng)通過輪轉(zhuǎn)記賬、集體評估、齒輪共識路由等特征,可以有效解決現(xiàn)有方案中的這些問題。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
總體而言,本公開的各種實施例可以以硬件或?qū)S秒娐?、軟件、邏輯或其任意組合實施。一些方面可以以硬件實施,而其它一些方面可以以固件或軟件實施,該固件或軟件可以由控制器、微處理器或其它計算設(shè)備執(zhí)行。雖然本公開的各種方面被示出和描述為框圖、流程圖或使用其它一些繪圖表示,但是可以理解本文描述的框、設(shè)備、系統(tǒng)、技術(shù)或方法可以以非限制性的方式以硬件、軟件、固件、專用電路或邏輯、通用硬件或控制器或其它計算設(shè)備或其一些組合實施。
此外,雖然操作以特定順序描述,但是這不應(yīng)被理解為要求這類操作以所示的順序執(zhí)行或是以順序序列執(zhí)行,或是要求所有所示的操作被執(zhí)行以實現(xiàn)期望結(jié)果。在一些情形下,多任務(wù)或并行處理可以是有利的。類似地,雖然若干具體實現(xiàn)方式的細節(jié)在上面的討論中被包含,但是這些不應(yīng)被解釋為對本公開的范圍的任何限制,而是特征的描述僅是針對具體實施例。在分離的一些實施例中描述的某些特征也可以在單個實施例中組合地執(zhí)行。相反地,在單個實施例中描述的各種特征也可以在多個實施例中分離地實施或是以任何合適的子組合的方式實施。