亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        區(qū)塊鏈交易內(nèi)容隱私保護(hù)技術(shù)研究綜述*

        2022-09-07 00:43:44張大偉
        密碼學(xué)報(bào) 2022年4期
        關(guān)鍵詞:同態(tài)加密區(qū)塊

        姚 爽, 張大偉, 李 勇, 王 偉

        1. 北京交通大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院, 北京 100044

        2. 智能交通數(shù)據(jù)安全與隱私保護(hù)技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室, 北京 100044

        3. 北京交通大學(xué) 電子信息工程學(xué)院, 北京 100044

        1 引言

        區(qū)塊鏈技術(shù)是一種去中心化、多方共識(shí)、公開透明的新型計(jì)算范式. 其去中心化的分布式數(shù)據(jù)處理、多方共識(shí)確認(rèn)和數(shù)據(jù)不可篡改的特性為解決數(shù)據(jù)安全和信息共享問題提供了新的解決方案. 同時(shí), 隨著產(chǎn)業(yè)區(qū)塊鏈技術(shù)的普及和發(fā)展, 區(qū)塊鏈系統(tǒng)也從強(qiáng)調(diào)去中心化的開放式公有鏈發(fā)展到多中心化的聯(lián)盟鏈, 區(qū)塊鏈交易場(chǎng)景也從單一的去中心化密碼貨幣發(fā)展到面向行業(yè)應(yīng)用的多中心化數(shù)字資產(chǎn)交易系統(tǒng), 區(qū)塊鏈技術(shù)正成為目前的研究熱點(diǎn).

        區(qū)塊鏈系統(tǒng)的交易模型同傳統(tǒng)中心化系統(tǒng)有很大的不同. 首先, 在交易內(nèi)容確認(rèn)方面, 中心化系統(tǒng)中所有交易過程的記錄和確認(rèn)都是由系統(tǒng)的中心機(jī)構(gòu)集中來完成的. 而在區(qū)塊鏈系統(tǒng)中, 客戶端首先將交易發(fā)送到區(qū)塊鏈網(wǎng)絡(luò)中, 由網(wǎng)絡(luò)中的特定節(jié)點(diǎn)來對(duì)交易進(jìn)行分布式共識(shí)確認(rèn); 其次, 在賬本數(shù)據(jù)存儲(chǔ)方面, 傳統(tǒng)交易系統(tǒng)采用由中心機(jī)構(gòu)集中安全存儲(chǔ)且賬本內(nèi)容不公開. 而區(qū)塊鏈交易系統(tǒng)則采用全網(wǎng)節(jié)點(diǎn)共同存儲(chǔ)賬本的方式, 賬本數(shù)據(jù)安全由共識(shí)機(jī)制、塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)共同確保, 賬本內(nèi)容公開透明. 由此可見, 區(qū)塊鏈系統(tǒng)在提供了靈活的分布式數(shù)據(jù)處理和交易共識(shí)確認(rèn)的同時(shí), 也對(duì)交易數(shù)據(jù)的隱私保護(hù)提出了極大的挑戰(zhàn). 隨著產(chǎn)業(yè)區(qū)塊鏈應(yīng)用的普及和推廣, 對(duì)區(qū)塊鏈交易隱私保護(hù)的需求也在日益增強(qiáng). 首先, 在公開賬本中確保交易內(nèi)容隱私是在合作競(jìng)爭(zhēng)環(huán)境下確保交易方合法利益的必然需求; 其次, 在面向行業(yè)應(yīng)用的數(shù)字資產(chǎn)交易系統(tǒng)中確保權(quán)威機(jī)構(gòu)能夠?qū)崿F(xiàn)對(duì)交易的有效審計(jì)和監(jiān)管也是規(guī)范市場(chǎng)行為、保護(hù)交易方合法權(quán)益的有效手段. 因此, 在交易數(shù)據(jù)公開存儲(chǔ)、全網(wǎng)共識(shí)的情況下確保交易內(nèi)容的隱私保護(hù)和可靠監(jiān)管是產(chǎn)業(yè)區(qū)塊鏈應(yīng)用發(fā)展面臨的主要問題之一, 對(duì)這一問題進(jìn)行深入研究也具有極其重要的意義.

        區(qū)塊鏈系統(tǒng)中的交易由交易身份和交易內(nèi)容兩部分組成. 其中交易身份用于標(biāo)識(shí)數(shù)字資產(chǎn)的所有者,交易內(nèi)容用于表示數(shù)字資產(chǎn)本身的屬性. 區(qū)塊鏈交易內(nèi)容隱私是指對(duì)于區(qū)塊鏈系統(tǒng)中的某筆交易, 觀察者無法確認(rèn)交易的具體內(nèi)容, 如交易金額、交易類型等. 即對(duì)于觀察者而言, 或者無法訪問到交易內(nèi)容、或者無法獲得交易內(nèi)容的明文信息. 目前的文獻(xiàn)多將交易身份和交易內(nèi)容隱私保護(hù)同時(shí)討論, 但我們認(rèn)為在如下兩方面二者存在較大的不同: 首先, 二者的保護(hù)對(duì)象不同, 交易身份和交易內(nèi)容在基本屬性和操作方式上存在顯著差異. 區(qū)塊鏈系統(tǒng)中多采用公鑰作為用戶的身份標(biāo)識(shí), 并由此作為用戶對(duì)數(shù)字資產(chǎn)UTXO 或賬戶的權(quán)屬標(biāo)記. 在交易過程中數(shù)字資產(chǎn)發(fā)生轉(zhuǎn)移時(shí), 資產(chǎn)所屬用戶需使用對(duì)應(yīng)的私鑰對(duì)交易行為進(jìn)行簽名確認(rèn). 從交易安全的角度考慮, 交易身份的研究更關(guān)注于資產(chǎn)的權(quán)屬標(biāo)記和支付確權(quán)等. 交易內(nèi)容如交易金額多采用數(shù)字形式表示, 在交易過程中用于表示數(shù)字資產(chǎn)的轉(zhuǎn)移金額等信息. 從交易安全的角度考慮,交易內(nèi)容的研究更關(guān)注于支付金額范圍的合理性和交易金額的平衡性等; 其次, 二者在隱私保護(hù)過程中采取了完全不同的設(shè)計(jì)思路和技術(shù)手段. 交易身份的隱私保護(hù)更強(qiáng)調(diào)交易過程中的身份混淆, 即將真實(shí)交易者的身份混淆在匿名集合中以確保身份隱私, 但同時(shí)必須解決支付確權(quán)和防雙花問題以確保交易安全. 鑒于不同的混淆方案, 可基于匿名群組消息協(xié)議、環(huán)簽名和零知識(shí)證明等分別實(shí)現(xiàn)協(xié)同、自主和全局身份混淆以保護(hù)隱私[1]; 而交易內(nèi)容的隱私保護(hù)更強(qiáng)調(diào)交易信息的機(jī)密性和公開可驗(yàn)證性, 即在交易明文信息不可見的情況下區(qū)塊鏈驗(yàn)證節(jié)點(diǎn)可確保金額范圍的合理性和交易金額的平衡性以保證交易安全. 因此, 現(xiàn)有方案多通過消息加密、私有存儲(chǔ)確保交易信息的機(jī)密性, 通過零知識(shí)證明確保密態(tài)數(shù)據(jù)交易規(guī)則的可驗(yàn)證性. 鑒于二者在研究目標(biāo)和技術(shù)路線上的不同, 本文將交易內(nèi)容同交易身份的隱私保護(hù)分離開單獨(dú)進(jìn)行研究討論, 聚焦于內(nèi)容隱私保護(hù)的自有特點(diǎn), 以期為讀者提供有益的研究借鑒.

        區(qū)塊鏈交易內(nèi)容隱私保護(hù)是目前的研究熱點(diǎn), 國(guó)內(nèi)外已有多篇文獻(xiàn)涉及到區(qū)塊鏈系統(tǒng)安全隱私問題的研究, 但尚缺乏單獨(dú)對(duì)交易內(nèi)容隱私保護(hù)的系統(tǒng)性分析和深入探討. 2017 年, 祝烈煌等人[2]從數(shù)據(jù)失真、數(shù)據(jù)加密和限制發(fā)布三方面討論了區(qū)塊鏈交易內(nèi)容隱私保護(hù)問題; 2018 年, Genkin 等人[3]對(duì)公有鏈不同密碼貨幣所采用的內(nèi)容隱私技術(shù)進(jìn)行了討論; 王宗慧等人[4]從混幣方案、密碼學(xué)方案和安全通道方案三個(gè)方面對(duì)公有鏈數(shù)據(jù)隱私保護(hù)方案進(jìn)行了研究; 2019 年, 何德彪等人[5]重點(diǎn)對(duì)內(nèi)容隱私保護(hù)方面的零知識(shí)證明和同態(tài)密碼進(jìn)行了討論; 李旭東等人[6]從混幣技術(shù)、離鏈支付協(xié)議和密碼學(xué)方案三個(gè)方面對(duì)比特幣隱私保護(hù)問題和改進(jìn)方案進(jìn)行了研究; 2020 年, 張家碩等人[7]從零知識(shí)證明、安全多方計(jì)算、環(huán)簽名和可信計(jì)算等方面對(duì)區(qū)塊鏈隱私保護(hù)的實(shí)現(xiàn)技術(shù)手段進(jìn)行了探討; 張奧等人[8]依據(jù)隱私保護(hù)的不同技術(shù)手段從地址混淆、信息隱藏、通道隔離這三個(gè)方面主要對(duì)公有鏈中的隱私保護(hù)機(jī)制進(jìn)行了研究. 2021年, 李佩麗等人[9]主要從混合技術(shù)和零知識(shí)證明兩個(gè)方面討論了區(qū)塊鏈隱私保護(hù)技術(shù), 從身份追蹤和內(nèi)容監(jiān)管兩方面探討了隱私監(jiān)管技術(shù). 從隱私計(jì)算的范疇而言, 依據(jù)李鳳華等提出的泛在互聯(lián)環(huán)境下的隱私計(jì)算理論[10,11], 上述相關(guān)工作[2-9]所討論的區(qū)塊鏈交易隱私保護(hù)歸類為隱私防護(hù)技術(shù), 這些技術(shù)面向區(qū)塊鏈交易內(nèi)容隱私保護(hù)的特定場(chǎng)景, 側(cè)重于基于密碼學(xué)等傳統(tǒng)數(shù)據(jù)安全技術(shù)實(shí)現(xiàn)隱私防護(hù). 不同于隱私脫敏技術(shù)中采用失真且不可逆的方法進(jìn)行防護(hù), 區(qū)塊鏈交易隱私保護(hù)重點(diǎn)需解決密態(tài)交易數(shù)據(jù)的準(zhǔn)確運(yùn)算和規(guī)則校驗(yàn)問題, 且對(duì)于交易對(duì)手方而言這些數(shù)據(jù)多具有可逆性. 面向交易內(nèi)容的隱私防護(hù)技術(shù), 上述相關(guān)工作[2-9]多以公有鏈密碼貨幣為研究對(duì)象, 將交易身份和交易內(nèi)容兩部分一起討論, 依據(jù)所采取的具體技術(shù)分類來進(jìn)行研究. 這一思路沒有集中分析面向交易內(nèi)容和交易身份的隱私保護(hù)在方案目標(biāo)、設(shè)計(jì)思路和實(shí)現(xiàn)手段上的差異, 研究范圍也未聚焦到交易內(nèi)容隱私保護(hù)及其監(jiān)管的詳細(xì)方案. 此外, 上述工作對(duì)聯(lián)盟鏈中的隱私保護(hù)機(jī)制涉及較少, 也未對(duì)目前產(chǎn)業(yè)區(qū)塊鏈中面臨的隱私交易監(jiān)管問題進(jìn)行深入探討.

        鑒于上述問題, 本文基于區(qū)塊鏈交易模型公開可驗(yàn)證的特點(diǎn), 將區(qū)塊鏈交易內(nèi)容隱私保護(hù)分為三方面的內(nèi)容進(jìn)行深入探討: 交易內(nèi)容隱藏、隱藏交易驗(yàn)證和隱藏交易監(jiān)管. 其中, 交易內(nèi)容隱藏用于確保觀察者無法獲得交易明文數(shù)據(jù); 隱藏交易驗(yàn)證用于確保共識(shí)節(jié)點(diǎn)可對(duì)隱藏后的交易內(nèi)容進(jìn)行正確性驗(yàn)證; 隱藏交易監(jiān)管用于確保監(jiān)管方可對(duì)隱藏后的交易內(nèi)容進(jìn)行有效監(jiān)管. 本文從上述三個(gè)方面對(duì)公有鏈和聯(lián)盟鏈中內(nèi)容隱私保護(hù)的共性問題和解決方案進(jìn)行了系統(tǒng)性地梳理. 首先, 基于區(qū)塊鏈交易模型的特點(diǎn), 分析了區(qū)塊鏈交易內(nèi)容隱私保護(hù)所面臨的安全威脅及挑戰(zhàn); 其次, 我們認(rèn)為在區(qū)塊鏈賬本公開存儲(chǔ)、多方共識(shí)確認(rèn)情況下如何實(shí)現(xiàn)交易內(nèi)容的隱藏和隱藏交易的高效驗(yàn)證是目前亟待解決的關(guān)鍵問題. 其中的隱藏交易驗(yàn)證又是區(qū)塊鏈新型交易場(chǎng)景下的特定需求, 相關(guān)的研究工作非?;钴S. 在公有鏈和聯(lián)盟鏈中, 由于去中心化和多中心化交易處理驗(yàn)證方式的不同, 又使得二者采取了不同的內(nèi)容隱藏和驗(yàn)證方案. 由此本文從交易內(nèi)容隱藏和隱藏交易驗(yàn)證兩個(gè)方面對(duì)目前區(qū)塊鏈系統(tǒng)中所采取的不同隱私保護(hù)手段, 如: 同態(tài)密碼、加密技術(shù)、隔離技術(shù)、環(huán)簽名和零知識(shí)證明等進(jìn)行了對(duì)比分析, 列舉了不同方案各自存在的優(yōu)缺點(diǎn), 從其所涉及的設(shè)計(jì)思路、密碼算法和安全協(xié)議等方面進(jìn)行了深入的探討; 此外, 隨著產(chǎn)業(yè)區(qū)塊鏈的發(fā)展, 隱私交易的監(jiān)管問題在行業(yè)應(yīng)用中日益凸顯. 因此, 本文也從隱藏交易監(jiān)管方面對(duì)現(xiàn)有方案進(jìn)行了總結(jié)分析. 最后,本文對(duì)交易內(nèi)容隱藏、隱藏交易驗(yàn)證和隱藏交易監(jiān)管技術(shù)的未來發(fā)展進(jìn)行了展望.

        本文組織結(jié)構(gòu)如下: 第1 節(jié)介紹了區(qū)塊鏈交易內(nèi)容隱私保護(hù)的基本概念和需解決的主要問題; 第2 節(jié)分析總結(jié)了當(dāng)前區(qū)塊鏈交易內(nèi)容隱私保護(hù)所面臨的安全威脅及挑戰(zhàn); 第3 節(jié)從交易內(nèi)容隱藏、隱藏交易驗(yàn)證和隱藏交易監(jiān)管三個(gè)方面對(duì)目前主流區(qū)塊鏈平臺(tái)中交易內(nèi)容隱私保護(hù)所采取的不同技術(shù)手段進(jìn)行了對(duì)比分析; 第4 節(jié)對(duì)交易內(nèi)容和交易身份隱私保護(hù)技術(shù)的結(jié)合進(jìn)行了分析討論; 第5 節(jié)為總結(jié)及未來展望.

        2 區(qū)塊鏈內(nèi)容隱私保護(hù)面臨的威脅與挑戰(zhàn)

        區(qū)塊鏈系統(tǒng)采用交易多方共識(shí)確認(rèn)模型提供了高效的信任構(gòu)建方法, 同時(shí)也為鏈上數(shù)據(jù)流轉(zhuǎn)帶來了更多的安全和隱私保護(hù)問題. 區(qū)塊鏈系統(tǒng)在交易內(nèi)容隱私保護(hù)方面面臨的威脅主要包括:

        (1) 區(qū)塊鏈系統(tǒng)采用了交易賬本全網(wǎng)公開的方式來存儲(chǔ)全部的歷史交易數(shù)據(jù), 區(qū)塊鏈系統(tǒng)中的所有節(jié)點(diǎn)都可以看到鏈上的明文數(shù)據(jù)并追溯交易流程, 極易造成用戶身份、交易類型和賬戶余額等隱私信息的泄露,例如敵手可以通過交易圖分析發(fā)現(xiàn)不同賬戶間的關(guān)聯(lián)關(guān)系[12]、追蹤特殊交易[13]以及發(fā)現(xiàn)交易規(guī)則[14]等, 給交易內(nèi)容隱私保護(hù)帶來了威脅.

        (2) 區(qū)塊鏈系統(tǒng)采用多方共識(shí)方式來完成交易的確認(rèn), 參與共識(shí)的節(jié)點(diǎn)必然需要掌握更多的交易信息以實(shí)現(xiàn)交易規(guī)則驗(yàn)證, 一旦共識(shí)節(jié)點(diǎn)出現(xiàn)問題, 必然會(huì)影響交易的正確驗(yàn)證以及造成隱私數(shù)據(jù)泄露, 給交易內(nèi)容隱私保護(hù)帶來威脅.

        (3) 傳統(tǒng)區(qū)塊鏈隱私保護(hù)的去中心化特點(diǎn)使得鏈上交易缺乏合理監(jiān)管, 對(duì)于惡意違法交易無法實(shí)現(xiàn)交易追蹤溯源和內(nèi)容監(jiān)管, 在應(yīng)用層面可能帶來系統(tǒng)性的安全風(fēng)險(xiǎn).

        在傳統(tǒng)交易系統(tǒng)中, 用戶是向中心機(jī)構(gòu)公開交易身份和交易內(nèi)容, 由中心機(jī)構(gòu)完成信息的隱私保護(hù).而區(qū)塊鏈系統(tǒng)中并無單一中心機(jī)構(gòu), 而是由系統(tǒng)整體安全機(jī)制來完成隱私保護(hù). 因此, 受限于區(qū)塊鏈系統(tǒng)中交易模型的設(shè)計(jì), 交易內(nèi)容隱私保護(hù)方案也面臨著如下一些技術(shù)挑戰(zhàn):

        (1) 區(qū)塊鏈系統(tǒng)采用多方共識(shí)方式來實(shí)現(xiàn)交易的確認(rèn)和信任的構(gòu)建, 有時(shí)交易雙方對(duì)于作為觀察者的驗(yàn)證節(jié)點(diǎn)來說是存在交易內(nèi)容隱私保護(hù)需求的, 簡(jiǎn)單的信息隱藏方法無法滿足既保護(hù)信息又可驗(yàn)證內(nèi)容的需求. 因此, 如何在保護(hù)交易內(nèi)容隱私的同時(shí)實(shí)現(xiàn)正確有效的交易驗(yàn)證具有一定的挑戰(zhàn)性.

        (2) 區(qū)塊鏈系統(tǒng)中采用多方確認(rèn)后通過公開信道(區(qū)塊鏈賬本) 進(jìn)行交易信息發(fā)布, 這一過程耗時(shí)較長(zhǎng). 因此, 在區(qū)塊鏈系統(tǒng)中多采用交易發(fā)送方到區(qū)塊鏈節(jié)點(diǎn)的單向通信方式. 這使得傳統(tǒng)交易系統(tǒng)中的多輪雙向隱私保護(hù)協(xié)議不再適用. 因此, 如何在區(qū)塊鏈系統(tǒng)單向傳輸交易數(shù)據(jù)的過程中實(shí)現(xiàn)交易認(rèn)證和隱私保護(hù)也具有一定的挑戰(zhàn)性.

        (3) 區(qū)塊鏈系統(tǒng)中的賬本數(shù)據(jù)采用追加存儲(chǔ)的方式, 添加的交易數(shù)據(jù)用于賬本的完整性驗(yàn)證且不能刪除, 而隱私保護(hù)技術(shù)又帶來了額外的交易數(shù)據(jù)存儲(chǔ)開銷. 因此, 必須采取有效措施來降低隱私保護(hù)信息的存儲(chǔ)開銷, 以避免賬本數(shù)據(jù)的膨脹問題.

        (4) 隨著區(qū)塊鏈系統(tǒng)在行業(yè)應(yīng)用中的不斷普及和發(fā)展, 行業(yè)監(jiān)管同隱私保護(hù)間的矛盾也逐漸凸顯. 一方面, 區(qū)塊鏈系統(tǒng)中缺乏單一交易中心機(jī)構(gòu); 另一方面, 傳統(tǒng)的公有鏈中無監(jiān)管式的隱私保護(hù)方法是不適合于很多行業(yè)應(yīng)用場(chǎng)景的. 因此, 如何在實(shí)現(xiàn)隱私保護(hù)的同時(shí)又可提供對(duì)于交易內(nèi)容的監(jiān)管也是一個(gè)頗具挑戰(zhàn)性的問題.

        3 交易內(nèi)容隱私保護(hù)技術(shù)

        本文將從交易內(nèi)容隱藏、隱藏交易驗(yàn)證和隱藏交易監(jiān)管三個(gè)方面介紹區(qū)塊鏈交易內(nèi)容隱私保護(hù)技術(shù).首先, 當(dāng)用戶提交交易時(shí), 系統(tǒng)將通過交易內(nèi)容隱藏技術(shù)處理交易數(shù)據(jù)使得明文數(shù)據(jù)對(duì)于全網(wǎng)或部分未授權(quán)用戶不可見, 只有交易接收方可通過隱藏后的數(shù)據(jù)恢復(fù)出交易明文; 其次, 驗(yàn)證節(jié)點(diǎn)使用隱藏交易驗(yàn)證技術(shù)對(duì)交易密文信息進(jìn)行合法性驗(yàn)證; 此外, 對(duì)于存在監(jiān)管需求的區(qū)塊鏈系統(tǒng), 可使用隱藏交易監(jiān)管技術(shù)對(duì)交易內(nèi)容進(jìn)行審計(jì)和監(jiān)管. 這一隱私保護(hù)模型在確保交易方明文交易數(shù)據(jù)保密性的同時(shí), 又可保證共識(shí)節(jié)點(diǎn)對(duì)隱藏后的交易內(nèi)容進(jìn)行正確性驗(yàn)證和監(jiān)管方對(duì)交易規(guī)則的有效監(jiān)管. 由上述三方面內(nèi)容構(gòu)成的交易內(nèi)容隱私保護(hù)模型如圖1 所示.

        圖1 交易內(nèi)容隱私保護(hù)模型Figure 1 Model of transaction privacy protection

        3.1 交易內(nèi)容隱藏

        目前的區(qū)塊鏈系統(tǒng)多采用信息加密和數(shù)據(jù)隔離技術(shù)來實(shí)現(xiàn)交易內(nèi)容的隱藏.

        3.1.1 交易信息加密

        交易信息加密方案通過將含有隱私內(nèi)容的明文數(shù)據(jù)加密后上鏈, 達(dá)到區(qū)塊鏈交易內(nèi)容隱藏的目的. 只有擁有密鑰的用戶才能夠解密密文獲得隱私信息. 目前, 基于交易信息加密的隱私保護(hù)方案可分為同態(tài)密碼、非對(duì)稱/對(duì)稱加密和屬性加密三種.

        同態(tài)密碼

        同態(tài)密碼的同態(tài)性是指對(duì)明文進(jìn)行加法和(或)乘法運(yùn)算與對(duì)密文進(jìn)行相應(yīng)的運(yùn)算,結(jié)果是等價(jià)的. 當(dāng)前相關(guān)區(qū)塊鏈交易隱私保護(hù)方案所采用的主要同態(tài)密碼技術(shù)如表1 所示.

        表1 同態(tài)密碼技術(shù)及相關(guān)區(qū)塊鏈交易隱私保護(hù)方案Table 1 Homomorphic encryption and its applications in blockchain privacy preserving

        為了提高比特幣的隱私保護(hù)特性, Adam Back 和Gregory Maxwell 提出了保密交易的概念[15], 通過在比特幣網(wǎng)絡(luò)中使用Pedersen 承諾[16]實(shí)現(xiàn)對(duì)UTXO 中交易金額的隱藏.

        定義1 (Pedersen 承諾) 設(shè)G為橢圓曲線點(diǎn)群G 中的生成元,H為橢圓曲線中的一個(gè)點(diǎn), 隨機(jī)選擇r ∈Zn, 則v ∈Zn的Pedersen 承諾為: commit(r,v)+vH.

        Pedersen 承諾具有綁定性(binding) 和隱藏性(hiding).

        定義2 (綁定性) 給定承諾值commit(r,v), 對(duì)于任何PPT 敵手, 找到(r′,v′) 滿足m/=m′和commit(r′,v′)=commit(r,v) 的概率是可以忽略的.

        定義3 (隱藏性) 對(duì)于任何v,v′∈Zp以及隨機(jī)選擇的r,r′∈Zp, commit(r,v) 和commit(r′,v′) 的分布是相同的.

        定義4 (Pedersen 承諾同態(tài)性) commit(r1,v1) + commit(r2,v2) = (r1+r2)G+ (v1+v2)H=commit(r1+r2,v1+v2).

        保密交易技術(shù)中通過構(gòu)造基于橢圓曲線的Pedersen 承諾方案完成交易金額隱藏,v代表交易金額,r為隨機(jī)生成的盲化因子并且不公開. Pedersen 承諾所具有的隱藏性使得觀察者無法通過公開賬本中記錄的承諾值commit(r,v) 還原出交易金額, Pedersen 承諾的綁定性使得發(fā)送者無法再次更改交易金額, 從而在確保交易安全的情況下實(shí)現(xiàn)了交易內(nèi)容的隱私保護(hù). 保密交易技術(shù)在公有鏈Elements[17]、Zerocoin[18]、Mimblewimble[19-21]、門羅幣[22,23]和零幣Zcash (sapling 版本)[25]中都得到了實(shí)際應(yīng)用. 此外, 基于聯(lián)盟鏈Fabric 的FabZK[24]項(xiàng)目也使用了保密交易技術(shù)來實(shí)現(xiàn)交易內(nèi)容的隱藏.

        此外, 目前已經(jīng)有相關(guān)研究提出使用Paillier 加法同態(tài)算法實(shí)現(xiàn)區(qū)塊鏈用戶交易金額的隱藏. Paillier加法同態(tài)算法基于復(fù)合剩余類困難問題, 其算法流程如下:

        (3) Decrypt(sk,C)→m: 該算法為解密算法, 計(jì)算hm=Y/Xsk-1, 從hm中恢復(fù)明文m.

        在PGC 方案中, 利用Twisted-ElGamal 加密實(shí)現(xiàn)交易金額隱藏和賬戶余額的隱藏. 首先, 交易參與者使用自己的公鑰加密賬戶余額. 當(dāng)發(fā)生轉(zhuǎn)賬交易時(shí), 交易發(fā)送方分別使用發(fā)送方和接收方的公鑰(pks,pkr) 加密交易金額v得到交易密文(Cs,Cr). 同時(shí)生成零知識(shí)證明πcorrect證明交易的正確性, 接收者收到證明和簽名后的交易密文, 完成隱藏交易. 交易確認(rèn)完成后, 交易發(fā)送方和交易接收方可通過Twisted-ElGamal 算法的同態(tài)性使用交易密文(Cs,Cr) 各自更新加密的賬戶余額.

        此外,PGC 方案[30]給出了在32 比特消息空間和128 比特安全強(qiáng)度下,Twisted-ElGamal 和Paillier算法運(yùn)行的性能對(duì)比. 其中Twisted-ElGamal 工作在prime256v1 橢圓曲線上, Paillier 算法的模長(zhǎng)為3072 位. 比較結(jié)果如表2 所示. 由比較可知, Twisted-ElGamal 具有更好的運(yùn)算性能.

        表2 Twisted-ElGamal 和Paillier 比較[30]Table 2 Benchmarks of Twisted-ElGamal and Paillier [30]

        綜上所述, 基于同態(tài)承諾和同態(tài)加密的方案能夠保證交易內(nèi)容的隱私性, 其中, Twisted-ElGamal 算法不僅解密效率優(yōu)于Paillier 算法, 而且也是對(duì)零知識(shí)證明友好的. 但是以上方案實(shí)現(xiàn)交易內(nèi)容隱藏的同時(shí)也存在著一些問題: 雖然同態(tài)密碼方案實(shí)現(xiàn)了交易明文的隱藏, 但密文仍然會(huì)作為輸入輸出結(jié)果編碼存儲(chǔ)在公開賬本中, 如果未同時(shí)采取身份隱藏機(jī)制則會(huì)為交易路徑追蹤提供便利; 其次, 由于保密交易所基于的Pedersen 承諾具有單向特性, 即無法由承諾結(jié)果直接獲得被承諾值, 因此基于保密交易構(gòu)建的交易支付過程必須通過其他方式在發(fā)送方和接收方之間進(jìn)行交易明文的傳輸. 為了解決這一問題, 目前存在兩種解決方式, 第一種方式為交易雙方使用鏈外通道交互并記錄交易明文數(shù)據(jù), 如FabZK 即采用鏈外私有賬本的方式來實(shí)現(xiàn); 第二種方式為直接將交易數(shù)據(jù)明文進(jìn)行加密并存儲(chǔ)在公開賬本中, 例如, 在門羅幣的最新實(shí)現(xiàn)中, 發(fā)送方和接收方之間通過ECDH 密鑰協(xié)商協(xié)議生成共享加密密鑰, 然后使用該密鑰對(duì)交易金額進(jìn)行加密(異或) 并存儲(chǔ)在賬本上. 此外, 同態(tài)加密算法雖然可將交易金額直接加密存儲(chǔ)在鏈上, 但Paillier 算法的問題在于加解密效率較低. Twisted-ElGamal 算法在解密過程中采用區(qū)間計(jì)算離散對(duì)數(shù)的方式獲得m, 因此較適合于具有固定范圍的金額類數(shù)值. 因此, 在實(shí)際應(yīng)用時(shí)可根據(jù)不同的場(chǎng)景需求擇優(yōu)選取.

        非對(duì)稱/對(duì)稱加密

        Zerocash 方案中使用接收者的公鑰通過匿名公鑰加密模式(key-privacy public-key encryption)[31]對(duì)交易金額、序列號(hào)生成因子和貨幣承諾(v,ρ,rcm) 進(jìn)行加密, 然后將密文包含在隱蔽交易中并廣播到區(qū)塊鏈. 接收方需要監(jiān)聽區(qū)塊鏈上的交易, 嘗試用自己的私鑰解密隱蔽交易中包含的加密信息, 若解密成功, 則存儲(chǔ)解密后的敏感信息并在未來支付時(shí)使用. 零幣中的Sprout 版本則通過Curve25519 密鑰協(xié)商協(xié)議在發(fā)送方與接收方之間產(chǎn)生一個(gè)共同的會(huì)話密鑰, 然后通過一次性認(rèn)證對(duì)稱加密方案(authenticated one-time symmetric encryption)[32]對(duì)敏感交易信息進(jìn)行加密. Curve25519 密鑰協(xié)商協(xié)議協(xié)商會(huì)話密鑰的具體流程如圖2 所示:

        圖2 Curve25519 密鑰協(xié)商協(xié)議Figure 2 Key agreement protocol on Curve25519

        在密鑰協(xié)商過程中, 發(fā)送方首先隨機(jī)選擇一個(gè)臨時(shí)公私鑰對(duì) epk/esk, 接收方擁有傳輸密鑰對(duì)(pkenc,skenc). 在密鑰交換過程中, 雙方利用自己的私鑰和對(duì)方的公鑰再使用一次Curve25519 函數(shù)就可以計(jì)算得到一個(gè)共同的秘密值, 然后利用這個(gè)秘密值派生出會(huì)話密鑰用于之后的對(duì)稱加密算法. 在交易發(fā)送時(shí), 發(fā)送方連同密文Cenc和epk 一同發(fā)給接收者. 接收者監(jiān)聽區(qū)塊鏈上的交易, 嘗試?yán)米约旱乃借€skenc和交易中公開的epk 計(jì)算出加密密鑰Kenc, 解密隱蔽交易中包含的加密信息, 若解密成功, 則接收這筆交易.

        使用一次性認(rèn)證對(duì)稱加密方案對(duì)敏感交易信息進(jìn)行加密的流程如下:

        (1) 發(fā)送方產(chǎn)生一個(gè)密鑰對(duì)(epk,esk).

        (2) 通過Curve25519 密鑰協(xié)商協(xié)議K計(jì)算共享秘密值sharedSecret :=KA.Agree(esk, pkenc).

        (3) 通過密鑰派生方案KDF 計(jì)算加密密鑰Kenc:= KDF(i,hsig, sharedSecret, epk, pkenc).

        (4) 通過認(rèn)證加密方案Sym 計(jì)算消息m對(duì)應(yīng)的密文C:=Sym.EncryptKenc(m).

        屬性加密

        為了解決更細(xì)粒度隱私保護(hù)場(chǎng)景下的數(shù)據(jù)隱私保護(hù)問題, 一些基于屬性加密(attribute-based encryption, ABE)[33,34]的區(qū)塊鏈數(shù)據(jù)隱私保護(hù)方案[35,36]相繼被提出. ABE 分為密文策略屬性加密(ciphertext policy attribute-based encryption, CP-ABE) 和密鑰策略屬性加密(key policy attribute-based encryption, KP-ABE). 現(xiàn)有的區(qū)塊鏈系統(tǒng)下基于屬性加密的交易隱私保護(hù)方案多使用CP-ABE 算法.CP-ABE 的算法流程如下:

        (1) Setup(1λ,S)→(PP,MK), 初始化算法輸入安全參數(shù)λ和屬性集S, 輸出公開參數(shù)PP 和主密鑰MK;

        (2) KeyGen(MK,S)→SK, 密鑰生成算法輸入主密鑰MK 和屬性集S, 輸出用戶屬性私鑰SK;

        (3) Encrypt(PP,M,A)→CT, 加密算法輸入公開參數(shù)PP, 明文M和訪問結(jié)構(gòu)A, 輸出密文CT;

        (4) Decrypt(PP,CT,SK)→M, 解密算法輸入公開參數(shù)PP, 密文CT 和用戶私鑰SK, 輸出明文M, 只有滿足訪問結(jié)構(gòu)A的用戶才能解密獲得M.

        Yuan 等人[37]使用CP-ABE 實(shí)現(xiàn)了一種區(qū)塊鏈數(shù)據(jù)隱私保護(hù)方案, 保證了數(shù)據(jù)的機(jī)密性.同時(shí)通過ABE 完成不同用戶對(duì)高級(jí)、低級(jí)數(shù)據(jù)的訪問權(quán)限控制, 即高級(jí)用戶可以查詢高級(jí)和低級(jí)數(shù)據(jù), 而低級(jí)用戶只能查詢低級(jí)數(shù)據(jù). Cheng 等人[38]提出了基于屬性加密的區(qū)塊鏈隱私保護(hù)方案并將其應(yīng)用于車聯(lián)網(wǎng)用戶的隱私保護(hù), 該方案通過設(shè)置用戶的交通屬性集合將用戶分組并設(shè)置不同訪問策略加密隱私內(nèi)容,只有滿足密文訪問控制策略的用戶才能解密密文獲得隱私內(nèi)容; Qiu 等人[39]提出了一種基于屬性加密算法的Fabric 數(shù)據(jù)訪問控制方案, 該方案將通道ID、組織ID 和用戶ID 作為用戶屬性集合, 根據(jù)屬性集合設(shè)置訪問控制策略, 在通道和組織層面為Fabric 提供了更細(xì)粒度的數(shù)據(jù)內(nèi)容隱私保護(hù). 概括而言, 基于CP-ABE 方案的區(qū)塊鏈數(shù)據(jù)訪問控制方案通過設(shè)置屬性集合將用戶分組, 由數(shù)據(jù)發(fā)送方指定加密數(shù)據(jù)的用戶訪問控制列表, 一個(gè)屬性集可配置不同的多個(gè)訪問控制策略, 用戶可以根據(jù)需求使用不同嚴(yán)格程度的訪問控制策略加密隱私數(shù)據(jù)得到密文上鏈, 實(shí)現(xiàn)更多樣化、細(xì)粒度的交易內(nèi)容隱私保護(hù), 如圖3 所示. 基于CP-ABE 的區(qū)塊鏈數(shù)據(jù)隱私保護(hù)方案主要包括如下幾個(gè)步驟:

        圖3 基于屬性加密的區(qū)塊鏈隱私保護(hù)方案Figure 3 ABE-based blockchain privacy protection scheme

        (1) 初始化: 首先生成公開參數(shù)PP 和主密鑰MK, 然后設(shè)置屬性集S, 利用MK 和S為各用戶生成屬性私鑰SK, 通過某種安全方式將屬性私鑰SK 發(fā)送給對(duì)應(yīng)用戶.

        (2) 數(shù)據(jù)加密上鏈: 數(shù)據(jù)發(fā)送方根據(jù)訪問結(jié)構(gòu)A加密明文M生成密文CT, 密文CT 經(jīng)過共識(shí)確認(rèn),存儲(chǔ)于區(qū)塊鏈中.

        (3) 數(shù)據(jù)解密: 接收方用戶請(qǐng)求區(qū)塊鏈網(wǎng)絡(luò)中包含該交易密文的對(duì)應(yīng)信息, 得到對(duì)應(yīng)的密文CT, 滿足訪問結(jié)構(gòu)A的用戶能夠通過屬性密鑰SK 解密CT 得到對(duì)應(yīng)明文.

        綜上所述, Zcash 等使用對(duì)稱加密技術(shù)通過密文交易實(shí)現(xiàn)了交易內(nèi)容隱藏, 基于CP-ABE 的隱私保護(hù)方案通過設(shè)置屬性集合和不同的訪問控制策略實(shí)現(xiàn)了更細(xì)粒度的基于屬性的數(shù)據(jù)內(nèi)容隱藏. 基于信息加密的內(nèi)容隱藏方法必須提供較為復(fù)雜的隱藏交易驗(yàn)證機(jī)制, 如基于零知識(shí)證明的驗(yàn)證方案. 這在一定程度上增加了驗(yàn)證過程的計(jì)算復(fù)雜性, 降低了驗(yàn)證效率, 也帶來了額外的賬本存儲(chǔ)開銷. 上述屬性加密的保護(hù)方案也并未提供密文共識(shí)驗(yàn)證算法, 若將密文解密得到明文再驗(yàn)證, 如果存在惡意共識(shí)節(jié)點(diǎn)參與交易驗(yàn)證,那么就會(huì)產(chǎn)生交易數(shù)據(jù)的隱私泄露問題. 因此, 在區(qū)塊鏈公開可驗(yàn)證交易模型下, 如何設(shè)計(jì)鏈上密態(tài)數(shù)據(jù)的高效可驗(yàn)證機(jī)制以確保交易規(guī)則符合性仍有待進(jìn)一步深入研究.

        3.1.2 基于業(yè)務(wù)邏輯的數(shù)據(jù)隔離技術(shù)

        在目前得到廣泛應(yīng)用的聯(lián)盟鏈系統(tǒng)中, 多面向業(yè)務(wù)邏輯適度引入中心化處理機(jī)制來設(shè)計(jì)區(qū)塊鏈系統(tǒng)的總體架構(gòu). 這不同于公有鏈交易全網(wǎng)共識(shí)的實(shí)現(xiàn)方式, 也為聯(lián)盟鏈中隱私保護(hù)的設(shè)計(jì)帶來了便利. 因此,F(xiàn)abric、Corda 和Quorum 等聯(lián)盟鏈采用適度的中心化機(jī)制完成隱私交易的處理, 同時(shí)設(shè)計(jì)了基于業(yè)務(wù)邏輯的數(shù)據(jù)隔離技術(shù)來實(shí)現(xiàn)交易內(nèi)容的隱私保護(hù).

        Hyperledger Fabric

        Hyperledger Fabric[40,41]基于中心化的背書模型通過通道和私有數(shù)據(jù)集來實(shí)現(xiàn)交易內(nèi)容的隱私保護(hù). Fabric 中的背書節(jié)點(diǎn)受到交易各方的信任對(duì)交易合法性進(jìn)行背書驗(yàn)證, 因此可以處理、訪問所有的隱私交易數(shù)據(jù), 這使得Fabric 無需使用復(fù)雜的密碼學(xué)機(jī)制來實(shí)現(xiàn)交易的驗(yàn)證, 只需采用一定的機(jī)制來實(shí)現(xiàn)交易內(nèi)容隱藏即可.

        為了保護(hù)交易內(nèi)容的數(shù)據(jù)隱私, Fabric1.0 引入了通道(channel) 機(jī)制. 所謂通道是指在Fabic 中多個(gè)成員間構(gòu)成的私有通信子集, 以用來執(zhí)行保密交易. 該機(jī)制下, 交易可見的最小范圍是通道, 通道內(nèi)的鏈上交易數(shù)據(jù)對(duì)于屬于該通道的所有成員是可見的, 但對(duì)于通道外的成員是不可見的. 通道可理解為基于共識(shí)服務(wù)提供的一種通訊機(jī)制, 它將背書節(jié)點(diǎn)、提交節(jié)點(diǎn)和共識(shí)服務(wù)連接在一起, 形成一個(gè)具有保密性的虛擬通訊子鏈路, 從而實(shí)現(xiàn)業(yè)務(wù)隔離, 通道機(jī)制如圖4 所示. 其中, 共識(shí)服務(wù)與(節(jié)點(diǎn)1、節(jié)點(diǎn)3)、(節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3)、(節(jié)點(diǎn)2、節(jié)點(diǎn)3) 組成了三個(gè)相互獨(dú)立的通道, 加入到不同通道的Peer 節(jié)點(diǎn)能夠維護(hù)各通道對(duì)應(yīng)的賬本和狀態(tài), 通道外的節(jié)點(diǎn)無法看到其中的賬本和交易數(shù)據(jù), 從而提高了交易內(nèi)容的隱私性.

        圖4 Fabric 通道機(jī)制Figure 4 Channel in Fabric

        通道的訪問控制機(jī)制通過“安全域” 劃分的方法在一定程度上保證了數(shù)據(jù)的隱私性, 但該機(jī)制只是粗粒度的數(shù)據(jù)隱私保護(hù). 通道內(nèi)成員往往隸屬于不同的組織, 如果通道內(nèi)的部分組織不希望其他組織能夠查看一些特殊數(shù)據(jù), 這些組織需要單獨(dú)創(chuàng)建一個(gè)新的通道, 使該通道僅包含這些特殊數(shù)據(jù). 若要保護(hù)任意多方間的隱私數(shù)據(jù), 則需要構(gòu)建大量的通道, 從而造成過多的資源開銷.

        為了解決通道大量創(chuàng)建造成的資源浪費(fèi)問題, Fabric1.2 引入了私有數(shù)據(jù)(private data) 機(jī)制, 如圖5 所示, 它允許通道上的成員之間可以提交、查詢私有數(shù)據(jù)而無需創(chuàng)建單獨(dú)的通道, 從而實(shí)現(xiàn)一些特殊數(shù)據(jù)僅在通道內(nèi)部分成員間共享. 相對(duì)于通道機(jī)制, 私有數(shù)據(jù)機(jī)制是一種更細(xì)粒度的數(shù)據(jù)隱私保護(hù)機(jī)制.

        圖5 Fabric 中的私有數(shù)據(jù)集機(jī)制Figure 5 Private data collection in Fabric

        在原有通道狀態(tài)庫(kù)的基礎(chǔ)上, Fabric1.2 的私有數(shù)據(jù)機(jī)制加入了私有狀態(tài)庫(kù), 即部分組織間的私有數(shù)據(jù)會(huì)被存儲(chǔ)到私有狀態(tài)庫(kù)中. 同時(shí)為了保證這些私有數(shù)據(jù)的有效性和不可篡改, 還需要將這些私有數(shù)據(jù)的哈希值存儲(chǔ)到通道狀態(tài)庫(kù)中, 即“上鏈”. 私有數(shù)據(jù)僅存儲(chǔ)在部分已授權(quán)節(jié)點(diǎn)中, 但是所有節(jié)點(diǎn)都會(huì)在通道狀態(tài)中存儲(chǔ)私有數(shù)據(jù)的哈希值. 經(jīng)過授權(quán)的節(jié)點(diǎn)可以訪問這些私有數(shù)據(jù)并通過鏈上哈希值來進(jìn)行完整性驗(yàn)證, 而未授權(quán)的節(jié)點(diǎn)本身并沒有私有數(shù)據(jù). 通過這種方式在保證全局賬本一致的前提下, 實(shí)現(xiàn)了較通道機(jī)制更為細(xì)粒度的數(shù)據(jù)隱私保護(hù).

        Fabric 中含有私有數(shù)據(jù)的交易流程如下:

        (1) 客戶端的應(yīng)用程序向背書節(jié)點(diǎn)提交提案請(qǐng)求, 調(diào)用鏈碼讀取或?qū)懭胨接袛?shù)據(jù). 私有數(shù)據(jù)(或用于在鏈碼中生成私有數(shù)據(jù)的數(shù)據(jù)) 包含在提案的臨時(shí)字段中.

        (2) 背書節(jié)點(diǎn)模擬執(zhí)行交易并將私有數(shù)據(jù)存儲(chǔ)在臨時(shí)數(shù)據(jù)緩沖區(qū)中,然后根據(jù)既定的策略使用Gossip協(xié)議將私有數(shù)據(jù)分發(fā)給授權(quán)用戶.

        (3) 背書節(jié)點(diǎn)將公開數(shù)據(jù)以提案響應(yīng)的形式返回給客戶端, 其中包括私有數(shù)據(jù)哈希值.

        (4) 客戶端應(yīng)用程序?qū)⑻岚疙憫?yīng)轉(zhuǎn)化為交易并發(fā)送給排序服務(wù)節(jié)點(diǎn). 排序服務(wù)會(huì)將這些交易打包成區(qū)塊, 然后將區(qū)塊分發(fā)給所有的記賬節(jié)點(diǎn). 通過這樣的方式, 通道上的所有節(jié)點(diǎn)都可以驗(yàn)證交易的有效性而不需要知道具體的私有數(shù)據(jù).

        (5) 提交區(qū)塊時(shí), 接收到私有數(shù)據(jù)的授權(quán)節(jié)點(diǎn)會(huì)檢查臨時(shí)數(shù)據(jù)緩沖區(qū)中私有數(shù)據(jù)的哈希值是否與公開賬本全局狀態(tài)數(shù)據(jù)中的哈希值一致, 如果一致則將公開數(shù)據(jù)賬本追加到本地賬本, 并將私有數(shù)據(jù)寫入私有狀態(tài)庫(kù)中.

        為了增強(qiáng)私有數(shù)據(jù)機(jī)制的功能, Fabric2.0 啟用了處理和共享私有數(shù)據(jù)的新模式. 之前的版本中私有數(shù)據(jù)僅在一個(gè)私有數(shù)據(jù)集合中共享, 但Fabric2.0 通過引入特定的API 函數(shù)實(shí)現(xiàn)了不同集合之間共享私有數(shù)據(jù)的功能.

        Corda

        Corda 是由R3 聯(lián)盟開發(fā)的適用于金融類應(yīng)用場(chǎng)景的分布式賬本系統(tǒng), 于2016 年11 月實(shí)施開源[42].Corda 是一個(gè)基于半信任環(huán)境的、服務(wù)于現(xiàn)實(shí)世界金融活動(dòng)的分布式賬本平臺(tái), 同時(shí)滿足信息適度可見和高性能兩個(gè)核心特性, 采用聯(lián)盟鏈或私有鏈的形式, 用于記錄、管理及自動(dòng)化執(zhí)行金融合約.

        不同于公有鏈平臺(tái)具有的全局交易驗(yàn)證及共識(shí)、單位時(shí)間產(chǎn)出數(shù)據(jù)塊等特征, Corda 平臺(tái)具有如下特點(diǎn):

        (1) 交易無需全網(wǎng)廣播, 而僅在交易的關(guān)聯(lián)方及驗(yàn)證節(jié)點(diǎn)之間傳遞. 這樣可以減少節(jié)點(diǎn)接收的數(shù)據(jù)量,并且有效保證交易相關(guān)方的內(nèi)容隱私保護(hù).

        (2) 共識(shí)機(jī)制僅存在于負(fù)責(zé)驗(yàn)證交易的節(jié)點(diǎn)之間, 而不是所有的參與節(jié)點(diǎn), 從而加快了達(dá)成共識(shí)的速度, 提高了交易性能.

        (3) 沒有“區(qū)塊” 的概念, 而是讓后續(xù)交易直接指向前序交易, 以達(dá)到數(shù)據(jù)不可篡改、可追溯的特性.

        Corda 系統(tǒng)仍是基于UTXO 交易模型, 通過工作流來構(gòu)建各種復(fù)雜的業(yè)務(wù)流程. 但不同于其它區(qū)塊鏈系統(tǒng)的是, Corda 中的交易無需全網(wǎng)廣播, 交易數(shù)據(jù)的流動(dòng)均通過基于TLS 安全信道的點(diǎn)對(duì)點(diǎn)傳輸來完成, 且僅在交易的關(guān)聯(lián)方及驗(yàn)證節(jié)點(diǎn)之間傳遞. 這一基于業(yè)務(wù)邏輯相關(guān)性來構(gòu)建數(shù)據(jù)“安全域” 的方法有效地保護(hù)了交易對(duì)手方之間的數(shù)據(jù)隱私, 達(dá)到了“數(shù)據(jù)適度可見” 的安全目標(biāo).

        此外, Corda 中存在一個(gè)受信任的公共服務(wù)Oracle 節(jié)點(diǎn), 用來將現(xiàn)實(shí)世界中的事實(shí)(例如股票價(jià)格、外匯牌價(jià)、銀行利率等等) 注入到Corda 網(wǎng)絡(luò)中, 使之可以成為交易的一個(gè)輸入項(xiàng). 同時(shí)為了確保引入外部數(shù)據(jù)后賬本交易數(shù)據(jù)的確定性(deterministic), Oracle 節(jié)點(diǎn)會(huì)對(duì)嵌入外部事實(shí)的交易進(jìn)行簽名. 為了保護(hù)交易方的數(shù)據(jù)隱私, Oracle 節(jié)點(diǎn)采用了名為“交易部分屏蔽”(transaction tear-offs) 的數(shù)據(jù)簽名方案,系統(tǒng)將交易簽名數(shù)據(jù)的哈希計(jì)算過程構(gòu)造成一棵Merkle 樹, 待簽名數(shù)據(jù)的哈希結(jié)果為Merkle 樹的根值.從而可以實(shí)現(xiàn)將一個(gè)保留了必要哈希分支的子樹發(fā)送給Oracle 節(jié)點(diǎn), 使它仍然能按照簽名結(jié)構(gòu)完成對(duì)整個(gè)交易的簽名. Corda 對(duì)記錄交易歷史的Merkle 樹結(jié)構(gòu)進(jìn)行剪枝后只留下原始數(shù)據(jù)的哈希運(yùn)算結(jié)果, 從而保護(hù)了數(shù)據(jù)隱私. “交易部分屏蔽” 的哈希計(jì)算過程如圖6 所示.

        圖6 Transaction tear-off的哈希計(jì)算過程Figure 6 Hash computation of transaction tear-off

        Quorum

        企業(yè)以太坊聯(lián)盟(enterprise ethereum alliance, EEA) 是一個(gè)會(huì)員驅(qū)動(dòng)的標(biāo)準(zhǔn)化組織, 旨在開發(fā)基于以太坊的開放性企業(yè)級(jí)區(qū)塊鏈標(biāo)準(zhǔn)[43]. 摩根大通在EEA 框架的基礎(chǔ)上基于以太坊構(gòu)建了開源的企業(yè)級(jí)區(qū)塊鏈平臺(tái)Quorum[44], 其通過引入私有交易和私有存儲(chǔ)的概念來實(shí)現(xiàn)交易內(nèi)容隱藏.

        以太坊所有公開交易的數(shù)據(jù)都存儲(chǔ)在區(qū)塊鏈上, 任何人都可以訪問所有交易數(shù)據(jù). 為了實(shí)現(xiàn)交易內(nèi)容的隱藏, Quorum 將系統(tǒng)中的交易分為公有交易和私有交易, 以對(duì)其采用不同的交易處理流程和存儲(chǔ)方式.私有交易的處理流程如圖7 所示.

        圖7 Quorum 私有交易處理流程Figure 7 Quorum private transaction flow

        首先, 不同于公有交易, 私有交易加入了一個(gè)交易接受者身份(公鑰) 列表, 表明該私有交易應(yīng)該只發(fā)送給這些列表成員. 其次, 為了單獨(dú)處理私有交易, Quorum 引入了交易管理器(Transaction Manager)和飛地(Enclave) 組件, Transaction Manager 專門用于處理和分發(fā)私有數(shù)據(jù); Enclave 則為同Transaction Manager 一一對(duì)應(yīng)的組件, 專門用于完成數(shù)據(jù)加解密和密鑰管理工作. 最終, 私有交易數(shù)據(jù)荷載加密存儲(chǔ)在Transaction Manager 中, 而相應(yīng)智能合約的執(zhí)行結(jié)果則存儲(chǔ)在相應(yīng)節(jié)點(diǎn)的私有存儲(chǔ)數(shù)據(jù)庫(kù)中,Quorum 區(qū)塊中存儲(chǔ)的則是公有交易以及私有交易加密后的哈希值. 這樣既保護(hù)了私有交易隱私, 又實(shí)現(xiàn)了私有交易和公有交易參與統(tǒng)一的共識(shí). 私有交易的具體執(zhí)行流程如下:

        (1) 客戶端發(fā)送私有交易到Quorum 節(jié)點(diǎn), 并在交易中直接指明每個(gè)接收者身份(公鑰).

        (2) Quorum 節(jié)點(diǎn)將私有交易傳送至對(duì)應(yīng)的Transaction Manager.

        (3) Transaction Manager 通過Enclave 為每個(gè)接收者生成加密交易荷載并計(jì)算其哈希值.

        (4) Transaction Manager 將私有交易的加密荷載及其哈希值分別點(diǎn)對(duì)點(diǎn)的傳播至每個(gè)交易接收方的Transaction Manager.

        (5) 數(shù)據(jù)傳播成功后, Transaction Manager 將私有交易加密荷載的哈希值返回至對(duì)應(yīng)的Quorum 節(jié)點(diǎn).

        (6) Quorum 節(jié)點(diǎn)將私有交易加密荷載的哈希值打包進(jìn)Quorum 區(qū)塊. 當(dāng)每個(gè)Quorum 節(jié)點(diǎn)執(zhí)行該以太坊交易時(shí), 需要基于該以太坊交易的荷載(即私有交易加密荷載的哈希值) 向?qū)?yīng)的Transaction Manager 請(qǐng)求原始的私有交易荷載.

        (7) 根據(jù)Quorum 節(jié)點(diǎn)的請(qǐng)求, 各個(gè)交易接收方的Transaction Manager 通過Enclave 和接收到的加密私有交易荷載解密出原始的私有交易荷載.

        (8) 交易接收方的Transaction Manager 將原始的私有交易荷載返回至對(duì)應(yīng)的Quorum 節(jié)點(diǎn), 非交易接收方則返回空消息.

        (9) 交易涉及的每個(gè)Quorum 節(jié)點(diǎn)將私有交易提交至智能合約運(yùn)行, 智能合約會(huì)將執(zhí)行私有交易時(shí)生成的狀態(tài)數(shù)據(jù)存儲(chǔ)至私有存儲(chǔ)數(shù)據(jù)庫(kù).

        綜上所述, Corda 通過引入點(diǎn)對(duì)點(diǎn)交易和數(shù)據(jù)傳輸、交易部分屏蔽簽名方案來構(gòu)建交易關(guān)聯(lián)方之間的數(shù)據(jù)“安全域”, 從而實(shí)現(xiàn)了交易內(nèi)容的隱私保護(hù). 但這一方案也存在一定的問題: Corda 的整體架構(gòu)設(shè)計(jì)思想是基于中心化背書的點(diǎn)對(duì)點(diǎn)交易模式, 它在帶來信息適度可見和高處理性能優(yōu)勢(shì)的同時(shí), 卻也具有不適合于“多方共識(shí)確認(rèn)” 交易模式的弱點(diǎn). 而“去(多) 中心化” 模式下的多方交易共識(shí)確認(rèn)恰恰是區(qū)塊鏈的典型應(yīng)用場(chǎng)景; Hyperledger Fabric 通過引入通道和私有數(shù)據(jù)集實(shí)現(xiàn)了細(xì)粒度的數(shù)據(jù)隱私保護(hù)機(jī)制, 以適用于多方交易過程中的私有數(shù)據(jù)保護(hù). Quorum 采用類似的設(shè)計(jì)思想, 通過引入私有交易和私有存儲(chǔ)的概念實(shí)現(xiàn)了私有交易的數(shù)據(jù)隱私保護(hù)機(jī)制. 但這一類方案也存在一定的問題: 首先, 需在公共區(qū)塊鏈存儲(chǔ)之外引入私有狀態(tài)庫(kù)和點(diǎn)對(duì)點(diǎn)數(shù)據(jù)分發(fā)機(jī)制用于實(shí)現(xiàn)隱私數(shù)據(jù)的存儲(chǔ), 這在一定程度上增加了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度; 其次, 隱私明文數(shù)據(jù)在被信任節(jié)點(diǎn)的集中單點(diǎn)處理也加大了數(shù)據(jù)泄漏和單點(diǎn)失效的安全風(fēng)險(xiǎn).

        3.2 隱藏交易驗(yàn)證

        隱藏交易驗(yàn)證需要實(shí)現(xiàn)密文條件下交易內(nèi)容的合法性和正確性驗(yàn)證, 所要驗(yàn)證的主要內(nèi)容包括: 隱藏交易的平衡性驗(yàn)證, 即確保交易輸入輸出的金額相等, 一般通過同態(tài)密碼或零知識(shí)證明技術(shù)來實(shí)現(xiàn); 交易金額的范圍證明, 即確保交易金額在合法范圍內(nèi), 防止出現(xiàn)支付負(fù)值金額而憑空產(chǎn)生貨幣的問題, 一般通過零知識(shí)證明或環(huán)簽名技術(shù)來實(shí)現(xiàn); 貨幣的合法性驗(yàn)證, 即在使用全局混幣方案的密碼貨幣中(如零幣),確保支付貨幣為一個(gè)已發(fā)行的合法貨幣, 一般通過零知識(shí)證明技術(shù)來實(shí)現(xiàn).

        3.2.1 同態(tài)密碼

        Pedersen 承諾的加法同態(tài)特性為礦工(驗(yàn)證者) 使用金額承諾進(jìn)行隱藏交易驗(yàn)證提供了便利. 假設(shè)一個(gè)交易的輸入為v1,v2, 輸出為v3. 為了確保交易平衡, 即:v1+v2=v3, 構(gòu)建的交易承諾應(yīng)滿足:

        Wang 等人[28]希望使用Paillier 方案利用Paillier 算法同態(tài)性來實(shí)現(xiàn)交易平衡性驗(yàn)證. 但在這一方案中會(huì)使用不同接收方的公鑰來對(duì)輸出金額(UTXO) 進(jìn)行Paillier 加密, 不同公鑰的加密結(jié)果使得無法利用Paillier 算法的同態(tài)特性進(jìn)行平衡性驗(yàn)證. 因此, 該方案引入一個(gè)dumb account 賬戶, 并對(duì)每一個(gè)輸出金額均使用dumb account 公鑰來進(jìn)行Paillier 加密并將這一加密結(jié)構(gòu)構(gòu)造為一個(gè)承諾, 從而利用基于承諾的零知識(shí)證明方案來實(shí)現(xiàn)交易非負(fù)性和平衡性驗(yàn)證. 交易驗(yàn)證通過后會(huì)寫入?yún)^(qū)塊, 接收方通過查詢區(qū)塊收到各自隱藏金額并使用私鑰解密獲得明文交易金額. 因此, 該方案在使用Paillier 加密為接收方傳遞交易金額的同時(shí), 還需引入dumb account 賬戶的加密(承諾) 金額, 這額外增加了系統(tǒng)的存儲(chǔ)開銷.

        PGC 方案[30]則是為基于賬戶模型的區(qū)塊鏈交易系統(tǒng)而設(shè)計(jì)的, 它利用Twisted-ElGamal 同態(tài)加密算法對(duì)交易金額和賬戶余額進(jìn)行加密, 從而可實(shí)現(xiàn)交易過程中賬戶余額的密態(tài)加減操作. 同時(shí), Twisted-ElGamal 算法又是對(duì)零知識(shí)證明友好的, 基于加密結(jié)構(gòu)便于構(gòu)建出金額非負(fù)性、金額上限、金額比例等交易規(guī)則審計(jì)算法.

        綜上所述, 在隱藏交易驗(yàn)證方面, 加法同態(tài)承諾如Pedersen 承諾和同態(tài)加密方案能夠?qū)崿F(xiàn)隱藏交易的平衡性驗(yàn)證, 但同態(tài)承諾無法由承諾結(jié)果直接獲得承諾值, 而同態(tài)加密能夠?qū)崿F(xiàn)承諾金額的傳遞但不利于零知識(shí)證明方案的構(gòu)建. 因此, 二者均需增加額外的密碼運(yùn)算來實(shí)現(xiàn)完整的密態(tài)交易和公開驗(yàn)證功能.Twisted-ElGamal 算法在基于賬戶的交易模型下構(gòu)建了高效的實(shí)現(xiàn)方案, 但如何在基于UTXO 的交易模型下實(shí)現(xiàn)密態(tài)交易驗(yàn)證仍有待進(jìn)一步研究. 此外, 同態(tài)加密方案在性能上存在不足, 目前全同態(tài)加密算法(fully homomorphic encryption, FHE)[45,46]的運(yùn)行效率較低, 存在密文膨脹等問題, 只能適用于小數(shù)據(jù)規(guī)模場(chǎng)景, 無法在大規(guī)模數(shù)據(jù)場(chǎng)景中得到普遍應(yīng)用.

        3.2.2 零知識(shí)證明

        零知識(shí)證明(zero-knowledge proof) 在區(qū)塊鏈交易內(nèi)容隱私保護(hù)方面發(fā)揮了重要作用. 零知識(shí)證明[47,48]是一種涉及兩方或多方的密碼協(xié)議, 證明者能夠在不泄露任何秘密內(nèi)容的情況下向驗(yàn)證者完成秘密信息的證明[49]. 目前很多方案如零幣和門羅幣[50]等都是用零知識(shí)證明來實(shí)現(xiàn)隱藏交易內(nèi)容的驗(yàn)證.

        零幣Zcash[25,32]使用zk-SNARKs[51,52]非交互式零知識(shí)證明完成隱藏交易的正確性驗(yàn)證. zk-SNARKs 將任意計(jì)算條件用算術(shù)電路C表示, 輸入數(shù)據(jù)后, 0 或1 作為驗(yàn)證結(jié)果返回. zk-SNARKs 在Zcash 系統(tǒng)中的應(yīng)用如圖8 所示. zk-SNARKs 主要有以下三個(gè)步驟:

        圖8 Zcash 中的零知識(shí)證明協(xié)議Figure 8 Zero-knowledge proof in Zcash

        (1) KeyGen(1λ,C)→(pk,vk). 輸入一個(gè)安全參數(shù)λ和F域-算術(shù)電路C, 生成零知識(shí)證明中的證明密鑰pk 和驗(yàn)證密鑰vk.

        (2) Prove(pk,x,a)→π. 輸入一個(gè)證明密鑰pk、公開信息x和證明者擁有的秘密信息a, 輸出一個(gè)非交互式證明π, 來表示證明者確實(shí)擁有某些知識(shí).

        (3) Verify(vk,x,π)→b. 輸入一個(gè)驗(yàn)證密鑰vk 和公開信息x, 一個(gè)證明π, 如果驗(yàn)證者被說服, 即他相信證明者確實(shí)擁有某種知識(shí), 則驗(yàn)證輸出為b=1.

        表3 零知識(shí)證明系統(tǒng)比較Table 3 Comparison of three zero-knowledge proof systems

        此外, Ma 等人提出了一種新的零知識(shí)證明方案NIZK[58], 該方案借鑒了Camenisch 等人于2008 年提出的基于Boneh-Boyen 簽名[59]的交互式范圍證明方案[60], 采用Fiat-Shamir 啟發(fā)式將方案構(gòu)造為非交互式零知識(shí)證明方案. 該方案大幅縮短了零知識(shí)證明的生成時(shí)間, 但生成的零知識(shí)證明信息長(zhǎng)度更長(zhǎng).Ma 等人方案同其他零知識(shí)證明方案的性能比較如表4 所示.

        方案使用jsnark[63]前端編譯工具生成電路, 電路規(guī)模在220量級(jí). 通用零知識(shí)證明方案實(shí)現(xiàn)時(shí)選取的是橢圓曲線bn128 上的有限域, 滿足128 比特安全性. 表4 中的C為電路大小,u,l為限定明文消息空間大小的參數(shù), 明文消息空間為[0,2L) , 其中L=u×l.

        表4 NIZK 同其他零知識(shí)證明方案的比較[58]Table 4 Comparison of NIZK scheme to existing ZKP systems [58]

        3.2.3 環(huán)簽名

        在Maxwell 提出的保密交易方案中采用了Borromean 環(huán)簽名[64]來實(shí)現(xiàn)承諾值的范圍證明. 在基于Borromean 環(huán)簽名的保密交易方案中, 范圍證明方案的思路為首先將要證明的金額v分解為二進(jìn)制形式,然后計(jì)算金額各位的承諾值, 并將承諾值作為公鑰生成環(huán)簽名, 接收方對(duì)簽名等進(jìn)行驗(yàn)證判定交易是否有效. 假設(shè)金額v ∈[0,2n),n為公開參數(shù), 金額v的Pedersen 承諾為commit=kG+vH, 已知G,H ∈G,G是G 的生成元,H的離散對(duì)數(shù)未知. 證明者有承諾commit 以及k和v, 生成證明π表明v ∈[0,2n).Borromean 環(huán)簽名實(shí)現(xiàn)承諾金額范圍證明和驗(yàn)證的具體步驟如下:

        首先, 發(fā)送方根據(jù)金額v生成其范圍證明π:

        綜上所述, 門羅幣使用環(huán)簽名技術(shù)實(shí)現(xiàn)了交易金額的范圍證明, 保證交易金額處于合理區(qū)間. 但基于Borromean 環(huán)簽名的范圍證明方案生成的證明長(zhǎng)度較大, 證明長(zhǎng)度與所要證明的區(qū)間上界成線性相關(guān), 交易大小主要受范圍證明長(zhǎng)度影響, 導(dǎo)致效率較低. 因此最新的Monero 方案使用Bulletproofs 技術(shù)替換Borromean 環(huán)簽名, 優(yōu)化了范圍證明算法的性能, 基于Bulletproofs 方案的相關(guān)改進(jìn)算法[65]也被提出.Zcash 方案使用zk-SNARKs 零知識(shí)證明能夠在不泄露明文數(shù)據(jù)的情況下完成隱藏交易驗(yàn)證, 僅需生成很小數(shù)據(jù)量的證明就可完成大量數(shù)據(jù)的驗(yàn)證. 但零知識(shí)證明技術(shù)在提供了良好的交易內(nèi)容隱私保護(hù)的同時(shí),也存在一些不足: 首先, 由于系統(tǒng)引入了零知識(shí)證明算法, 使得隱藏交易驗(yàn)證算法的開銷增大, 吞吐量與響應(yīng)速度有待進(jìn)一步提高; 其次, zk-SNARKs 在系統(tǒng)初始化時(shí)需要信任中心安全地生成公共參數(shù), 存在初始化各方共謀偽造新幣的安全風(fēng)險(xiǎn), zk-STARKs 無需系統(tǒng)初始化, 并且是后量子安全的, 但其證明長(zhǎng)度過長(zhǎng),在區(qū)塊鏈的實(shí)際應(yīng)用中有一定局限性; 此外, 以上這些方案均未考慮實(shí)際應(yīng)用中的交易內(nèi)容監(jiān)管問題.

        3.3 隱藏交易監(jiān)管

        為了解決區(qū)塊鏈隱私保護(hù)問題, 多種密碼技術(shù)應(yīng)用到區(qū)塊鏈系統(tǒng)中用于實(shí)現(xiàn)交易內(nèi)容隱藏和隱藏交易驗(yàn)證, 但同時(shí)也對(duì)區(qū)塊鏈交易監(jiān)管提出了更多挑戰(zhàn). 基于公有鏈的密碼貨幣多強(qiáng)調(diào)隱私保護(hù), 無法實(shí)現(xiàn)交易內(nèi)容監(jiān)管, 為了滿足行業(yè)應(yīng)用的監(jiān)管需求, 一些具有監(jiān)管功能的隱私保護(hù)方案也陸續(xù)被提出[66-70], 例如PRCash[71]、zkLedger[72]、FabZK[24]、PGC[30]以及ACT[67]方案等.

        PRCash[71]使用基于UTXO 的Mimblewimble 交易模型來構(gòu)建密態(tài)交易. 交易方使用交易金額的Perdersen 承諾在公開賬本中記錄交易, 同時(shí)系統(tǒng)引入監(jiān)管方, 基于用戶交易身份來限定用戶在一段時(shí)間內(nèi)的交易總額. 當(dāng)用戶向系統(tǒng)注冊(cè)時(shí), 監(jiān)管方使用隨機(jī)化簽名(randomizable signature)[73]來為用戶公鑰pku簽發(fā)證書. 當(dāng)用戶接收到一筆新的交易輸出時(shí), 如果用戶使用匿名身份進(jìn)行交易, 需通過私鑰sku和偽隨機(jī)函數(shù)(pseudorandom function)[74]生成匿名身份PIDe接收交易輸出, 同時(shí)通過零知識(shí)證明生成監(jiān)管證明信息, 以確保PIDe生成私鑰和簽發(fā)證書中公鑰的正確對(duì)應(yīng)以及匿名身份PIDe在當(dāng)前時(shí)段的合法性. 此外, 用戶還需累加PIDe身份對(duì)應(yīng)的所有UTXO 并通過范圍證明表明總額沒有超過限值; 如果用戶使用實(shí)名身份進(jìn)行交易, 需使用監(jiān)管方公鑰pkr加密用戶公鑰pku并通過零知識(shí)生成監(jiān)管證明信息,以確保加密的公鑰pku同之前簽發(fā)證書中的公鑰pku相同, 從而完成交易. 監(jiān)管方在接收到交易中的上述監(jiān)管證明信息后, 如果驗(yàn)證通過即可確認(rèn)交易并寫入?yún)^(qū)塊. PRCash 方案提供了用戶派生身份的靈活驗(yàn)證和匿名交易總額的有效監(jiān)管.

        Naganuma 等人[69]在Zerocoin 協(xié)議的基礎(chǔ)上提出了可審計(jì)的Zerocoin 方案, 審計(jì)方能夠監(jiān)管某筆交易的交易軌跡. Zerocoin 在區(qū)塊鏈賬本中使用Pedersen 承諾來表示生成的密碼貨幣(coin), 為了實(shí)現(xiàn)監(jiān)管, 發(fā)送方發(fā)送交易的同時(shí)需要附帶審計(jì)信息. 審計(jì)信息包括: 用監(jiān)管方公鑰加密零幣承諾gyhz的一部分gy生成的密文Enc(pk,gy) 和一個(gè)零知識(shí)證明π:

        零知識(shí)證明π用來防止發(fā)送方惡意地偽造審計(jì)密文. 交易方在貨幣支付過程中將y值作為貨幣序列號(hào)Serial 予以公開. 監(jiān)管方收到監(jiān)管信息后, 用私鑰解密Enc(pk,gy) 得到gy并根據(jù)π驗(yàn)證密文真實(shí)性和監(jiān)管可靠性, 通過比較gy和gSerial將交易的收發(fā)方關(guān)聯(lián)起來, 實(shí)現(xiàn)交易軌跡監(jiān)管.

        表5 zkLedger 賬本存儲(chǔ)結(jié)構(gòu)Table 5 Ledger structure of zkLedger

        綜上所述, 目前PRCash、Naganuma、zkLedger、PGC 和ACT 等方案中的隱藏交易監(jiān)管主要通過構(gòu)建承諾值的零知識(shí)證明來實(shí)現(xiàn), 交易方使用承諾來隱藏交易金額, 監(jiān)管方使用交易方基于零知識(shí)證明生成的監(jiān)管證明信息進(jìn)行監(jiān)管規(guī)則驗(yàn)證. 目前的監(jiān)管方案如表6 所示, 這些方案在保護(hù)交易內(nèi)容隱私的前提下實(shí)現(xiàn)了交易內(nèi)容面向不同規(guī)則的有效監(jiān)管, 如PRCash、Naganuma 和zkLedger 等主要設(shè)計(jì)了交易總額限制的監(jiān)管規(guī)則, PGC 方案則提供了總額限制、比例規(guī)則等更為多樣的監(jiān)管規(guī)則. 但上述方案仍存在一些問題: PRCash、zkLedger 等方案面向公有鏈結(jié)構(gòu)設(shè)計(jì), 對(duì)于在聯(lián)盟鏈應(yīng)用場(chǎng)景中的使用仍需要進(jìn)一步優(yōu)化; FabZK 給出了Fabric 中的監(jiān)管架構(gòu)設(shè)計(jì), 但該方案需引入額外的鏈外賬戶存儲(chǔ)并要求監(jiān)管方需保持實(shí)時(shí)在線, 這在實(shí)際應(yīng)用中具有一定的局限性; ACT 方案計(jì)算審計(jì)令牌時(shí), 涉及的零知識(shí)證明生成時(shí)間較長(zhǎng), 如何優(yōu)化審計(jì)策略、提高審計(jì)效率需進(jìn)一步研究. 雖然上述方案均提供了一些審計(jì)規(guī)則, 但對(duì)于日益普及的區(qū)塊鏈應(yīng)用而言監(jiān)管規(guī)則仍顯不足, 如都無法滿足某些應(yīng)用場(chǎng)景下監(jiān)管方監(jiān)管每筆交易金額的需求.

        表6 相關(guān)可監(jiān)管隱私保護(hù)方案對(duì)比Table 6 Comparison of privacy protection schemes with regulation

        4 交易內(nèi)容和交易身份隱私保護(hù)的結(jié)合

        此外, 通過將交易內(nèi)容和交易身份隱私保護(hù)方案相結(jié)合, 一些具有強(qiáng)隱私保護(hù)特性的區(qū)塊鏈交易系統(tǒng)也得到了廣泛應(yīng)用. 本節(jié)參考姚前等人[1]關(guān)于區(qū)塊鏈身份隱私的研究, 對(duì)于交易內(nèi)容和交易身份隱私保護(hù)技術(shù)的結(jié)合展開進(jìn)一步的分析討論.

        (1) 同態(tài)密碼同無標(biāo)識(shí)交易的結(jié)合

        無標(biāo)識(shí)交易技術(shù)是指在鏈上資產(chǎn)的表示(如UTXO) 中不包含資產(chǎn)所有者的身份標(biāo)識(shí), 資產(chǎn)權(quán)屬變更過程中的交易確認(rèn)是由用戶采用資產(chǎn)表示中的秘密因子進(jìn)行相應(yīng)的密碼運(yùn)算來完成的, 接收方通過密碼運(yùn)算的結(jié)果來判斷資產(chǎn)權(quán)屬和交易確認(rèn)的正確性[1]. 公開賬本中記錄的UTXO 中不再存有標(biāo)識(shí)用戶身份的公鑰信息, 這使得所有基于交易地址的關(guān)聯(lián)分析技術(shù)失效, 尤其是增加了交易可鏈接性的分析難度. 基于Pedersen 承諾和無標(biāo)識(shí)交易技術(shù)構(gòu)建的Mimblewimble 方案[19]可有效地確保用戶交易隱私. 它通過同態(tài)承諾隱藏了交易金額, 并且利用承諾中的盲因子結(jié)合數(shù)字簽名實(shí)現(xiàn)了交易行為的確權(quán)和交易輸入輸出的平衡性驗(yàn)證. Mimblewimble 在交易輸出承諾的構(gòu)建過程中指定接收方隨機(jī)秘密選擇交易輸出的盲化因子r, 并由此實(shí)現(xiàn)對(duì)該UTXO 的權(quán)屬控制. 由于這一過程帶來了輸入輸出承諾盲化因子的差值(excess), 因此也將礦工對(duì)交易平衡的等式驗(yàn)證過程轉(zhuǎn)化為驗(yàn)證交易雙方共同構(gòu)建以盲化因子差值為私鑰的正確簽名過程. 這一組合方案在開源密碼貨幣項(xiàng)目Grin[75]和Beam[76]中得到了應(yīng)用.

        (2) 同態(tài)密碼同自主混幣的結(jié)合

        “混幣” 機(jī)制是將真實(shí)交易者發(fā)起的交易(UTXO) 隱藏在一個(gè)交易集合中, 從而使得觀察者無法確認(rèn)真正的交易, 也即無法確認(rèn)同每一個(gè)UTXO 相關(guān)聯(lián)的用戶身份. 它是區(qū)塊鏈系統(tǒng)中實(shí)現(xiàn)交易身份隱藏的基本思想. 自主混幣是指真實(shí)交易者在混幣過程中無需第三方中心機(jī)構(gòu)和其他用戶的參與, 可自主完成混幣過程[1]. 自主混幣的實(shí)現(xiàn)機(jī)制為環(huán)簽名算法. 基于Pedersen 承諾的同態(tài)密碼方案結(jié)合自主混幣技術(shù)構(gòu)建的RingCT (ring confidential transaction) 方案可有效地確保用戶交易隱私. 它將同態(tài)承諾隱藏交易金額同可鏈接環(huán)簽名隱藏交易身份相結(jié)合, 通過可鏈接環(huán)簽名將真實(shí)交易者身份隱藏在匿名集合中并完成了支付確權(quán), 借助簽名可鏈接性實(shí)現(xiàn)了貨幣防雙花. 在交易內(nèi)容驗(yàn)證方面采用同態(tài)承諾確保交易輸入輸出的平衡性驗(yàn)證, 基于Bulletproofs 的零知識(shí)證明方案實(shí)現(xiàn)了交易金額的范圍證明. 這一組合方案在門羅幣[22]中得到了應(yīng)用.

        (3) 信息加密同全局混幣的結(jié)合

        全局混幣技術(shù)是將待支付貨幣的真?zhèn)悟?yàn)證問題轉(zhuǎn)化為一個(gè)已發(fā)行貨幣列表的成員證明問題, 從而實(shí)現(xiàn)支付貨幣在全部貨幣中的混淆[1]. 基于對(duì)稱加密的交易信息加密方案結(jié)合全局混幣技術(shù)構(gòu)建的Zerocash方案可有效地確保用戶交易隱私. Zerocash 將系統(tǒng)中所有的貨幣承諾值構(gòu)建為一棵Merkle 樹, 當(dāng)真實(shí)交易者執(zhí)行交易時(shí), 交易發(fā)送方通過零知識(shí)證明來確保支付貨幣為Merkle 樹中的成員并完成支付確權(quán), 從而實(shí)現(xiàn)了真實(shí)身份在全部用戶身份集合中的混淆. 在交易內(nèi)容隱私保護(hù)方面, 交易發(fā)送方首先使用Curve25519 密鑰協(xié)商協(xié)議協(xié)商對(duì)稱密鑰, 而后通過對(duì)稱加密將交易內(nèi)容秘密傳送給交易接收方, 并通過zk-SNARKs 零知識(shí)證明方案確保密態(tài)交易內(nèi)容的規(guī)則合法性驗(yàn)證. 這一過程在保護(hù)交易內(nèi)容的同時(shí)也確保了交易接收方的身份隱私. 這一組合方案在零幣[25]中得到了應(yīng)用.

        (4) 基于業(yè)務(wù)邏輯的數(shù)據(jù)隔離同可控匿名認(rèn)證的結(jié)合

        可控匿名認(rèn)證是指在用戶身份標(biāo)識(shí)的建立和認(rèn)證過程中, 除監(jiān)管方以外不允許其他人確定交易者的真實(shí)身份. 在必要時(shí), 監(jiān)管方可恢復(fù)出匿名化后交易方的真實(shí)身份[1]. 可控匿名認(rèn)證在聯(lián)盟鏈中得到了廣泛應(yīng)用, 通常用戶在實(shí)名申請(qǐng)后獲得一個(gè)匿名證書用于交易過程中的身份標(biāo)識(shí), 監(jiān)管者在必要時(shí)可通過證書和實(shí)名注冊(cè)信息恢復(fù)出用戶的真實(shí)身份. 基于業(yè)務(wù)邏輯的數(shù)據(jù)隔離技術(shù)同可控匿名認(rèn)證方法[1]構(gòu)造的隱私保護(hù)方案可有效地確保用戶交易隱私. 聯(lián)盟鏈中的用戶在通過匿名證書認(rèn)證身份后, 可通過數(shù)據(jù)隔離機(jī)制控制隱私交易內(nèi)容的知悉范圍. 聯(lián)盟鏈中心化背書的特點(diǎn)也更便于實(shí)現(xiàn)身份的可控匿名和隱藏交易的快速驗(yàn)證. 這一組合方案在聯(lián)盟鏈Hyperledger Fabric[40]和Corda[42]中得到了應(yīng)用.

        5 總結(jié)與展望

        區(qū)塊鏈系統(tǒng)中的交易內(nèi)容隱私保護(hù)技術(shù)已經(jīng)成為當(dāng)前研究的熱點(diǎn). 密碼學(xué)技術(shù)在實(shí)現(xiàn)區(qū)塊鏈的交易內(nèi)容保護(hù)和監(jiān)管上發(fā)揮著重要作用. 首先, 在交易內(nèi)容隱藏方面, 目前的區(qū)塊鏈系統(tǒng)多采用保密交易(confidential transaction) 和加密技術(shù). 已有的加密方案如一次性認(rèn)證對(duì)稱加密方案、屬性加密等提供了更細(xì)粒度的內(nèi)容隱私保護(hù), 但也給隱藏交易的驗(yàn)證帶來了更多挑戰(zhàn). 聯(lián)盟鏈如Hyperledger Fabric, Corda和Quorum 等則通過通道隔離劃分“安全域” 以及鏈外私有數(shù)據(jù)存儲(chǔ)來解決交易內(nèi)容隱藏問題. 其次, 在隱藏交易驗(yàn)證方面, 區(qū)塊鏈系統(tǒng)多采用基于零知識(shí)證明的范圍證明方案, 以及利用同態(tài)承諾方案的同態(tài)特性實(shí)現(xiàn)交易合法性和平衡性驗(yàn)證, Hyperledger 等聯(lián)盟鏈則使用中心化背書方式來完成隱藏交易驗(yàn)證. 最后, 目前的交易內(nèi)容監(jiān)管主要采用零知識(shí)證明技術(shù)通過構(gòu)造可驗(yàn)證加密方案來實(shí)現(xiàn)隱藏內(nèi)容監(jiān)管.

        隨著區(qū)塊鏈技術(shù)的深入普及和推廣, 區(qū)塊鏈交易內(nèi)容隱私保護(hù)技術(shù)在以下幾個(gè)方面也有待進(jìn)一步研究:

        第一, 新型的區(qū)塊鏈交易內(nèi)容隱私保護(hù)算法的研究與設(shè)計(jì)一直是關(guān)注的熱點(diǎn). 隨著區(qū)塊鏈系統(tǒng)新應(yīng)用場(chǎng)景的不斷出現(xiàn), 需要設(shè)計(jì)滿足新需求的區(qū)塊鏈交易內(nèi)容隱私保護(hù)算法. 區(qū)塊鏈的應(yīng)用已不僅限于密碼貨幣的點(diǎn)對(duì)點(diǎn)支付場(chǎng)景, 多方協(xié)作、數(shù)據(jù)交易、身份認(rèn)證和隱私計(jì)算等新型應(yīng)用場(chǎng)景下的隱私保護(hù)需求更加多樣, 參與方數(shù)量更多, 交互方式更加多元, 保護(hù)內(nèi)容更加多樣. 例如: 目前的安全多方計(jì)算+ 區(qū)塊鏈的隱私計(jì)算方案受到廣泛關(guān)注, 區(qū)塊鏈系統(tǒng)為安全多方計(jì)算過程中的數(shù)據(jù)確權(quán)、可信審計(jì)和數(shù)據(jù)流通提供了有效的支撐, 未來隨著區(qū)塊鏈運(yùn)算性能和存儲(chǔ)容量的進(jìn)一步提高, 能否在確保隱私的條件下提供更為靈活的隱私計(jì)算方案也備受期待. 因此, 如何設(shè)計(jì)多應(yīng)用場(chǎng)景下細(xì)粒度隱私保護(hù)方案仍是未來的研究熱點(diǎn).

        第二, 交易內(nèi)容隱私保護(hù)算法性能和安全性方面的不足也有待進(jìn)一步提高. 引入基于復(fù)雜密碼學(xué)算法的隱私保護(hù)方案一方面會(huì)降低原有區(qū)塊鏈系統(tǒng)的效率, 另一方面也帶來了安全證明方案難于構(gòu)建的問題.例如, 2019 年Zcash 零知識(shí)證明系統(tǒng)存在的缺陷[77]就會(huì)導(dǎo)致貨幣偽造的問題. 這些不足必然會(huì)限制其進(jìn)一步的大規(guī)模應(yīng)用. 因此, 如何設(shè)計(jì)更為高效的密碼算法、提出更為完備的安全模型、構(gòu)建更為嚴(yán)謹(jǐn)?shù)淖C明方案也是亟待解決的關(guān)鍵問題.

        第三, 隨著區(qū)塊鏈技術(shù)在金融、政務(wù)、社會(huì)治理等領(lǐng)域的廣泛應(yīng)用, 對(duì)于交易過程的監(jiān)管需求日益增強(qiáng). 如何在監(jiān)管方及交易方共同參與模式下設(shè)計(jì)高效安全的交易內(nèi)容保護(hù)方案, 既確保交易方隱私又符合行業(yè)監(jiān)管要求, 達(dá)到隱私與監(jiān)管的平衡, 也有待進(jìn)一步研究.

        第四, 在隱私保護(hù)算法實(shí)現(xiàn)層面, 通過引入專用密碼設(shè)備來提升零知識(shí)證明以及同態(tài)加密等算法的計(jì)算性能、引入可信執(zhí)行環(huán)境(如SGX) 為隱私保護(hù)方案提供安全的計(jì)算環(huán)境以彌補(bǔ)密碼方案的不足也具有很好的研究前景.

        猜你喜歡
        同態(tài)加密區(qū)塊
        區(qū)塊鏈:一個(gè)改變未來的幽靈
        科學(xué)(2020年5期)2020-11-26 08:19:12
        關(guān)于半模同態(tài)的分解*
        拉回和推出的若干注記
        區(qū)塊鏈:主要角色和衍生應(yīng)用
        科學(xué)(2020年6期)2020-02-06 08:59:56
        一種基于熵的混沌加密小波變換水印算法
        區(qū)塊鏈+媒體業(yè)的N種可能
        讀懂區(qū)塊鏈
        一種基于LWE的同態(tài)加密方案
        HES:一種更小公鑰的同態(tài)加密算法
        認(rèn)證加密的研究進(jìn)展
        丰满熟妇乱又伦精品| 国产av91在线播放| 99久久精品人妻一区二区三区| 日韩在线观看入口一二三四| 亚洲人成网站色www| 日韩欧美一区二区三区中文精品| 国产经典免费视频在线观看| 高清少妇二区三区视频在线观看 | 精品久久免费一区二区三区四区 | 国产粉嫩嫩00在线正在播放| 日韩精品中文字幕第二页| 国产后入清纯学生妹| 欧美最猛黑人xxxxx猛交| 国产综合精品久久久久成人| 亚洲日本高清一区二区| 欧美村妇激情内射| 精品熟女少妇av免费观看| 91极品尤物在线观看播放| 三级日本理论在线观看| 国产精品特级毛片一区二区三区| 国产成人+亚洲欧洲+综合| 女人被躁到高潮嗷嗷叫| 蜜桃视频在线观看网址| 中文字幕久久久人妻无码 | 亚洲av手机在线播放| 国产午夜手机精彩视频| 内射后入在线观看一区| 国产高清黄色在线观看91| 校园春色日韩高清一区二区| 人妻aⅴ中文字幕| 国产成人久久精品区一区二区| 少妇隔壁人妻中文字幕| 男人的天堂av高清在线| 孩交精品xxxx视频视频| 亚洲欧美变态另类综合| 中文字幕一区二区综合| 人妻少妇乱子伦精品无码专区电影| 亚洲av国产av综合av卡| 亚洲粉嫩高潮的18p| 亚洲成AV人片无码不卡| 24小时在线免费av|