原文標題:《TheZeroKnowledgeFrontier:OnSNARKs,STARKs,andFutureApplications》
原文作者:VaishPuri,TheTIE研究員
原文編譯:KurtPan
「我只知道一件事,那就是我一無所知」——蘇格拉底
在今天的文章中,我將剖析有史以來最強大但經常被誤解的密碼學工具之一:零知識證明。此外,我將重點介紹未來實現的用例和建議,并展示為什么零知識證明是crypto未來的關鍵。
為什么零知識證明很重要
簡單地說,零知識證明是證明者在不實際透露任何信息的情況下說服驗證者某事是真實的一種方式。讓我們用一個類比來說明這一點:假設我們有兩個人,Alice和Bob。Alice有一副密封的52張撲克牌。Alice偷偷拿了一張紅牌想向Bob證明她有一張紅牌,但不想出示該紅牌本身。為了做到這一點,Alice需要將所有的黑牌從牌堆中拿出來,然后將它們展示給Bob。Bob檢查所有26張黑牌,驗證其不重復不遺漏。由是確定Alice擁有的牌必是紅牌。因此,Alice能夠向Bob證明她有紅牌,而無需實際出示。這個類比是「極度」簡化的而且并沒有描繪出全貌,但技術背后的核心理念是一樣的。
SKALE即將發布去中心化零知識證明解決方案Levitation Protocol:6月2日消息,以太坊側鏈 SKALE 開發人員宣布了一項 SKALE 改進提案,即,去中心化零知識證明解決方案 Levitation Protocol,旨在通過使全套 ZK 解決方案無縫連接到 SKALE 架構,并將 Rollup 連接到以太坊主網。該提案包括進一步的生態系統升級,增加了一個新的「Layer 1 Megachain」,稱為 SKALE G(G 代表木衛三,太陽系中最大的衛星)。
SKALE 開發人員計劃在未來幾個月內開始發布 Levitation Protocol 源代碼,之后將啟動公共測試網。Levitation Protocol 主網計劃于 2023 年第四季度推出。[2023/6/2 11:53:31]
零知識證明并非這十年來甚至這個新千年來的新鮮事物。事實上,該想法是在1980年代由抽象數學的研究者首次提出的。該方案旨在解決當時的與證明者和驗證者之間的理論系統–交互式證明–相關的問題。
但是如果驗證者是惡意的怎么辦?除了驗證聲明的真實性之外,證明者還泄漏了多少額外信息?讓我們看看中心化服務器上口令的哈希是如何存儲的。傳統上,在與服務器交互時,服務器會知道明文口令。這是進行「身份證明」的一種糟糕方式,因此研究者轉向了一種可以在不泄露任何無關信息的情況下證明聲明的新系統。
以太坊生態零知識協議Semaphore發布V2版本:7月7日消息,以太坊生態針對開發者的零知識協議 Semaphore 推出 V2 版本,更新內容包括不再需要擁有 EdDSA 私鑰,從而實現更簡單的電路(circuit)和更高效的零知識證明生成;用于身份承諾和 Merkle 樹的哈希函數從 MiMC 遷移到 Poseidon,將證明時間減半并提高了 Gas 效率;合約模塊化、三個新的 JavaScript 庫等。
Semaphore 最早由以太坊社區成員 Kobi Gurkan、Koh Wei Jie 和 Barry Whitehat 提出,在 2019 年發布 V1 版,可以讓以太坊用戶可以證明他們的群組成員身份,并在不透露原始身份的情況下發送諸如投票或支持的信號。Semaphore 不是面向用戶的應用程序,旨在為以太坊開發人員提供強大而簡單的工具,以使用私有憑據構建 DApp。[2022/7/7 1:57:35]
更具體地說,假設我們有函數C,有兩個輸入C(x,y)。令x為公開輸入,y為秘密證據,函數的輸出為真或假。給定一個特定的公共輸入x,證明者必須證明他知道一個秘密證據y使得C(x,y)?==true。從證明者的角度來看,實現零知識需要隨機性。驗證者方面,也需要隨機性來產生對證明者的查詢。?被廣泛展示的第一個應用是一個NP完全的稱為圖三著色問題。這是一個巨大的突破,因為這個可以應用于NP類中的「任何問題」。簡直就是「一石N鳥」。
Filecoin:Filecoin網絡已成為最大的零知識證明網絡:Filecoin發表博客稱,目前Filecoin已成為最大的零知識證明(zk-SNARK)網絡。據官方數據顯示,目前Filecoin網絡每日會運行6至7百萬次零知識證明,每一個零知識證明中包含了超過1億個約束電路證明。目前Filecoin網絡的可信配置已支持最高128M大小的電路證明,單個證明最大已超過100M,而Zcash最高僅支持2M。此外,目前Filecoin實現了通過SnarkPack將10個零知識證明捆綁至單次證明中,并正在研究零知識證明聚合以實現將數千個零知識證明聚合至單次證明中。硬件支持方面,Filecoin將零知識證明中高度可并行化的部分交由GPU完成,將CPU和內存釋放出來進行較為復雜的計算,進一步提高了零知識證明的效率。[2021/7/14 0:51:01]
在區塊鏈領域,由于零知識證明能夠提供可擴展性以及在隱私模型中的實用性,因此有了許多實現。具體來說,與不用零知識證明系統的情況相比,驗證者執行的計算工作呈指數級減少。另一方面,證明者需要相當多的計算開銷來執行證明。我稍后會詳細討論這個問題。
零知識協議
零知識證明研發機構StarkWare將在幾周內開源ethSTARK:零知識證明研發機構 StarkWare 稱,2018年我們獲得以太坊基金會的資助去探索對 STARK 友好的哈希函數以及開源 ZKP 代碼。我們將在幾周內提前完成我們的工作。ethSTARK代碼的運行速度將比現有的任何 ZKP 代碼快20倍。注,2018年7月份,StarkWare稱獲得了以太坊基金會的資助(現金+代幣),將研發對STARK 友好的哈希函數和技術,并為生態系統提供開源代碼。STARK將允許區塊鏈在兼備隱私和后量子安全的情況下進行大規模擴展(例如分片)。[2020/5/26]
目前存在大量的零知識協議,但這篇文章中我將重點關注SNARK和STARK,并在后續文章中深入探討其他協議。
簡潔非交互知識論證,SNARK,是一種流行的證明機制,其納入了于2011年首次提出的零知識證明。在底層,zk-SNARK使用橢圓曲線來保證安全性并依賴于可信設置。一開始,創建導出交易所需證明和驗證所述證明的密鑰。這些密鑰包含一個參考字符串,將驗證密鑰和發送私有消息的密鑰聯系起來。為此,必須有刪除所創建的密鑰的方法,且密鑰的創建者必須是可信的。這種在創建階段對信任的依賴仍然是對zk-SNARKs的一大批評點。此外,參考字符串是不可更新的,這意味著如果程序需要更新,則需要重新運行可信設置階段。
動態 | 波場社區TRONZ團隊已完成零知識證明匿名交易公測:波場社區TRONZ團隊已完成零知識證明匿名交易公測,測試網已經順利部署。匿名交易即將在波場TRON主網上線,現已開啟主網MPC流程,社區用戶均可參與。Github參考地址可見原文鏈接。[2019/12/31]
然而實際實踐中,zk-SNARK很少會獨自出現。在計算中往往需要檢查許多步驟,但是單獨檢查每個步驟的工作將花費大量時間。解決方案以多項式的形式出現。將計算編碼為多項式可以節省大量信息和時間。相比于數字之間的無數個方程,我們可以代替為「代表」它們的多項式表達式。
還有,通常會通過檢查每個系數來使用多項式驗證方程,但這又需要太長時間。多項式承諾在這里開始發揮作用。多項式承諾可以被視為用來「哈希」一個多項式的獨特方法,允許在更短的時間內進行驗證,無論多項式有多大。此外,多項式承諾「本質上」是保護隱私的,因為證明比多項式本身小得多。盡管可以添加隨機性,多項式承諾只會泄漏多項式的少量信息。如需更深入地了解多項式承諾和驗證,請查看此內容。
多項式承諾使用三種主要協議之一:bulletproof、KZG和FRI。比較和對比每一個都會使本文變得有點難懂,且超出了本文的范圍,因為每個都值得去深入研究。
2018年,因為厭倦了現狀,一群研究者試圖在零知識系統中加入透明性。透明性意味著不必依賴受可信方進行初始設置,從而消除了開放后門的威脅。這導致了可擴展透明知識論證,或STARKs,的發明。STARK使用哈希函數作為其安全性來源,這與SNARK使用的雙線性配對不同。名字里的可擴展指的是如下兩件事:
與SNARK相比,證明者運行時間在復雜性上要低得多。
驗證時間是多項式對數。STARKs使用了FRI,提升了信息存儲量和性能。
當前應用
雖然像Zcash這樣的zk-SNARK先驅已經存在了一段時間,是zk-STARK的發明使得開發空間迎來了爆炸式的增長。零知識協議方面的工作不僅限于rollups。事實上,一些L1已經是基于零知識證明來構建的了,以及剛萌芽的游戲項目。
StarkWare是zk-STARK的先驅,開發了兩個核心產品:StarkNet,一個無需許可的去中心化zk-rollup,以及StarkEx,一個獨立的zk-rollupSaaS。此外,StarkWare是名為Cairo的生產級零知識虛擬機(zkVM)的第一家生產商。Cairo聲稱通過實現圖靈完備的馮諾依曼架構以達到這一點。每個程序與它處理的數據一起駐留在VM的內存中。今天任何人都可以訪問Cairo,目前正被一些有名的StarkEx客戶所使用,如dydx、Immutable和DeversiFi。其他使用他們自己版本的zkVM的新應用包括PolygonMiden和RiscZero,后者正在嘗試構建通用zkVM。
與自啟動的zkVM思想相反的是zkEVM。zkVMs是從頭開始做針對零知識優化的新的區塊鏈虛擬機,或者只是適配Solidity工具和兼容性。另一方面,zkEVM實現了完整的EVM操作碼集。使用EVM操作碼有幾個好處:
實現與EVM生態系統和工具的完全兼容
繼承以太坊安全模型
效率可能類似于基于編譯器的方法
不出所料,zkVM和zkEVM陣營之間似乎存在很大的分歧。
zkEVM相對于zkVM的最大優勢是EVM等效性。歷史證明,通過低gas費激勵和為開發人員提供簡單的起始體驗來瞄準龐大的現有dApp社區是卓有成效的,這正是zkEVM建設者所期望的。
目前最流行的zkEVM項目是zkSync,它使用zk-SNARKs作為2層解決方案進行驗證和擴展。此外,zkSync選擇將數據可用性置于鏈下,并由zkSync代幣質押者使用權益證明進行保護。此實現的設計屬于StarkWare開發的名為Volition的解決方案。
最后,一個新玩家Scroll正在開發一個通用的L2zkEVM。Scroll采用了一種新方法來使用GPU的能力來在鏈下生成零知識證明。最近在零知識證明方面的突破,如Poseidonhash、Plookup和PLONK?,已經將成本降低到足以使zkEVM成為現實。此外,GPU和ASIC/?FPGA加速器的進步正在改善硬件條件,進一步降低成本。Scroll仍處于開發階段,計劃在未來幾個月內推出他們的zkEVM測試網。
未來的應用
零知識證明最初是為了保護隱私而開發的。盡管主流媒體可能將當前的用例集中在「允許更大的TPS」上,但事實仍然是零知識證明具有更廣闊的應用范圍。?一個這樣的應用是這個工具,它通過零知識電路來匿名檢查錢包中的資產或鏈上交易以驗證用戶的身份。
零知識身份具有極其強大的潛力,并且在現實世界中可以立即找到用例。例如,假設我是一名債務人,試圖證明自己的信譽,同時仍將銀行信息和活動保密。我會證明我已經從多家受信任的銀行償還了大筆貸款,但不會透露這些銀行的名字或這些貸款的規格。
零知識領域的另一個重大進展是zk-SNARK證明者的高效隱私代理。如前所述,證明時間相當緩慢。使用SHA2來哈希10kb數據需要140秒,而不是所需的幾毫秒。解決這個問題的方法是將證明過程外包。不幸的是,這帶來了另一個困境:秘密總是會泄露給外包的機器。于是需要的是外包隱私證明。通過仔細的實現,目前已經可以將證明代理給手機等設備,其速度比本地計算快26倍。這個新穎的框架由PratyushMishra在2022年4月的zkSummit上首次提出。
結語
我們在開發基于零知識證明的應用方面還處于非常早期的階段。盡管如此,進展的步伐還是很快的。原先專家認為在5年內無法達到的階段目前已經實現了。當然,還有很多事情要做。開發社區之間仍然存在很多沖突,因為陣營正在形成,觀點正在被化。只有時間會證明哪一方是正確的。可以肯定的是,當歷史學家回顧過去時,他們會將這一時期的零知識實現視為加密貨幣壯觀歷史中的開創性部分。
原文鏈接
Tags:ARKSTASTARSTARKMarket Making ProEUROe StablecoinStarkNet
親愛的用戶: 虎符幣幣區將于2022年05月06日16:00上線MoonwellApollo(MFAM),并開放MFAM/USDT交易對.
1900/1/1 0:00:00親愛的用戶: 虎符幣幣區將于2022年05月07日16:00上線OasisNetwork,并開放ROSE/USDT交易對.
1900/1/1 0:00:00HopProtocol是一個允許用戶在Layer2、側鏈和Layer1之間直接轉移代幣的跨鏈橋。這意味著你可以通過它低成本且快速地將代幣從Optimism橋接至Arbitrum.
1900/1/1 0:00:00DearValuedUsers,HuobiGlobalwillbeopeningPLY(Aurigami)?spottrading(PLY/USDT)at12:00(UTC)onMay5.Dig.
1900/1/1 0:00:00編譯|白澤研究院 上周,領先的數字資產管理公司Arca的首席投資官JeffDorman做客了DeCentialMedia的播客節目.
1900/1/1 0:00:005月10日,美元穩定幣TerraUSD脫離1美元錨定的幅度越來越大,這個運行在Terra公鏈上的算法穩定幣正在經歷考驗.
1900/1/1 0:00:00