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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論