
對話 Nil Foundation 創始人:ZK 技術或被誤用,公開可追溯並非加密初衷
TechFlow Selected深潮精選

對話 Nil Foundation 創始人:ZK 技術或被誤用,公開可追溯並非加密初衷
Misha認為,加密貨幣行業起源於金融密碼學,旨在消除信任假設,而不是使一切可追溯和公開可讀。

訪談介紹
Mikhail Komarov,暱稱Misha,是Nil基金會的創始人兼首席執行官。Nil基金會正在致力於構建最安全的零知識(zk)生成器和零知識證明交易市場,以解決Web3面臨的最緊迫問題:構建安全可靠的zk電路作為基礎設施,來為未來的Web3鋪平道路。
在2023年,零知識技術成為了炙手可熱的關鍵詞。然而,Misha指出,“目前流行的Polygon、zkSync、Starkware等roll-up解決方案中,zkEVM電路的黑盒特性稍有不慎就可能會導致重大行業危機,因為這些數據庫涉及的流動性相當大。”
本次採訪將深入探討零知識技術的話題,包括其被遺忘的歷史以及在Web3上的多樣應用。Misha在傳統數據庫管理領域的背景使他能夠就當前區塊鏈行業狀況, 為讀者提供獨到且深刻的洞察。
區塊鏈和傳統數據庫管理有何本質區別?兩者如何兼容?零知識證明是否將主導未來的一切?zk隱私如何顛覆數據分析行業?電路、zk、編譯器、數據庫等技術術語,又該如何通俗的去理解?
讓我們在這次採訪中找到答案。
摘要
-
傳統數據庫管理和區塊鏈之間唯一的顯著區別,在於提交日誌或區塊序列的構建方式。
-
當前zkEVM電路的規模和複雜性可能會掩蓋潛在的安全漏洞。在像Polygon、zkSync或Starkware這樣的熱門Roll-ups中利用這些漏洞可能會導致重大行業危機,考慮到這些數據庫的巨大流動性和依賴性。
-
將ZK誤用為壓縮工具而非隱私工具,是zk被大規模使用的原因,比如roll-ups、zk-bridges、zk-mls和zk-oracles等應用本質上都是使用了zk的壓縮功能而非隱私特性。
-
Misha認為,加密貨幣行業起源於金融密碼學,旨在消除信任假設,而不是使一切可追溯和公開可讀。
關於Misha的背景
TechFlow: 請您介紹一下自己,並分享一下您如何涉足加密貨幣世界?
Misha: 我陷入加密兔子洞是非常出乎意料的。
如今很多項目都是先有一項技術,然後再尋找適用的應用。但在2013年,有些人意識到保護通信渠道的隱私和安全的重要性,而Bitmessage提供瞭解決方案。我當時想,“我們來讓它發揮作用吧。”然後我就成為了它早期的貢獻者。
在那之前,我剛剛上大學的第一年,還是個學生,我還有更好的事情可做嗎?我當時想,“好吧,我已經在這個領域待了一段時間,我覺得我可以開發一些東西。” 這就是我涉足加密貨幣領域的開始。
在我參與Bitmessage之前,我曾研究數據庫管理系統(DBMS)的工作原理,主要是為了在大學裡練習使用Cypher語言。
我發現區塊鏈有趣且與DBMS相似,但我不明白為什麼很多人不認為區塊鏈是一個合適的數據庫系統。
這促使我深入研究這個話題,想弄清楚為什麼它被視為僅僅是一個金融加密協議,而不是一個全面的數據管理解決方案(DBMS)。
隨著深入研究,我在學習過程中專注於代數拓撲學,最終導致了複雜性理論和密碼學。
這兩個路徑,即DBMS和密碼學,相互交織,這就是我發現數據庫行業和加密行業之間聯繫的地方。
Nil基金會的工作目標及當前進展
TechFlow: 2018年,Nil Foundation成立,專注於數據庫管理系統和應用密碼學的研究。您能解釋一下區塊鏈如何可以被理解為數據庫管理系統嗎?
Misha: 傳統數據庫管理系統和加密市場的架構實際上非常相似。
它們都源自於管理和存儲數據的基本思想,例如使用DBMS中的提交日誌或區塊鏈中的一系列區塊。將時間戳排序的基本方法類似於整理提交日誌條目。
現在關於加密行業中大規模狀態數據的抱怨並不獨特,因為傳統行業的企業也需要處理管理和維護狀態數據。
這兩個行業之間唯一的顯著區別在於提交日誌或區塊序列的構建方式。建立它們的過程並沒有真正不同。這個過程和架構都是根據每個環境的具體需求進行調整的。
在加密行業,重點是在不受信任的環境中減少信任假設,而傳統行業更注重效率,可能並不優先考慮信任假設。
我們的研究旨在將傳統數據庫管理系統行業的原則和成果應用於加密行業,目標是以有利於兩個行業的方式來處理數據管理和信任假設,促進融合並找到共同點。
Techflow: 融合傳統數據庫管理系統(DBMS)行業和加密行業,面臨哪些挑戰和潛在好處?如何看待可能產生的影響?
Misha: 需要注意的是,開發一個DBMS可能需要超過5年的時間,而加密行業的項目往往具有較短的開發週期。這種開發週期的差異影響了這兩個行業的融合。
我們是少數幾個試圖彌合加密行業數據管理解決方案和DBMS行業之間差距的項目之一。我們的重點是加密行業內的DBMS解決方案,而不是在協議層面。
例如,在加密行業中,互操作性通常是討論的話題。
使用DBMS方法可以簡化互操作性,因為它提供對所有數據庫數據的訪問。例如,以太坊的鎖定流動性是寫入其網絡的數據,可以直接以相同級別的安全性進行訪問。這消除了創建新的數據庫(如Roll-ups)時進行數據遷移的需要。
這減少了橋接的需求,簡化了不同數據庫之間的數據管理。
TechFlow: 在提供透明高效的加密行業數據庫管理系統方面,你們的項目在方法上如何發展?你們開發的zkLLVM和zk-SNARKs的商品化如何為實現這一目標做出貢獻?
Misha: 我們當前的重點與最初的想法之間的聯繫在於,我們意識到需要減少我們的DBMS解決方案中的信任假設。我們希望提供透明性,並證明在數據庫管理系統內發生的計算過程。
這使我們開始探索狀態證明和共識證明等複雜電路,並與Mina和以太坊等基金會合作,學習和實施這些解決方案。
最初,我們手工創建電路,但這是一個具有挑戰性且耗時的過程。為了解決這個問題,我們開發了zkLLVM,這是一個可證明的編譯器,可以從可讀性強的代碼生成電路。之所以要這麼做,因為這就是人們在DBMS中正在做的事情,也可以運用到未來的去中心化數據庫中。
我們決定利用現有的語言和編譯器來生成電路,而不是創建定製的領域特定語言(DSL)。一個電路編譯器可以證明幾乎任何東西,甚至包括簡單的應用程序,如遊戲。當你可以證明幾乎任何東西,包括大型代碼庫或複雜計算時,通常需要大量的計算能力和專業知識。
當你處理巨大電路的時,你需要巨量的證明時間,我指的不僅僅是幾分鐘,我指的是不僅僅是幾個小時,而是幾天、幾周,甚至可能是幾個月。
這促使我們引入市場動態,以激勵優化工作---通過將zk-SNARKs作為可買賣的商品,我們鼓勵驗證者和優化者之間的競爭。這種競爭推動zk-SNARK證明的創新和效率改進。我們的目標是創建一個需求優化zk-SNARK證明的生態系統,以促進持續改進。

