本發(fā)明實(shí)施例屬于區(qū)塊鏈技術(shù)領(lǐng)域,尤其涉及一種區(qū)塊鏈共識(shí)方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的不斷發(fā)展,區(qū)塊鏈技術(shù)應(yīng)運(yùn)而生,它是一種互聯(lián)網(wǎng)數(shù)據(jù)庫(kù)技術(shù),具有去中心化、公開透明的特點(diǎn)。具體地,區(qū)塊鏈技術(shù)的本質(zhì)是去中心化且寓于分布式結(jié)構(gòu)的數(shù)據(jù)存儲(chǔ)、傳輸和證明的方法,用數(shù)據(jù)區(qū)塊取代目前互聯(lián)網(wǎng)對(duì)中心服務(wù)器的依賴,使得所有數(shù)據(jù)的變更或者交易項(xiàng)目都被記錄在一個(gè)云系統(tǒng)之上。由于沒有中央控制點(diǎn)的分布式對(duì)等網(wǎng)絡(luò),并且使用分布式集體運(yùn)作的方法,可以說,區(qū)塊鏈?zhǔn)蔷W(wǎng)絡(luò)上的“公開大賬本”。它存在許多節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都可以觀察到整個(gè)賬本,并且共同參與維護(hù),其收益則是獲得記賬的權(quán)利,并且可以復(fù)制一份完整的數(shù)據(jù)庫(kù),單個(gè)節(jié)點(diǎn)無法修改數(shù)據(jù)庫(kù),從而保證了賬本數(shù)據(jù)的安全可靠。
區(qū)塊鏈共識(shí)是指在對(duì)等網(wǎng)絡(luò)上多個(gè)區(qū)塊鏈參與者之間對(duì)數(shù)據(jù)達(dá)成一致的過程,一般借由對(duì)區(qū)塊記賬權(quán)限分配的共識(shí)來完成。共識(shí)算法是區(qū)塊鏈技術(shù)的核心,共識(shí)算法的優(yōu)劣會(huì)直接影響到區(qū)塊鏈應(yīng)用的有效性和適用性。
在當(dāng)前的區(qū)塊鏈技術(shù)領(lǐng)域中,主要采用以下幾種區(qū)塊鏈的共識(shí)機(jī)制:
工作量證明(Proof of Work,PoW),依賴機(jī)器進(jìn)行數(shù)學(xué)運(yùn)算來獲取記賬權(quán),資源消耗相比其他共識(shí)機(jī)制高、可監(jiān)管性弱,同時(shí)每次達(dá)成共識(shí)需要全網(wǎng)共同參與運(yùn)算,性能效率比較低,容錯(cuò)性方面允許全網(wǎng)50%節(jié)點(diǎn)出錯(cuò);
權(quán)益證明(Proof of Stake,PoS),主要思想是節(jié)點(diǎn)記賬權(quán)的獲得難度與節(jié)點(diǎn)持有的權(quán)益成反比,相對(duì)于PoW,一定程度減少了數(shù)學(xué)運(yùn)算帶來的資源消耗,性能也得到了相應(yīng)的提升,但依然是基于哈希運(yùn)算競(jìng)爭(zhēng)獲取記賬權(quán)的方式,可監(jiān)管性弱。該共識(shí)機(jī)制容錯(cuò)性和PoW相同。它是Pow的一種升級(jí)共識(shí)機(jī)制,根據(jù)每個(gè)節(jié)點(diǎn)所占代幣的比例和時(shí)間,等比例的降低挖礦難度,從而加快找隨機(jī)數(shù)的速度;
股份授權(quán)證明(Delegate Proof of Stake,DPoS),與PoS的主要區(qū)別在于節(jié)點(diǎn)選舉若干代理人,由代理人驗(yàn)證和記賬。其合規(guī)監(jiān)管、性能、資源消耗和容錯(cuò)性與PoS相似。類似于董事會(huì)投票,持幣者投出一定數(shù)量的節(jié)點(diǎn),代理他們進(jìn)行驗(yàn)證和記賬;
實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT),在分布式計(jì)算上,不同的計(jì)算機(jī)透過訊息交換,嘗試達(dá)成共識(shí);但有時(shí)候,系統(tǒng)上協(xié)調(diào)計(jì)算機(jī)(Coordinator/Commander)或成員計(jì)算機(jī)(Member /Lieutanent)可能因系統(tǒng)錯(cuò)誤并交換錯(cuò)的訊息,導(dǎo)致影響最終的系統(tǒng)一致性。拜占庭將軍問題就根據(jù)錯(cuò)誤計(jì)算機(jī)的數(shù)量,尋找可能的解決辦法,這無法找到一個(gè)絕對(duì)的答案,但可以用來驗(yàn)證一個(gè)機(jī)制的有效程度。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在如下缺陷:
PoW雖然可以達(dá)到完全去中心化,節(jié)點(diǎn)自由進(jìn)出,但是目前bitcoin已經(jīng)吸引全球大部分的算力,其它再用PoW共識(shí)機(jī)制的區(qū)塊鏈應(yīng)用很難獲得相同的算力來保障自身的安全,挖礦造成大量的資源浪費(fèi),共識(shí)達(dá)成的周期較長(zhǎng);PoS雖然在一定程度上縮短了共識(shí)達(dá)成的時(shí)間;不再需要大量消耗能源挖礦,但還是需要挖礦;DPoS雖然大幅縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量,可以達(dá)到秒級(jí)的共識(shí)驗(yàn)證,但整個(gè)共識(shí)機(jī)制還是依賴于代幣,很多商業(yè)應(yīng)用是不需要代幣存在的,普適性較差;PBFT下,當(dāng)有1/3或以上記賬人停止工作后,系統(tǒng)將無法提供服務(wù);當(dāng)有1/3或以上記賬人聯(lián)合作惡,且其它所有的記賬人被恰好分割為兩個(gè)網(wǎng)絡(luò)孤島時(shí),惡意記賬人可以使系統(tǒng)出現(xiàn)分叉。
這些缺陷普遍表現(xiàn)出,現(xiàn)有的區(qū)塊鏈共識(shí)的方案達(dá)成一致的效率很低,成本很高,而且實(shí)現(xiàn)復(fù)雜。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種區(qū)塊鏈共識(shí)方法及系統(tǒng),能夠在完成區(qū)塊鏈共識(shí)的基本功能基礎(chǔ)上,使得區(qū)塊鏈達(dá)成一致的效率高,成本低,而且實(shí)現(xiàn)簡(jiǎn)單。
為達(dá)到上述目的,本發(fā)明實(shí)施例提供了一種區(qū)塊鏈共識(shí)方法,包括:針對(duì)各次待生成的新區(qū)塊,分配節(jié)點(diǎn)按預(yù)設(shè)的權(quán)限分配原則分配記賬權(quán)至任一成員節(jié)點(diǎn),其中,在同一時(shí)間段內(nèi),所述分配節(jié)點(diǎn)的個(gè)數(shù)為一個(gè),且由所述成員節(jié)點(diǎn)選舉產(chǎn)生,所述成員節(jié)點(diǎn)的個(gè)數(shù)為多個(gè);獲取所述記賬權(quán)的所述成員節(jié)點(diǎn)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入。
本發(fā)明實(shí)施例提供了一種區(qū)塊鏈共識(shí)系統(tǒng),包括:在同一時(shí)間段內(nèi)共存的一個(gè)分配節(jié)點(diǎn)和多個(gè)成員節(jié)點(diǎn),所述分配節(jié)點(diǎn)由所述成員節(jié)點(diǎn)選舉產(chǎn)生,所述分配節(jié)點(diǎn),用于針對(duì)各次待生成的新區(qū)塊,按預(yù)設(shè)的權(quán)限分配原則分配記賬權(quán)至任一所述成員節(jié)點(diǎn);所述成員節(jié)點(diǎn),用于獲取所述記賬權(quán)后,對(duì)所述新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入。
本發(fā)明實(shí)施例的區(qū)塊鏈共識(shí)方法及系統(tǒng),針對(duì)各次待生成的新區(qū)塊,由分配節(jié)點(diǎn)分配新區(qū)塊的區(qū)塊體數(shù)據(jù)的記賬權(quán)給成員節(jié)點(diǎn),并由獲得權(quán)限的成員節(jié)點(diǎn)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入,一定程度上簡(jiǎn)化了記賬權(quán)的分配過程,使得區(qū)塊鏈共識(shí)的效率更高;同時(shí),分配節(jié)點(diǎn)又由各成員節(jié)點(diǎn)選舉產(chǎn)生,即區(qū)塊鏈的生成和維護(hù)仍由所有網(wǎng)絡(luò)節(jié)點(diǎn)共同參與,維持了區(qū)塊鏈的去中心化特征。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
圖1為本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)方法流程圖一;
圖2為本發(fā)明實(shí)施例提供的成員節(jié)點(diǎn)監(jiān)督和改選分配節(jié)點(diǎn)的方法流程圖;
圖3為本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)方法流程圖二;
圖4為本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)系統(tǒng)示意圖一;
圖5為本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)系統(tǒng)示意圖二。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
首先需要說明的是,本發(fā)明實(shí)施例將提供一種區(qū)塊鏈共識(shí)方法,以簡(jiǎn)化共識(shí)過程為目的,實(shí)現(xiàn)一種相對(duì)去中心化的區(qū)塊鏈共識(shí)機(jī)制。針對(duì)各次待生成的新區(qū)塊,由分配節(jié)點(diǎn)按預(yù)設(shè)的權(quán)限分配原則分配記賬權(quán)至任一成員節(jié)點(diǎn),其中,在同一時(shí)間段內(nèi),所述分配節(jié)點(diǎn)的個(gè)數(shù)為一個(gè),且由所述成員節(jié)點(diǎn)選舉產(chǎn)生,所述成員節(jié)點(diǎn)的個(gè)數(shù)為多個(gè);獲取記賬權(quán)的成員節(jié)點(diǎn)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入,完成一次新區(qū)塊的共識(shí)過程。
其次需要說明的是,本發(fā)明實(shí)施例中的區(qū)塊鏈中各區(qū)塊的區(qū)塊體數(shù)據(jù)記載的交易信息不局限于商業(yè)中的“賬本”或“金融交易”的信息,也可以廣義的理解為是需要通過區(qū)塊鏈這種數(shù)據(jù)組織形式管理的多樣化的對(duì)象數(shù)據(jù),如針對(duì)企業(yè)進(jìn)行管理的企業(yè)管理數(shù)據(jù),針對(duì)項(xiàng)目進(jìn)行進(jìn)展跟蹤的項(xiàng)目進(jìn)程管理數(shù)據(jù)等。
以下將對(duì)本發(fā)明實(shí)施例的區(qū)塊鏈的生成方法進(jìn)行詳細(xì)闡述。
圖1為本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)方法流程圖一,該方法的執(zhí)行主體涉及由分配節(jié)點(diǎn)、成員節(jié)點(diǎn)共同組成的區(qū)塊鏈共識(shí)系統(tǒng)。如圖1所示,該區(qū)塊鏈共識(shí)方法包括如下步驟:
S110,針對(duì)各次待生成的新區(qū)塊,分配節(jié)點(diǎn)按預(yù)設(shè)的權(quán)限分配原則分配記賬權(quán)至任一成員節(jié)點(diǎn),其中,在同一時(shí)間段內(nèi),分配節(jié)點(diǎn)的個(gè)數(shù)為一個(gè),且由成員節(jié)點(diǎn)選舉產(chǎn)生,成員節(jié)點(diǎn)的個(gè)數(shù)為多個(gè);
具體地,網(wǎng)絡(luò)中的各網(wǎng)絡(luò)節(jié)點(diǎn)被劃分為一個(gè)分配節(jié)點(diǎn)和多個(gè)成員節(jié)點(diǎn),分配節(jié)點(diǎn)具有分配記賬權(quán)至任一成員節(jié)點(diǎn)的分配權(quán),且該分配過程需遵循預(yù)設(shè)的權(quán)限分配原則,該權(quán)限分配原則應(yīng)被其他成員節(jié)點(diǎn)公認(rèn)通過才可實(shí)施,且具體可以是輪詢?cè)瓌t、平均分配原則或權(quán)益比例原則(如預(yù)先設(shè)定各成員節(jié)點(diǎn)享有的記賬權(quán)的比例)等,或由這些原則組合后的原則。分配節(jié)點(diǎn)分配記賬權(quán)至任一成員節(jié)點(diǎn)后,該任一成員節(jié)點(diǎn)有權(quán)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入。
其中,分配節(jié)點(diǎn)由成員節(jié)點(diǎn)選舉產(chǎn)生,每個(gè)成員節(jié)點(diǎn)通常會(huì)選取自己最為信任的網(wǎng)絡(luò)節(jié)點(diǎn)作為分配節(jié)點(diǎn),因此,最終確定的分配節(jié)點(diǎn)通常也是大部分成員節(jié)點(diǎn)所信任的。除此之外,所有成員節(jié)點(diǎn)還共同享有對(duì)分配節(jié)點(diǎn)的選舉、質(zhì)疑以及罷免權(quán)。成員節(jié)點(diǎn)通過履行對(duì)分配節(jié)點(diǎn)的選舉權(quán),從而監(jiān)督和保證各成員節(jié)點(diǎn)享有記賬權(quán)的公平、公正性,避免分配節(jié)點(diǎn)具有“絕對(duì)”分配權(quán),保證區(qū)塊鏈的相對(duì)去中心化。
S120,獲取記賬權(quán)的成員節(jié)點(diǎn)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入。
具體地,獲取記賬權(quán)的成員節(jié)點(diǎn)可將自己采集整理的數(shù)據(jù)寫入到新區(qū)塊的區(qū)塊體中,從而完成新區(qū)塊的共識(shí)過程。
本發(fā)明實(shí)施例的區(qū)塊鏈共識(shí)方法,由成員節(jié)點(diǎn)選舉出的分配節(jié)點(diǎn)分配記賬權(quán)至任一成員節(jié)點(diǎn),再由獲取記賬權(quán)的成員節(jié)點(diǎn)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入,從而完成一次新區(qū)塊的共識(shí)程。該區(qū)塊鏈共識(shí)方法使得區(qū)塊鏈達(dá)成一致的效率高,成本低,而且實(shí)現(xiàn)簡(jiǎn)單。
實(shí)施例二
在進(jìn)行圖1所示的區(qū)塊鏈共識(shí)方法過程中,各成員節(jié)點(diǎn)還可對(duì)分配節(jié)點(diǎn)分配記賬權(quán)的公允性進(jìn)行監(jiān)督,當(dāng)發(fā)現(xiàn)分配節(jié)點(diǎn)存在違背權(quán)限分配原則時(shí),可對(duì)其分配權(quán)進(jìn)行罷免和改選。具體地,圖2示出了各成員節(jié)點(diǎn)監(jiān)督和改選分配節(jié)點(diǎn)的方法步驟,包括:
S210,成員節(jié)點(diǎn)對(duì)分配節(jié)點(diǎn)的記賬權(quán)分配行為進(jìn)行數(shù)據(jù)統(tǒng)計(jì);
當(dāng)前分配節(jié)點(diǎn)任職期間,其他成員節(jié)點(diǎn)可對(duì)分配節(jié)點(diǎn)分配記賬權(quán)的行為進(jìn)行監(jiān)督,并對(duì)相關(guān)的行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì),例如對(duì)分配的時(shí)間,各成員節(jié)點(diǎn)獲取到的記賬權(quán)的頻次等數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
S220,若數(shù)據(jù)統(tǒng)計(jì)結(jié)果顯示,分配節(jié)點(diǎn)存在違背權(quán)限分配原則的行為,則成員節(jié)點(diǎn)有權(quán)質(zhì)疑分配節(jié)點(diǎn)并進(jìn)行改選,從其他成員節(jié)點(diǎn)中選取一個(gè)節(jié)點(diǎn)為新任分配節(jié)點(diǎn),原分配節(jié)點(diǎn)變?yōu)橐粋€(gè)成員節(jié)點(diǎn);
當(dāng)成員節(jié)點(diǎn)對(duì)分配節(jié)點(diǎn)分配記賬權(quán)的行為進(jìn)行數(shù)據(jù)統(tǒng)計(jì)后發(fā)現(xiàn),分配節(jié)點(diǎn)存在違背權(quán)限分配原則的行為,例如分配節(jié)點(diǎn)沒有按照預(yù)設(shè)的輪詢?cè)瓌t、平均分配原則或權(quán)益比例原則分配記賬權(quán)時(shí),成員節(jié)點(diǎn)有權(quán)對(duì)分配節(jié)點(diǎn)的行為提出質(zhì)疑,并在其他成員節(jié)點(diǎn)均認(rèn)同的情況下,對(duì)當(dāng)前的分配節(jié)點(diǎn)進(jìn)行罷免,改選其他成員節(jié)點(diǎn)作為新的分配節(jié)點(diǎn)來繼續(xù)執(zhí)行記賬權(quán)的分配工作,原分配節(jié)點(diǎn)自動(dòng)變?yōu)橐粋€(gè)成員節(jié)點(diǎn)。
通過所有成員節(jié)點(diǎn)對(duì)分配節(jié)點(diǎn)執(zhí)行分配權(quán)的行為進(jìn)行監(jiān)督,并在違背預(yù)設(shè)權(quán)限分配原則時(shí),對(duì)其進(jìn)行質(zhì)疑和改選,從而保證了區(qū)塊鏈共識(shí)機(jī)制的相對(duì)去中心化。
在執(zhí)行區(qū)塊鏈共識(shí)方法的過程中,成員節(jié)點(diǎn)對(duì)分配節(jié)點(diǎn)進(jìn)行質(zhì)疑和改選的過程,可與分配節(jié)點(diǎn)分配記賬權(quán)的過程分開執(zhí)行,也可穿插在分配節(jié)點(diǎn)分配記賬權(quán)的過程中執(zhí)行。
如圖3所示,為本發(fā)明實(shí)施例示出的另一種區(qū)塊鏈共識(shí)方法,該方法中,將成員節(jié)點(diǎn)對(duì)分配節(jié)點(diǎn)進(jìn)行質(zhì)疑和改選的過程穿插在分配節(jié)點(diǎn)分配記賬權(quán)的過程中執(zhí)行,可視為圖1與圖2所示的方法步驟相結(jié)合的一種具體實(shí)現(xiàn)方式。如圖3所示,該區(qū)塊鏈共識(shí)方法包括如下步驟:
S310,隨機(jī)選取或指定一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)為分配節(jié)點(diǎn),其他網(wǎng)絡(luò)節(jié)點(diǎn)均為成員節(jié)點(diǎn)。
在初始狀態(tài)時(shí),區(qū)塊鏈共識(shí)系統(tǒng)可隨機(jī)對(duì)當(dāng)前網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行指定,選取一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)為分配節(jié)點(diǎn),其他網(wǎng)絡(luò)節(jié)點(diǎn)均為成員節(jié)點(diǎn)。在此之后,分配節(jié)點(diǎn)還可由成員節(jié)點(diǎn)選舉產(chǎn)生。
S320,針對(duì)各次待生成的新區(qū)塊,分配節(jié)點(diǎn)按預(yù)設(shè)的權(quán)限分配原則分配記賬權(quán)至任一成員節(jié)點(diǎn)。步驟S320的內(nèi)容與步驟S110的內(nèi)容相同。其中,預(yù)設(shè)的權(quán)限分配原則可以由分配節(jié)點(diǎn)和成員節(jié)點(diǎn)共同參與制定。
S330,判斷是否存在成員節(jié)點(diǎn)提交分配質(zhì)疑請(qǐng)求;如果存在則執(zhí)行步驟S340。如果不存在,則執(zhí)行步驟S360。
在分配節(jié)點(diǎn)執(zhí)行記賬權(quán)的分配過程中,成員節(jié)點(diǎn)可對(duì)分配節(jié)點(diǎn)的記賬權(quán)分配行為進(jìn)行數(shù)據(jù)統(tǒng)計(jì),若數(shù)據(jù)統(tǒng)計(jì)結(jié)果顯示,分配節(jié)點(diǎn)存在違背所述權(quán)限分配原則的行為,則成員節(jié)點(diǎn)有權(quán)質(zhì)疑,向系統(tǒng)提交分配質(zhì)疑請(qǐng)求,并上傳質(zhì)疑證據(jù)。
S340,接收提出質(zhì)疑的成員節(jié)點(diǎn)提交的質(zhì)疑證據(jù),并廣播給其他成員節(jié)點(diǎn)進(jìn)行驗(yàn)證。
如果存在成員節(jié)點(diǎn)提交分配質(zhì)疑請(qǐng)求,則系統(tǒng)會(huì)自動(dòng)接收由質(zhì)疑成員節(jié)點(diǎn)提交的質(zhì)疑證據(jù),并將該質(zhì)疑證據(jù)廣播給其他成員節(jié)點(diǎn)進(jìn)行驗(yàn)證。
如果質(zhì)疑證據(jù)被其他成員節(jié)點(diǎn)驗(yàn)證通過,則執(zhí)行S350,否則執(zhí)行S360。
S350,成員節(jié)點(diǎn)執(zhí)行對(duì)分配節(jié)點(diǎn)進(jìn)行改選的操作。
當(dāng)質(zhì)疑證據(jù)得到其他成員節(jié)點(diǎn)的認(rèn)可,一致認(rèn)為分配節(jié)點(diǎn)存在違背權(quán)限分配原則的行為,則系統(tǒng)允許成員節(jié)點(diǎn)執(zhí)行對(duì)分配節(jié)點(diǎn)進(jìn)行改選的操作。其中,改選的規(guī)則可以為輪詢或投票等。
在改選出新任的分配節(jié)點(diǎn)之后,成員節(jié)點(diǎn)還可與新任的分配節(jié)點(diǎn)共同制定新任分配節(jié)點(diǎn)對(duì)應(yīng)適用的新的權(quán)限分配原則,當(dāng)然也可沿用之前的權(quán)限分配原則。
該權(quán)限分配原則中可以規(guī)定各分配節(jié)點(diǎn)和成員節(jié)點(diǎn)均可以被分配到記賬權(quán),或者僅成員節(jié)點(diǎn)可以被分配到記賬權(quán)。
改選出新任分配節(jié)點(diǎn)后,可跳轉(zhuǎn)到步驟S320,由新任的分配節(jié)點(diǎn)分配記賬權(quán),以從新進(jìn)行區(qū)塊鏈共識(shí)過程。
如果在步驟S330,分配節(jié)點(diǎn)分配記賬權(quán)后,沒有成員節(jié)點(diǎn)提交分配質(zhì)疑請(qǐng)求,則可執(zhí)行步驟S360。
S360,允許獲取記賬權(quán)的成員節(jié)點(diǎn)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入的操作。
以上步驟即完成了一次區(qū)塊鏈共識(shí)的過程。當(dāng)然,在S360之后,還可跳轉(zhuǎn)到步驟S320,由當(dāng)前的分配節(jié)點(diǎn)繼續(xù)分配記賬權(quán),進(jìn)行新一次的區(qū)塊鏈共識(shí)過程。
本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)方法,在圖1所示實(shí)施例的基礎(chǔ)上,示出了成員節(jié)點(diǎn)對(duì)分配節(jié)點(diǎn)進(jìn)行監(jiān)督和改選的方法步驟,使得成員節(jié)點(diǎn)間接的參與記賬權(quán)的分配,實(shí)現(xiàn)區(qū)塊鏈共識(shí)的相對(duì)去中心化。
實(shí)施例三
圖4為本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)系統(tǒng)示意圖一,可以用于執(zhí)行如圖1所示的方法步驟。如圖4所示,該區(qū)塊鏈共識(shí)系統(tǒng)包括:在同一時(shí)間段內(nèi)共存的一個(gè)分配節(jié)點(diǎn)410和多個(gè)成員節(jié)點(diǎn)420,其中,分配節(jié)點(diǎn)410由成員節(jié)點(diǎn)420選舉產(chǎn)生;
分配節(jié)點(diǎn)410,用于針對(duì)各次待生成的新區(qū)塊,按預(yù)設(shè)的權(quán)限分配原則分配記賬權(quán)至任一成員節(jié)點(diǎn)420;成員節(jié)點(diǎn)420,用于獲取記賬權(quán)后,對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入。
本發(fā)明實(shí)施例的區(qū)塊鏈共識(shí)系統(tǒng),由成員節(jié)點(diǎn)選舉出的分配節(jié)點(diǎn)分配記賬權(quán)至任一成員節(jié)點(diǎn),再由獲取記賬權(quán)的成員節(jié)點(diǎn)對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入,從而完成一次新區(qū)塊的共識(shí)程。該區(qū)塊鏈共識(shí)方法使得區(qū)塊鏈達(dá)成一致的效率高,成本低,而且實(shí)現(xiàn)簡(jiǎn)單。
實(shí)施例四
圖5為本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)系統(tǒng)示意圖二,可視為圖4所示系統(tǒng)實(shí)施例的細(xì)化結(jié)構(gòu),并可用于執(zhí)行如圖2和圖3所示的方法步驟,如圖5所示,在圖4所示結(jié)構(gòu)的基礎(chǔ)上:
成員節(jié)點(diǎn)420還用于,對(duì)分配節(jié)點(diǎn)的記賬權(quán)分配行為進(jìn)行數(shù)據(jù)統(tǒng)計(jì);若數(shù)據(jù)統(tǒng)計(jì)結(jié)果顯示,分配節(jié)點(diǎn)410存在違背權(quán)限分配原則的行為,則成員節(jié)點(diǎn)420有權(quán)質(zhì)疑分配節(jié)點(diǎn)410并進(jìn)行改選,從其他成員節(jié)點(diǎn)420中選取一個(gè)節(jié)點(diǎn)為新任分配節(jié)點(diǎn),原分配節(jié)點(diǎn)410變?yōu)橐粋€(gè)成員節(jié)點(diǎn)420。成員節(jié)點(diǎn)420可用于執(zhí)行圖2所示的方法步驟。
進(jìn)一步地,圖5所示的系統(tǒng)中,還可包括監(jiān)督?jīng)Q策平臺(tái)430,用于,在分配節(jié)點(diǎn)410按預(yù)設(shè)的權(quán)限分配原則分配記賬權(quán)至任一成員節(jié)點(diǎn)之后,判斷是否存在成員節(jié)點(diǎn)420提交分配質(zhì)疑請(qǐng)求;若不存在成員節(jié)點(diǎn)420提交分配質(zhì)疑請(qǐng)求,則允許獲取記賬權(quán)的成員節(jié)點(diǎn)420對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入;若存在成員節(jié)點(diǎn)420提交分配質(zhì)疑請(qǐng)求,則接收提出質(zhì)疑的成員節(jié)點(diǎn)420提交的質(zhì)疑證據(jù),并廣播給其他成員節(jié)點(diǎn)420進(jìn)行驗(yàn)證;如果質(zhì)疑證據(jù)被其他成員節(jié)點(diǎn)420驗(yàn)證通過,則允許成員節(jié)點(diǎn)420執(zhí)行對(duì)分配節(jié)點(diǎn)410進(jìn)行改選的操作;如果質(zhì)疑證據(jù)未被其他成員節(jié)點(diǎn)420驗(yàn)證通過,則允許獲取記賬權(quán)的成員節(jié)點(diǎn)420對(duì)新區(qū)塊的區(qū)塊體進(jìn)行區(qū)塊體數(shù)據(jù)寫入的操作。
進(jìn)一步地,成員節(jié)點(diǎn)420還用于,在成員節(jié)點(diǎn)420對(duì)分配節(jié)點(diǎn)410進(jìn)行改選之后,與新任的分配節(jié)點(diǎn)410共同制定新任分配節(jié)點(diǎn)410對(duì)應(yīng)的權(quán)限分配原則。
進(jìn)一步地,上述權(quán)限分配原則包括:分配節(jié)點(diǎn)410和成員節(jié)點(diǎn)420均可以被分配到記賬權(quán),或者僅成員節(jié)點(diǎn)420可以被分配到記賬權(quán)。
進(jìn)一步地,上述權(quán)限分配原則包括:平均分配原則和/或權(quán)益比例原則。
進(jìn)一步地,圖5所示系統(tǒng)還包括:節(jié)點(diǎn)初始化模塊440,用于在初始狀態(tài)時(shí),隨機(jī)選取或指定一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)為分配節(jié)點(diǎn)410,其他網(wǎng)絡(luò)節(jié)點(diǎn)均為成員節(jié)點(diǎn)420。
本發(fā)明實(shí)施例提供的區(qū)塊鏈共識(shí)系統(tǒng),在圖4所示實(shí)施例的基礎(chǔ)上,示出了成員節(jié)點(diǎn)對(duì)分配節(jié)點(diǎn)進(jìn)行監(jiān)督和改選的功能作用,使得成員節(jié)點(diǎn)間接的參與記賬權(quán)的分配,實(shí)現(xiàn)區(qū)塊鏈共識(shí)的相對(duì)去中心化。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。