李一聰, 周寬久, 王梓仲
大連理工大學軟件學院, 大連 116024
區(qū)塊鏈上的數(shù)據(jù)公開透明化對用戶數(shù)據(jù)的隱私造成了很多負面影響.由于去中心化的特點,用戶可以隨時查看鏈上其他用戶的數(shù)據(jù),并且當用戶數(shù)據(jù)請求存儲至區(qū)塊鏈以及數(shù)據(jù)被系統(tǒng)驗證時,這些數(shù)據(jù)信息會在一定程度上泄露給運行系統(tǒng)或其他用戶,降低了鏈上數(shù)據(jù)的安全保密性[1].
因此,在保證數(shù)據(jù)去中心化特征的基礎(chǔ)上,如何加強區(qū)塊鏈數(shù)據(jù)的信息隱私安全性,已成為區(qū)塊鏈隱私保障的核心問題.區(qū)塊鏈交易層數(shù)據(jù)與服務應用端之間的傳輸機制隱私保密性以及區(qū)塊鏈數(shù)據(jù)的安全可驗證性也變得十分重要[2].設計合理的隱私保護機制和智能合約程序可以確保區(qū)塊鏈的可擴展能力更強、交易處理規(guī)模更大,運算效率更高[3].
在區(qū)塊鏈發(fā)展歷程中,也涌現(xiàn)出許多隱私保護技術(shù),例如環(huán)簽名(Ring signature)[4]、混幣技術(shù)(Mixed currency)[5]、地址隱身(Address stealth)[6]、零知識證明等.零知識證明旨在不泄露明文的情況下,通過密碼學同態(tài)加密等手段產(chǎn)生有效證據(jù),供智能合約驗證密文有效性,從而實現(xiàn)隱私保護.
本文針對基于零知識證明的區(qū)塊鏈隱私保護問題,首先概括了區(qū)塊鏈結(jié)構(gòu)與隱私泄露的關(guān)系,闡述了零知識證明的基本概念;其次總結(jié)了零知識證明在區(qū)塊鏈隱私保護中的一些主流算法,并對這些算法進行比較和分析;最后闡述了已提出的基于零知識證明的區(qū)塊鏈隱私保護方案,并對這些保護方案的特點進行匯總和歸納.
自2009年區(qū)塊鏈技術(shù)開始迎來黃金發(fā)展期開始,區(qū)塊鏈結(jié)構(gòu)就在不斷變化與升級.發(fā)展至現(xiàn)今狀態(tài),區(qū)塊鏈在架構(gòu)上基本可被拆分為網(wǎng)絡層、交易層、應用層3部分[7].由于交易層負責控制全局賬本、數(shù)據(jù)節(jié)點共識與激勵共識、設定交易格式、智能合約驗證等重要職能,并且其所涉及的數(shù)據(jù)種類繁雜、吞吐量龐大[8],因此交易層存在著比網(wǎng)絡層、應用層更嚴重的隱私泄露問題,本文中闡述的零知識證明技術(shù),就是解決區(qū)塊鏈交易層隱私保護問題的一項關(guān)鍵技術(shù).
如圖1所示,零知識證明技術(shù)屬于區(qū)塊鏈鏈下擴容手段的可驗證鏈下計算方式,數(shù)據(jù)首先通過零知識證明進行鏈下安全計算生成證據(jù),之后將計算結(jié)果交由鏈上智能合約程序驗證,形成鏈下計算、鏈上驗證的隱私保護架構(gòu)[9].
圖1 可驗證鏈下計算流程
零知識證明(zero-knowledge proof)理論在20世紀80年代由GOLDWASSER等提出.零知識證明技術(shù)是解決數(shù)據(jù)保密驗證的一種密碼學手段[10].
零知識證明分為交互式與非交互式兩種.交互式證明靠驗證器向證明者連續(xù)提出問題,并驗證證明者提供的結(jié)果來判斷數(shù)據(jù)真實性.交互式證明的驗證效率低下,交互響應時間較長[11],而且交互證明只是概率性判斷數(shù)據(jù)的真實性,證明的準確率不高.因此,目前應用在區(qū)塊鏈隱私保護問題中的證明方式大多是非交互式證明,本文中研究闡述的也是非交互式證明.非交互式證明要求證明者通過配對函數(shù)、大數(shù)計算等密碼學算法計算證明值,并將值發(fā)送給智能合約驗證器[12].這個過程只需要執(zhí)行一次,就可以準確地驗證數(shù)據(jù)真實性,因此在準確率和響應時長都優(yōu)于交互式證明.
非交互式零知識證明技術(shù)具有完整性、正確性、零知識性的特點.但在區(qū)塊鏈隱私保護應用中,非交互式零知識證明還需要具有另外三個支撐性質(zhì):
隱私性(Privacy):對鏈上數(shù)據(jù)內(nèi)容具有較好的隱藏能力.
可擴展性(Scalability):保證區(qū)塊鏈分布式網(wǎng)絡的交易規(guī)模.
鏈上可計算性(On-chain computability):保證鏈上驗證所需計算量在可承受范圍.
這3項性質(zhì)直接決定了一種零知識證明技術(shù)能否穩(wěn)健地執(zhí)行鏈下計算,并高效地與智能合約參與鏈上隱私驗證.因此,本文將上述3個支撐性質(zhì)作為衡量不同非交互式零知識證明技術(shù)在區(qū)塊鏈上性能的評判指標.
當前適合應用在區(qū)塊鏈中的主流非交互式零知識證明有ZK-snark[13]、ZK-stark[14]、AZTEC[15]、Bulletproof[16].
本文按照時間順序分別闡述了上述4種主流技術(shù)以及一些其它創(chuàng)新的非交互證明方法,如Shellproof[17]、ZKRP[18].為更清晰地了解這些技術(shù)的發(fā)展歷程,本文列出了上述零知識證明技術(shù)被提出的順序時間軸,如圖2所示.
圖2 證明技術(shù)的發(fā)展時間軸
ZK-snark技術(shù)起源于Zcash[19]電子貨幣的出現(xiàn).ZK-snark技術(shù)也是現(xiàn)今為止作為解決區(qū)塊鏈隱私問題最有效的零知識證明技術(shù)之一.ZK-snark主要分為四部分:多項式轉(zhuǎn)換、隨機抽樣、同態(tài)加密、零知識認證[20].其執(zhí)行流程如圖3所示.
圖3 ZK-snark執(zhí)行流程圖
首先,系統(tǒng)需要將驗證的問題拆分并轉(zhuǎn)換為一組基于Fujisaki-Okamoto承諾[21]的多項式等式,驗證問題的真實性只需要驗證多項式等式是否成立即可.這時,證明者(Prover)通過獲取一組公共參考字符串(common reference string,CRS),來計算隨機抽樣測試點帶入多項式后的計算結(jié)果,因為測試點是經(jīng)過同態(tài)加密的,證明者不知道測試點的明文內(nèi)容,但依然可以對測試點密文進行運算并通過解密得到明文的運算結(jié)果.最后證明者將計算結(jié)果發(fā)送給驗證器(Verifier).若驗證器驗證等式成立,則相信證明者提供的驗證問題為真.
早期ZK-snark的構(gòu)建協(xié)議以Sonic[22]和Groth16[23]為主,Sonic支持通用可變的公共參考字符串,證據(jù)尺寸固定,但是驗證成本較高.而Groth16的證明速度快、證明數(shù)據(jù)量小,因而被應用至Zcash平臺.
但已有的ZK-snark構(gòu)建協(xié)議最大的缺陷在于,需要系統(tǒng)提前為證明者與驗證者提供公共參考字符串來完成驗證,而公共參考字符串通常由小部分群體制定,使得其很容易被惡意攻擊,提交假證據(jù)影響驗證結(jié)果,形成信任危機.因此ZK-snark在隱私性能方面存在一定缺陷.但在2020年初,ZK-snark推出了許多全新的構(gòu)建協(xié)議,這些構(gòu)建摒棄了已有的可信設置,采用透明設置或通用設置來增加安全系數(shù).例如采用透明設置的Fractal[24]、Halo[25]、SuperSonic-CG[26]以及采用通用設置并基于Sonic改進的SuperSonic-RSA[27]、Marlin[28]、Plonk[29].
ZK-stark由BEN等提出,ZK-stark的前身是SCI(Scalable Computational Integrity)證明系統(tǒng)[30],其開發(fā)目的是依靠抗碰撞散列函數(shù)來代替可信設置,從而解決傳統(tǒng)ZK-snark的信任危機問題.但SCI不能夠進行零知識證明,而且相比ZK-snark的證明性能較差.因此,BEN等[14]經(jīng)過進一步改進,提出了ZK-stark.ZK-stark同樣具有零知識特性,以及知識論證流程.ZK-stark也實現(xiàn)了將隱私數(shù)據(jù)的輸入進行加密隱藏,這些處理思想在本質(zhì)上與ZK-snark相同.
但ZK-stark與ZK-snark的不同之處在于,ZK-stark擁有可擴展性,ZK-stark的可擴展性表現(xiàn)在證明耗時與原始計算耗時呈擬線性關(guān)系,驗證耗時與原始計算耗時呈對數(shù)關(guān)系.因此,當驗證的數(shù)據(jù)集變得很大時,ZK-stark的驗證時間將比ZK-snark快很多.另外,ZK-stark不需要生成公共參考字符串,因此ZK-stark的證明生成過程比ZK-snark更加透明,對外界具有更好的抗攻擊能力.
AZTEC(anonymous zero-knowledge transact-ions with efficient communication)[15]作為一種新的基于智能合約端零知識證明的隱私保護方案在2018年12月被提出.AZTEC放棄零知識鏈下計算,將ZK-snark部署在智能合約中,目的是為了以更低的計算成本和更有效的方式去加密區(qū)塊鏈數(shù)據(jù),旨在將隱私交易保護實現(xiàn)在區(qū)塊鏈平臺上.
AZTEC將同態(tài)加密算法與一種范圍證明結(jié)合,通過橢圓曲線標量乘法和雙線性配對比較來驗證交易的合法性.但這種方法依然需要橢圓曲線點作為公共參數(shù)從而構(gòu)建可信設置.
Bulletproof又稱子彈證明,是一種使用內(nèi)積法設計的范圍證明,由斯坦福大學密碼學家BENEDIKT 等[16]提出.
Bulletproof由兩部分組成,分別為內(nèi)積范圍證明與改進的內(nèi)積參數(shù)協(xié)議.其中,改進的內(nèi)積參數(shù)協(xié)議主要是將BOOTLE等[31]提出的內(nèi)積參數(shù)論證如式(1)所示:
p=ga·hb·uc
(1)
進行參數(shù)向量維度的縮減,將向量協(xié)議n維向量a、b與n維元素g、h拆分為原來一半,將維度由n變?yōu)閚/2,使論證的通信復雜度從6lg(n)降低至4lg(n),改進后的參數(shù)向量如公式(2)所示:
(2)
內(nèi)積范圍證明采用Pedersen向量承諾方案[32],將秘密值范圍表示成一組向量內(nèi)積,隨后加入隨機數(shù)因子將內(nèi)積進行盲化,并利用改進的內(nèi)積參數(shù)協(xié)議進行內(nèi)積多項式合并.最終,驗證器以驗證一組盲化多項式正確性的形式,去驗證秘密值范圍是否合法.
Bulletproof的最大優(yōu)點是,其生成的證據(jù)十分簡短,僅需要組元素就可以證明秘密值在一定范圍內(nèi).在時間上,證明者使用Bulletproof提供證據(jù)的時間和驗證器驗證的時間與維度n是線性的,并且Bulletproof支持聚合范圍證明.但即使子彈證明對內(nèi)積參數(shù)進行了優(yōu)化,在處理實際問題中的計算成本仍然很高.
2.5.1 ZKRP
ZKRP[18]是一種基于Fujisaki-Okamoto承諾改進的零知識范圍證明,由TSAI等提出.ZKRP為整數(shù)的范圍證明設計了一種等式如式(3)所示:
M+R=ω2(m-a+1)(b-m+1)
(3)
假設證明整數(shù)m屬于范圍a至b,則有不等式(m-a+1)(b-m+1)>0,因為上述不等式容易暴露整數(shù)m的值,因此ZKRP引入系數(shù)ω2并將不等式變?yōu)榈仁?,等式一邊?分解為M與R,只需要證明M為一個平方數(shù),并且R>0則M+R>0,則可以相信整數(shù)m屬于范圍a至b.ZKRP首先根據(jù)Fujisaki-Okamoto承諾,給出初始證據(jù)c1、c2、c′,生成式(4)如下:
(4)
之后將EL證明(two commitments hide the same secret proof)[33]與SQR證明(committed number is a square proof)[34]相結(jié)合,通過提供相等數(shù)值的證據(jù)證明R>0和數(shù)值為平方數(shù)的證據(jù)證明M為平方數(shù),進而證明M+R>0.這種ZKRP證明相比與普通的范圍證明的優(yōu)點是,它可以對任意范圍的整數(shù)提供證據(jù),證明相對靈活,性能穩(wěn)定.
2.5.2 Shellproof
Shellproof[16]是一種基于Bulletproof改進而來的零知識范圍證明.Shellproof利用特定的壓縮標量對內(nèi)積參數(shù)進行壓縮,將Bulletproof中的n維向量a、b與n維場元素由式(5)改進為式(6):
(5)
改進為:
(6)
Shellproof只將參數(shù)向量的一半與x進行運算,取消向量與x的-1次冪相乘,其余算法步驟與Bulletproof相同,卻將證明計算復雜度從Bulletproof的4lg(n)降低至2lg(n).
本文對比了4種方法的證據(jù)尺寸和驗證時間復雜度以及可信設置情況,如表1所示,因為Shellproof是在Bulletproof基礎(chǔ)上做出的改進,因此將Shellproof同時與主流算法作對比.
根據(jù)表1中信息可以看出,Bulletproof與Shellproof的性能更全面,其證據(jù)尺寸明顯小于ZK-snark,并且驗證時間復雜度更為穩(wěn)定,可信設置也得到了完善.而ZK-stark的性能介于ZK-snark與Bulletproof之間,由于ZK-stark的證據(jù)尺寸過大,當分布式服務器性能不高時不建議使用ZK-stark進行證據(jù)生成.
表1 方法性能的分析比較
根據(jù)表2可以看出,Bulletproof與Shellproof通過內(nèi)積參數(shù)法的改進,在隱私性上比ZK-snark、ZK-stark以及AZTEC有很大的提升的同時,并沒有犧牲其可擴展性,其證據(jù)生成時間和驗證時間仍然是線性的.但是由于內(nèi)積參數(shù)法生成的證據(jù),其智能合約驗證運算較為復雜.因此,在鏈上可計算方面Bulletproof與Shellproof弱于ZK-snark.
表2 基于3種性質(zhì)的方法比較
Zcash[19]由ECC電子貨幣公司于2016年發(fā)行,是最經(jīng)典的采用零知識證明技術(shù)ZK-snark進行隱私保護的區(qū)塊鏈應用.
由于在Zcash發(fā)行時,ZK-snark技術(shù)還是一種十分尖端的加密證明技術(shù),在一定程度上可以有效保護賬戶隱私,因此Zcash很快發(fā)展成為世界上應用范圍最廣、安全系數(shù)最高的加密貨幣之一.但由于ZK-snark技術(shù)的證明驗證時間很長,導致Zcash的匿名交易十分遲緩,這也是Zcash的弊病所在.因此,近年來ECC公司的開發(fā)人員以及密碼學家也研究出許多ZK-snark新的構(gòu)建形式,來優(yōu)化證明速度以及安全問題.
RZcash[36]是由XUE等于2019年提出的一種基于零知識范圍證明的區(qū)塊鏈雙賬戶隱私保護方案.其主要應用于Ethereum平臺賬戶型區(qū)塊鏈中,為了實現(xiàn)零知識的賬戶型區(qū)塊鏈隱私保護,它與Zcash相似地提出使用一種隱私賬戶,將鏈上的交易金額和交易細節(jié)進行隱藏,并使用與ZK-snark技術(shù)相同的基于橢圓曲線的Pedersen承諾方案和范圍證明對交易進行驗證.
如圖4所示,RZcash為賬戶生成的承諾分為交易承諾和余額承諾兩種.其中交易承諾用來證明每筆交易金額,余額承諾用來證明交易前后的賬戶余額.RZcash隱私賬戶會在每次交易時根據(jù)交易金額生成交易承諾,并根據(jù)收款方不同的賬戶類型,獲取不同的信息給付款方,當收款方是隱私賬戶時,則提供余額承諾,若其為開放賬戶,則直接傳遞賬戶余額.付款方計算并更新收款方的余額承諾以及收款賬戶余額,隨后將交易承諾與更新的余額承諾發(fā)送給驗證器,驗證器利用零知識證明對承諾算式進行驗證,并利用范圍證明驗證交易金額的范圍是否合法.因此,RZcash隱私賬戶余額承諾是伴隨交易的進行而動態(tài)更新的,當交易完成后,收款人的賬戶余額承諾也會更新.
圖4 RZcash交易執(zhí)行過程
Monero是在2014年基于中本聰比特幣理論創(chuàng)建的另一種開源加密貨幣,又稱門羅幣.Monero最大的特點是隱私保護和可擴展性.在最初發(fā)布時,Monero主要基于CryptoNote協(xié)議實現(xiàn)隱私保護,并在區(qū)塊鏈模糊化方面有顯著的算法優(yōu)勢.在改進的Monero隱私保護方案中,Monero部署了Bulletproof進一步強化了基于零知識證明的隱私保護性能,事務體積顯著降低.Monero區(qū)塊鏈的分布式數(shù)據(jù)庫,其數(shù)據(jù)庫結(jié)構(gòu)也各不相同,目的是提高效率和拓寬靈活性.Monero也設置了最小的環(huán)簽名大小,以便所有數(shù)據(jù)都按照授權(quán)分配進行交易,并且實施了RingCT以隱藏交易金額.
Monero以優(yōu)秀的隱私保護體系而受到廣泛認可,但在一定程度上也損失了易用性和高效性.
StarkWare項目是一個使用ZK-stark技術(shù)實現(xiàn)區(qū)塊鏈賬戶隱私保護的解決方案,其項目提供零知識證明和量子安全加密證明保障用戶個人信息不外泄.StarkWare采用的ZK-stark技術(shù)利用零知識協(xié)議保護鏈上信息的隱私,并支持將大數(shù)據(jù)壓縮成小樣本減少計算量.而在實際應用上這種方案也比量子計算更高效、透明和安全.
StarkWare開發(fā)設計了一個完整的證明堆棧以支持用于生成和驗證一般計算的快速可靠的完整性證明.StarkWare由證明端提供的證據(jù)不依賴于任何第三方數(shù)據(jù)源,并且不會透露隱私數(shù)據(jù)的具體信息,只向智能合約提供證據(jù),以此實現(xiàn)零知識證明執(zhí)行流程.
zk-AuthFeed[37]作為一種較新穎的隱私保護方案在2019年由WAN等提出.它提出在零知識證明之前對數(shù)據(jù)進行身份認證,并對應提出將ZK-snark與數(shù)字簽名相結(jié)合的zk-DASNARK技術(shù).zkAuthFeed主要由4部分組成:數(shù)據(jù)認證器、用戶、驗證器、智能合約程序.其中數(shù)據(jù)認證器提供可信的數(shù)據(jù)源,為zk-DASNARK生成必要的安全參數(shù)、公鑰、私鑰以及電子簽名.用戶將申請存儲數(shù)據(jù)的證據(jù)和電子簽名發(fā)送給驗證器,由驗證器負責審核提供的證據(jù)是否真實,計算結(jié)果是否來自于真正的請求數(shù)據(jù).
另外,為了同時保護用戶輸入數(shù)據(jù)和輸出證據(jù)的隱私性,zkAuthFeed對ZK-snark證據(jù)的計算結(jié)果R以及哈希值h也進行了加密保護的改進,改進過程如圖5所示.其中R表示為付款證明值,h表示為與付款證明R相匹配的哈希電路輸出結(jié)果.
圖5 zk-AuthFeed的計算結(jié)果改進
將計算結(jié)果R以直接提供給智能合約的方式改為對R加密并間接向智能合約提供支付承諾的方式.隨后,zkAuthFeed將哈希值h分為h與h′,其中h作為簽名證據(jù),h'作為驗證簽名并由認證器進行有效驗證,進而保護整體哈希值h的安全.
基于目前的零知識證明技術(shù)現(xiàn)狀,團隊針對區(qū)塊鏈隱私安全研究的工作思路由三方面展開:異構(gòu)平臺的零知識證明技術(shù)加速、零知識證明的區(qū)塊鏈隱私保護應用范圍、鏈上隱私數(shù)據(jù)的多樣化適配.
零知識證明技術(shù)雖然已經(jīng)應用在如Zcash、Monero等電子貨幣平臺中,但其證據(jù)產(chǎn)生和智能合約驗證的速度是十分緩慢的,例如采用Groth16協(xié)議的ZK-snark生成證據(jù)需要1~2min,執(zhí)行驗證需要1~10ms.這對于數(shù)據(jù)量龐大的金融區(qū)塊鏈以及商業(yè)聯(lián)盟鏈來說,是一項不可忽略的時間開銷.在未來,團隊希望將零知識證明隱私保護方案與異構(gòu)平臺進行更好地結(jié)合,使用CPU+FPGA異構(gòu)并行處理的模式,加速零知識證明執(zhí)行過程,異構(gòu)平臺的零知識證明加速流程如圖6所示.
圖6 異構(gòu)平臺的零知識證明加速
本地節(jié)點CPU傳輸指令至FPGA芯片,F(xiàn)PGA芯片通過調(diào)用公共參考字符串,對請求和需要加密的明文信息進行零知識運算處理.智能合約驗證FPGA芯片提供的密鑰和零知識證據(jù)是否合法,并將數(shù)據(jù)存儲至區(qū)塊鏈中.節(jié)點將橢圓曲線算法、對數(shù)函數(shù)等復雜的密碼學運算交由FPGA芯片處理,使用CPU執(zhí)行任務調(diào)度與智能合約程序驗證等工作,在硬件的角度上解決證據(jù)生成時間慢、匿名交易遲緩的問題.
目前大部分零知識證明隱私保護技術(shù)都應用于電子貨幣公有鏈中,例如Zcash貨幣,卻很少應用于聯(lián)盟鏈的隱私保護中.
聯(lián)盟鏈可以應用于深度學習數(shù)據(jù)保護、航空航天數(shù)據(jù)溯源、智慧城市數(shù)據(jù)跟蹤等諸多場景.在未來研究中,應設計出更多適用于聯(lián)盟鏈的零知識證明隱私保護方案,對更多場景的隱私數(shù)據(jù)進行保護.
而在聯(lián)盟鏈中,需要去中心化管理的數(shù)據(jù)除貨幣數(shù)據(jù)之外,也涉及許多字符串、浮點數(shù)信息.例如智慧農(nóng)業(yè)區(qū)塊鏈涉及到的農(nóng)產(chǎn)品信息溯源以及農(nóng)產(chǎn)品交易物流信息.這些數(shù)據(jù)都具有不可篡改性,需要保證數(shù)據(jù)的真實正確性,因此這些字符類型數(shù)據(jù)的安全隱私問題也亟待解決.隱私數(shù)據(jù)多樣化適配的研究重點是將零知識證明技術(shù)以及同態(tài)加密等算法適用到字符串中,使保護的隱私數(shù)據(jù)類型多樣化,使零知識證明的隱私保護方案可以應用至更廣泛的實際場景中.
未來基于零知識證明的隱私保護方案將以區(qū)塊鏈為平臺,應用于諸多技術(shù)領(lǐng)域,例如卷積神經(jīng)網(wǎng)絡模型的隱私保護、航天數(shù)據(jù)溯源等.其中,卷積神經(jīng)網(wǎng)絡利用非交互式證明的良好隱私性能,對模型的卷積層和權(quán)值參數(shù)生成零知識證據(jù),并將訓練數(shù)據(jù)存儲至區(qū)塊鏈中,使訓練數(shù)據(jù)不可篡改、模型信息不對外公開,使驗證者在不掌握模型信息的情況下,信任訓練結(jié)果以及神經(jīng)網(wǎng)絡學習性能.在航空航天方面,航天器飛行數(shù)據(jù)可上傳至區(qū)塊鏈平臺,使重要的飛行數(shù)據(jù)作為追溯對象不可篡改;利用零知識證明技術(shù)對數(shù)據(jù)進行加密,在不影響數(shù)據(jù)可用性的同時,加強數(shù)據(jù)私密性.
本文以區(qū)塊鏈隱私安全問題為驅(qū)動,闡述了多種區(qū)塊鏈中的零知識證明技術(shù)以及其對應的方案應用.本文也分析總結(jié)了不同種類零知識證明技術(shù)之間的特點與異同.目前,應用至實際區(qū)塊鏈項目中的隱私保護解決方案仍存在時間復雜度高、隱私性弱、算力開銷高昂等亟待解決的問題.而許多創(chuàng)新型方案,如Shellproof、ZKRP等,雖然理論新穎,但算法和技術(shù)確少實踐考量,目前尚未得到實際應用和部署.因此,基于零知識證明的隱私保護方案還需要在未來不斷地深入研究和改進,并在不同場景中逐漸得到廣泛應用.最后,本文致謝中央高?;究蒲袠I(yè)務費的大力支持.