成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

區塊鏈上的零知識證明技術及其典型算法、工具

區塊鏈
基于 SNARK 的證明系統主要依賴于 MSM 算法,而 STARK 類證明則主要使用 FFT 算法。因此,目前的硬件加速主要是面向這兩種加密算法的需求進行優化。

1. 引言

零知識證明(ZKP)是由Goldwasser等人[1]首先提出的,在密碼學領域有著重要的應用。它能夠保證證明者在不提供任何有用的相關信息的情況下,使驗證者相信一個語句是真實的。零知識證明允許證明者產生一個簡短的證明π,可以說服任何驗證者相信證明者的公共輸入x和秘密輸入w上的公共函數f的結果是y = f(x,w)。w通常被稱為見證輸入或輔助輸入。零知識證明保證了如果證明者在計算結果時作弊,驗證者以壓倒性的概率拒絕,而證明過程不會透露關于秘密w的額外信息,包括證明者的數據、證明者的身份和驗證者的身份等。在區塊鏈應用中,驗證者可以使用ZKP來驗證證明者在區塊鏈環境中是否有足夠的交易量,而不會泄露任何私有交易數據。

零知識證明作為一項重要的密碼學技術,在許多領域有著廣泛應用,例如隱私保護、區塊鏈智能合約的驗證等。為了更深入地理解零知識證明的多樣性和適用性,接下來本文將進一步探討零知識證明的不同類型,包括Snark(Succinct Non-Interactive Arguments of Knowledge)、Stark(Scalable Transparent ARguments of Knowledge)以及Bulletproof等。每種類型都在特定情境下具有獨特的優勢和應用。

2. 零知識證明分類

在當前的密碼學研究和實踐中,零知識證明(ZKP)技術已成為確保數據隱私和完整性的關鍵工具。零知識證明允許一方(證明者)向另一方(驗證者)證明某個陳述的正確性,而無需透露除該陳述正確性之外的任何信息。由于零知識證明底層的構造繁雜,本文更強調零知識證明在區塊鏈上的應用,故本節將深入探討區塊鏈上三種代表性以及使用范圍最廣的零知識證明構造:ZK-Snark、ZK-Stark和Bulletproof。這三種構造方法體現了零知識證明技術在安全性、效率和實用性方面的不同技術特點及發展趨勢。ZK-Snark是一種高度壓縮且非交互式的零知識證明,適用于區塊鏈和隱私保護應用。其主要優點是極高的驗證效率和低通信開銷,但這種優勢的代價是需要一個可信的設置階段,這可能引入了中心化的風險和潛在的安全漏洞。相比之下,ZK-Stark提供了一種無需可信設置的零知識證明方法,能夠在不犧牲透明度和安全性的前提下提供可擴展性。它利用了密碼學中的哈希函數和其他非對稱技術,因此理論上在對抗量子計算攻擊方面具有更強的韌性。然而,這種方法通常會帶來更大的證明尺寸和計算開銷。最后,Bulletproof是一種新型的非交互式零知識證明技術,不需要可信的設置過程,適用于范圍證明。

2.1 ZK-Snark

ZK-Snark:一個非交互式論證系統R的ZK-Snark是指滿足以下條件的(G, P, Ver, Sim):

完備性:對于關系 R 的一個真實陳述,一個誠實的證明者 P 擁有一個能夠說服驗證者V有效的證據。

知識可靠性:存在一個提取器,每當P生成一個有效的論證時,就能計算出一個證據。提取器可以完全訪問P的狀態,包括任何隨機的硬幣,以確保對手不能通過作弊或不真實的證明欺騙系統。

簡潔性:一個非交互式論證,其中驗證者在 λ + |u| 的多項式時間內運行,并且證明大小是 λ 的多項式,稱為預處理 Snark。如果公共參考字符串是 λ 的多項式,則非交互式論證是一個完全簡潔的 Snark。

