基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案_第1頁(yè)
基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案_第2頁(yè)
基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案_第3頁(yè)
基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案_第4頁(yè)
基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

近年來(lái),區(qū)塊鏈技術(shù)的飛速發(fā)展引起了國(guó)內(nèi)外的廣泛關(guān)注。區(qū)塊鏈深度融合分布式賬本、共識(shí)機(jī)制、密碼學(xué)、智能合約等前沿技術(shù),憑借去中心化、多方共識(shí)、不可篡改、透明化、安全可信的特性在醫(yī)療、人工智能、大數(shù)據(jù)、貨幣加密等領(lǐng)域有著廣泛的應(yīng)用前景,越來(lái)越多的基于區(qū)塊鏈技術(shù)的相關(guān)應(yīng)用隨之產(chǎn)生。隨著“十四五”規(guī)劃的提出,區(qū)塊鏈成為我國(guó)數(shù)字經(jīng)濟(jì)重點(diǎn)產(chǎn)業(yè),區(qū)塊鏈技術(shù)和相關(guān)產(chǎn)業(yè)飛速發(fā)展。區(qū)塊鏈系統(tǒng)中涉及的數(shù)據(jù)分為鏈下數(shù)據(jù)和鏈上數(shù)據(jù)兩種類型。在實(shí)際應(yīng)用當(dāng)中,數(shù)據(jù)不僅要從區(qū)塊鏈系統(tǒng)的鏈上數(shù)據(jù)中獲得,還要從鏈下的外部世界中獲得。對(duì)于鏈上數(shù)據(jù)而言,區(qū)塊鏈系統(tǒng)憑借其共識(shí)機(jī)制和密碼學(xué)技術(shù)保障了其真實(shí)性和可靠性。然而,外部世界的鏈下數(shù)據(jù)并沒(méi)有以賬本的形式存儲(chǔ)到區(qū)塊鏈系統(tǒng)中。因此,區(qū)塊鏈系統(tǒng)并不能保障鏈下數(shù)據(jù)的安全性和可靠性,這對(duì)區(qū)塊鏈數(shù)據(jù)上鏈提出了很高的要求。如何保障上鏈數(shù)據(jù)的正確性和隱私性,是區(qū)塊鏈技術(shù)發(fā)展的重要方向。隨著區(qū)塊鏈應(yīng)用產(chǎn)業(yè)的不斷擴(kuò)展,高效、安全、可靠的新型數(shù)據(jù)上鏈技術(shù)亟需被提出。目前,區(qū)塊鏈數(shù)據(jù)上鏈有兩方面要求,一是過(guò)濾不可信數(shù)據(jù)源提供的污染數(shù)據(jù),防止臟數(shù)據(jù)完成上鏈,保障上鏈數(shù)據(jù)的正確性;二是隱藏可信數(shù)據(jù)源提供的有效數(shù)據(jù)的明文信息,在保證數(shù)據(jù)可用不可見(jiàn)的前提下,保障上鏈數(shù)據(jù)的隱私性和可用性。預(yù)言機(jī)是區(qū)塊鏈系統(tǒng)和外部世界連接的橋梁,是一種區(qū)塊鏈上寫(xiě)入鏈下數(shù)據(jù)的機(jī)制,能夠?qū)崿F(xiàn)對(duì)上鏈數(shù)據(jù)的完整性和真實(shí)性驗(yàn)證,保證上鏈數(shù)據(jù)的正確性。其主要工作是將外部應(yīng)用程序接口(Application

ProgrammingInterface,API)收集到的鏈下數(shù)據(jù)整合并提供給智能合約,憑借簽名算法認(rèn)證外界世界狀態(tài)的信息,從而允許確定的智能合約對(duì)不確定的外部世界做出反應(yīng)。通過(guò)預(yù)言機(jī)系統(tǒng)進(jìn)行數(shù)據(jù)源認(rèn)證、數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)清洗等過(guò)程完成可信數(shù)據(jù)上鏈。零知識(shí)證明作為傳統(tǒng)隱私保護(hù)技術(shù)在保證數(shù)據(jù)真實(shí)可用的前提下,有效保護(hù)上鏈數(shù)據(jù)的隱私信息,同時(shí)保障了數(shù)據(jù)的可用性和隱私性。碳市場(chǎng)是全球?yàn)榻鉀Q經(jīng)濟(jì)發(fā)展所帶來(lái)的環(huán)境外部性問(wèn)題而產(chǎn)生的政策性市場(chǎng)。為了平衡經(jīng)濟(jì)發(fā)展帶來(lái)的環(huán)境問(wèn)題,碳市場(chǎng)成為世界環(huán)境保護(hù)的重點(diǎn)陣地。目前,我國(guó)的碳市場(chǎng)還處于初級(jí)發(fā)展階段,需要建立良好的碳排放機(jī)制,做好數(shù)據(jù)核查、企業(yè)碳排放量分配、碳交易市場(chǎng)、總體清算等工作。然而,我國(guó)原有的碳排放機(jī)制呈現(xiàn)參與方多、數(shù)據(jù)難以協(xié)同和各方信任缺乏等特點(diǎn),其突出問(wèn)題在于企業(yè)碳排放數(shù)據(jù)容易出現(xiàn)造假現(xiàn)象。這是因?yàn)槠髽I(yè)碳排放量證明由第三方機(jī)構(gòu)給出,地方政府與企業(yè)之間不存在直接的信息通道。一旦企業(yè)與第三方機(jī)構(gòu)聯(lián)合進(jìn)行數(shù)據(jù)造假,地方政府將難以掌握企業(yè)碳排放真實(shí)情況,難以建立碳信息披露機(jī)制,不利于我國(guó)碳排放機(jī)制的實(shí)現(xiàn)。將區(qū)塊鏈技術(shù)應(yīng)用于碳排放機(jī)制,通過(guò)安全可信的區(qū)塊鏈數(shù)據(jù)上鏈機(jī)制,在企業(yè)碳排放數(shù)據(jù)報(bào)告上鏈前進(jìn)行數(shù)據(jù)認(rèn)證,保障企業(yè)碳排放數(shù)據(jù)報(bào)告的真實(shí)有效性,避免第三方核查機(jī)構(gòu)和企業(yè)勾結(jié)而導(dǎo)致的數(shù)據(jù)報(bào)告造假現(xiàn)象。同時(shí),依靠區(qū)塊鏈技術(shù)的共識(shí)機(jī)制和防篡改特性還能有效減少原碳排放機(jī)制因信任機(jī)制缺乏、信息不對(duì)稱造成的相關(guān)問(wèn)題。將區(qū)塊鏈技術(shù)運(yùn)用于我國(guó)碳排放管理,構(gòu)建一個(gè)可追溯、可共享的碳排放流程的數(shù)據(jù)共享平臺(tái)并建立信任機(jī)制和協(xié)同關(guān)系,有利于提高交易效率,共同促進(jìn)碳市場(chǎng)發(fā)展。本文的研究工作如下文所述。(1)提出基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈協(xié)議。零知識(shí)證明能夠保證在不暴露數(shù)據(jù)源明文數(shù)據(jù)的前提下,提供數(shù)據(jù)的有效性證明;預(yù)言機(jī)完成對(duì)數(shù)據(jù)的認(rèn)證,保障通過(guò)預(yù)言機(jī)上鏈的數(shù)據(jù)是真實(shí)有效的。(2)針對(duì)我國(guó)碳排放場(chǎng)景,將上述協(xié)議與我國(guó)碳排放機(jī)制融合,提出一種基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案。該方案要上鏈的數(shù)據(jù)為企業(yè)碳排放合規(guī)性證明,由數(shù)據(jù)源利用零知識(shí)證明算法生成零知識(shí)證明,預(yù)言機(jī)系統(tǒng)進(jìn)行零知識(shí)證明驗(yàn)證和預(yù)言機(jī)系統(tǒng)的數(shù)據(jù)認(rèn)證。通過(guò)預(yù)言機(jī)系統(tǒng)認(rèn)證的數(shù)據(jù)才可以完成最終的數(shù)據(jù)上鏈。(3)實(shí)現(xiàn)本文提到的零知識(shí)證明算法和Schnorr簽名算法,并對(duì)其進(jìn)行功能性測(cè)試與性能分析。實(shí)驗(yàn)結(jié)果表明,相比于BLS簽名算法,本文選擇的Schnorr算法效率更高,簽名驗(yàn)證消耗時(shí)間更少;加入零知識(shí)證明算法后,雖然運(yùn)行效率降低,但極大地增強(qiáng)了數(shù)據(jù)的隱私安全性,在數(shù)據(jù)可用不可見(jiàn)的前提下,保證了數(shù)據(jù)的可用性。1相關(guān)工作和背景知識(shí)1.1相關(guān)工作憑借區(qū)塊鏈去中心化、多方共識(shí)、不可篡改、透明化、安全可信的特性,基于區(qū)塊鏈技術(shù)的碳排放研究越來(lái)越多。袁莉莉等人對(duì)基于區(qū)塊鏈技術(shù)的碳排放機(jī)制進(jìn)行了研究,通過(guò)區(qū)塊鏈公開(kāi)透明、可追溯、可共享等優(yōu)點(diǎn)解決了碳排放環(huán)節(jié)中信息不對(duì)稱和容易數(shù)據(jù)造假的痛點(diǎn)問(wèn)題,實(shí)現(xiàn)了碳交易的可追溯、可共享,提高了碳交易效率,降低了碳交易成本。張澤基于區(qū)塊鏈智能合約技術(shù)設(shè)計(jì)了一個(gè)碳排放交易系統(tǒng),實(shí)現(xiàn)了碳排放交易系統(tǒng)的基本功能,使交易數(shù)據(jù)能夠記錄到區(qū)塊鏈中,相比于傳統(tǒng)的碳交易平臺(tái)更加安全透明。劉林林基于區(qū)塊鏈技術(shù)設(shè)計(jì)了一個(gè)碳排放交易模型,通過(guò)屬性基加密的密碼學(xué)技術(shù)提供了高強(qiáng)度的隱私保護(hù)能力。宋得民等人

