• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      雙鏈?zhǔn)絽^(qū)塊鏈交易監(jiān)管研究

      2020-12-07 08:20:28巫光福王柯柯
      關(guān)鍵詞:單鏈校驗(yàn)合約

      巫光福,余 攀,王柯柯

      江西理工大學(xué) 信息工程學(xué)院,江西 贛州 341000

      1 引言

      目前,區(qū)塊鏈技術(shù)發(fā)展迅速,已引起全球關(guān)注。區(qū)塊鏈?zhǔn)且粋€(gè)出色的P2P支付系統(tǒng),用戶(hù)可以通過(guò)區(qū)塊鏈將比特幣直接發(fā)送到另一方的地址,能夠?qū)崿F(xiàn)跨地區(qū)跨國(guó)界的交易。智能合約的概念是由密碼學(xué)家Szabo N在1994年提出的[1],受到自動(dòng)售貨機(jī)的啟發(fā):“智能合約是一系列以數(shù)字形式定義的承諾,包括合同參與者可以達(dá)成的協(xié)議履行這些承諾”[1]。然而,直到區(qū)塊鏈技術(shù)出現(xiàn),智能合約才找到合適的應(yīng)用場(chǎng)景。每筆交易均忠實(shí)記錄在區(qū)塊鏈中。不需要傳統(tǒng)的中介機(jī)構(gòu)來(lái)負(fù)責(zé)兩方之間的交易安全。但是區(qū)塊鏈也存在一定的問(wèn)題。許多不法分子使用比特幣的匿名特性隱藏自己的身份,借助區(qū)塊鏈進(jìn)行勒索軟件攻擊并經(jīng)營(yíng)黑暗的市場(chǎng)以交換非法商品和服務(wù)[2]。鏈中的節(jié)點(diǎn)存在非法交易,不法分子可以通過(guò)區(qū)塊鏈進(jìn)行非法的交易。由于區(qū)塊鏈的匿名性,導(dǎo)致交易方身份無(wú)法確認(rèn),可能存在洗錢(qián)的現(xiàn)象。一旦發(fā)生非法交易,則無(wú)法挽回?fù)p失。對(duì)于單鏈?zhǔn)浇Y(jié)構(gòu)建塊時(shí),需要全網(wǎng)投票,所以交易速度非常慢[3]。對(duì)于區(qū)塊鏈的智能合約,由于智能合約關(guān)聯(lián)著資產(chǎn),智能合約一旦部署到區(qū)塊中,則無(wú)法修改。所以一旦執(zhí)行過(guò)程中出現(xiàn)漏洞,無(wú)法終止合約的執(zhí)行,對(duì)合約的擁有者將會(huì)導(dǎo)致巨大的損失。

      對(duì)于區(qū)塊鏈中缺乏有效的監(jiān)管,許多專(zhuān)家和監(jiān)管機(jī)構(gòu)開(kāi)始關(guān)注這一問(wèn)題。但是一直沒(méi)有形成一個(gè)統(tǒng)一的監(jiān)管方式去應(yīng)對(duì)這一問(wèn)題[2]。國(guó)際上對(duì)區(qū)塊鏈監(jiān)管主要有以下3種模式。(1)以發(fā)展科技創(chuàng)新為主要目標(biāo)的“創(chuàng)新中心”模式,即支持和引導(dǎo)機(jī)構(gòu)理解金融監(jiān)管的框架,識(shí)別創(chuàng)新中的監(jiān)管政策和法律事項(xiàng)。(2)政府部門(mén)或監(jiān)管部門(mén)與業(yè)界建立合作機(jī)制的“創(chuàng)新加速模式”。(3)“監(jiān)管沙盒”。其特點(diǎn)是:包括金融機(jī)構(gòu)在內(nèi)的任何機(jī)構(gòu)都可以申請(qǐng)進(jìn)入監(jiān)管沙盒;監(jiān)管部門(mén)需要對(duì)申請(qǐng)者提出的創(chuàng)新產(chǎn)品或服務(wù)進(jìn)行個(gè)性化的建議或指導(dǎo);社會(huì)監(jiān)管注重保護(hù)消費(fèi)者的合法權(quán)益。國(guó)內(nèi)對(duì)區(qū)塊鏈監(jiān)管主要是態(tài)度上開(kāi)放,行為上對(duì)區(qū)塊鏈技術(shù)的跟蹤和研究進(jìn)行加強(qiáng)。Yin H H S等人[4]提出了一種基于監(jiān)督機(jī)器學(xué)習(xí)的比特幣區(qū)塊鏈去符號(hào)化方法。使用了957 個(gè)實(shí)體(約3.85 億筆交易)作為樣本,這些實(shí)體的身份和類(lèi)型已經(jīng)被揭示,作為訓(xùn)練集數(shù)據(jù)。實(shí)驗(yàn)證明該方案確實(shí)可以預(yù)測(cè)一個(gè)尚未確定的實(shí)體的類(lèi)型。采用帶默認(rèn)參數(shù)的梯度增強(qiáng)算法,交叉驗(yàn)證的平均正確率為80.42%。Chen P W等人[5]提出并部署了基于區(qū)塊鏈技術(shù)和客戶(hù)和商品商店的云數(shù)據(jù)庫(kù)的稱(chēng)為BPCSS 的比特幣收集監(jiān)管系統(tǒng)。通過(guò)著名的Testnet 比特幣無(wú)處不在的數(shù)字錢(qián)包進(jìn)行的初步實(shí)驗(yàn)結(jié)果表明,所提出的BPCSS 可以經(jīng)濟(jì)高效地收集付款并監(jiān)督運(yùn)行已實(shí)現(xiàn)NFC 功能的Android Apps的客戶(hù)與商品商店之間的交易。

      針對(duì)國(guó)內(nèi)外的監(jiān)管態(tài)度和監(jiān)管方案,本文提出了監(jiān)管鏈的概念,監(jiān)管鏈由各大監(jiān)管機(jī)構(gòu)組成。并在監(jiān)管鏈的概念上,提出了交易區(qū)塊鏈(Transaction Blockchain,TBC)和監(jiān)管區(qū)塊鏈(Regulatory Blockchain,RBC)并行的雙鏈結(jié)構(gòu),其中監(jiān)管鏈對(duì)交易鏈可以進(jìn)行有效的監(jiān)管。這種雙鏈?zhǔn)降慕Y(jié)構(gòu)在一定程度上可以提高交易的速度和增強(qiáng)系統(tǒng)的可擴(kuò)展性。同時(shí)考慮到交易的靈活性,故考慮在監(jiān)管鏈中建立智能合約市場(chǎng),去滿(mǎn)足交易的要求。對(duì)于智能合約可能存在漏洞的問(wèn)題,為了降低漏洞風(fēng)險(xiǎn),監(jiān)管鏈中部署零知識(shí)證明算法[6],利用零知識(shí)證明去驗(yàn)證智能合約結(jié)果的正確性,確保其實(shí)際功能和描述功能的一致性,為交易鏈交易參與者提供安全合適的智能合約。

      2 雙鏈?zhǔn)郊軜?gòu)分析

      雙鏈?zhǔn)浇Y(jié)構(gòu)中,RBC 如何有效地對(duì)TBC 進(jìn)行監(jiān)管。RBC 和TBC 之間需要進(jìn)行數(shù)據(jù)的交互,RBC 使用神經(jīng)網(wǎng)絡(luò)去預(yù)測(cè)分析交易數(shù)據(jù),利用訓(xùn)練識(shí)別出的特征去識(shí)別出可疑的非法交易,發(fā)現(xiàn)非法交易則對(duì)賬戶(hù)進(jìn)行凍結(jié),防止出現(xiàn)更大的損失。對(duì)于RBC 和TBC 如何交互,采用文獻(xiàn)[7]所提出的區(qū)塊鏈路由協(xié)議。該協(xié)議中有四個(gè)不同的參與者:驗(yàn)證者、連接器、監(jiān)視者和提名者。驗(yàn)證者是區(qū)塊鏈路由器網(wǎng)絡(luò)中最重要的參與者。負(fù)責(zé)驗(yàn)證,連接并轉(zhuǎn)發(fā)塊到正確的目的地。區(qū)塊鏈路由器不可能同步所有子鏈的塊,因此希望將塊收集任務(wù)分配給第三方,這稱(chēng)為連接器。提名者通過(guò)向驗(yàn)證者貢獻(xiàn)自己的資金而獲得獎(jiǎng)勵(lì)。提名者不承擔(dān)任何其他功能。驗(yàn)證者負(fù)責(zé)代表提名者維護(hù)網(wǎng)絡(luò)狀態(tài)。提名人根據(jù)捐款金額獲得相應(yīng)的收益。如果驗(yàn)證者受到懲罰,其支持提名人也將受到相應(yīng)懲罰。監(jiān)視者的任務(wù)不是驗(yàn)證區(qū)塊信息的真實(shí)性,而是監(jiān)視區(qū)塊鏈路由器的行為。文獻(xiàn)[8-9]利用機(jī)器學(xué)習(xí)圖形分析技術(shù)去分析大量的區(qū)塊鏈交易數(shù)據(jù),得出實(shí)驗(yàn)結(jié)論,機(jī)器學(xué)習(xí)圖形化技術(shù)可以揭示比特幣交易用戶(hù)的身份。文獻(xiàn)[9]利用圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Networks,GCN)和可視化技術(shù)對(duì)交易數(shù)據(jù)進(jìn)行預(yù)測(cè)生成交易圖,并可以根據(jù)交易數(shù)據(jù)映射到交易實(shí)體。在對(duì)非法交易進(jìn)行識(shí)別的過(guò)程中,將交易實(shí)體劃分為合法交易實(shí)體(交易所、錢(qián)包提供商、礦工、合法服務(wù)等)與非法交易實(shí)體(詐騙、惡意軟件、恐怖組織、勒索軟件、龐氏騙局等),并不斷地建立完善非法交易實(shí)體這樣一個(gè)黑名單。如果發(fā)起交易的實(shí)體(即控制與特定交易的輸入地址相關(guān)聯(lián)的私鑰的實(shí)體)屬于合法(非法)類(lèi)別,則該交易被視為合法(相對(duì)于非法)。同時(shí),通過(guò)對(duì)區(qū)塊鏈非法交易具有的特征(投入/產(chǎn)出的數(shù)量、交易費(fèi)用、產(chǎn)出量和匯總數(shù)字,例如投入/產(chǎn)出收到(花費(fèi))的平均BTC 以及與投入/產(chǎn)出相關(guān)的傳入(傳出交易)的平均數(shù)量等)進(jìn)行分析,得出可疑的非法交易。進(jìn)一步提高TBC 的執(zhí)行效率,在RBC 中建立了一個(gè)智能合約市場(chǎng),為T(mén)BC 提供智能合約的服務(wù)。在提供的過(guò)程中如何去保證智能合約結(jié)果的正確性,部署了零知識(shí)證明去驗(yàn)證智能合約的正確性。雙鏈的總體架構(gòu)如圖1所示。

      圖1 雙鏈?zhǔn)秸w結(jié)構(gòu)

      2.1 雙鏈?zhǔn)郊軜?gòu)原理說(shuō)明

      Leng K等人[10]提出在供應(yīng)鏈中使用雙鏈結(jié)構(gòu)-交易鏈和用戶(hù)信息鏈,但無(wú)法實(shí)現(xiàn)對(duì)用戶(hù)交易的實(shí)時(shí)監(jiān)管。姜浩等人[11]提出了主鏈和輔助鏈的雙鏈結(jié)構(gòu),以減少交易的確認(rèn)時(shí)間。Leng Kaijun等人[12]提出了一種基于雙鏈架構(gòu)的農(nóng)業(yè)供應(yīng)鏈系統(tǒng)公共區(qū)塊鏈,主要研究了雙鏈結(jié)構(gòu)及其存儲(chǔ)方式,資源尋租與匹配機(jī)制以及共識(shí)算法。但是對(duì)于非法交易都缺乏有效的監(jiān)管。本文提出了一種新的雙鏈?zhǔn)浇Y(jié)構(gòu),其中所有交易數(shù)據(jù)均由相關(guān)監(jiān)管部門(mén)和法律部門(mén)節(jié)點(diǎn)對(duì)交易數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)模型分析,映射交易實(shí)體,并結(jié)合交易數(shù)據(jù)的特征對(duì)節(jié)點(diǎn)的交易進(jìn)行有效的監(jiān)管。在雙鏈?zhǔn)浇Y(jié)構(gòu)中有多個(gè)TBC和RBC,一條RBC可以監(jiān)管多個(gè)TBC,RBC中的各個(gè)節(jié)點(diǎn)也進(jìn)行相互的監(jiān)管。雙鏈結(jié)構(gòu)如圖2所示。

      圖2 雙鏈?zhǔn)浇Y(jié)構(gòu)

      監(jiān)管區(qū)塊鏈(RBC),監(jiān)管區(qū)塊鏈分為監(jiān)管節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)。監(jiān)管節(jié)點(diǎn)主要由各種監(jiān)管部分和法律部門(mén)組成,校驗(yàn)節(jié)點(diǎn)主要由專(zhuān)業(yè)審計(jì)人員組成。監(jiān)管節(jié)點(diǎn)負(fù)責(zé)和交易區(qū)塊鏈進(jìn)行交互,并對(duì)交易數(shù)據(jù)進(jìn)行實(shí)時(shí)的分析,得出可疑的非法交易;校驗(yàn)節(jié)點(diǎn)負(fù)責(zé)利用鏈中的零知識(shí)證明去校驗(yàn)智能合約結(jié)果的正確性和存儲(chǔ)交易區(qū)塊鏈的隱私數(shù)據(jù)。監(jiān)管鏈監(jiān)管節(jié)點(diǎn)主要由相關(guān)監(jiān)管部門(mén)和法律部門(mén)組成。這些節(jié)點(diǎn)根據(jù)實(shí)時(shí)的分析交易數(shù)據(jù)或交易的特征判斷交易中是否存在非法交易。如果監(jiān)管節(jié)點(diǎn)發(fā)現(xiàn)交易節(jié)點(diǎn)之間存在非法交易,則相應(yīng)的節(jié)點(diǎn)將被凍結(jié),節(jié)點(diǎn)將無(wú)法繼續(xù)交易,防止造成進(jìn)一步的損失。交易鏈節(jié)點(diǎn)可以使用監(jiān)管鏈中的相應(yīng)智能合約。在監(jiān)管鏈中,其主要作用是對(duì)交易數(shù)據(jù)進(jìn)行分析,對(duì)非法交易進(jìn)行有效的監(jiān)管和處罰,為交易鏈中的交易參與者提供安全可靠的智能合約。

      交易區(qū)塊鏈(TBC):交易區(qū)塊鏈用作交易。鏈中生成的新塊可以存儲(chǔ)交易生成的數(shù)據(jù)。監(jiān)管區(qū)塊鏈提供的智能合約,以確保交易鏈可以根據(jù)智能合約的預(yù)定規(guī)則執(zhí)行交易。在交易鏈中,可以根據(jù)實(shí)際交易和智能合約組合,從而更高效地去執(zhí)行交易。

      對(duì)于交易區(qū)塊鏈,交易鏈的數(shù)目可根據(jù)實(shí)際的需求而建立。對(duì)于單鏈而言,有更好的擴(kuò)展性。監(jiān)管區(qū)塊鏈,單鏈中監(jiān)管節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)的數(shù)量都至少為三個(gè),因?yàn)楸O(jiān)管鏈中的節(jié)點(diǎn)可能存在不誠(chéng)信的行為。因此,節(jié)點(diǎn)之間應(yīng)相互監(jiān)管。如果發(fā)現(xiàn)節(jié)點(diǎn)是欺詐性的,則各個(gè)節(jié)點(diǎn)進(jìn)行投票,欺詐性節(jié)點(diǎn)將通過(guò)投票機(jī)制[13]被清除。雙鏈結(jié)構(gòu)允許并行操作,可以提高鏈中交易的效率。這種結(jié)構(gòu)不僅可以發(fā)揮區(qū)塊鏈的現(xiàn)有優(yōu)勢(shì),而且可以進(jìn)一步提高交易的速度和可擴(kuò)展性,使更多的用戶(hù)可以加入雙鏈結(jié)構(gòu),進(jìn)一步提高交易信息的安全性。

      2.2 機(jī)器學(xué)習(xí)算法檢測(cè)非法交易

      在實(shí)驗(yàn)階段,交易數(shù)據(jù)是來(lái)自Elliptic[14]提供的公開(kāi)的數(shù)據(jù)集。數(shù)據(jù)集由203 769個(gè)節(jié)點(diǎn)交易、234 355個(gè)有向邊支付流和節(jié)點(diǎn)特征組成。每個(gè)節(jié)點(diǎn)具有166 個(gè)特征,前94個(gè)特征代表有關(guān)交易的本地信息,包括時(shí)間步長(zhǎng)、投入/產(chǎn)出的數(shù)量、交易費(fèi)用、產(chǎn)出量以及匯總數(shù)字,例如投入/產(chǎn)出收到(花費(fèi))的平均BTC以及傳入(傳出)的平均數(shù)量(傳出))與輸入/輸出相關(guān)的交易。其余72個(gè)稱(chēng)為聚合特征,聚合特征是通過(guò)從中心節(jié)點(diǎn)向后/向前單跳聚合交易信息而獲得的,例如相同信息數(shù)據(jù)(輸入數(shù)量)的相鄰交易的最大、最小、標(biāo)準(zhǔn)差和相關(guān)系數(shù)/輸出、交易費(fèi)等。數(shù)據(jù)集將比特幣交易分為非法交易、合法交易和未知交易。對(duì)交易數(shù)據(jù)分析得出,利用交易數(shù)據(jù)的特征可以有效地去識(shí)別非法交易。文中利用機(jī)器學(xué)習(xí)算法模型對(duì)數(shù)據(jù)進(jìn)行分類(lèi),分類(lèi)的準(zhǔn)確率可以達(dá)到90%以上,嘗試通過(guò)神經(jīng)網(wǎng)絡(luò)對(duì)非法交易進(jìn)行預(yù)測(cè),預(yù)測(cè)的準(zhǔn)確率可以達(dá)到95%以上。

      首先對(duì)交易數(shù)據(jù)進(jìn)行可視化分析,去看看特征與交易之間是否存在某種聯(lián)系,是否能夠從特征中去識(shí)別出非法交易。圖3所示的是隨著時(shí)間步長(zhǎng)(區(qū)塊鏈中時(shí)間戳與每個(gè)節(jié)點(diǎn)相關(guān)聯(lián),表示比特幣網(wǎng)絡(luò)確認(rèn)交易的時(shí)間估計(jì)。根據(jù)時(shí)間設(shè)置了49 個(gè)不同的時(shí)間步長(zhǎng),平均間隔約兩周。每個(gè)時(shí)間步長(zhǎng)都包含彼此之間少于三個(gè)小時(shí)的交易的單個(gè)關(guān)聯(lián)組件。沒(méi)有連接不同時(shí)間步長(zhǎng)的邊)非法交易、合法交易和未知交易的數(shù)量。可以看出交易量基本穩(wěn)定在2 000~8 000之間。

      圖3 交易量

      對(duì)交易數(shù)據(jù)的特征進(jìn)行可視化分析,發(fā)現(xiàn)在特征數(shù)據(jù)集中,對(duì)于部分特征中,非法交易的交易量比合法交易量和未知交易量較穩(wěn)定,故有部分特征能夠凸顯出交易是否是非法交易。如圖4 所示,0 代表未知交易,1 代表非法交易,2代表合法交易。

      通過(guò)可視化非法交易之間的交易和合法交易之間的交易,可以看出非法交易者一般交易的賬戶(hù)都是非法交易賬戶(hù),且可以清楚地看到,一些非法分子單獨(dú)工作,有些則集體工作。合法交易者一般交易的賬戶(hù)都是合法交易賬戶(hù)。如圖5 和圖6 所示,圖中兩個(gè)節(jié)點(diǎn)有連線表示他們之間存在交易。

      對(duì)數(shù)據(jù)集70%用來(lái)訓(xùn)練模型進(jìn)行分類(lèi)時(shí),將數(shù)據(jù)集按7∶3分割為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集。也就是說(shuō),前面的70%行用來(lái)訓(xùn)練模型,剩下的30%用來(lái)測(cè)試模型。先使用三種標(biāo)準(zhǔn)分類(lèi)模型對(duì)交易數(shù)據(jù)進(jìn)行測(cè)試分類(lèi),也就是Logistic 回歸[15]、隨機(jī)森林[16]和多層感知器這三種標(biāo)準(zhǔn)分類(lèi)模型。通過(guò)4個(gè)評(píng)價(jià)指標(biāo)(準(zhǔn)確率、召回率、綜合評(píng)價(jià)指標(biāo)(F1分?jǐn)?shù))和微平均)對(duì)各個(gè)模型進(jìn)行分析,具體的如表1 所示。對(duì)表1 數(shù)據(jù)對(duì)比分析,可以看出隨機(jī)森林模型對(duì)交易數(shù)據(jù)分類(lèi)的效果相對(duì)于其他兩種模型的分類(lèi)效果要好。

      圖4 交易量波動(dòng)圖

      圖5 非法交易圖

      圖6 合法交易圖

      表1 交易分類(lèi)結(jié)果

      根據(jù)機(jī)器學(xué)習(xí)模型對(duì)交易數(shù)據(jù)進(jìn)行分類(lèi),分類(lèi)的結(jié)果達(dá)到一定的期望。然后,嘗試通過(guò)構(gòu)建神經(jīng)網(wǎng)絡(luò)對(duì)交易數(shù)據(jù)中的非法交易進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)中,構(gòu)建了四層神經(jīng)網(wǎng)絡(luò),每一次進(jìn)行了10次的模型訓(xùn)練和測(cè)試,并進(jìn)行反復(fù)的訓(xùn)練和測(cè)試。訓(xùn)練和測(cè)試中,對(duì)所有特征和本地特征分開(kāi)進(jìn)行。測(cè)試的結(jié)果如圖7 和圖8 所示,圖7 所示的是根據(jù)所有特征訓(xùn)練和測(cè)試的結(jié)果,圖8所示的是根據(jù)本地特征訓(xùn)練和測(cè)試的結(jié)果。

      圖7 所有特征預(yù)測(cè)結(jié)果

      圖8 本地特征預(yù)測(cè)結(jié)果

      2.3 零知識(shí)證明校驗(yàn)智能合約

      智能合約應(yīng)用范圍廣泛,但并不是完全安全的,且出現(xiàn)問(wèn)題后,暫時(shí)沒(méi)有完善的風(fēng)險(xiǎn)管理措施去處理。因此,智能合約被部署在區(qū)塊前,校驗(yàn)過(guò)程十分重要。對(duì)于智能合約可以通過(guò)形式化驗(yàn)證[17]的方式、反編譯[18]、審計(jì)工具等提高其安全性,但是準(zhǔn)確性還有待驗(yàn)證。故智能合約需要進(jìn)行一個(gè)統(tǒng)一的市場(chǎng)化的管理,來(lái)制定統(tǒng)一的開(kāi)發(fā)和監(jiān)管標(biāo)準(zhǔn),提高安全性。需要對(duì)其增加法律監(jiān)管力度,在智能合約正式投入使用前,需要對(duì)其功能進(jìn)行多輪校驗(yàn),以降低交易風(fēng)險(xiǎn)。利用監(jiān)管鏈中的監(jiān)管節(jié)點(diǎn)監(jiān)管和管理這個(gè)智能合約市場(chǎng)。在監(jiān)管鏈中,一個(gè)智能合約從創(chuàng)建到投入市場(chǎng)使用需要經(jīng)過(guò)的流程如圖9所示。

      假設(shè)有n個(gè)驗(yàn)證節(jié)點(diǎn),每一個(gè)驗(yàn)證節(jié)點(diǎn)生成一個(gè)待求和的值Vi,i=1,2,…,n,每一個(gè)節(jié)點(diǎn)都僅知道自己的值Vi,不知道其他節(jié)點(diǎn)的值。節(jié)點(diǎn)將生成的待求和值發(fā)送給智能合約,智能合約的功能是求和,即:

      圖9 智能合約校驗(yàn)過(guò)程

      Vm為求得的和值。驗(yàn)證過(guò)程如圖10所示。

      圖10 零知識(shí)證明校驗(yàn)智能合約

      步驟1智能合約所有者A 通過(guò)公式(1)得到和值Vm,并生成一個(gè)隨機(jī)數(shù)P(P≠0),該隨機(jī)數(shù)是秘密的,可丟棄不可泄露。再生成一個(gè)隨機(jī)數(shù)q(q>3 且隨機(jī)數(shù)P和q互素,q<max(Vi))計(jì)算:

      其中,Vm是待驗(yàn)證數(shù),是保密的。隨機(jī)數(shù)P也是秘密的。隨機(jī)數(shù)q和計(jì)算結(jié)果E1(Vm)是公開(kāi)的。智能合約所有者將計(jì)算得值E1(Vm)發(fā)送給驗(yàn)證節(jié)點(diǎn)。

      步驟2驗(yàn)證節(jié)點(diǎn)生成一個(gè)秘密隨機(jī)數(shù)R,由節(jié)點(diǎn)1先進(jìn)行計(jì)算:

      節(jié)點(diǎn)1將計(jì)算結(jié)果發(fā)送給節(jié)點(diǎn)2,當(dāng)節(jié)點(diǎn)數(shù)i>1 時(shí),依次進(jìn)行迭代計(jì)算:

      因?yàn)橛?jì)算結(jié)果是均勻分布的,所以后續(xù)節(jié)點(diǎn)Vi無(wú)法通過(guò)計(jì)算得知前面Vi-1的具體值。當(dāng)計(jì)算到第n個(gè)節(jié)點(diǎn)時(shí),得到結(jié)果:

      步驟3第n個(gè)驗(yàn)證節(jié)點(diǎn)將計(jì)算結(jié)果E2(Vn)發(fā)送給智能合約所有者。

      步驟4智能合約所有者計(jì)算:

      將E3(Vm)的值發(fā)送給驗(yàn)證節(jié)點(diǎn)。

      步驟5驗(yàn)證節(jié)點(diǎn)計(jì)算:

      步驟6驗(yàn)證節(jié)點(diǎn)比較E3(Vm)和E4(Vn)的值,若相等,則證明智能合約計(jì)算結(jié)果Vm可能正確。

      步驟7返回第一步,重新生成隨機(jī)數(shù)進(jìn)行T次驗(yàn)證,若E3(Vm)和E4(Vn)的值每一次都相等,則證明智能合約計(jì)算結(jié)果Vm正確。

      總結(jié):本文所提出的的雙鏈架構(gòu)可以達(dá)到監(jiān)管所有單位的效果,在監(jiān)管鏈中部署零知識(shí)證明算法可以達(dá)到校驗(yàn)智能合約執(zhí)行結(jié)果正確性的效果。

      3 公雙鏈架構(gòu)的評(píng)估分析

      (1)安全性分析

      雙鏈?zhǔn)郊軜?gòu)具有P2P 結(jié)構(gòu),避免了單點(diǎn)攻擊,并通過(guò)聯(lián)合所有節(jié)點(diǎn)來(lái)維護(hù)系統(tǒng)的穩(wěn)定性。在監(jiān)管鏈中,監(jiān)管節(jié)點(diǎn)對(duì)交易數(shù)據(jù)進(jìn)行圖形化分析,可以有效地發(fā)現(xiàn)非法交易,校驗(yàn)節(jié)點(diǎn)校驗(yàn)智能合約的結(jié)果正確性,提高智能合約的安全性,并可以存儲(chǔ)交易節(jié)點(diǎn)的隱私信息,起到保護(hù)隱私的重要。監(jiān)管鏈節(jié)點(diǎn)之間設(shè)置投票機(jī)制,有效地避免不可信作弊的行為出現(xiàn)。

      (2)效率和可擴(kuò)展性分析

      以具體的例子去分析單鏈和雙鏈在效率和可擴(kuò)展方面的區(qū)別。

      對(duì)于單鏈,假設(shè)單鏈中存在200 個(gè)節(jié)點(diǎn),一般的交易200 個(gè)節(jié)點(diǎn)足夠。區(qū)塊鏈中確定新的塊,需要進(jìn)行6次確認(rèn),即6 次交換信息,所以每次建塊確認(rèn)需要2.4×105(6×200×200)次交換消息。假設(shè)塊的產(chǎn)生時(shí)間為1 min,每天工作24 h,則每天可以建0.144×104(60×24) 塊,則每天需要 3.456×108(240 000×1 440) 次建塊交換消息,則平均每秒需要4 000((3.456×108)/(60×60×24))次建塊交換消息。假設(shè)單鏈24 h需要處理108筆交易,則平均每秒需要1 160(1×108/(24×60×60))次交易。假設(shè)單鏈中每個(gè)節(jié)點(diǎn)有107個(gè)賬戶(hù),則每個(gè)節(jié)點(diǎn)每天需要1015(10 000 000×100 000 000)次查詢(xún)計(jì)算,則每個(gè)節(jié)點(diǎn)每秒平均需要1.16×1010次查詢(xún)計(jì)算。綜上所述,單鏈結(jié)構(gòu)中每個(gè)節(jié)點(diǎn)平均每秒需要處理6 萬(wàn)次建塊交換消息、1 160次/s交易、1.16×1010次/s交易查詢(xún)計(jì)算。

      在雙鏈?zhǔn)浇Y(jié)構(gòu)中,每條RBC 鏈可以對(duì)多條TBC 鏈進(jìn)行監(jiān)管,但是并不需要對(duì)所有TBC 鏈進(jìn)行監(jiān)管。因此,TBC數(shù)量和賬戶(hù)是可以變動(dòng)的。假設(shè)存在10條TBC鏈,每條TBC 鏈有30 個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有1 000 個(gè)賬戶(hù)(對(duì)于存在違法交易的賬戶(hù)可以繼續(xù)留在TBC鏈中,但是不能進(jìn)行交易)。TBC鏈每次建塊需要5 400(30×30×6)次建塊交換消息。這遠(yuǎn)少于單鏈結(jié)構(gòu)中單個(gè)節(jié)點(diǎn)的工作量。對(duì)于單條TBC鏈,每天可以建0.144×104(60×24)塊,所有節(jié)點(diǎn)要處理7.776×106(60×24×5 400)次建塊交換消息,則平均每秒需要90(7.776×106/(60×60×24))次建塊交換消息,所有每條TBC 鏈所有節(jié)點(diǎn)的工作量稍遠(yuǎn)小于單鏈的一個(gè)節(jié)點(diǎn)的工作量。同樣的,TBC 鏈24 h 需處理億筆交易,每條TBC 鏈每天平均要處理107(108/10)次交易消息,平均每個(gè)節(jié)點(diǎn)每秒處理111((1×107)/(60×60×24))次交易。交易量少于單鏈結(jié)構(gòu)中單個(gè)節(jié)點(diǎn)的工作量。假設(shè)單鏈中每個(gè)節(jié)點(diǎn)有50 個(gè)賬戶(hù),則每個(gè)節(jié)點(diǎn)每天需要5×109(50×100 000 000)次查詢(xún)計(jì)算,則每個(gè)節(jié)點(diǎn)每秒平均需要5.79×104((5×109)/(60×60×24))次查詢(xún)計(jì)算,所以每個(gè)TBC交易查詢(xún)工作量少過(guò)單鏈結(jié)構(gòu)的交易查詢(xún)工作量。

      在雙鏈?zhǔn)浇Y(jié)構(gòu)中,每條RBC 鏈可以對(duì)多條TBC 鏈進(jìn)行監(jiān)管。假設(shè)有 10 條 RBC 鏈,每條 RBC 鏈有 6 個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有20 個(gè)賬戶(hù)。每條RBC 鏈每個(gè)節(jié)點(diǎn)每秒需要216(6×6×6)次建塊交換消息,對(duì)于單條RBC 鏈,每天可以建0.144×104(60×24) 塊,所有節(jié)點(diǎn)要處理3.11×105(60×24×216)次建塊交換消息。每條RBC 鏈每秒共需要處理4(3.11×105/(60×60×24))次建塊交換消息,單條RBC 鏈所有節(jié)點(diǎn)的工作量遠(yuǎn)少過(guò)于TBC 鏈和單鏈單節(jié)點(diǎn)的工作量。每條RBC鏈每天平均要處理107(108/10)次交易(每筆交易至少要2個(gè)賬戶(hù),假設(shè)復(fù)雜情況下有更多賬戶(hù),如4 個(gè)賬戶(hù),所有交易平均分在10條RBC 鏈),每秒每個(gè)節(jié)點(diǎn)平均處理111((1×107)/(60×60×24))次交易,所以單條RBC鏈所有節(jié)點(diǎn)的工作量遠(yuǎn)少過(guò)于單鏈單個(gè)節(jié)點(diǎn)的工作量.。每個(gè)節(jié)點(diǎn)每秒需要查詢(xún)2×109(20×100 000 000)次交易查詢(xún)計(jì)算,每條RBC鏈每秒所有節(jié)點(diǎn)一共要處理1.16×104((2×109)/(60×60×24))次交易查詢(xún)計(jì)算,單條RBC鏈所有節(jié)點(diǎn)的工作量遠(yuǎn)少過(guò)于單鏈中單個(gè)節(jié)點(diǎn)的工作量。具體的如表2所示。

      (3)算法分析

      對(duì)上述零知識(shí)證明進(jìn)行分析:

      ①完備性

      如果智能合約求得正確的和值Vm,且校驗(yàn)雙方均誠(chéng)實(shí)的話(huà),因?yàn)镻Vmmodq有唯一確定解,那么根據(jù)交換律E3(Vm)和E4(Vn)的值一定相等。

      表2 效率的總體比較結(jié)果

      ②健壯性

      假設(shè)智能合約未能求值正確,求得和值為Qm,那么E1(Vm)=PQmmodq,則:

      E3(Vm)和E4(Vn)的值僅有1/q的可能相等,當(dāng)驗(yàn)證重復(fù)T輪后,每一輪E3(Vm)和E4(Vn)的值相等的可能性為1/qT,因此,在有限域內(nèi),隨機(jī)素?cái)?shù)q的值選取得越大,重復(fù)的次數(shù)T越多,則校驗(yàn)的健壯性越強(qiáng)。使用多個(gè)節(jié)點(diǎn)進(jìn)行校驗(yàn),還可以預(yù)防中間人攻擊(MITM)[19],在未知驗(yàn)證節(jié)點(diǎn)個(gè)數(shù)的情況下,想要偷聽(tīng)到所有的驗(yàn)證節(jié)點(diǎn)發(fā)送的數(shù)據(jù)Vi,幾乎是不可能的事,尤其是在T輪驗(yàn)證的情況下,持續(xù)監(jiān)聽(tīng)代價(jià)極大,且攻擊者并不能確定監(jiān)聽(tīng)是否有遺漏,從而無(wú)法確定監(jiān)聽(tīng)結(jié)果的正確性。

      ③零知識(shí)性

      對(duì)于模運(yùn)算AmodB=C,已知A和B的值,可以確定唯一的值C,但是已知B和C的值,并不能確定唯一值A(chǔ),因此在驗(yàn)證過(guò)程中,每個(gè)節(jié)點(diǎn)雖然都知道上一個(gè)節(jié)點(diǎn)的求值結(jié)果E2(Vi-1),但并不能確定具體的Vi-1的值,同理,也不能確定Vm的值,在未知隨機(jī)數(shù)P值的情況下,驗(yàn)證節(jié)點(diǎn)對(duì)Vm的值一無(wú)所知。

      驗(yàn)證過(guò)程中計(jì)算簡(jiǎn)單,因此驗(yàn)證速度快,需要的存儲(chǔ)空間小,可以大量節(jié)省算力資源和存儲(chǔ)資源。

      以實(shí)例演示驗(yàn)證過(guò)程,如圖11所示。

      圖11 零知識(shí)證明驗(yàn)證過(guò)程

      假設(shè)有4個(gè)驗(yàn)證節(jié)點(diǎn),分別取隨機(jī)數(shù)V1=3,V2=4,V3=7,V4=8,節(jié)點(diǎn)間互相不知道其他節(jié)點(diǎn)的值。智能合約可根據(jù)公式(1)求得Vm=22。生成隨機(jī)數(shù)P=4(P保密),q=5。智能合約按照公式(2)得E1(Vm)=(4 ×22) mod 5=3。節(jié)點(diǎn)生成隨機(jī)數(shù)R=3(R保密)。根據(jù)公式(3)和(4)依次得E2(V1)=4,E2(V2)=1,E2(V3)=2,E2(V4)=1。因?yàn)閚=4,所以根據(jù)公式(5)得E2(Vn)=1,節(jié)點(diǎn)將E2(Vn)的值發(fā)送給智能合約。智能合約所有者根據(jù)公式(6)得E3(Vm)=(4 ×1) mod 5=4,將計(jì)算結(jié)果發(fā)送給驗(yàn)證節(jié)點(diǎn),驗(yàn)證節(jié)點(diǎn)根據(jù)公式(7)計(jì)算得E4(Vn)=(3 ×3 )mod 5=4。E3(Vm)和E4(Vn)結(jié)果相等,所以本次驗(yàn)證通過(guò),為了避免偶然性,繼續(xù)依上述步驟執(zhí)行多次,直到驗(yàn)證節(jié)點(diǎn)確信智能合約確實(shí)可以求和。

      本次驗(yàn)證過(guò)程中,智能合約僅知道隨機(jī)數(shù)P、q和值Vm,驗(yàn)證節(jié)點(diǎn)僅知道自己的隨機(jī)數(shù)Vi和隨機(jī)數(shù)R、q,無(wú)法確定其他節(jié)點(diǎn)的隨機(jī)數(shù),更無(wú)法求得和值。讓驗(yàn)證節(jié)點(diǎn)在不能得知任何秘密信息的情況下,相信智能合約正確地實(shí)施了功能,求得了和值。滿(mǎn)足零知識(shí)證明的條件,并且計(jì)算方法簡(jiǎn)單,性能要求不高。求和是最基本的計(jì)算方法,在智能合約程序中有著廣泛應(yīng)用,因此這種校驗(yàn)方法實(shí)用性較強(qiáng)。

      在驗(yàn)證的過(guò)程中,并不能保證驗(yàn)證節(jié)點(diǎn)不是惡意或者是誠(chéng)實(shí)的。驗(yàn)證節(jié)點(diǎn)被認(rèn)為是不誠(chéng)實(shí)的。驗(yàn)證的過(guò)程中容易受到兩種威脅。首先是所提供數(shù)據(jù)的質(zhì)量。不誠(chéng)實(shí)的驗(yàn)證者可能會(huì)向請(qǐng)求者提供有偏見(jiàn)和不準(zhǔn)確的結(jié)果,從而使得驗(yàn)證過(guò)程失敗。第二是數(shù)據(jù)權(quán)限管理。原始數(shù)據(jù)共享后,數(shù)據(jù)所有者將失去對(duì)這些數(shù)據(jù)的控制權(quán),不誠(chéng)實(shí)的驗(yàn)證者可能會(huì)將數(shù)據(jù)共享給其他未授權(quán)實(shí)體。

      4 結(jié)束語(yǔ)

      監(jiān)管鏈中的監(jiān)管節(jié)點(diǎn)對(duì)非法交易能夠進(jìn)行有效的監(jiān)管,校驗(yàn)節(jié)點(diǎn)能保護(hù)交易節(jié)點(diǎn)的隱私安全和檢驗(yàn)智能合約結(jié)果的正確性。監(jiān)管鏈和交易鏈并行運(yùn)行,可以進(jìn)一步提高交易的效率和系統(tǒng)的可擴(kuò)展性。交易鏈交易參與者可以從監(jiān)管鏈中調(diào)用零知識(shí)證明校驗(yàn)的智能合約,高效地實(shí)現(xiàn)交易。交易的安全性和合法性得到有效的保護(hù)。雙鏈?zhǔn)降慕Y(jié)構(gòu)為電子政務(wù)和電子商務(wù)等領(lǐng)域提供一定的參考,并為監(jiān)管機(jī)構(gòu)對(duì)非法交易監(jiān)管提供一定的參考,其實(shí)現(xiàn)形式等待進(jìn)一步的學(xué)習(xí)和研究。

      猜你喜歡
      單鏈校驗(yàn)合約
      逐步添加法制備單鏈環(huán)狀DNA的影響因素探究*
      爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
      鹽酸克倫特羅生物素化單鏈抗體在大腸埃希氏菌中的表達(dá)
      急性淋巴細(xì)胞白血病單鏈抗體(scFv)的篩選與鑒定
      大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
      基于加窗插值FFT的PMU校驗(yàn)方法
      DNA處理蛋白A在細(xì)菌自然轉(zhuǎn)化中的作用
      鍋爐安全閥在線校驗(yàn)不確定度評(píng)定
      合約必守,誰(shuí)能例外!——對(duì)“情勢(shì)變更”制度不可寄于過(guò)高期望
      丹阳市| 房产| 郴州市| 湖南省| 九龙县| 雷波县| 土默特左旗| 江阴市| 东明县| 平远县| 盐津县| 屏边| 谢通门县| 怀安县| 开化县| 揭阳市| 邹城市| 佛冈县| 柘城县| 庆元县| 全南县| 东台市| 忻城县| 兰溪市| 博爱县| 东丰县| 太原市| 海宁市| 双鸭山市| 敖汉旗| 海城市| 陈巴尔虎旗| 逊克县| 阿拉善盟| 崇礼县| 蒙城县| 调兵山市| 浦江县| 沂源县| 衡水市| 兴海县|