統計零知識:統計零知識是一種強零知識證明,在這種證明中,對于任何可能的輸入,驗證者從證明者那里獲得的信息與他在不進行任何交互時可以模擬的信息在統計上是無法區分的。具體來說,這意味著存在一個模擬器,該模擬器在不與證明者交互的情況下,能夠生成一個與實際交互記錄在統計上無法區分的記錄。

2.2 ZK-Stark

Eli Ben-Sasson于2018年提出了一種稱為ZK-Stark的新型零知識證明[2]。ZK-Stark是ZK-Snark協議的改進版本。“Stark” 這個縮寫代表 “Scalable Transparent Argument of Knowledge”-即可擴展透明知識論證。“可擴展” 指的是證明者的運行時間最多是計算大小的準線性級別、驗證時間是計算大小的對數級別。也就是說,ZK-Stark是一種針對可用對數空間,使用可計算電路表示陳述的非交互零知識論證。“透明”指的是所有驗證者信息只是公開抽樣的隨機硬幣。ZK-Stark不需要可信設置程序來實例化證明系統,而是依賴于基于哈希沖突的對稱加密算法,這種特性使其更加高效,并且完全擺脫了ZK-Snark中可信階段產生的參數,能夠有效抗擊量子計算機對算法的威脅。ZK-Stark通過AIR(algebraic intermediate representation,代數中間表示)進行約束的表示,Stark證明系統將在任何時間計算的狀態都包含在從有限域取值的寄存器元組中,在每個周期更新狀態。而代數執行軌跡(AET)則是按時間順序排列的所有狀態元組的列表。ZK-Stark可以有一個非常快的證明時間和驗證時間,但證明大小過大。因此,它在投票系統、在線系統和其他一些需要識別步驟才能訪問的服務中有著光明的前景。

2.3 Bulletproof

Bulletproof的構造思路如下:首先將電路中的乘法門約束和乘法門之間的線性約束利用 Schwartz-Zippel 引理[3]歸約為一個多項式的某一特定項系數為零的問題,然后將該問題轉化為內積論證(IPA)[4]的陳述表示形式,最后調用內積論證實現零知識證明。

Bulletproof提供了一種更有效的機密交易(CT)范圍證明,主要應用于在加密貨幣領域如Zcash中。防彈技術建立在實現通信高效的零知識證明的技術之上,它們可以用來擴展多方協議,如多重簽名或零知識緊急支付等,事實上,Bulletproof可以認為是基于IPA的Snark構造的一種。

表1 經典零知識證明協議對比

圖片圖片

3. 零知識證明的應用

對于區塊鏈的擴容問題,已成為增強區塊鏈網絡可擴展性的關鍵方案。Rollups通過在二層協議上處理交易并將結果傳回主鏈,能夠在提高性能和降低交易費用的同時,保持去中心化和安全性。在這一過程中,零知識證明尤為關鍵,因為它們允許在主鏈上對多筆交易的真實性進行一次性驗證,而無需逐個驗證每筆交易的細節。而在跨鏈技術方面,ZK Bridge展示了零知識證明技術在實現不同區塊鏈之間資產與信息傳遞的潛力。與傳統的跨鏈橋相比,ZK Bridge的優勢在于它不需要引入額外的信任假設,并且可以實現高效率的交易驗證,從而降低了計算和存儲成本。

3.1 擴容

隨著以太坊生態的日漸繁榮,以太坊主鏈無法承受龐大的生態,導致整個以太坊網絡擁堵。Rollup 是為了緩解 Layer1 擴容問題所提出的可擴展性的方案,通常被稱為鏈下解決方案。它擴展了以太坊并繼承了以太坊的安全保證。它的主要目的是在提高以太坊的性能并且降低 Gas費用的同時,保留分布式協議的去中心化和安全性特點。Rollup通過將Layer1的部分數據轉移到二層協議上進行處理,然后將處理結果返送到Layer1上,從而增強區塊鏈網絡的可擴展性。Rollups 會在其上的網絡中將交易打包在一起并進行壓縮,然后將打包后的交易發送到Layer1主網進行驗證,通過一次性驗證多筆交易,使得網絡效率得到提高,同時增加了可被執行的交易數量,實現了網絡擴容。但在這個過程中,需要保證L1的節點沒有作弊上傳虛假交易。

