「我只知道一件事,那就是我一無所知」——蘇格拉底在今天的文章中,我將剖析有史以來最強大但經常被誤解的密碼學工具之一:零知識證明。此外,我將重點介紹未來實現的用例和建議,并展示為什么零知識證明是crypto未來的關鍵。為什么零知識證明很重要
簡單地說,零知識證明是證明者在不實際透露任何信息的情況下說服驗證者某事是真實的一種方式。讓我們用一個類比來說明這一點:假設我們有兩個人,Alice和Bob。Alice有一副密封的52張撲克牌。Alice偷偷拿了一張紅牌想向Bob證明她有一張紅牌,但不想出示該紅牌本身。為了做到這一點,Alice需要將所有的黑牌從牌堆中拿出來,然后將它們展示給Bob。Bob檢查所有26張黑牌,驗證其不重復不遺漏。由是確定Alice擁有的牌必是紅牌。因此,Alice能夠向Bob證明她有紅牌,而無需實際出示。這個類比是「極度」簡化的而且并沒有描繪出全貌,但技術背后的核心理念是一樣的。零知識證明并非這十年來甚至這個新千年來的新鮮事物。事實上,該想法是在1980年代由抽象數學的研究者首次提出的。該方案旨在解決當時的與證明者和驗證者之間的理論系統–交互式證明–相關的問題。但是如果驗證者是惡意的怎么辦?除了驗證聲明的真實性之外,證明者還泄漏了多少額外信息?讓我們看看中心化服務器上口令的哈希是如何存儲的。傳統上,在與服務器交互時,服務器會知道明文口令。這是進行「身份證明」的一種糟糕方式,因此研究者轉向了一種可以在不泄露任何無關信息的情況下證明聲明的新系統。更具體地說,假設我們有函數C,有兩個輸入C(x,y)。令x為公開輸入,y為秘密證據,函數的輸出為真或假。給定一個特定的公共輸入x,證明者必須證明他知道一個秘密證據y使得C(x,y)==true。從證明者的角度來看,實現零知識需要隨機性。驗證者方面,也需要隨機性來產生對證明者的查詢。被廣泛展示的第一個應用是一個NP完全的稱為圖三著色問題。這是一個巨大的突破,因為這個可以應用于NP類中的「任何問題」。簡直就是「一石N鳥」。在區塊鏈領域,由于零知識證明能夠提供可擴展性以及在隱私模型中的實用性,因此有了許多實現。具體來說,與不用零知識證明系統的情況相比,驗證者執行的計算工作呈指數級減少。另一方面,證明者需要相當多的計算開銷來執行證明。我稍后會詳細討論這個問題。零知識協議
DoraHacks平臺開始支持基于零知識證明的隱私二次方資助:據官方消息,DoraHacks開發者激勵平臺HackerLink已經完成整合Dora Factory隱私投票模塊MACI,并開始支持基于零知識證明的二次方投票和二次方資助輪次。
MACI(最小化抗共謀基礎設施)是Dora Factory以太坊工廠的核心模塊之一,通過對投票進行加密以及對結果提供零知識證明,實現隱私投票,將鏈上和鏈下治理的投票過程轉化為非合作博弈,以達到抗共謀的目的。
DoraHacks對MACI代碼中的安全性和效率問題進行了系統性優化。ETH Denver 2022將于2月20日與DoraHacks共同推出第一個中等規模的MACI二次方資助輪次,超過2,000名開發者和10,000名參會者將通過DoraHacks平臺進行零知識二次方投票,這是MACI和鏈上隱私投票的第一次中等規模應用。[2022/1/28 9:19:46]
目前存在大量的零知識協議,但這篇文章中我將重點關注SNARK和STARK,并在后續文章中深入探討其他協議。簡潔非交互知識論證,SNARK,是一種流行的證明機制,其納入了于2011年首次提出的零知識證明。在底層,zk-SNARK使用橢圓曲線來保證安全性并依賴于可信設置。一開始,創建導出交易所需證明和驗證所述證明的密鑰。這些密鑰包含一個參考字符串,將驗證密鑰和發送私有消息的密鑰聯系起來。為此,必須有刪除所創建的密鑰的方法,且密鑰的創建者必須是可信的。這種在創建階段對信任的依賴仍然是對zk-SNARKs的一大批評點。此外,參考字符串是不可更新的,這意味著如果程序需要更新,則需要重新運行可信設置階段。然而實際實踐中,zk-SNARK很少會獨自出現。在計算中往往需要檢查許多步驟,但是單獨檢查每個步驟的工作將花費大量時間。解決方案以多項式的形式出現。將計算編碼為多項式可以節省大量信息和時間。相比于數字之間的無數個方程,我們可以代替為「代表」它們的多項式表達式。還有,通常會通過檢查每個系數來使用多項式驗證方程,但這又需要太長時間。多項式承諾在這里開始發揮作用。多項式承諾可以被視為用來「哈希」一個多項式的獨特方法,允許在更短的時間內進行驗證,無論多項式有多大。此外,多項式承諾「本質上」是保護隱私的,因為證明比多項式本身小得多。盡管可以添加隨機性,多項式承諾只會泄漏多項式的少量信息。如需更深入地了解多項式承諾和驗證,請查看此內容。多項式承諾使用三種主要協議之一:bulletproof、KZG和FRI。比較和對比每一個都會使本文變得有點難懂,且超出了本文的范圍,因為每個都值得去深入研究。2018年,因為厭倦了現狀,一群研究者試圖在零知識系統中加入透明性。透明性意味著不必依賴受可信方進行初始設置,從而消除了開放后門的威脅。這導致了可擴展透明知識論證,或STARKs,的發明。STARK使用哈希函數作為其安全性來源,這與SNARK使用的雙線性配對不同。名字里的可擴展指的是如下兩件事:與SNARK相比,證明者運行時間在復雜性上要低得多。驗證時間是多項式對數。STARKs使用了FRI,提升了信息存儲量和性能。
StarkWare已開源零知識證明代碼ethSTARK:零知識證明研發機構StarkWare已在GitHub開源ethSTARK。StarkWare稱,2018年我們獲得以太坊基金會的資助去探索對STARK友好的哈希函數以及開源ZKP代碼。ethSTARK代碼的證明速度將比現有的任何ZKP代碼快20倍。
注:2018年7月份,StarkWare獲得了以太坊基金會提供的400萬美元資助,將研發對STARK友好的哈希函數和技術,并為生態系統提供開源代碼。STARK將允許區塊鏈在兼備隱私和后量子安全的情況下進行大規模擴展(例如分片)。(Github)[2020/7/27]
當前應用
雖然像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。
Gate.io研究院發布“零知識證明于區塊鏈中的落地應用”報告:Gate.io研究院于今日發布“零知識證明于區塊鏈中的落地應用”報告。報告指出,在區塊鏈技術加快發展的背景下,多種應用場景應運而生,隨之而來的是用戶在隱私安全方面的更高需求。當前,眾多區塊鏈開發團隊提出了多種不同的用戶隱私安全保護機制。
其中,零知識證明與區塊鏈技術相結合作為一種新方案為提高區塊鏈隱私安全性提供了更多可能。該報告結合“零知識證明”的采納項目、區塊鏈系統“Zcash”的相關情況,對“Zcash”加密技術以及零知識證明進行了深入探討。 詳情點擊原文鏈接。[2020/6/28]
與自啟動的zkVM思想相反的是zkEVM。zkVMs是從頭開始做針對零知識優化的新的區塊鏈虛擬機,或者只是適配Solidity工具和兼容性。另一方面,zkEVM實現了完整的EVM操作碼集。使用EVM操作碼有幾個好處:實現與EVM生態系統和工具的完全兼容繼承以太坊安全模型效率可能類似于基于編譯器的方法不出所料,zkVM和zkEVM陣營之間似乎存在很大的分歧。
聲音 | 數字資產研究院郭宇:區塊鏈的信任需要結合共識算法、零知識證明和形式化驗證:12月22日,數字資產與區塊鏈年會(2019)暨中國投資協會數字資產研究中心成立大會在京舉辦。數字資產研究院學術與技術委員郭宇演講中表示,區塊鏈網絡的吞吐率低下的核心原因是網絡寬帶限制,提高出塊速度是此前比較流行的解決方案,但這種做法會導致區塊鏈分叉,甚至可能威脅區塊鏈系統安全。郭宇認為,要在不降低安全性的前提下,提高區塊鏈吞吐率的解決方案是零知識證明。郭宇指出,區塊鏈系統的可信實際上包括三方面:共識算法提供區塊鏈協議信任,零知識證明提供數據信息和計算完整性,形式化驗證保證計算邏輯可信。區塊鏈的信任需要共識算法、零知識證明和形式化驗證三者的結合。(新浪財經)[2019/12/23]
zkEVM相對于zkVM的最大優勢是EVM等效性。歷史證明,通過低gas費激勵和為開發人員提供簡單的起始體驗來瞄準龐大的現有dApp社區是卓有成效的,這正是zkEVM建設者所期望的。目前最流行的zkEVM項目是zkSync,它使用zk-SNARKs作為2層解決方案進行驗證和擴展。此外,zkSync選擇將數據可用性置于鏈下,并由zkSync代幣質押者使用權益證明進行保護。此實現的設計屬于StarkWare開發的名為Volition的解決方案。
聲音 | V神:零知識證明技術對Layer 2更有幫助:在萬向區塊鏈實驗室主辦的第五屆區塊鏈全球峰會上,當被問及最新進展時,V神表示目前正在關注零知識證明,該技術經過十幾年的發展仍然有創新,Zk-SNARKs就取得了一些進步。V神還表示,零知識證明對Layer 2 也許并沒有太大幫助,但對Layer 2也許會有幫助。[2019/9/18]
最后,一個新玩家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:ARKSTARKSTARSTAarkm幣融資Stark ChainStarship DogeStarCredits
撰文:湯圓公鏈大戰之后,市場已形成以以太坊為首多鏈并存的格局,鏈與鏈之間的資產轉移、智能合約的跨鏈交互已成為鏈上活動的日常,作為實現區塊鏈之間信息互通的底層基礎設施,跨鏈工具也成為熱門產品.
1900/1/1 0:00:00疫情的到來打亂了人們的生活節奏,也改變了人們的社交與工作方式,越來越多的公司與企業不得不開始轉為遠程協作,于是,線上辦公逐漸成為了一種趨勢.
1900/1/1 0:00:00本文來自CryptoValleyLive。一、什么是SocialFi?社交金融SocialFi,是Social和Finance兩個單詞的結合體.
1900/1/1 0:00:00穩定幣徹底迎來了去中心化時代。區塊鏈世界總是追求將一切中心化的事物去中心化,因為畢竟我們的信仰永遠是數學與算法,而非暴力與權力,如今,我們迎來了將區塊鏈世界最為中心化部分,去中心化的可能.
1900/1/1 0:00:00“Weareallfooledbyrandomness”——NicholasTaleb隨機&命運如果現在有一群極其富有但極其無聊的的BTC巨鯨.
1900/1/1 0:00:00本文來自微信公眾號:老雅痞內容來自對《NotBoring》訪談欄目的整理。對話來自主持人PackyMcCormick和AlexDanco.
1900/1/1 0:00:00