提出了基于區(qū)塊鏈的智慧碳排放管理方案,通過(guò)區(qū)塊鏈技術(shù)進(jìn)行碳排放情況的智能化、數(shù)字化管理,并運(yùn)用長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)算法對(duì)碳配額的購(gòu)買進(jìn)行合理規(guī)劃,從而降低交易風(fēng)險(xiǎn)。吳花平等人對(duì)基于區(qū)塊鏈的碳排放審計(jì)流程優(yōu)化進(jìn)行了研究,闡述了區(qū)塊鏈技術(shù)與碳排放審計(jì)結(jié)合的可行性,并對(duì)區(qū)塊鏈技術(shù)環(huán)境下的碳排放審計(jì)流程進(jìn)行了舉例說(shuō)明。1.2區(qū)塊鏈技術(shù)區(qū)塊鏈技術(shù)最初源于中本聰在2008年發(fā)表的題為Bitcoin:APeer-to-PeerElectronicCash

System的論文。其并非憑空出現(xiàn)的新技術(shù),而是由密碼學(xué)技術(shù)、點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)(PeertoPeer,P2P)以及時(shí)間戳技術(shù)等現(xiàn)有技術(shù)整合而成。經(jīng)過(guò)多年的技術(shù)創(chuàng)新,區(qū)塊鏈已經(jīng)進(jìn)入到了第三階段。最初是用于記錄比特幣等數(shù)字貨幣交易的數(shù)據(jù)結(jié)構(gòu)。之后隨著以太坊的出現(xiàn),一個(gè)開(kāi)源的有智能合約功能的公共區(qū)塊鏈平臺(tái)帶來(lái)了更多的應(yīng)用實(shí)現(xiàn)。到如今,具有公開(kāi)透明、可追溯特點(diǎn)的區(qū)塊鏈技術(shù)正在擴(kuò)展到人們生活的各個(gè)方面,逐漸將去中心化的思想帶到人們的生活。1.3零知識(shí)證明零知識(shí)證明(Zero-KnowledgeProof,ZKP)是由S.Goldwasser、S.Micali及C.Rackoff提出的一種密碼協(xié)議。它能在不向驗(yàn)證者透露消息內(nèi)容的前提下,證明消息含有某個(gè)值或者處于某個(gè)區(qū)間。零知識(shí)證明可以用于解決區(qū)塊鏈隱私保護(hù)以及數(shù)據(jù)的合法性驗(yàn)證等問(wèn)題。本文的零知識(shí)證明協(xié)議是基于Paillier算法,用于解決碳排放合規(guī)的合法性證明。Alice需要在不透露c和C具體值的前提下向Bob證明兩數(shù)之間的大小關(guān)系,其中c和C為Alice擁有的隱私信息。證明流程如下文所述。(1)系統(tǒng)初始化:利用Paillier密鑰生成算法,為Alice和Bob分別生成公私鑰對(duì)。(2)零知識(shí)證明生成:Alice獲取Bob的公鑰?根據(jù)要證明大小關(guān)系的兩數(shù)c和C生成零知識(shí)證明π,并將零知識(shí)證明π發(fā)送給Bob。(3)零知識(shí)證明驗(yàn)證:Bob用自己的私鑰?對(duì)零知識(shí)證明π進(jìn)行驗(yàn)證,通過(guò)驗(yàn)證結(jié)果可以知道兩數(shù)c和C之間的大小關(guān)系。1.4Paillier算法Paillier算法