圖1  Rollup(圖源以太坊官網)圖1 Rollup(圖源以太坊官網)

根據證明方法,Rollup 可以大致分為兩類:樂觀(optimistic)—Rollup 和ZK(零知識)-Rollup。Optimistic-Rollup的前提是所有交易均有效,除非另有證明。如果交易的有效性受到質疑,驗證者需要提供欺詐證明,然后將其發送到主網絡進行驗證。如果發現無效,交易將被恢復。這種方法依賴于網絡參與者彼此保持誠實,從而建立信任和警惕的平衡。但是當用戶提供欺詐證據時,主網上的解決方案不會立即得到解決。這可能會導致從Optimistic-Rollup鏈中提取資產時出現延遲,等待時間從幾天到甚至幾周不等。而零知識證明可以很好地完成上述需求,在L1打包多筆交易后同時為這個過程生成零知識證明,驗證者在Layer1上通過驗證該證明后打包生成共識,完成擴容功能。ZK-Rollup則確保所有交易都經過驗證,同時保持交易詳細信息完全私密。這不僅增強了安全性,而且提供了所有用戶都非常贊賞的更高程度的隱私。ZK-rollups的落地應用包括基于Snark的Scroll[551],基于Starknet的Starknet[6],混合Snark與Stark證明機制的Taiko[7]等項目。

3.2 跨鏈

跨鏈技術是一種使得加密資產在不同的區塊鏈之間移動和儲存的技術。當前市場上存在眾多獨立運作的區塊鏈,例如比特幣和以太坊,但它們之間缺乏直接的互通機制。若無跨鏈技術,資產將無法在不同鏈間轉移。

圖2  ZK Bridge原理圖2 ZK Bridge原理

ZK Bridge作為使用零知識證明技術的跨鏈橋梁,其最大特點是不需要引入額外的信任假設就可以適應多種不同類型的區塊鏈。在這個解決方案當中,零知識證明是在區塊鏈之外生成的,實際的驗證則是在區塊鏈上進行的。這樣的做法大幅降低了區塊鏈上的計算和存儲成本,是當今市場上一種相當前沿且有潛力的跨鏈技術。目前,有幾個項目正在發展 ZK Bridge 的生態系統,也就是開發基于零知識證明技術的跨鏈橋解決方案,但皆處于開發階段。例如,Succinct Labs[8]、Electron Labs[9]、zkIBC[10]、Polyhedra Network[11]的 zkBridge[12] 等。Succinct Labs推出了Tendermint X,這是第一個開源的、高性能的Tendermint ZK輕客戶端,它為Cosmos和Ethereum之間提供了一個無需信任的ZK橋接,標志著將Cosmos連接到Ethereum的實現。Polyhedra Network的zkBridge利用其獨創的deVirgo協議,一種高效的分布式零知識證明協議,實現了令人印象深刻的性能優化和線性可擴展性。deVirgo協議的核心優勢在于它幾乎完美的線性可擴展性—在一個分布式計算網絡中,隨著計算資源的線性增加,證明的生成時間將成倍減少。deVirgo協議的這一特性特別適合處理大量數據或高頻交易,使得zkBridge在處理跨鏈交易時,不僅保持了零知識證明的隱私和安全性優勢,同時也確保了極高的吞吐量和低延遲,這對于金融交易和復雜的去中心化應用(dApps)來說至關重要。

4. 挑戰與未來展望

零知識證明技術仍然面臨許多挑戰,同時也衍生出眾多研究方向。

