本發(fā)明涉及一種量子區(qū)域鏈技術(shù)領(lǐng)域,涉及一種通過使用基于股份證明的方式來實(shí)現(xiàn)量子鏈共識機(jī)制。
背景技術(shù):
量子鏈中的共識機(jī)制被設(shè)計(jì)成模塊化的,可以類似插件一樣實(shí)現(xiàn)插拔,可以適用公鏈和私鏈的不同應(yīng)用場景。關(guān)于聯(lián)盟鏈的共識機(jī)制的介紹,可以參考量子鏈的黃皮書(yellowpaper)。之前社區(qū)對共識機(jī)制的討論較多,從工作量證明到股份證明到d股份證明,再到hyperledger提出的bft共識機(jī)制。共識機(jī)制的本質(zhì)在于在一個(gè)分布式系統(tǒng)中如何通過一些算法,最后取得數(shù)據(jù)的一致性。關(guān)于共識機(jī)制的討論最后都會回歸到計(jì)算機(jī)領(lǐng)域的分布式系統(tǒng)的一致性問題,之前這個(gè)領(lǐng)域已經(jīng)有很多的研究和成果,例如分布式系統(tǒng)中的flp定理和cap定理指導(dǎo)人們?nèi)绾胃鶕?jù)具體的需求來設(shè)計(jì)共識機(jī)制。在比特幣的網(wǎng)絡(luò)中,礦工通過比特幣的全客戶端一起參與到塊鏈網(wǎng)鏈的校驗(yàn)過程,通過工作量證明的方式,來隨機(jī)碰撞hash值,當(dāng)?shù)V工計(jì)算hash值,滿足一定條件時(shí),本發(fā)明就說該礦工挖到了一個(gè)區(qū)塊。然而整體挖礦的難度會根據(jù)網(wǎng)絡(luò)的總算力而動(dòng)態(tài)調(diào)整,根據(jù)共識協(xié)議,讓網(wǎng)絡(luò)有分叉產(chǎn)生的時(shí)候,本發(fā)明會選取包含更多工作量的區(qū)塊作為有效的區(qū)塊。后面根據(jù)挖礦算法的不同,還產(chǎn)生了其他的工作量證明的算法,例如litecoin的script算法,darkcoin的x11算法,設(shè)計(jì)的初衷是抵制算力集中化,從而保證網(wǎng)絡(luò)的去中心化。目前社區(qū)所采用的股份證明的代碼大多分叉于peercoin,而peercoin是基于非常老版本的比特幣代碼修改的,無法體現(xiàn)最近幾年的bip協(xié)議的特性和代碼的完善性。在量子鏈的公鏈系統(tǒng)中,本發(fā)明選取的共識協(xié)議的基礎(chǔ)是股份證明,并會在最新的比特幣代碼的基礎(chǔ)上,開發(fā)和部署股份證明的共識協(xié)議。在傳統(tǒng)的股份證明中,規(guī)則中如果有一個(gè)惡意的攻擊者,他可以積累足夠大的coinage來發(fā)起一次雙花攻擊。另外coinag帶來的一個(gè)問題就是節(jié)點(diǎn)再得到股份證明reward之后間斷性上線,而不是持續(xù)在線來維護(hù)網(wǎng)絡(luò)的完全。因此在股份證明協(xié)議的改進(jìn)版本中,本發(fā)明把coinage去掉,激勵(lì)更多的節(jié)點(diǎn)同時(shí)在線。另外在股份證明中,節(jié)點(diǎn)的啟動(dòng)時(shí)間也會影響網(wǎng)絡(luò)的安全性,在量子鏈的股份證明協(xié)議中,本發(fā)明將移除節(jié)點(diǎn)最小啟動(dòng)時(shí)間的限制,使節(jié)點(diǎn)可以在較短的時(shí)間內(nèi)上線并且參與到網(wǎng)絡(luò)的維護(hù)中。另外在量子鏈系統(tǒng)中,為了鼓勵(lì)更多的節(jié)點(diǎn)在線,本發(fā)明會對于經(jīng)常在線的節(jié)點(diǎn)設(shè)計(jì)更高的利息,即使你有較少的coin,如果持續(xù)在線,也會有超過平均值的利息。在量子鏈公鏈系統(tǒng)中,選取股份證明的一些權(quán)衡:去中心化的程度、節(jié)點(diǎn)參與記賬的難度、網(wǎng)絡(luò)的維護(hù)成本。在量子鏈聯(lián)盟鏈系統(tǒng)中,涉及到身份識別和可信網(wǎng)絡(luò),更多的是在一個(gè)受限的小組中,周期性的隨機(jī)選擇記賬節(jié)點(diǎn)問題,本發(fā)明將會結(jié)合量子鏈針對聯(lián)盟鏈系統(tǒng)提出的時(shí)間證明和raft協(xié)議,來設(shè)計(jì)相應(yīng)的共識協(xié)議,具體的設(shè)計(jì)思路詳見量子鏈yellowpaper。設(shè)計(jì)目標(biāo)為:區(qū)塊時(shí)間:250毫秒確認(rèn)時(shí)間750毫秒-3秒,滿足可拓展性和低延時(shí)的特點(diǎn)。
本發(fā)明的主要目的是通過對一種基于股份證明的量子鏈共識機(jī)制方法,采用智能化的方法,在量子鏈的共識機(jī)制的選取中,根據(jù)技術(shù)的可靠性原則和去中心化原則,選取股份證明為基礎(chǔ)的共識機(jī)制作為公鏈的基礎(chǔ)共識機(jī)制。在基于量子鏈的聯(lián)盟鏈中,本發(fā)明采用時(shí)間證明和raft協(xié)議結(jié)合的共識機(jī)制,為行業(yè)客戶提供服務(wù)。因此,可以說通過這種實(shí)現(xiàn)方式是很有必要的。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明要解決的技術(shù)問題是提供一種基于股份證明的量子鏈共識機(jī)制方法,為達(dá)到上述技術(shù)方案的效果,本發(fā)明的技術(shù)方案為:
在塊鏈網(wǎng)鏈中,礦工通過比特幣的全客戶端一起參與到塊鏈網(wǎng)鏈的校驗(yàn)過程,通過工作量證明的方式,來隨機(jī)碰撞hash值,當(dāng)?shù)V工計(jì)算hash值,滿足條件1時(shí),則判定該礦工挖到了一個(gè)區(qū)塊:
其中hash(b_header)代表計(jì)算b_header的sha256算法的二次方,b_header代表區(qū)塊的數(shù)據(jù)塊頭,m是事先設(shè)定的可以變化的值,d是一個(gè)在1到m中的整數(shù),
塊鏈網(wǎng)鏈的sha256算法可以讓每一個(gè)節(jié)點(diǎn)快速驗(yàn)證區(qū)塊的有效性,并且每一個(gè)區(qū)塊的數(shù)據(jù)塊頭隨著nonce和extranonce的不同而改變;
nonce為密碼學(xué)中一個(gè)只被使用一次的任意或非重復(fù)的隨機(jī)數(shù)值;extranonce為密碼學(xué)中額外的一個(gè)只被使用一次的任意或非重復(fù)的隨機(jī)數(shù)值。整體挖礦的難度會根據(jù)網(wǎng)絡(luò)的總計(jì)算能力而動(dòng)態(tài)調(diào)整,根據(jù)共識協(xié)議,讓網(wǎng)絡(luò)有分歧產(chǎn)生的時(shí)候,選取包含更多工作量的區(qū)塊作為有效的區(qū)塊;
在塊鏈網(wǎng)鏈里,參與的礦工根據(jù)經(jīng)過股份證明的哈希沖突來驗(yàn)證過程;
每一個(gè)區(qū)塊的數(shù)據(jù)塊頭大小為八十字節(jié),并在不同的隨機(jī)數(shù)nonce范圍內(nèi)和extranonce范圍內(nèi)進(jìn)行變化;
挖礦的總體難度水平根據(jù)塊鏈網(wǎng)鏈的總的哈希計(jì)算能力進(jìn)行動(dòng)態(tài)適應(yīng);
當(dāng)兩個(gè)或者更多的礦工解決一個(gè)區(qū)塊在同時(shí),將會發(fā)生一個(gè)分歧;塊鏈網(wǎng)鏈需要做出一個(gè)決定哪個(gè)區(qū)塊應(yīng)該是被接受或者是被拒絕的;在塊鏈網(wǎng)鏈中,區(qū)塊要進(jìn)行證明,作為一個(gè)合法的被選擇;
參與的礦工根據(jù)經(jīng)過股份證明的塊鏈網(wǎng)鏈中,一個(gè)新的區(qū)塊的產(chǎn)生必須滿足以下的條件:
proofhash<coins.age.targe
其中:proofhash是參與的礦工根據(jù)經(jīng)過股份證明的哈希沖突來驗(yàn)證過程后的得到的修改哈希值;并且proofhash要帶有有效的輸出和當(dāng)前時(shí)間;coins.age.targe是區(qū)塊的比特幣年齡。
具體實(shí)施方式
為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合實(shí)施例,對本發(fā)明進(jìn)行詳細(xì)的說明。應(yīng)當(dāng)說明的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明,能實(shí)現(xiàn)同樣功能的產(chǎn)品屬于等同替換和改進(jìn),均包含在本發(fā)明的保護(hù)范圍之內(nèi)。具體方法如下:
實(shí)施例一:實(shí)際中,目前社區(qū)所采用的股份證明的代碼大多分叉于peercoin,而peercoin是基于非常老版本的比特幣代碼修改的,無法體現(xiàn)最近幾年的bip協(xié)議的特性和代碼的完善性。在量子鏈的公鏈系統(tǒng)中,本發(fā)明選取的共識協(xié)議的基礎(chǔ)是股份證明,并會在最新的比特幣代碼的基礎(chǔ)上,開發(fā)和部署股份證明的共識協(xié)議。在股份證明協(xié)議的改進(jìn)版本中,本發(fā)明把coinage去掉,激勵(lì)更多的節(jié)點(diǎn)同時(shí)在線。另外在股份證明中,節(jié)點(diǎn)的啟動(dòng)時(shí)間也會影響網(wǎng)絡(luò)的安全性,在量子鏈的股份證明協(xié)議中,本發(fā)明將移除節(jié)點(diǎn)最小啟動(dòng)時(shí)間的限制,使節(jié)點(diǎn)可以在較短的時(shí)間內(nèi)上線并且參與到網(wǎng)絡(luò)的維護(hù)中。另外在量子鏈系統(tǒng)中,為了鼓勵(lì)更多的節(jié)點(diǎn)在線,本發(fā)明會對于經(jīng)常在線的節(jié)點(diǎn)設(shè)計(jì)更高的利息,即使你有較少的coin,如果持續(xù)在線,也會有超過平均值的利息。在量子鏈公鏈系統(tǒng)中,選取股份證明的一些權(quán)衡:去中心化的程度、節(jié)點(diǎn)參與記賬的難度、網(wǎng)絡(luò)的維護(hù)成本。在量子鏈聯(lián)盟鏈系統(tǒng)中,涉及到身份識別和可信網(wǎng)絡(luò),更多的是在一個(gè)受限的小組中,周期性的隨機(jī)選擇記賬節(jié)點(diǎn)問題,本發(fā)明將會結(jié)合量子鏈針對聯(lián)盟鏈系統(tǒng)提出的時(shí)間證明和raft協(xié)議,來設(shè)計(jì)相應(yīng)的共識協(xié)議,具體的設(shè)計(jì)思路詳見量子鏈yellowpaper。設(shè)計(jì)目標(biāo)為:區(qū)塊時(shí)間:250毫秒確認(rèn)時(shí)間750毫秒-3秒,滿足可拓展性和低延時(shí)的特點(diǎn)。
實(shí)施例二:本發(fā)明中基于可靠性和分散化的技術(shù)需要,股份證明3.0被選作用于量子鏈塊鏈的共同平臺;
這里有很多討論關(guān)于同識以及其平臺去迎合一個(gè)特別項(xiàng)目的需求
最主要的廣泛討論是:通過超級帳本帶來關(guān)于工作量證明,權(quán)益證明,動(dòng)態(tài)權(quán)益證明,拜占庭錯(cuò)誤容忍的討論。
同識的天性就是關(guān)于如何在一個(gè)分散系統(tǒng)里通過運(yùn)行一個(gè)算法獲得數(shù)據(jù)一致性。
所有關(guān)于共識的所有爭議將確定返回到問一個(gè)原始問題,本發(fā)明如何保持一個(gè)分布性系統(tǒng)的一致性?舉例說,在這個(gè)領(lǐng)域有一些觀點(diǎn),fischerlynchpaterson定理中的狀態(tài)共識處在結(jié)點(diǎn)中就不能到百分百的贊同。
在比特網(wǎng)里,在網(wǎng)絡(luò)中參與的礦工根據(jù)經(jīng)由工作量證明的哈希沖突來驗(yàn)證過程。
當(dāng)一個(gè)礦工的哈希值能夠計(jì)算和滿足一個(gè)一般條件,礦工就能對網(wǎng)絡(luò)聲明新的塊是自己的
即
hash()代表計(jì)算sha256的二次方,值的變化范圍是0到m,和d是一個(gè)在1到m中的整數(shù),sha256算法用于比特幣能讓每個(gè)節(jié)點(diǎn)非??斓仳?yàn)證每個(gè)塊,在八十字節(jié)的塊頭隨有每個(gè)不同的隨機(jī)數(shù)變化,挖礦的總體難度水平根據(jù)塊鏈網(wǎng)鏈的總的哈希能力將會動(dòng)態(tài)適應(yīng),當(dāng)兩個(gè)或者更多的礦工解決一個(gè)塊在同時(shí),一個(gè)小的分歧將會發(fā)生,這就是一點(diǎn),塊鏈需要做出一個(gè)決定哪個(gè)塊應(yīng)該是被接受或者是被拒絕的,在塊鏈網(wǎng)鏈中,鏈要有附屬最多證明工作,作為一個(gè)合法的被選擇,這里有不同的工作證明辦法,比如scrypt,x11,groestl,equihash等;
裝載一個(gè)新的算法的目的是防止一個(gè)實(shí)體的計(jì)算能力累積。確保專用集成電路asic能被引入到經(jīng)濟(jì)領(lǐng)域,到目前為止,大多數(shù)的股份證明的區(qū)塊鏈可以確保他們遺傳到點(diǎn)幣,即比特幣核心的早期版本。量子鏈核心選擇股份證明用于基本共識,但是本發(fā)明將發(fā)展和施展基于一個(gè)最新的比特幣來源代碼的股份證明。在一個(gè)傳統(tǒng)的股份證明的塊鏈網(wǎng)鏈,一個(gè)新的塊的產(chǎn)生必須滿足以下的條件:
proofhash<coins.age.targe
證明哈希通過股份修改者計(jì)算,帶有仍有效的輸出和當(dāng)前時(shí)間。
一個(gè)惡意攻擊能開始一個(gè)雙消耗的攻擊,通過一個(gè)計(jì)算的大量的幣齡。另一個(gè)由幣齡導(dǎo)致的問題是,節(jié)點(diǎn)將在線中斷,在持續(xù)在線的的代替的回報(bào)。
量子開發(fā)者同意一個(gè)塊鏈團(tuán)隊(duì)工作的安全分析,和有一個(gè)工作,把股份證明3.0裝配新的量子核心;從理論上說回報(bào)投資者,股份其幣盡可能長,當(dāng)沒有任何動(dòng)機(jī)到幣擁有才去讓其錢包離線。
本發(fā)明能有多種不同形式的具體實(shí)施方式,上面對本發(fā)明的技術(shù)方案作舉例說明,對本發(fā)明進(jìn)行詳細(xì)的說明。應(yīng)當(dāng)說明的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明,能實(shí)現(xiàn)同樣功能的產(chǎn)品屬于等同替換和改進(jìn),均包含在本發(fā)明的保護(hù)范圍之內(nèi)。
本發(fā)明的有益效果是:通過對一種基于股份證明的量子鏈共識機(jī)制方法,采用智能化的方法,在量子鏈的共識機(jī)制的選取中,根據(jù)技術(shù)的可靠性原則和去中心化原則,時(shí)間證明和raft協(xié)議結(jié)合的共識機(jī)制,為行業(yè)提供服務(wù)。因此,可以說通過這種實(shí)現(xiàn)方式是很有必要的。