是PascalPaillier在1999年發(fā)明的概率公鑰加密算法,滿足加法同態(tài)。該算法可以進(jìn)行零知識(shí)證明計(jì)算。Paillier算法具體包括以下步驟。(1)密鑰生成:選擇兩個(gè)隨機(jī)的大素?cái)?shù)p和q,保證為兩個(gè)參數(shù)的最大公約數(shù)。計(jì)算n為素?cái)?shù)的乘積,λ為最小公倍數(shù),可以計(jì)算兩個(gè)參數(shù)的最小公倍數(shù)。選取隨機(jī)正整數(shù)且存在其中函數(shù)的定義?。此時(shí),公鑰為私鑰為(2)加密過(guò)程:對(duì)于明文m,選擇隨機(jī)數(shù)r,滿足是互質(zhì)的關(guān)系。計(jì)算密文(3)解密過(guò)程:利用私鑰進(jìn)行解密,明文1.5預(yù)言機(jī)區(qū)塊鏈

系統(tǒng)通過(guò)智能合約代碼將數(shù)據(jù)寫(xiě)入?yún)^(qū)塊中,智能合約代碼會(huì)根據(jù)預(yù)先設(shè)定的條件自動(dòng)執(zhí)行,保障寫(xiě)入數(shù)據(jù)的過(guò)程是透明的、可追蹤、不可篡改。然而,區(qū)塊鏈?zhǔn)且粋€(gè)確定性的、封閉的系統(tǒng)環(huán)境,智能合約中不允許存在不確定的因素。因此,區(qū)塊鏈無(wú)法主動(dòng)獲取鏈下數(shù)據(jù)。為了建立外部數(shù)據(jù)和區(qū)塊鏈鏈上數(shù)據(jù)之間的橋梁,可以通過(guò)區(qū)塊鏈預(yù)言機(jī)進(jìn)行外部數(shù)據(jù)的數(shù)據(jù)上鏈。區(qū)塊鏈預(yù)言機(jī)(BlockchainOracle)是一種連接現(xiàn)實(shí)數(shù)據(jù)源和鏈上用戶智能合約的數(shù)據(jù)服務(wù)機(jī)制。發(fā)送到區(qū)塊鏈的數(shù)據(jù)或交易事件需要通過(guò)預(yù)言機(jī)作為確定性輸入才能觸發(fā)用戶的智能合約。預(yù)言機(jī)是區(qū)塊鏈與真實(shí)數(shù)據(jù)源之間的唯一數(shù)據(jù)交互接口,外部數(shù)據(jù)源的數(shù)據(jù)首先提交預(yù)言機(jī)進(jìn)行聚合和匯總,然后由預(yù)言機(jī)觸發(fā)用戶智能合約進(jìn)行數(shù)據(jù)上鏈。預(yù)言機(jī)的工作流程如圖1所示。圖1預(yù)言機(jī)工作流程門限預(yù)言機(jī)屬于分布式預(yù)言機(jī)的一種,是多點(diǎn)部署預(yù)言機(jī)的機(jī)制,數(shù)據(jù)上鏈不由任何單一的節(jié)點(diǎn)所控制,沒(méi)有單點(diǎn)失效的風(fēng)險(xiǎn)。在門限預(yù)言機(jī)中,采用門限簽名算法對(duì)預(yù)言機(jī)的上傳數(shù)據(jù)進(jìn)行匯總,普通預(yù)言機(jī)節(jié)點(diǎn)可以對(duì)與其相連的任何數(shù)據(jù)源進(jìn)行認(rèn)證。設(shè)系統(tǒng)中參與數(shù)據(jù)源認(rèn)證的預(yù)言機(jī)數(shù)量為n,簽名門限為t,當(dāng)提交相同數(shù)據(jù)的預(yù)言機(jī)數(shù)量超過(guò)門限值t時(shí),則認(rèn)為該數(shù)據(jù)是正確的,同時(shí),可以通過(guò)設(shè)置積分獎(jiǎng)懲機(jī)制管理預(yù)言機(jī)節(jié)點(diǎn),減少惡意預(yù)言機(jī)作惡的可能。如果預(yù)言機(jī)節(jié)點(diǎn)提供了不正確的數(shù)據(jù),就會(huì)被扣除相應(yīng)的積分,而積分也會(huì)對(duì)門限預(yù)言機(jī)的選取具有重要意義。2方案設(shè)計(jì)2.1方案模型本文的基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案的模型如圖2所示。該方案是針對(duì)碳排放應(yīng)用場(chǎng)景提出的一種基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案,包括以下實(shí)體:用戶節(jié)點(diǎn)、用戶智能合約、預(yù)言機(jī)智能合約、預(yù)言機(jī)群、數(shù)據(jù)源。(1)用戶節(jié)點(diǎn):將用戶數(shù)據(jù)上傳到區(qū)塊鏈系統(tǒng),并通過(guò)請(qǐng)求用戶智能合約進(jìn)行鏈下數(shù)據(jù)上鏈,獲取所需的鏈下實(shí)時(shí)數(shù)據(jù)。(2)用戶智能合約:接受用戶節(jié)點(diǎn)的鏈下數(shù)據(jù)上鏈的請(qǐng)求,并向預(yù)言機(jī)智能合約請(qǐng)求相關(guān)數(shù)據(jù)。(3)預(yù)言機(jī)智能合約:驗(yàn)證預(yù)言機(jī)群傳來(lái)的數(shù)據(jù)和簽名,上傳相關(guān)用戶數(shù)據(jù),并完成預(yù)言機(jī)群的積分管理。(4)預(yù)言機(jī)群:向數(shù)據(jù)源請(qǐng)求鏈下實(shí)時(shí)數(shù)據(jù),驗(yàn)證數(shù)據(jù)源傳來(lái)的數(shù)據(jù)和零知識(shí)證明,對(duì)于正確有效的數(shù)據(jù)生成簽名并上傳給預(yù)言機(jī)智能合約。(5)數(shù)據(jù)源:收到預(yù)言機(jī)的數(shù)據(jù)請(qǐng)求,通過(guò)傳感器收集相關(guān)實(shí)時(shí)數(shù)據(jù),并生成對(duì)應(yīng)的零知識(shí)證明,上傳到對(duì)應(yīng)預(yù)言機(jī)。圖2方案模型2.2方案描述在該方案中,數(shù)據(jù)上鏈工作流程可以分為系統(tǒng)初始化、數(shù)據(jù)請(qǐng)求、數(shù)據(jù)證明、數(shù)據(jù)簽名、數(shù)據(jù)上鏈5個(gè)階段。各個(gè)階段詳細(xì)描述如下文所述。(1)系統(tǒng)初始化:預(yù)言機(jī)節(jié)點(diǎn)啟動(dòng)服務(wù)程序,該服務(wù)可以調(diào)用第三方API,獲取鏈下實(shí)時(shí)數(shù)據(jù),并構(gòu)造提供交易給智能合約。每個(gè)預(yù)言機(jī)節(jié)點(diǎn)還要利用安全參數(shù)產(chǎn)生全局參數(shù),將全局參數(shù)公開(kāi),生成各自的公私鑰對(duì)。(2)數(shù)據(jù)請(qǐng)求:用戶節(jié)點(diǎn)向區(qū)塊鏈系統(tǒng)發(fā)出實(shí)時(shí)數(shù)據(jù)請(qǐng)求,通過(guò)請(qǐng)求用戶智能合約進(jìn)行鏈下實(shí)時(shí)數(shù)據(jù)上鏈,獲取相關(guān)數(shù)據(jù)信息。(3)數(shù)據(jù)證明:數(shù)據(jù)源處的傳感器收集到原始數(shù)據(jù)后,根據(jù)數(shù)據(jù)請(qǐng)求來(lái)源的預(yù)言機(jī)的公鑰,生成對(duì)應(yīng)的零知識(shí)證明。將實(shí)時(shí)數(shù)據(jù)和零知識(shí)證明上傳到對(duì)應(yīng)的預(yù)言機(jī)。預(yù)言機(jī)通過(guò)自己的私鑰進(jìn)行零知識(shí)證明驗(yàn)證,核查驗(yàn)證結(jié)果與實(shí)時(shí)數(shù)據(jù)是否相符,若相符則認(rèn)為該數(shù)據(jù)正確。(4)數(shù)據(jù)簽名:各個(gè)預(yù)言機(jī)對(duì)正確的數(shù)據(jù)根據(jù)自己的私鑰生成簽名,上傳到門限預(yù)言機(jī)。門限預(yù)言機(jī)進(jìn)行簽名驗(yàn)證,驗(yàn)證通過(guò)的數(shù)據(jù)才能夠進(jìn)行門限統(tǒng)計(jì)。當(dāng)驗(yàn)證通過(guò)的相同數(shù)據(jù)的數(shù)量達(dá)到門限值時(shí),則認(rèn)為該數(shù)據(jù)已經(jīng)通過(guò)預(yù)言機(jī)群的驗(yàn)證。將正確的數(shù)據(jù)生成簽名并上傳到預(yù)言機(jī)智能合約,由預(yù)言機(jī)智能合約進(jìn)行簽名驗(yàn)證,允許驗(yàn)證通過(guò)的數(shù)據(jù)進(jìn)行數(shù)據(jù)上鏈。同時(shí)預(yù)言機(jī)智能合約還要完成預(yù)言機(jī)群的積分管理。(5)數(shù)據(jù)上鏈:若用戶智能合約將預(yù)言機(jī)智能合約傳來(lái)的數(shù)據(jù)進(jìn)行上鏈,則認(rèn)為該數(shù)據(jù)已經(jīng)通過(guò)驗(yàn)證。2.3算法設(shè)計(jì)2.3.1零知識(shí)證明算法設(shè)計(jì)本文將零知識(shí)證明算法用于兩數(shù)的大小關(guān)系證明,對(duì)于兩數(shù)c和C進(jìn)行大小比較,生成并上傳大小關(guān)系證明E,算法流程具體如下文所述。(1)密鑰初始化Step1該算法由預(yù)言機(jī)節(jié)點(diǎn)i執(zhí)行,大素?cái)?shù)p和q的選擇要保證且Step2選取隨機(jī)正整數(shù)且存在其中函數(shù)的定義為Step3輸出私鑰和公鑰并將公鑰進(jìn)行公開(kāi)。(2)證明生成Step1該算法由數(shù)據(jù)源節(jié)點(diǎn)執(zhí)行,傳感器收集碳排放量數(shù)據(jù)c,與碳排放量閾值C和預(yù)言機(jī)i的公鑰作為輸入。Step2拆分Step3選擇隨機(jī)數(shù)滿足且是互質(zhì)的關(guān)系,計(jì)算Step4選擇隨機(jī)數(shù)滿足且是互質(zhì)的關(guān)系,計(jì)算Step5用上述參數(shù)生成零知識(shí)證明E,計(jì)算:式中:為整數(shù),是拆分過(guò)程的中間值;是對(duì)的數(shù)據(jù)加密結(jié)果;是對(duì)的數(shù)據(jù)加密結(jié)果;為預(yù)言機(jī)節(jié)點(diǎn)i的公鑰。(3)證明驗(yàn)證Step1該算法由預(yù)言機(jī)節(jié)點(diǎn)i執(zhí)行,由零知識(shí)證明E、私鑰和碳排放量合規(guī)性信息m作為輸入,進(jìn)行零知識(shí)證明驗(yàn)證。Step2利用私鑰計(jì)算:式中:X為零知識(shí)證明的驗(yàn)證結(jié)果;是對(duì)E的數(shù)據(jù)解密結(jié)果;為預(yù)言機(jī)節(jié)點(diǎn)i的私鑰。Step3驗(yàn)證兩數(shù)的大小關(guān)系,若X>0,則表示若X<0,則表示;若X=0,則表示Step4通過(guò)驗(yàn)證結(jié)果X來(lái)判斷碳排放量合規(guī)性信息m的正確性。2.3.2門限簽名算法設(shè)計(jì)門限簽名算法適用于分布式預(yù)言機(jī)的場(chǎng)景,用于預(yù)言機(jī)系統(tǒng)進(jìn)行數(shù)據(jù)認(rèn)證,防止惡意預(yù)言機(jī)節(jié)點(diǎn)上傳臟數(shù)據(jù)到區(qū)塊鏈系統(tǒng)。本文選擇Schnorr簽名算法用于單個(gè)預(yù)言機(jī)節(jié)點(diǎn)對(duì)數(shù)據(jù)的簽名,簽名生成后上傳至門限預(yù)言機(jī)。門限預(yù)言機(jī)收到超過(guò)門限值個(gè)相同數(shù)據(jù)后,認(rèn)為該數(shù)據(jù)是正確的。此時(shí),門限預(yù)言機(jī)對(duì)該數(shù)據(jù)簽名并上傳到區(qū)塊鏈中進(jìn)行上鏈。算法具體流程如下文所述。(1)密鑰生成initPara。Step1此算法由預(yù)言機(jī)節(jié)點(diǎn)i執(zhí)行,選擇兩個(gè)隨機(jī)的大素?cái)?shù)p和q,且q是p的素因子。選取整數(shù)a,使得a,p,q被系統(tǒng)所有節(jié)點(diǎn)共同擁有,是系統(tǒng)的初始參數(shù)。Step2預(yù)言機(jī)節(jié)點(diǎn)i生成私鑰并計(jì)算作為預(yù)言機(jī)節(jié)點(diǎn)i的公鑰。(2)數(shù)據(jù)簽名GenSign。Step1此算法由預(yù)言機(jī)節(jié)點(diǎn)i執(zhí)行,選擇隨機(jī)整數(shù)r,并計(jì)算Step2將R附在消息m后面進(jìn)行Hash計(jì)算,h為哈希值。Step3利用預(yù)言機(jī)節(jié)點(diǎn)i的私鑰計(jì)算s為簽名中間值。Step4生成對(duì)消息m的簽名(3)簽名驗(yàn)證CheckSign。Step1此算法由門限預(yù)言機(jī)執(zhí)行,獲取預(yù)言機(jī)節(jié)點(diǎn)i的公鑰Step2通過(guò)上述參數(shù),計(jì)算為驗(yàn)證過(guò)程的中間值。Step3計(jì)算并比較和h的大小關(guān)系。如果一致,則認(rèn)為數(shù)據(jù)正確。(4)門限觸發(fā)。Step1該算法由門限預(yù)言機(jī)執(zhí)行,設(shè)定該算法門限值為t。Step2當(dāng)簽名驗(yàn)證通過(guò)的相同數(shù)據(jù)的個(gè)數(shù)達(dá)到門限值t時(shí),則認(rèn)為該數(shù)據(jù)是正確的,經(jīng)過(guò)了預(yù)言機(jī)群認(rèn)證。Step3通過(guò)門限預(yù)言機(jī)的私鑰sk對(duì)該數(shù)據(jù)進(jìn)行簽名,并上傳到區(qū)塊鏈系統(tǒng)進(jìn)行上鏈。2.4算法正確性驗(yàn)證2.4.1零知識(shí)證明算法正確性驗(yàn)證由同態(tài)加密方案的性質(zhì),可以計(jì)算出:式中:是對(duì)的數(shù)據(jù)加密結(jié)果;是對(duì)的數(shù)據(jù)加密結(jié)果;為生成元;n為加密參數(shù)。將上述結(jié)果進(jìn)行解密可以得到:因?yàn)樯鲜鼋Y(jié)果對(duì)模n取余可得:又因?yàn)橛捎谒匀鬽>0,則若m<0,則若m=0,則因此,此協(xié)議是正確的。2.4.2Schnorr簽名算法正確性驗(yàn)證簽名驗(yàn)證者收到后,可以計(jì)算:式中:為驗(yàn)證過(guò)程的中間值;a為系統(tǒng)參數(shù);r為隨機(jī)數(shù)。所以由此可驗(yàn)證消息m沒(méi)有在傳輸過(guò)程中被篡改,且消息m的發(fā)送方一定為擁有對(duì)應(yīng)私鑰的用戶。2.5具體應(yīng)用方案在碳排放應(yīng)用場(chǎng)景中,政府部門需要向碳排放企業(yè)獲取碳排放合規(guī)性報(bào)告,完成監(jiān)管和審查企業(yè)碳排放數(shù)據(jù)的工作。我國(guó)碳排放數(shù)據(jù)的報(bào)告對(duì)象是溫室氣體,主要分為二氧化碳、甲烷、一氧化二氮。碳排放企業(yè)需要通過(guò)傳感器收集核查所有溫室氣體排放數(shù)據(jù),并與國(guó)家規(guī)定企業(yè)碳排放限額作比較,生成對(duì)應(yīng)的碳排放量合規(guī)性證明并進(jìn)行數(shù)據(jù)上鏈,接受政府部門的監(jiān)管和審查。針對(duì)碳排放應(yīng)用,本文詳細(xì)設(shè)計(jì)基于預(yù)言機(jī)和零知識(shí)證明的區(qū)塊鏈數(shù)據(jù)上鏈方案。方案中涉及的相關(guān)參數(shù)由表1給出。具體應(yīng)用方案流程如圖3所示。圖3方案流程表1方案相關(guān)參數(shù)首先,政府部門向碳排放企業(yè)請(qǐng)求碳排放合規(guī)性證明。碳排放企業(yè)向用戶智能合約發(fā)出碳排放量合規(guī)信息的數(shù)據(jù)請(qǐng)求,調(diào)用預(yù)言機(jī)系統(tǒng)收集企業(yè)碳排放量數(shù)據(jù);然后,預(yù)言機(jī)系統(tǒng)將積分值最高者選為門限預(yù)言機(jī),多個(gè)預(yù)言機(jī)向數(shù)據(jù)源處請(qǐng)求數(shù)據(jù)信息;數(shù)據(jù)源處的傳感器收集原始數(shù)據(jù)并生成零知識(shí)證明,上傳給對(duì)應(yīng)預(yù)言機(jī);預(yù)言機(jī)收到信息后驗(yàn)證零知識(shí)證明的正確性,選擇正確的信息進(jìn)行簽名,發(fā)送正確的數(shù)據(jù)和簽名給簽名門限預(yù)言機(jī);門限預(yù)言機(jī)接收數(shù)據(jù)后先進(jìn)行簽名驗(yàn)證,然后在收到門限值個(gè)相同數(shù)據(jù)時(shí)認(rèn)為該數(shù)據(jù)可以進(jìn)行上鏈,生成對(duì)應(yīng)的簽名,最后將收集的鏈下正確數(shù)據(jù)和簽名返回到鏈上智能合約,并傳遞給碳排放企業(yè)和政府部門。方案具體流程如下文所述。(1)碳排放企業(yè)和政府部門請(qǐng)求鏈下碳排放數(shù)據(jù)。觸發(fā)用戶智能合約,請(qǐng)求獲取數(shù)據(jù)源處碳排放量的合規(guī)情況。(2)向預(yù)言機(jī)系統(tǒng)請(qǐng)求鏈下數(shù)據(jù)。用戶智能合約向預(yù)言機(jī)群發(fā)起數(shù)據(jù)請(qǐng)求,收集企業(yè)碳排放量的合規(guī)信息。(3)預(yù)言機(jī)獲取鏈下數(shù)據(jù)。預(yù)言機(jī)接收到用戶智能合約消息后,向多個(gè)外部數(shù)據(jù)源獲取碳排放量合規(guī)信息。(4)上傳零知識(shí)證明。接受來(lái)自編號(hào)為i的預(yù)言機(jī)的請(qǐng)求,傳感器收集當(dāng)月碳排放量c,并根據(jù)碳排放量閾值C和預(yù)言機(jī)i的公鑰生成對(duì)應(yīng)的零知識(shí)證明向預(yù)言機(jī)i上傳碳排放量合規(guī)信息m和零知識(shí)證明E。(5)預(yù)言機(jī)驗(yàn)證零知識(shí)證明。預(yù)言機(jī)i根據(jù)私鑰對(duì)零知識(shí)證明E進(jìn)行驗(yàn)證,計(jì)算如果e≤0,則證明該數(shù)據(jù)源處碳排放量合規(guī);如果e>0,則證明該數(shù)據(jù)源處碳排放量不合規(guī)。當(dāng)零知識(shí)證明的結(jié)果與碳排放量合規(guī)信息m保持一致時(shí),則認(rèn)為該信息m正確。(6)預(yù)言機(jī)發(fā)送數(shù)據(jù)和簽名。用積分制度來(lái)規(guī)范預(yù)言機(jī)的行為(每個(gè)預(yù)言機(jī)的積分初始值為0,每發(fā)送一次正確數(shù)據(jù)積分值加1),選出積分值最高的節(jié)點(diǎn),將其稱為門限預(yù)言機(jī)。預(yù)言機(jī)i對(duì)驗(yàn)證通過(guò)的信息m生成簽名,根據(jù)私鑰和隨機(jī)整數(shù)計(jì)算將簽名發(fā)送給門限預(yù)言機(jī)。(7)門限預(yù)言機(jī)將正確的數(shù)據(jù)和簽名上鏈。門限預(yù)言機(jī)不斷地接收預(yù)言機(jī)傳送來(lái)的數(shù)據(jù)和簽名等信息。接收預(yù)言機(jī)i發(fā)送來(lái)的數(shù)據(jù)和簽名進(jìn)行驗(yàn)證,獲取預(yù)言機(jī)i的公鑰計(jì)算驗(yàn)證是否等于若通過(guò)驗(yàn)證的數(shù)據(jù)m數(shù)量達(dá)到t,則認(rèn)為該數(shù)據(jù)m是正確的,根據(jù)門限預(yù)言機(jī)的私鑰sk,生成簽名發(fā)送給預(yù)言機(jī)智能合約。(8)預(yù)言機(jī)智能合約調(diào)用用戶智能合約。預(yù)言機(jī)智能合約獲取門限預(yù)言機(jī)的公鑰pk,對(duì)發(fā)送來(lái)的簽名和數(shù)據(jù)進(jìn)行驗(yàn)證。若驗(yàn)證正確,則發(fā)送正確數(shù)據(jù)和簽名給用戶智能合約。對(duì)發(fā)送正確數(shù)據(jù)的預(yù)言機(jī)積分值加1,對(duì)發(fā)送錯(cuò)誤數(shù)據(jù)的預(yù)言機(jī)積分值減1。(9)用戶智能合約將數(shù)據(jù)返回給碳排放企業(yè)和政府部門。預(yù)言機(jī)智能合約觸發(fā)用戶智能合約后,用戶智能合約接收到數(shù)據(jù)和簽名隨后將數(shù)據(jù)返回給碳排放企業(yè)和政府部門,碳排放企業(yè)和政府部門收到所需的鏈下實(shí)時(shí)碳排放量合規(guī)數(shù)據(jù)。3安全性與可行性分析通過(guò)方案設(shè)計(jì)部分提出的方案,傳感器收集的碳排放量具體值在上傳到預(yù)言機(jī)節(jié)點(diǎn)之前,會(huì)先生成針對(duì)碳排放合規(guī)性的零知識(shí)證明。通過(guò)僅上傳該零知識(shí)證明,可以在避免向預(yù)言機(jī)節(jié)點(diǎn)透露企業(yè)碳排放量具體值的前提下,證明該企業(yè)碳排放量符合規(guī)定,保護(hù)了企業(yè)碳排放數(shù)據(jù)的隱私性。在預(yù)言機(jī)系統(tǒng)中,通過(guò)門限簽名的方式,只有在門限預(yù)言機(jī)收到達(dá)到門限值數(shù)量的相同數(shù)據(jù)時(shí),才認(rèn)定該數(shù)據(jù)是正確的。將該數(shù)據(jù)用門限預(yù)言機(jī)的私鑰進(jìn)行簽名,代表正確性經(jīng)過(guò)了預(yù)言機(jī)系統(tǒng)的認(rèn)證。門限預(yù)言機(jī)在上傳數(shù)據(jù)和簽名的同時(shí)還要分別上傳提供正確數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)的預(yù)言機(jī)編號(hào),通過(guò)積分管理制度來(lái)激勵(lì)懲罰預(yù)言機(jī)節(jié)點(diǎn),可以篩選出可信的預(yù)言機(jī)節(jié)點(diǎn)并且提高預(yù)言機(jī)節(jié)點(diǎn)的效率。零知識(shí)證明和相關(guān)簽名的密鑰采用隱蔽信道傳輸,可實(shí)現(xiàn)密鑰的不可篡改性、安全性和完整性。區(qū)塊鏈系統(tǒng)通過(guò)該數(shù)據(jù)上鏈方案,保障了數(shù)據(jù)的保密性、完整性、可用性、不可篡改性。4實(shí)驗(yàn)分析4.1實(shí)驗(yàn)環(huán)境本方案的仿真實(shí)驗(yàn)在虛擬機(jī)中進(jìn)行,采用的虛擬機(jī)是VMwareWorkstationPro。在虛擬機(jī)中,采用Ubuntu20.04操作系統(tǒng),處理器內(nèi)核4個(gè),內(nèi)存8GB。智能合約在Remix上編譯,環(huán)境選擇InjectedWeb3鏈接MetaMask的賬戶,將智能合約在本地Ganach

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論