較弱假設的挑戰。ZKP的一個挑戰是,是否可以在一些較弱假設下有效實施。例如,Zerocash中使用了ZK-Snark,但它需要一個受信任的第三方來進行設置和系統初始化。ZKP可以在沒有受信任第三方的情況下實施,但這會影響ZKP的效率。因此,研究在沒有受信任第三方的情況下有效實施ZKP是值得的。Spartan是一個引人注目的成果[13],它提供了一種無需可信設置的ZK-Snark,特別適用于解決算術電路滿足性問題(R1CS)。它的特點在于,它能夠在驗證證明時產生低于線性的成本,而且不要求NP陳述的結構具有一致性。此外,Spartan實現了時間最優化的證明者,這在先前的ZK-Snark文獻中幾乎未被實現。Spartan應用了新技術,如計算承諾和一個加密編譯器Spark,用于將現有的可提取多項式承諾方案轉換為有效處理稀疏多項式的方案,這對于實現時間最優化的證明者至關重要。Spartan作為Rust庫實現,并與最新ZK-Snark進行了實驗比較,表現出多方面的優勢,包括在無可信設置方案中具有較快的證明者速度,生成更短的證明,驗證時間低,綜合效率優秀。

零知識證明的硬件加速。零知識證明技術雖然被廣泛認為是解決區塊鏈主要問題的關鍵方案,但長期受制于其本身的高計算密集性導致的計算效率問題。正是基于這種背景,ZKP硬件加速成為解決 ZKP 效率問題的一個重要創新方向。ZKP 硬件加速涉及在專用硬件(如 GPU、 FPGA 和 ASIC)上實現 ZKP 算法的優化,使其能夠更快地處理復雜計算,從而大幅提高 ZKP 的生成和驗證速度。在 ZKP 的不同證明系統及其相關實現中,計算需求與資源開銷各不相同。在眾多證明系統中,有兩種計算操作尤為耗時與昂貴,分別是多標量乘法(Multiscalar Multiplication-MSM)和快速傅里葉變換(Fast Fourier Transform-FFT)。CUZK[14]中提出MSM 算法占據了證明生成總運行時間的70%以上。隨著新的 ZKP 框架 STARK 的發展,也有更多的證明是基于 FTT 算法為主。

多標量乘法(MSM)優化。MSM是一種在橢圓曲線密碼學中常見的操作,它涉及對多個標量和橢圓曲線點的乘法與求和運算。雖然MSM 可以通過并行處理來加速,但即使在多核心的系統上,對于復雜的應用MSM 的運算仍然需要消耗大量的資源與時間。MSM 算法需要處理大量的元素與重復執行相同的操作。

快速傅里葉變換(FFT)優化。以STARK為代表的零知識證明系統大量用到了快速傅里葉變換(FFT)。這個算法用于高效計算序列的離散傅里葉變換(DFT)及其逆變換。FFT 的運行過程嚴重依賴于數據的頻繁交換,數據交換過程中需要從大數據集中“隨機”地傳輸元素,這在硬件內存有限的情況下尤為困難。盡管硬件操作本身非常快,但傳輸數據的時間卻顯著降低了整體操作速度。除此之外,FFT 算法通常需要將輸入數據重新排列成特定順序以執行變換,這可能需要大量的數據移動,對于大型FFT算法規模來說,這可能成為性能瓶頸。FFT 雖然是一種強大且廣泛應用的算法,但在大型數據處理和分布式計算環境中,其性能和效率受到數據交換、帶寬限制的顯著影響。

基于 SNARK 的證明系統主要依賴于 MSM 算法,而 STARK 類證明則主要使用 FFT 算法。因此,目前的硬件加速主要是面向這兩種加密算法的需求進行優化。MSM 對硬件的需求包括強大的并行處理能力、較大的內存容量。相比之下,FFT 對硬件的需求則包括高帶寬、大內存容量、高效的數據訪問模式。

參考文獻

圖片

[1] Goldwasser S, Micali S, Rackoff C. The knowledge complexity of interactive proof-systems[M]//Providing sound foundations for cryptography: On the work of shafi goldwasser and silvio micali. 2019: 203-225.

