本發(fā)明涉及一種用于區(qū)塊鏈的共識(shí)方法,尤其涉及一種量子投票證明共識(shí)方法,并進(jìn)一步涉及采用了該量子投票證明共識(shí)方法的量子投票證明共識(shí)系統(tǒng)。
背景技術(shù):
1、隨著區(qū)塊鏈技術(shù)的迅速發(fā)展,區(qū)塊鏈已經(jīng)成為數(shù)字化時(shí)代的關(guān)鍵基礎(chǔ)架構(gòu)之一,為多個(gè)領(lǐng)域提供了分散式、透明、不可篡改的數(shù)據(jù)管理解決方案。然而,當(dāng)前主流的區(qū)塊鏈共識(shí)算法,如工作量證明(proof?of?work,pow)共識(shí)算法和權(quán)益證明(proof?of?stake,pos)共識(shí)算法,以及它們所依賴的數(shù)字簽名技術(shù),將在面對(duì)未來(lái)強(qiáng)大的量子計(jì)算機(jī)時(shí)遭受嚴(yán)重的威脅。
2、量子計(jì)算機(jī)的強(qiáng)大計(jì)算能力可能會(huì)威脅傳統(tǒng)區(qū)塊鏈系統(tǒng)的安全性,尤其是基于單向加密函數(shù)的數(shù)字簽名技術(shù)。傳統(tǒng)區(qū)塊鏈的共識(shí)算法依賴于數(shù)字簽名來(lái)實(shí)現(xiàn)身份認(rèn)證和數(shù)據(jù)完整性驗(yàn)證。數(shù)字簽名通過(guò)單向加密函數(shù)確保了信息的不可篡改性,并驗(yàn)證了信息發(fā)送者的身份。然而,這種數(shù)字簽名的安全性在量子計(jì)算機(jī)的崛起面前變得脆弱。目前的加密算法,如rsa和dsa,基于大數(shù)分解等難題,而量子計(jì)算機(jī)的shor算法有望迅速解決這些問(wèn)題,使得傳統(tǒng)數(shù)字簽名的安全性受到挑戰(zhàn)。
3、當(dāng)前區(qū)塊鏈系統(tǒng)中的身份匿名性很大程度上依賴于數(shù)字簽名的安全性。一旦數(shù)字簽名被破解,用戶的身份可能被追蹤,導(dǎo)致交易的匿名性受到威脅。這對(duì)于一些特定場(chǎng)景,如政治投票或商業(yè)交易,可能引發(fā)嚴(yán)重的隱私擔(dān)憂。量子計(jì)算機(jī)的出現(xiàn)使得攻擊者能夠偽造數(shù)字簽名,從而篡改交易或共識(shí)結(jié)果。
4、此外,量子計(jì)算機(jī)的強(qiáng)大計(jì)算能力也將破壞傳統(tǒng)共識(shí)算法的公平性。例如,對(duì)于工作量證明共識(shí)算法,量子計(jì)算機(jī)能夠迅速找到困難問(wèn)題的解,這將造成區(qū)塊鏈賬本記錄的壟斷,使得特定交易不被記錄,或是重復(fù)進(jìn)行記錄,而這違背了區(qū)塊鏈追求去中心化和可信共識(shí)的初衷。
5、在當(dāng)今信息時(shí)代的背景下,電子投票作為高效、方便的投票方式,在共識(shí)決策領(lǐng)域得到廣泛應(yīng)用,也在區(qū)塊鏈中的投票證明共識(shí)方案中起到選舉代表節(jié)點(diǎn)、實(shí)現(xiàn)共識(shí)機(jī)制等重要作用。然而,目前傳統(tǒng)的投票方案受到中間人攻擊、數(shù)據(jù)篡改和信息泄露等威脅,投票證明共識(shí)過(guò)程的安全性與匿名性仍然存在提升空間,因此,無(wú)法保證區(qū)塊鏈共識(shí)算法的正確性、匿名性與不可篡改性。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問(wèn)題是如何保證區(qū)塊鏈共識(shí)算法的正確性、匿名性與不可篡改性,為此,本發(fā)明提供一種量子投票證明共識(shí)方法,通過(guò)提出量子投票證明(quantumproof?of?vote,q-pov)共識(shí)機(jī)制,旨在利用量子的獨(dú)特性質(zhì)實(shí)現(xiàn)匿名投票共識(shí),避免投票信息的泄露,確保投票結(jié)果不被篡改,從而保證區(qū)塊鏈共識(shí)算法的正確性、匿名性與不可篡改性。在此基礎(chǔ)上,還進(jìn)一步提供采用了該量子投票證明共識(shí)方法的量子投票證明共識(shí)系統(tǒng)。
2、本發(fā)明提供一種量子投票證明共識(shí)方法,包括以下步驟:
3、步驟s1,通過(guò)輪值記賬節(jié)點(diǎn)l向投票節(jié)點(diǎn)v0,v1,…,vn-1分發(fā)量子態(tài)|xn>,投票節(jié)點(diǎn)構(gòu)建初始投票箱矩陣r,n為粒子數(shù);
4、步驟s2,通過(guò)輪值記賬節(jié)點(diǎn)l向投票節(jié)點(diǎn)v0,v1,…,vn-1分發(fā)量子態(tài)|sn>,投票節(jié)點(diǎn)構(gòu)建投票索引d;
5、步驟s3,所有投票節(jié)點(diǎn)公開(kāi)修改后的投票箱矩陣r’,通過(guò)輪值記賬節(jié)點(diǎn)l統(tǒng)計(jì)投票結(jié)果。
6、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s1包括以下子步驟:
7、步驟s101,通過(guò)輪值記賬節(jié)點(diǎn)l制備n+nδ0份量子態(tài)|xn>的副本,量子態(tài)|xn>副本的所有粒子組成粒子矩陣后分發(fā)給對(duì)應(yīng)的投票節(jié)點(diǎn),其中,δ0為量子態(tài)|xn>的安全強(qiáng)度參數(shù);
8、步驟s102,對(duì)每個(gè)投票節(jié)點(diǎn)執(zhí)行安全檢測(cè),在安全檢測(cè)通過(guò)后跳轉(zhuǎn)至步驟s103;
9、步驟s103,根據(jù)投票節(jié)點(diǎn)保留的有效粒子得到對(duì)應(yīng)的測(cè)量值,并通過(guò)一個(gè)n行n列的投票箱矩陣rn×n表示所有投票節(jié)點(diǎn)的測(cè)量結(jié)果。
10、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s101中,所述量子態(tài)|xn>的第x份副本由n個(gè)粒子組成,表示為px,0,px,1,…,px,n-1;x表示矩陣中的行索引;所有粒子組成一個(gè)n+nδ0行、n列的粒子矩陣隨后,通過(guò)輪值記賬節(jié)點(diǎn)l將該粒子矩陣的所有的列分發(fā)給對(duì)應(yīng)的投票節(jié)點(diǎn),其中第k列分發(fā)給投票節(jié)點(diǎn)vk,px,k表示粒子矩陣中第x行、第k列的粒子,0≤x≤n+nδ0-1,0≤k≤n-1,上標(biāo)t表示轉(zhuǎn)置行列。
11、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s102包括以下子步驟:
12、步驟s1021,從粒子矩陣中隨機(jī)選擇δ0個(gè)粒子作為所有投票節(jié)點(diǎn)的測(cè)試粒子,根據(jù)選擇的基測(cè)量測(cè)試粒子的狀態(tài),并公布其測(cè)試粒子的行索引選擇的測(cè)量基以及測(cè)量結(jié)果,其中xl為第l輪安全檢測(cè)選擇的行索引;
13、步驟s1022,所有投票節(jié)點(diǎn)根據(jù)選擇的行索引與測(cè)量基對(duì)各自的測(cè)試粒子進(jìn)行測(cè)量,每個(gè)測(cè)試粒子的測(cè)量結(jié)果為表示粒子矩陣中第xl行第k列粒子的測(cè)量結(jié)果,m表示能級(jí)數(shù);
14、步驟s1023,利用量子態(tài)|xn>的性質(zhì)檢查測(cè)量結(jié)果是否滿足安全條件,若否,則通知其他投票節(jié)點(diǎn)中止協(xié)議;若是,則協(xié)議繼續(xù),由下一位檢查者進(jìn)行相同的安全檢測(cè),直到每個(gè)投票節(jié)點(diǎn)執(zhí)行的安全檢測(cè)都被通過(guò)或協(xié)議終止。
15、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s1023中,若投票節(jié)點(diǎn)選擇了計(jì)算基,通過(guò)公式進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則判斷為滿足安全條件,mod表示求余函數(shù);若投票節(jié)點(diǎn)選擇了傅里葉基,通過(guò)是否全部相同進(jìn)行驗(yàn)證,當(dāng)全部相同則判斷為滿足安全條件。
16、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s2包括以下子步驟:
17、步驟s201,通過(guò)輪值記賬節(jié)點(diǎn)l制備1+nδ1份量子態(tài)|sn>的副本,量子態(tài)|sn>副本的所有粒子組成粒子矩陣后,將粒子矩陣的所有列分發(fā)給對(duì)應(yīng)的投票節(jié)點(diǎn),其中,δ1為量子態(tài)|sn>的安全強(qiáng)度參數(shù);
18、步驟s202,對(duì)每個(gè)投票節(jié)點(diǎn)執(zhí)行安全檢測(cè),在安全檢測(cè)通過(guò)后跳轉(zhuǎn)至步驟s203;
19、步驟s203,投票節(jié)點(diǎn)丟棄所有的測(cè)試粒子,每個(gè)投票節(jié)點(diǎn)保留一個(gè)有效粒子,并對(duì)該有效粒子進(jìn)行測(cè)量,得到對(duì)應(yīng)的測(cè)量結(jié)果,以所述測(cè)量結(jié)果作為對(duì)應(yīng)投票節(jié)點(diǎn)的投票索引。
20、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s203中,投票節(jié)點(diǎn)丟棄所有量子態(tài)|sn>中的測(cè)試粒子,每個(gè)投票節(jié)點(diǎn)各保留一個(gè)有效粒子;所有有效粒子記作t0,0,t0,1,…,t0,n-1,每個(gè)投票節(jié)點(diǎn)在計(jì)算基上分別對(duì)其有效粒子進(jìn)行測(cè)量,得到投票節(jié)點(diǎn)vk的測(cè)量結(jié)果d0,k,以所述測(cè)量結(jié)果d0,k為投票節(jié)點(diǎn)vk的投票索引,用于代表投票節(jié)點(diǎn)vk的投票箱選擇。
21、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s3包括以下子步驟:
22、步驟s301,通過(guò)公式對(duì)測(cè)試粒子的測(cè)量結(jié)果rx,k進(jìn)行修改,其中,vk表示投票節(jié)點(diǎn),k表示投票節(jié)點(diǎn)的編號(hào),mod表示求余函數(shù),m表示能級(jí)數(shù),x表示矩陣中的行索引,d0,k表示投票節(jié)點(diǎn)vk的投票索引;
23、步驟s302,所有投票節(jié)點(diǎn)公布更新后的選票r′x,k,得到最終投票箱矩陣r′n×n;
24、步驟s303,輪值記賬節(jié)點(diǎn)l通過(guò)公式對(duì)投票箱矩陣r′n×n按行求和,得到更新后的投票箱矩陣r′n×n第x行的求和結(jié)果rx。
25、本發(fā)明的進(jìn)一步改進(jìn)在于,所述步驟s3還包括以下子步驟:
26、步驟s304,通過(guò)公式統(tǒng)計(jì)rx=l的出現(xiàn)次數(shù),表示第l個(gè)投票項(xiàng)的得票數(shù);
27、步驟s305,判斷nl是否小于n/2,若是,則判斷該輪投票的區(qū)塊驗(yàn)證完成;若否,則判斷該輪投票的區(qū)塊驗(yàn)證不通過(guò);
28、步驟s306,在區(qū)塊驗(yàn)證完成后,輪值記賬節(jié)點(diǎn)l將投票結(jié)果寫(xiě)入?yún)^(qū)塊頭中,并向全網(wǎng)發(fā)布正式區(qū)塊;
29、步驟s307,等待直到超過(guò)半數(shù)的投票節(jié)點(diǎn)接收到所述正式區(qū)塊后,本輪共識(shí)結(jié)束,進(jìn)入下一輪共識(shí)過(guò)程。
30、本發(fā)明還提供一種量子投票證明共識(shí)系統(tǒng),采用了如上所述的量子投票證明共識(shí)方法,并包括:
31、分發(fā)投票箱模塊,通過(guò)輪值記賬節(jié)點(diǎn)l向投票節(jié)點(diǎn)v0,v1,…,vn-1分發(fā)量子態(tài)|xn>,投票節(jié)點(diǎn)構(gòu)建初始投票箱矩陣r,n為粒子數(shù);
32、分發(fā)投票索引模塊,通過(guò)輪值記賬節(jié)點(diǎn)l向投票節(jié)點(diǎn)v0,v1,…,vn-1分發(fā)量子態(tài)|sn>,投票節(jié)點(diǎn)構(gòu)建投票索引d;
33、投票與計(jì)票模塊,所有投票節(jié)點(diǎn)公開(kāi)修改后的投票箱矩陣r’,通過(guò)輪值記賬節(jié)點(diǎn)l統(tǒng)計(jì)投票結(jié)果。
34、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:提出了量子投票證明(quantum?proofof?vote,q-pov)共識(shí)機(jī)制,延續(xù)了投票證明共識(shí)的優(yōu)勢(shì),并且通過(guò)引入量子資源,為投票過(guò)程提供更高的完整性與安全性。在本發(fā)明之中,只要網(wǎng)絡(luò)中存在半數(shù)以上正常工作的投票節(jié)點(diǎn)及一個(gè)誠(chéng)實(shí)工作的記賬節(jié)點(diǎn)即可正常運(yùn)作;在此基礎(chǔ)上,提出的量子投票證明共識(shí)方法對(duì)量子多粒子糾纏態(tài)的特殊性質(zhì)進(jìn)行了靈活運(yùn)用,一方面基于量子態(tài)|xn>的粒子測(cè)量值求和之后模數(shù)余0的性質(zhì),實(shí)現(xiàn)了投票結(jié)果的正確統(tǒng)計(jì);另一方面基于量子態(tài)|sn>的每個(gè)粒子測(cè)量結(jié)果都不相同的特性,實(shí)現(xiàn)了隨機(jī)順序索引序列的分發(fā),從而確保了投票箱選擇的匿名性;加之,在每一輪量子分發(fā)后都優(yōu)選伴隨著安全檢驗(yàn),確保分發(fā)的量子態(tài)完整無(wú)缺。因此,本發(fā)明能夠很好地利用量子的獨(dú)特性質(zhì)實(shí)現(xiàn)匿名投票共識(shí),避免投票信息的泄露,確保投票結(jié)果不被篡改,從而保證區(qū)塊鏈共識(shí)算法的正確性、匿名性與不可篡改性。