ZK技術在加密行業的普及、誤用和影響
TechFlow:您能簡要回顧一下零知識證明的研究和發展歷程嗎?從上世紀80年代末數學家們提出概念開始,有哪些限制和挑戰阻礙了它的廣泛應用?
Misha:零知識證明的廣泛應用受到了幾個主要障礙的限制。
在2008年至2010年之前,在出現BFT(拜占庭容錯)數據庫和協議之前,人們已經開始應用零知識證明來證明那些不願公開討論的事物,比如銀行或其他工業領域的認證等。
然而,長時間以來,人們一直沒有辦法證明覆雜的、通用的和圖靈完備的計算。最初的實現採用的是簡單的計算,無法證明覆雜的計算。隨著時間的推移,出現了更先進的證明系統和算術運算,使得可以證明圖靈完備的計算和複雜的組織過程;出現了各種表示形式,如約束系統、特定組織結構和資格站點等,旨在證明覆雜的計算和過程描述以及BFT協議。
不幸的是,該技術被廣泛誤用:人們意識到利用這些證明系統,不僅可以隱藏計算和數據,還可以將大量的計算壓縮成小而簡短的證明。
正如StarkWare的Eli Ben-Sasson所經常談到的那樣,當人們將這些證明系統用於壓縮目的時,就不再需要零知識的特性。
這種誤用導致了一系列應用的出現,例如roll-ups、zk-bridges、zk-mls和zk-oracles等,這些應用排除了與隱私相關的應用,而是專注於利用技術提供的壓縮機制。事實上,在這些應用中,隱私組件可以從證明系統中移除,而不會破壞其功能。
例如,roll-ups可以在沒有隱私組件的情況下運行,因為它們主要利用證明系統來進行數據壓縮。這種大規模的技術誤用卻也導致了該技術在Crypto世界中的廣泛應用。
TechFlow:您提到沒有隱私功能的零知識證明?如何看待這種技術的"部分使用"?
Misha: 儘管可以繞過或省略隱私組件,但隱私仍然是這項技術的固有屬性和優勢。移除隱私方面實際上涉及移除證明系統中的某些操作,如乘法。
這會導致隱私的喪失,但保留了壓縮特性。這種壓縮屬性或許會一直存在,並且是這個行業的承諾方案和計算方式的特徵之一。
TechFlow: 為什麼我們選擇ZK,而不是其他密碼學方法?
Misha: ZK具有最高效的壓縮比率,其他機制無法使壓縮數據達到如此小的規模。此外,沒有其他技術能夠如此輕鬆地驗證壓縮數據。
TechFlow: 如果ZK具有這麼好的效果,那麼zk-Everything是否是區塊鏈的未來狀態?
Misha: 人們已經嘗試將一切都應用零知識技術。有些人甚至嘗試將遊戲引入零知識領域,這相當奇特。
機器學習(ML)算法也已經進行了零知識化。在無信任環境和BFT協議中進行計算仍然昂貴,相對於將計算外包給擁有強大計算機的人而言,更加昂貴。
儘管付出了努力,這些計算仍然是昂貴的。因此,儘管人們會嘗試將一切都零知識化,但他們也會追求在零知識之上進行私密執行,使用全同態加密(FHE),並探索證明系統的其他解決方案。
在我們的網站上,有一些使用案例,我們需要在不公開數據本身的情況下生成私密數據的證明。為此,我們採用了零知識和全同態加密技術的組合。這將成為像橢圓曲線簽名那樣重要且必不可少的技術組件,為系統增加另一層安全性和隱私性。
隱私保護、匿名性與鏈上數據的追溯
TechFlow: Vitalik Buterin最近提出了三個關鍵的轉變,包括通過應用零知識技術來增強擴展性和隱私性。鑑於交易數據和地址通常被視為匿名化,您能詳細說明零知識證明在加強隱私方面的具體作用嗎?
Misha: 在匿名性和偽匿名性之間存在區別。
默認情況下,所有這些數據庫和協議都提供偽匿名性。這意味著雖然您可以追溯和觀察發生的事情,但您不知道參與其中的個人的身份。偽匿名性是默認狀態。
然而,實際的匿名性和隱私性不僅涉及隱藏身份。它還涉及隱藏任何活動的事實,例如轉賬、操作或交易。這涉及的是不僅隱藏參與者的身份,還要隱藏整體活動。
讓我們以Zcash為例,這是一個涉及零知識證明的最著名的例子之一。在Zcash中,數據不是以公開可讀的方式存儲的,而是被加密並以這種方式存儲。
當某人需要修改數據時,他們可以訪問數據、解密數據、進行必要的更改、重新加密數據,然後將其上傳到公共數據庫。
然而,為了確保在這個過程中沒有發生惡意行為,進行更改的人必須提供成功解密和正確加密的證明。他們需要證明自己以有效合規的方式對數據進行了操作。
TechFlow: 隱私保護對鏈上數據分析有什麼影響?
Misha: 首先,這種發展將給鏈上數據分析帶來麻煩,使他們的工作變得困難。
當所有數據都被加密和保護時,他們將不得不四處奔波和搜尋數據。這將像一場數據搜索,讓人想起古老電影中的場景,某人走到另一個人面前詢問是否需要交易數據。
人們將會尋找數據,每次發現一項數據都像在荒野中發現了可以解析和利用的東西。因此,未來將是一個非常有趣的階段,基於隱私保護使得數據沒有那麼易得,因此我們可能將進行數據的交易。
TechFlow: 鏈上隱私保護導致的不可追蹤性是否違背了區塊鏈可溯源的意識形態?
Misha: 當涉及到隱私應用及其出現時,情況有些複雜。對於你的問題,我覺得有時候答案是肯定的,有時候不是。
一切都必須是公開和可追蹤的這個想法並不是區塊鏈核心理念。
我認為,加密行業起源於金融密碼學,旨在消除信任假設,而不是使一切都可追蹤和公開可讀。其目的是減少對代碼的信任需求並克服這一問題。在這一發展中,隱私應用不會改變其核心目的。
信任假設仍將被消除,但過去看來至關重要的可追溯性,未來我們認為它可能沒有那麼必要。加密行業並不是為了可追溯性和公開性而被髮明的,而是為了消除信任假設而存在 --- 即你可以在信任條件極為苛刻的情況下,通過加密技術和手段,達到對某種事情的共識。
ZK應用面臨的挑戰
TechFlow: 在ZK應用中存在哪些挑戰?比如說通過零知識證明來實現區塊鏈真匿名需要多久的時間?
Misha: 這可能需要3-5年的時間,因為我們需要解決對抗缺陷的問題。具體來說,ZK技術的效率問題是我們目前面臨的主要挑戰。
以這種方式進行的任何計算,都會比原生計算慢。
然而,減少這種開銷是我們必須優先考慮的事項。我們正在改進編譯器,同時也關注需求方,提供像私密版Facebook這樣的數據管理解決方案,確保同時具備高效性。因此,效率問題是我們需要解決的首要問題。
其次是如何妥善應對對隱私需求日益增長的問題。隨著因缺乏隱私而引起的問題越來越多,對我們這樣的解決方案的需求將增加,加快我們研發的進程。
目前,人們由於缺乏隱私而面臨各種問題和陷阱。這些問題越多,這個進程就會越快推進。
但由於上述效率問題,開發和利用這些解決方案是具有挑戰性的,而且其中一些技術仍處於實驗階段,尚未離開實驗室。因此,這是一個需要謹慎開發的高度實驗性領域。
Nil的路線圖
TechFlow: 當前ZK所面臨的挑戰如何體現在Nil基金會的路線圖上?
Misha: 我可以肯定地說,在未來幾年內,Nil不會做那種私密且不可追蹤的東西。
我們希望使數據管理在這個行業中變得恰當。因此,對於那些需要訪問和處理數據的人來說,他們不必使用複雜的技術或支付鉅額費用來處理瑣碎的複雜問題。
我們的目標是使其更便宜、更快速、更便捷。這就是為什麼我們肯定會有一個運行中的數據庫管理系統。我們肯定會展現出色,並且不會有信任假設。它肯定會是安全的。我們渴望成為行業中最安全的選擇。
結尾
在對話進行時,Misha正在塞浦路斯,也是他們公司的所在地。當我問Misha“你好嗎?”時,他露出了一個聳肩的囧表情,說:“就這樣。”這非常真實和可愛!
Misha是我所認識的最有表現力和聰明的技術創始人之一。他幽默直接,與人相處時確實非常隨和。我很感激Misha耐心地回答我所有的問題,包括那些看起來幼稚和初級的問題。
對沒有技術基礎的讀者來說,如果好奇到底零知識證明裡的電路是什麼、具體為什麼要編譯器?如果不需要編譯器,傳統的製造電路方式是什麼?關於這些問題的回答,以及具體零知識證明的應用場景,詳見以下附加閱讀。
附加閱讀:零知識證明的背景知識
TechFlow: 電路編譯器是如何工作的?為什麼我們需要它?
Misha: 要證明特定的計算,就需要電路。人們採用了幾種不同的方法。
有些人為不同類型的zkEVM手動創建自己的電路。然後在自己的數據庫或系統集群(如roll-ups)中使用這些電路,將zkEVM作為執行環境;同樣,在我們的數據庫管理系統中,需要一個執行層來處理數據。這遵循類似於MySQL的傳統數據庫中的架構,其中有一個執行層或虛擬機。
目標是透明地證明數據上的計算,減少信任假設並避免黑盒方法。為了實現這一目標,個人可以構建額外的zkEVM,或者將代碼進行編譯並獲得所需的電路。通過這樣做,他們可以證明自己的數據或來自其他來源的數據上的計算。
構建zkEVM可能需要幾年的時間,結果會產生複雜的電路,即使像Vitalik也認為存在電路安全問題。
與在接下來的十年裡花費大量資金進行審計或努力理解複雜電路不同,更有效的做法是從原始EVM代碼或其他來源編譯電路以生成電路。我們在升級狀態證明和共識證明電路的過程中也面臨著同樣的問題。我們花了大約一年的時間來完成它,當完成時,我們意識到了它的重要性,儘管並不是每個人都完全理解從開始到結束的整個過程。為了避免這種情況的發生,我們建立了這個編譯器。
這種方法消除了安全問題和處理大型電路的複雜性。
TechFlow:電路的含義是什麼?
Misha: 電路用於定義被證明的計算。每個特定的應用都需要自己的電路。在zkEVM的情況下,它們通常對所有計算使用一個電路,這是可以接受的,但效率不高。
此外,這些電路往往龐大而難以理解,難以發現任何安全問題或漏洞。如果一個受歡迎的roll-up(如Polygon、zkSync或Starkware)使用的電路存在漏洞被利用,可能會導致整個行業的災難,考慮到這些數據庫的大量流動性和依賴性。
為了降低這種風險,我們的網站提供了一個編譯器,可以從可讀、易懂、可移植和透明的代碼生成電路。這確保電路不僅依賴於難以核查或分析的不透明構造。
此外,不同的服務(如ZKML、ZK Oracle、ZK Bridge以及各種共識證明和狀態證明)需要不同的電路。為了提高效率並避免為所有計算手動創建統一的電路,我們的編譯器允許生成針對每個特定服務量身定製的專用電路。這簡化了過程,並確保在證明所需計算時提高效率。
通過提供一個從可讀代碼生成電路的編譯器,並能夠為不同的服務生成專用電路,我們的目標是增強透明度,防止行業範圍的災難,並提高計算的整體效率。
TechFlow: 電路是如何工作的?
Misha: 本質上,所有電路都是經過優化步驟的程序表示,產生了有限域上的多項式佈局。
例如,計算 "a + b" 的簡單多項式表示看起來像 "a + b = 0",其中包含替代數據和係數。然後,您有變量,它們用係數替代,您替換相應的數據。這個過程遵循傳統的優化方法。
隨著程序變得更加複雜,電路或多項式集合的數量會增加,這些電路或多項式表示通過這些多項式來表達。因此,電路本質上看起來像是一個由多項式組成的集合,這些多項式在無限域上進行各種操作,具體取決於要證明的計算。
總體而言,目標是通過代碼編譯電路,並將計算表示為一組多項式,以確保透明性並降低複雜性。
TechFlow: 您提到的zkLLVM,如何運用到去中心化GPU市場?
Misha: 關於這個話題,有些情況下,人們使用分散GPU計算的概念來進行機器學習。如果他們需要證明某些計算已經執行,使用基於ZK的方法將對他們有益。
例如,這可能適用於我們網站的ZKML使用案例。當個人利用分散GPU計算進行機器學習,並且需要提供計算的證明時,他們很可能可以訪問代表計算的代碼。
該代碼將在他們的雲平臺上可用。如果代碼可以編譯成zkLLVM,例如CUDO、OpenCL或CPP,甚至如果有人用Rust編寫了GPU代碼,將給定的代碼編譯為LLVM並生成所需的證明就成為可能。這種集成似乎很直接,而且確實是個好主意。
Techflow: ZK相關技術是否也可以在DeFi量化交易中使用?
Misha: 加密模糊化將是交易上追求的目標,以隱藏執行的算法,特別對從不公開其交易策略的大型交易員來說非常有用。
為了在分散和無信任的環境中運行這些策略,他們將需要加密模糊化來隱藏其算法,同時確保算法的完整性。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