[2] Ben-Sasson E, Bentov I, Horesh Y, et al. Scalable zero knowledge with no trusted setup[C]//Advances in Cryptology–CRYPTO 2019: 39th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 18–22, 2019, Proceedings, Part III 39. Springer International Publishing, 2019: 701-732

[3] Schwartz J T. Fast probabilistic algorithms for verification of polynomial identities[J]. Journal of the ACM (JACM), 1980, 27(4): 701-717.

[4] Bootle J, Cerulli A, Chaidos P, et al. Efficient zero-knowledge arguments for arithmetic circuits in the discrete log setting[C]//Advances in Cryptology–EUROCRYPT 2016: 35th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Vienna, Austria, May 8-12, 2016, Proceedings, Part II 35. Springer Berlin Heidelberg, 2016: 327-357.

[5] https://github.com/scroll-tech

[6] https://github.com/starknet-io

[7] https://github.com/taikoxyz

[8] https://github.com/succinctlabs

[9] https://github.com/Electron-Labs

[10] https://www.zkibc.com/

[11] https://github.com/topics/polyhedra

[12] https://zkbridge.com/

[13] Setty S. Spartan: Efficient and general-purpose zkSNARKs without trusted setup[C]//Annual International Cryptology Conference. Cham: Springer International Publishing, 2020: 704-737.

[14] [63]Lu T, Wei C, Yu R, et al. Cuzk: Accelerating zero-knowledge proof with a faster parallel multi-scalar multiplication algorithm on gpus[J]. Cryptology ePrint Archive, 2022.


責任編輯:武曉燕 來源: 中國保密協會科學技術分會
相關推薦

2019-06-24 16:30:33

區塊鏈零知識證明比特幣

2022-10-25 07:32:02

2021-04-09 06:25:41

區塊鏈區塊鏈技術

2023-09-01 15:37:56

2023-09-14 15:41:22

2021-11-28 22:13:13

區塊鏈軍事應用

2019-03-13 11:23:29

區塊鏈區塊鏈技術身份驗證

2021-11-03 23:22:33

區塊鏈數據技術

2018-05-16 16:38:07

2022-02-13 23:05:23

加密貨幣比特幣貨幣

2021-08-06 22:53:57

區塊鏈司法加密貨幣

2022-10-26 08:42:28

2018-03-27 09:52:30

區塊鏈數字貨幣比特幣

2022-06-09 15:06:34

區塊鏈零知識隱私

2021-08-09 08:40:33

零知識證明零信任網絡安全

2020-02-10 11:32:11

區塊鏈blockchain智能合約

2021-04-16 20:43:18

Go區塊鏈編程

2017-12-11 11:38:58

2020-02-14 11:16:00

區塊鏈的醫學應用

2018-02-06 05:03:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区电影 | 亚洲精品一级 | 国产精品国产三级国产aⅴ浪潮 | 亚洲经典一区 | 一级在线免费观看 | 一区二区日本 | 81精品国产乱码久久久久久 | 欧美视频中文字幕 | av国产精品毛片一区二区小说 | 秋霞a级毛片在线看 | 国产精品成人国产乱一区 | 黄色在线免费观看 | 蜜桃视频在线观看免费视频网站www | 国产高清精品一区二区三区 | 天天操妹子 | 成人精品一区二区 | 久久久.com | 国产欧美日韩精品一区 | 日韩国产精品一区二区三区 | 精品久久影院 | 国产精品免费一区二区三区 | 日韩在线观看 | 91精品国产91久久久久久吃药 | 亚洲一区二区 | 午夜爽爽男女免费观看hd | 黄色综合 | 欧美日韩在线观看一区二区三区 | 乳色吐息在线观看 | 亚洲一区 | 国产日韩欧美一区二区 | 91九色视频在线 | 国产精品久久久久999 | 中文在线a在线 | 天堂综合网 | 91精品久久久久久久久 | 成人精品一区二区 | 中国一级大毛片 | 久久不卡| 国产视频在线观看一区二区三区 | 国产精品久久久久久久久久久久久久 | 在线看av网址 |