極客Web3與Scroll 的共同創辦人張燁,來解答關於 Scroll 和 zkEVM 的諸多問題。期間雙方不但談到了很多技術話題,還談到了 Scroll 的一些趣事,以及其賦能亞非拉實體經濟的巨集大願景,本文是此次訪談的文字版記錄。
(前情提要: 以太坊聚合 L3 zkEVM 網路「zkLink Nova」 TVL 突破10億美元)
(背景補充: zkLink深度解密:如何在多鏈世界中統一流動性?)
6 月 17 日,極客 Web3 和 BTCEden 在 Scroll 的 DevRel——Vincent Jin 的幫助下,有幸邀請到了 Scroll 的聯創張燁,來解答關於 Scroll 和 zkEVM 的諸多問題。
期間雙方不但談到了很多技術話題,還談到了 Scroll 的一些趣事,以及其賦能亞非拉實體經濟的巨集大願景。本文是此次訪談的文字版記錄,超過 1 萬字,共包含至少 15 個話題:
ZK 在傳統領域的應用空間
zkEVM 和 zkVM 在工程難度上的差異
Scroll 在實現 zkEVM 過程中遇到的難題
Scroll 對 Zcash 的 halo2 證明系統作出的改進
Scroll 是怎麼和以太坊 PSE 小組展開合作的
在程式碼審計層面 Scroll 如何確保自己的電路安全可靠
Scroll 對未來的新版 zkEVM 及證明系統的簡單規劃
Scroll 的 Multi Prover 設計以及其 Prover 生成網路(zk 礦池)的搭建方式等。
除此之外,張燁老師在最後談到了 Scroll 將紮根在非洲、土耳其、東南亞等金融系統落後地區,打算為該地區人民創造實體經濟場景以 「脫虛入實」 的巨集大願景。本文可能是讓更多人更好理解 Scroll 的絕佳資料之一,推薦大家仔細閱讀。
1. Faust: 請問張燁老師對於 ZK 在 Rollup 之外的應用怎麼看?不少人習以為常地認為,ZK 的主要用處在混幣器、隱私轉帳或 ZK Rollup 和 ZK 橋這些地方,但在 Web3 之外,比如傳統行業裡對 ZK 的應用還是很多的。您覺得未來 ZK 最有可能在哪些方向上被採用?
YeZhang:這是一個好問題,傳統行業裡做 ZK 的人,在五、六年前就在探索 ZK 的各種場景,區塊鏈中用到 ZK 的場景其實非常小,這也是為什麼 Vitalik 覺得十年後,ZK 的場景會和 blockchain 一樣大。
我覺得在那些需要信任假設的場景中,ZK 會有很多用武之地。假設你現在需要處理一些繁重的計算任務,如果你在 AWS 上租伺服器,執行自己的任務並得到結果,相當於你在自己控制的裝置上做計算,然後你要支付租伺服器的錢,但這筆錢往往並不便宜;
但如果我們搞計算外包的模式,很多人可以用自己閒置的裝置或資源分擔你的計算任務,你付出的成本可能比自己租伺服器更便宜。但這裡存在信任問題,你不知道別人返回給你的計算結果是否正確。現在假設說你在做一個很麻煩的計算,然後你把計算交給我來做,再給我錢。我過了半小時後隨便交給你一個結果,你也沒有辦法相信這個結果是有效的,因為我可以隨便編個結果。
但如果我能向你證明,交付的這個計算結果是對的,那你就可以放心了,並且也敢把更多計算任務外包給我來做。ZK 可以把很多不可信的資料來源變為可信的,這個功能非常強,通過 ZK,你可以把不可信但很便宜的第三方計算資源更高效的運用起來。
我覺得這個場景非常有意義,可以催生類似於外包計算的商業模式。在一些學術文獻裡,稱其為可信計算(verifiable computation),就是把一個計算變得值得信任。除此之外,ZK 可以應用到資料庫領域,假設在本地執行資料庫太貴了,你決定走外包的路子,恰好一個人有富餘的資料庫資源,然後你把資料儲存在他那邊。你會擔心對方更改你託管在他那的資料,或者說你一個 SQL query 後得到的結果對不對?
對此,你可以讓對方生成一個 proof,如果這件事能做到,你可以把資料儲存也外包出去,並得到一個 trustworthy 的結果。這和前面的可信計算彼此都是一大類應用場景。
此外還有很多應用例項,我記得有篇論文講了 Verifiable ASIC,在生產晶片的時候,可以把 ZK 演算法寫到你的晶片上,當你用晶片執行程式的時候,產生的結果預設會帶一個 Proof。這樣一來我覺得很多東西都能代理給任何一臺裝置,生成可信的結果。
還有一個有點扯的東西,叫 Photo Proof 照片證明。比如說很多圖片,你不知道是不是 P 過的,但我們可以通過 ZK 去證明相片沒有被篡改過,比如可以在相機軟體中加一些設定,自動生成一些數位簽名,你拍完照片後,這個簽名相當於給照片蓋了章。如果有人把你拍的照片拿去 PS,搞 「二次創作」,我們驗證下簽名就能識別出圖片是被改動過的。
這裡面我們可以引入 ZK,當你對原圖進行了些許改動後,你可以用 ZK Proof 向別人證明自己只是對照片做了旋轉、平移等簡單操作,並沒有篡改照片的原始內容,證明自己微調後的圖片和原版圖片基本一樣,也就是證明自己沒有篡改圖片的核心內容搞 「二次創作」。
這個場景還可以拓展到視訊音訊上,通過 ZK,你不必告訴對方自己對原版視訊做了哪些改動,但可以證明自己沒有篡改原版的核心內容,證明自己只做了一些無傷大雅的調整。此外還有很多有意思的應用,都是 ZK 能插一腳的。
目前,我覺得 ZK 的應用場景還沒有被廣泛接納的原因,在於其成本太高,現有的 ZK 證明生成方案,還不能做到對任意計算都即時生成證明,因為 ZK 的開銷一般是原始計算的 100 倍到 1000 倍,當然我說的數位已經是壓的比較低的了。
所以你想像一下,一個計算任務本來要算 1 小時,你現在給它生成個 ZK Proof,Overhead 可能是 100 倍,也就是要花 100 個小時來生成證明,雖然你可以用 GPU 或 ASIC 把這個耗時給縮短,但還是要付出巨大的計算開銷,如果你要求我算一個很麻煩的東西,還要求我為此生成 ZK Proof,我可以拒絕這麼做,因為這要額外耗費 100 倍的計算資源,最後落實到經濟帳上就很不划算。所以對於一對一的場景來說,生成一次性的 ZK 證明很昂貴。
不過,這也是為什麼對於 Blockchain 來說,非常適合用 ZK,原因是區塊鏈做的是冗餘計算,有很多 1 對多的場景。區塊鏈網路中不同節點做的是相同的計算任務,如果有 1 萬個節點,那麼相同的任務要被執行 1 萬次。但如果你在鏈下完成任務,生成 ZK 證明,1 萬個節點只驗證 ZK 證明而不重跑任務,就不必再把原始計算重放 1 萬遍了,相當於你用自己 1 個人的計算成本,和 1 萬臺節點搞冗餘計算的成本做了置換,從整體的角度看,可以讓更多人節約資源。
所以,其實鏈越去中心化越適合搭配 ZK,因為任何人都能近乎零成本的驗證 ZKP,我們只要在初始生成證明的時候付出一定成本,就可以換來對大多數人的解放,這就是為什麼區塊鏈的公開可驗證性非常適合 ZK,因為區塊鏈裡有很多 1 對多的場景。
還有一個上面沒提到的點。現在區塊鏈領域用到的 Overhead 比較大的這種 ZK 證明,都是非互動式的,就是你給我一個東西,我給你證明,然後就結束,因為在區塊鏈中,你不可能反覆的去跟鏈上互動。但有一種更高效、開銷更低的證明生成方式,也就是互動式證明。比如說,你給我發一個 Challenge,我給你發一個東西,你再給我發一個東西,我再給你發一個,通過這種雙方多次互動的方式,有可能把 ZK 的計算量級再降低下來。如果這種方式可以,就有可能解決大的 ZK 應用場景的證明生成問題。
Nickqiao:如何看待 zkML,也就是 ZK 和機器學習相結合的發展前景?
YeZhang:zkML 也是一個很有趣的方向,能把 Machine Learning 給 ZK 化,但我覺得這方面還是缺乏殺手級的應用場景。大家普遍認為隨著 ZK 系統的效能提升,未來能夠支援 ML 這個級別的應用,目前 zkML 的效率能夠支援 gpt2 這種級別的應用,在技術上能做到,但只能做 ML 中的推理。歸根結底,我覺得大家還是在摸索這塊的應用場景,也就是到底什麼樣的東西才需要你證明其推理過程是對的,這個事情是挺刁鑽的。
2.Nickqiao: 想請教下張燁老師,zkEVM 和 zkVM 在工程實現難度上的差異具體有多大?
YeZhang:首先,無論是 zkEVM 還是 zkVM,本質都是為某個虛擬機器的操作碼 / 指令集生成訂製的 ZK 電路,而 zkEVM 的工程落地難度取決於你實現它的方式,在我們剛啟動專案時,因為 ZK 的效率還沒那麼高,通過為 EVM 的每個操作碼都寫一個對應的電路,然後把電路組合起來,訂製一個 zkEVM 是最高效的方式
但這種方案的工程實現難度肯定很大,比 zkVM 大很多,畢竟 EVM 的指令集有超過 100 個操作碼,每個操作碼都要訂製一套東西,然後組合起來,一旦有 EIP 為 EVM 增添新的操作碼,比如 EIP-4844,zkEVM 都要相應的加新東西。最後你要寫很長的電路並進行漫長的審計工作,所以開發難度和工作量要比 zkVM 大很多很多。
反之,zkVM 是自己定義了一套指令集 / 操作碼,它自定義的指令集可以做的很簡單,可以很 ZK friendly,你做出來一套 zkVM 後,不必頻繁的更改底層程式碼,就能支援各種升級和預編譯。所以 zkVM 的主要工作量和後續升級維護的難度,就放在了編譯器也就是把智慧合約轉化為 zkVM 操作碼的那一步,這和 zkEVM 有很大不同。
所以,從工程難度來看,我覺得 zkVM 要比訂製化的 zkEVM 更容易實現,但是如果要在 zkVM 上跑 EVM 的話,總體效能比訂製化的 zkEVM 低很多,因為後者是專門訂製的。但目前,Prover 生成證明的效率在過去兩年間有了至少 3~5 倍甚至 5~10 倍的飛躍,zkVM 的效率在隨之提升,現在用 zkVM 去跑 EVM,整體效率已經慢慢提上來了,未來 zkVM 在效能上的劣勢可能被它易於開發維護的優勢給掩蓋住。畢竟對於 zkVM 和 zkEVM 而言,除去效能外的最大瓶頸就在開發難度上,必須要有一個非常強大的工程團隊,才能維護好這樣一套複雜的系統。
3.Nickqiao: 能否講一下 Scroll 在 zkEVM 落地的過程中,是否遇到一些技術難題,又是怎麼解決的?
YeZhang:一路走來的話,最大的挑戰還是在於,最初啟動專案時的不確定性太大。我們剛啟動專案時,基本沒有其他人做 zkEVM,我們是最早探索 zkEVM 從不可能變成可能的一個團隊。在理論層面,專案剛開始的 6 個月就基本確定了一套可行的框架,而在後續實現的過程中,zkEVM 的工程量非常大,還有一些非常技術性的挑戰,比如說你怎麼動態的支援不同的 Pre-Compile(預編譯),怎麼去更高效地聚合操作碼(opcode),這涉及到很多工程上的難題。
而且我們是唯一一個,也是最早支援 EC Pairing 橢圓曲線配對這個 Pre-Compile 的,像 Pairing 這種電路實現起來難度非常大,涉及到很多數學等錯綜複雜的難題,對寫電路的人的密碼學 / 數學功底,以及工程能力要求都很高。
然後在後期發展上,還要考慮技術棧的長期可維護性,以及要在什麼樣的時間節點,升級到下一代的 zkEVM 2.0。我們有一個專門的研究團隊,一直在研究此類方案,比如通過 zkVM 的方式來支援 EVM,我們也有相關的論文去做這方面的一些討論。
總結下來,我覺得之前的難點在於把 zkEVM 從不可能變為可能,面臨的難題主要在工程落地和優化上。而下一階段,更大的難點是在什麼時候、通過什麼樣的具體方式,切換到一個更高效的 ZK 證明系統,以及我們怎麼把目前的這套程式碼庫過渡到下一代 zkEVM 身上,以及下一代的 zkEVM 能給我們提供什麼樣的新 Feature,這裡面有大的探索空間。
4.Nickqiao: 聽起來是 Scroll 已經考慮切換到別的 ZK 證明系統上了。據我瞭解,目前 Scroll 用的是基於 PLONK+Lookup 的一套演算法,那麼這套演算法在目前是否是最適合實現 zkEVM 的,以及未來 Scroll 打算換用什麼證明系統?
YeZhang: 首先我來簡單回答下關於 PLONK 和 Lookup 的問題,目前這一套還是最適合實現 zkEVM 或者 zkVM 的系統,大部分的實現跟具體的 PLONK 和 Lookup 是繫結的。一般提到 PLONK 時,其實更多是用 PLONK 的 arithmetization,也就是電路的算術化表達方式去寫 zkVM 的電路。
Lookup 是寫電路時用到的一種方式,一種約束型別。所以當我們提到 PLONK + Lookup,指的是在寫 zkEVM 或 zkVM 電路時,使用 PLONK 的約束格式,這種方式目前是最常見的。
而在後端方面,PLONK 和 STARK 的界限已經變得模糊,它們只是用了不同的多項式承諾方式,但其實很類似。即使採用 STARK + Lookup 的組合,跟 PLONK + Lookup 也是類似的,大家看的只是演算法,兩者的差別主要體現在 Prover 的效率、證明大小等方面。當然,就前端而言,Plonk + Lookup 來實現 zkEVM 還是最適合的。
關於第二個問題,就是 Scroll 未來打算切換到什麼證明系統。因為 Scroll 的目的是永遠讓自己的技術和鏈的框架保持在 zk 領域裡最頂尖的位置,所以我們肯定會用最新的一些技術。我們一直以安全性、穩定性作為最優先的目標,所以不會過於激進地切換自己的 ZK 證明系統,可能先通過一些 Multi Prover 做過渡,一步一步的摸索遞進,來完成下一版的升級迭代。Anyway,要保證說這是一個平穩的過渡流程。
但就現在來說,切換到新的證明系統還很早,這其實是下一階段比如未來 6 個月到 1 年的發展方向。
5.Nickqiao: Scroll 在當前基於 PLONK 和 Lookup 的證明系統上,有沒有一些獨特的創新?
YeZhang: 目前在 Scroll 主網上執行的是 halo2,halo2 最早源於 Zcash 這個專案團隊,他們最早做了一個能支援 Lookup,支援靈活地寫電路格式的一套後端系統。然後,我們和以太坊的 PSE 小組一起改造了 halo2,把它採用的多項式承諾方案從 IPA 換到了 KZG,把 Proof Size 變小了,從而能在以太坊上更高效的驗證 ZK Proof。
然後我們在 GPU 硬體加速上做了很多工作,跟用 CPU 生成 ZKP 來對比的話,能讓 ZKP 生成速度快 5~10 倍。總體來說,我們把原版 halo2 的多項式承諾方案替換成了更易於被驗證的版本,並做了很多關於 Prover 的優化,在工程化落地上下了不少功夫。
6.Nickqiao: 所以 Scroll 現在是和以太坊 PSE 團隊共同維護 KZG 版本的 halo2。您能否給我們講一下,你們是怎樣和 PSE 團隊合作的?
YeZhang:Scroll 在啟動專案前,我們本來就認識一些 PSE 團隊的工程師,我們就有和他們聊,說自己想做 zkEVM,我們估計了一下這個效率是 ok 的。剛好在同一個時間節點,他們也想做同樣的事,然後大家一拍即合。
所以,我們是從以太坊社群,從 Ethereum Research 那邊認識了一起想做 zkEVM 的人,大家都想把 zkEVM 產品化落地,都有為以太坊服務的想法,所以很自然地開始了開源合作的模式。這種合作方式更像開源社群,而不是商業化的公司,比如我們每週都會通一次電話,同步一下進度,討論遇到了哪些問題。
我們以這種方式去開源地維護了這套程式碼,從改進 halo2 到實現 zkEVM,這中間有很多探索的過程,我們相互會幫忙 Review 程式碼。你從 Github 的程式碼貢獻量能看出來,PSE 他們寫了一半,Scroll 這邊寫了一半,後續我們完成了程式碼的審計,並實現了一版真正產品化落地並在主網上執行著的程式碼。總結下來,我們和以太坊 PSE 的合作模式,更像是一個開源社群的路徑,是自發的形式。
7.Nickqiao: 您剛才提到,要編寫 zkEVM 的電路,對數學和密碼學的要求非常高,既然如此,能摸清楚 zkEVM 的人估計很少。那麼 Scroll 怎麼保證電路編寫的正確性以及少出 bug?
YeZhang:因為我們是開源的程式碼,基本上每一個 PR 都會有我們的人和以太坊的一些人,以及一些社群成員去 Review,有比較嚴格的審計過程。同時我們在電路審計方面也花了很多錢,超過 100 萬美元,找了這個行業裡最專業的密碼學和電路審計機構,比如 Trail of Bits,Zellic 等。我們鏈上智慧合約的部分也找了 openzepplin 來審計,基本上所有和安全相關的東西都動用了最高檔的審計資源。我們內部還有專門的安全團隊去做測試,持續提升 Scroll 的安全性。
Nickqiao: 除了這種審計方式,有沒有形式化驗證等在數學上比較嚴謹的方式?
YeZhang:我們其實很早就看過就 Formal Verification(形式化驗證)這個方向,包括以太坊最近也在思考,怎麼給 zkEVM 做形式化驗證,這其實是一個很好的方向。但就目前來說,要給 zkEVM 做完整的形式化驗證還比較早,只能從一些小的模組開始摸索,因為 Formal Verification 執行是有成本的,比如你要給一套程式碼去執行 Formal Verification,你要給它先寫一個 spec,但寫 spec 並不容易,這套東西要完善需要很長時間。
所以我覺得目前還沒有到給 zkEVM 做完整的形式化驗證的階段,但我們會持續的跟以太坊在內的外部合作者去積極探索怎麼做 zkEVM 的形式化證明。
目前來說,最好的方式其實還是人工審計,因為你就算有了 spec,有了 Formal Verification,如果 spec 寫錯了,那你還是會出問題。所以我覺得,目前最好還是先通過人工審計,然後通過開源和漏洞懸賞的方式,確保目前 Scroll 程式碼的穩定性。
但是,在下一代 zkEVM 中,關於怎麼去做形式化驗證,怎麼去設計一個更好的 zkEVM 進而更容易的寫出來 spec,通過形式化驗證的方式去證明它的安全性,是以太坊的終極目標。就是說,當一個 zkEVM 被形式化驗證以後,他們就可以徹底放心地將其實施到以太坊主網上。
8.Nickqiao: 關於 Scroll 採用的 halo2,如果要支援 STARK 等新的證明系統,開發成本會不會很大。能否實現一種外掛化的體系,同時支援多個證明系統?
YeZhang: halo2 是一個非常模組化的 ZK 證明系統,你可以替換它的域、多項式承諾等,只要把它用的多項式承諾從 KZG 換成 FRI,基本就可以實現一個 halo2 版本的 STARK,這個事也確實有人做了,所以 halo2 要支援 STARK,這種相容是完全 ok 的。
然後在實際落地中會發現,如果你要追求極致效率的話,越模組化的框架越可能導致一些效率問題,因為你為了模組化犧牲了訂製化的程度,會有付出一些代價。我們在持續關注一個問題,就是未來的發展方向該是模組化的框架,還是非常訂製化的框架,尤其像我們有足夠強的 ZK 開發團隊,可以維護一個獨立的證明體系,然後讓 zkEVM 變得更高效。當然上述問題需要做出一些權衡,但就 halo2 而言,它可以支援 FRI。
9.Nickqiao: 目前 Scroll 在 ZK 方面主要的迭代方向是什麼?是優化目前的演算法、增加一些新的 feature 之類的?
YeZhang:我們的工程團隊核心在做的事情,還是要把目前的 Prover 效能再提升一倍,然後 EVM 相容性也要做到最好。在下一版升級中,我們會繼續保持自己在 ZK Rollup 裡最 EVM 相容的這樣一個位置,現在其他所有的 zkEVM 應該都沒有我們的相容性好。
所以這是 Scroll 工程團隊一方面在做的,就是繼續優化 Prover 和 Compatibility,並且要降低費用。我們現在已經投入了很多人力,去研究下一代 zkEVM,大概投入了一半的工程力量,以實現分鐘級甚至秒級的 ZK 證明生成,讓 Prover 的效率變得高起來。
同時,我們在探索新的 zkEVM 執行層,我們的節點之前用的是 go-ethereum,但現在有效能更好的 Rust 版本以太坊客戶端 Reth。所以我們在研究,怎麼把下一代 zkEVM 跟 Reth 客戶端更好地結合,把整個鏈的效能給提升上來。我們會考察 zkEVM 如果圍繞著新的執行層,該用什麼樣的實現方式和過渡形式最好。
10.Nickqiao: 那麼像 Scroll 在考慮支援的多樣化證明系統,有沒有必要在鏈上實現多個 Verifier 合約呢?比如做交叉驗證
YeZhang:我覺得這是兩個問題,首先就是說,有沒有必要去做模組化的證明系統和多樣化的 Prover,我覺得這麼做是有意義的,因為我們從始至終,就是開源專案。你把開源出去的這套框架做的越通用化,會吸引來越多人幫你造輪子,你的社群也會因此壯大,後面在專案開發或者工具使用上,可以自然而然的引用外部力量。所以我覺得,如果能做一個不光給 Scroll 自己使用,還能給其他人用的 ZK 證明框架很有意義。
然後第二個事情,就是在主網上做交叉驗證這個事,這其實和證明系統本身是否是多樣化的,是否支援 STARK 或 PLONK 是正交的話題。一般很少有專案把同樣的 zkEVM 用 PLONK 驗證一遍,再用 STARK 驗證一遍,這是很少的,因為這麼做對安全性的提升不大,反而會讓 Prover 付出更高成本,所以一般不會出現這種交叉驗證的情況。
我們其實在做一個東西叫 Multi Prover,可以有兩套 Prover 一起證明相同的一個 Block,但是會在鏈下把兩個 Proof 聚合到一起再放到鏈上去驗證。所以,並不會在鏈上做 STARK 和 SNARK 之間的交叉驗證。我們的多 Prover 方案,是為了保證在其中一套 Prover 的程式碼出問題時,另一套程式碼可以兜底,一套系統出了 bug 另一套能照常執行,所以這和交叉驗證是另一個話題。
11.Nickqiao: Scroll 的 Multi Prover,每個 Prover 執行的證明程式會有什麼不同?
YeZhang:首先,假設我有一個正常的、用 halo2 寫的一套 zkEVM,有一個正常的 Prover 生成 ZKP 再去鏈上做驗證,但這裡有個問題,zkEVM 很複雜,有可能出現 bug。如果出現 bug,比如被駭客或者專案方拿去利用這個 bug 生成一個 Proof,最後能把大家的錢提走,這肯定是不好的。
Multi Prover 的核心思想,其實是 Vitalik 最初在 Bogota 活動上第一次提出的。意思是說,如果一個 zkEVM 可能出現 bug,那你可以同時跑不同種類的 Prover,比如說可以用 TEE 的基於 SGX 的 Prover(Scroll 目前用了這套),或是基於 OP,或用 zkVM 執行 EVM 的方式去跑一個 Prover。Anyway,這些 Prover 要同時去證明一個 L2 Block 的有效性。
假設有 3 個不同型別的 Prover,當且僅當它們生成的 3 個不同 Proof 都通過驗證,或者說 3 個 Proof 中至少 2 個通過驗證時,你才能在以太坊鏈上敲定 Layer2 的最終狀態。Multi Prover 可以保證在一個 Prover 出問題時,其他兩個 Prover 能夠頂替,最後整個 Prover 系統的穩定性會很好,使 ZK Rollup 的安全性得到提升。當然這也會引入其他缺點,比如 Prover 的整體執行成本會提高,我們有一篇專門的 Blog 介紹了這些概念。
12.Nickqiao: 那現在關於 Scroll 的 ZK 證明生成這塊,其證明生成網路(ZK 礦池)是怎麼建設的,是自建的,還是會把一些計算外包給如 Cysic 的第三方?
YeZhang:就我們目前來說,整個設計其實很容易,我們想讓更多的 GPU 持有者或者礦工參與進我們的這個證明網路(ZK 礦池)裡,但目前來說,Scroll 的 Prover Market 還是我們自己運營的,我們會和第三方的一些有 GPU 叢集的人合作,他們去執行 Prover,但這是為了主網的穩定性,因為你的 Prover 一旦去中心化後,會有很多問題。
比如說,你的激勵機制設計不好的話,如果沒有人給你產生 Proof,網路會在效能上受到影響。前期我們選擇了相對中心化的方式,但是整個介面和框架的設計,非常容易切換到去中心化的模式。人們完全可以用我們的技術框架做一個去中心化的 Prover 網路,再加一些激勵就行了。
但目前來說,為了 Scroll 的穩定性,我們的 Prover 生成網路還是中心化的,未來我們會更大範圍的把 Prover 網路給去中心化,每個人都可以去執行自己的 Prover 節點,包括我們也在跟諸如 Cysic,Snarkify network 等等第三方平臺合作,看一下如果有人想通過我們的技術棧去啟動自己的 Layer2,可以去接到第三方的 Prover Market 裡去直接呼叫對方的 Prover 服務。
13.Nickqiao: Scroll 在 ZK 硬體加速方面有沒有什麼投入或者產出成果?
YeZhang:這其實就是我之前提到的,Scroll 最初做的兩大方向,第一個就是把 zkEVM 從不可能變成可能,第二個就是我們為什麼能把它從不可能變成可能,是因為 ZK 硬體加速的效率提升了。
我其實在做 Scroll 之前的 3 年,就開始做 ZK 硬體加速方面的工作,我們也有關於 ASIC 或是 GPU 硬體加速的論文。我們對 zk 硬體這塊非常瞭解,無論從晶片還是從 GPU,無論是從學術還是從實踐上,都有非常強的 Credibility。
但是 Scroll 自己會專注於 GPU 方面的硬體加速,因為我們沒有專門做 FPGA 或是做硬體的資源,也沒有流片的專門經驗。所以我們會選擇跟 Cysic 這類硬體公司合作,他們去專門做硬體這塊,我們就關注 GPU 加速這樣一個偏軟體的領域。我們自己的團隊會 GPU 硬體加速做優化,然後將成果開源,外部的合作伙伴可以去做專門的如 ASIC 等晶片,我們也會經常的討論交流一下彼此遇到的問題。
14.Nickqiao: 您剛才提到,Scroll 未來會切換到其他的證明系統。那像一些新的證明系統,比如說 Nova 或其他的一些演算法,您能不能給我們科普一下?他們有什麼優點?
YeZhang:對。我們目前正在內部探索的一種方向,是使用更小的域,能跟我們目前的這些證明系統結合,比如說像 PLONKy3 這樣的一些庫,它可以很快的實現小域上的一些運算。這是一個 Option,怎麼能從我們原來的大域切換到小域,這是一種。
我們內部也在看一些方向,比如一個叫 GKR 的證明系統,它生成證明的耗時是線性級別的,在複雜度上面比其他的 Prover 要低很多,但目前沒有特別成熟的工程落地方式。這塊要做的話,要投入更多的人力物力。
但 GKR 的好處是,在處理重複計算時效率很高,比如說一個簽名計算了 1000 次,GKR 可以很高效的給這樣的東西生成證明。ZK 橋 Polyhedra 就是用 GKR 去證明簽名的,效率很高。然後,EVM 有很多重複的計算步驟,可以通過 GKR 更好的把生成 ZK 證明的成本降低下來。
然後還有一些好處,就是說 GKR 這套證明系統,它需要的計算量確實要比其他系統小很多。比如說,你通過像 PLONK 或 STARK 這樣的方式,去證明一個 keccak hash函式的計算流程,你需要把中間所有的變數、keccak 整個計算過程中產生的所有東西,全部 Commit 一遍、全部算一遍。
但是 GKR 的話,你只需要 Commit 它很短的輸入那一層,它可以把中間的這些引數全部通過傳遞關係給表示出來,不需要你去 Commit 中間的這些變數,會讓計算成本降低很多。GKR 背後的這個 sum check 協議,也被 Jolt 或者 Lookup argument 或比較火的一些新框架所採用,所以這個方向是比較有潛力的,我們也在認真研究這個方向。
最後就是你提到的 Nova。感覺 Nova 在幾個月前大火了一陣,因為 Nova 也比較適合處理這種重複計算,比如你本來要證明 100 個任務,對此的 overhead 是 100。但 Nova 的做法是,我可以把這 100 待證明的任務一個疊一個,一個疊一個,每兩個隨機進行線性組合,最後組合出來一個最終要證明的東西,然後只要證明最終這個任務,就可以證明前面那 100 個任務都有效,這樣的話可以把原本為 100 的證明 overhead 大幅壓縮。
然後,後續的一些 Hyper Nova 之類的工作,可以把 Nova 擴展套件到除了 R1CS 以外的一些證明系統,一些其他的寫電路的格式,可以支援 lookup 或是別的東西,這樣才能讓一個 VM 更好的被 Nova 這類 ZK 證明系統給證明。但目前來說,Nova 和 GKR 的產品化完善程度不夠,目前市面上沒有很好的關於 Nova 的高效的庫。
並且因為 Nova 是這種摺疊的方式,它的設計思路和其他的證明系統不太一樣。我覺得它還很不成熟,只是一個比較有潛力的備選方案。但目前來看,從 Production Ready 的角度來說,還是最常見的那幾套 ZK 證明系統更早被投入市場,但長期來看說不好說哪個最好。
15.Faust: 最後想聊一下價值觀的問題。記得您去年說去了一趟非洲後,覺得區塊鏈最有可能在非洲這種經濟落後的地方被大規模採用,可以談談這方面的想法麼?
YeZhang:我其實一直有一個非常強的信念,就是區塊鏈在經濟落後的國家真的有應用空間。其實你現在看到,區塊鏈這個行業裡各種 Scam 比較多,讓很多人對行業的信心都動搖了,就是為什麼要在一個沒有實際價值的行業裡工作,區塊鏈這個東西到底有沒有用。除了炒幣或者說賭博行為外,有沒有一些更實際的應用場景?
我覺得去一些經濟落後的地方,尤其像非洲,你更能感受到區塊鏈的潛力。因為在中國或西方國家生活的人,其貨幣體系、金融體系非常健全,比如中國人民用微信和支付寶就很開心,人民幣也相對穩定,你沒有必要通過區塊鏈的方式去做支付。
但在像非洲這樣的地方,他們是真的對區塊鏈和鏈上穩定幣有需求,因為他們的貨幣通膨真的非常嚴重,舉個例子,某些非洲國家的通膨率每半年就能達到 20%,這樣的話每次你隔半年買菜,價格就要提升 20%,如果是一年就可能提升更多。這樣的話它們的貨幣是一直在嚴重貶值的,資產也在貶值,所以很多人都希望拿美元拿穩定幣或是拿其他發達國家的穩定的貨幣。
但非洲人很難去申請發達國家的銀行帳戶,穩定幣對於他們來說是一種剛需,就哪怕沒有區塊鏈,他們也想拿著美元這類東西。顯然,對於非洲人來說,持有美元最好的方式就是拿穩定幣,他們每次一發工資,就可以去幣安把這個錢趕緊換成 USDT、USDC,需要用錢的時候再把它取出來,這樣的話會導致他們有對區塊鏈的真實需求和實際應用。
其實你去了非洲後,會明顯感到像幣安很早就在非洲佈局了,做的非常的紮實,在那裡很多非洲人真的對穩定幣有依賴,就是大家寧可信任交易所,都不一定信任自己本國的貨幣體系,因為很多非洲人在本地可能都申請不了貸款。假設你要借 100 塊錢,銀行會開出各種手續和條件,最後你可能搞不到貸款,但在交易所或者其他的一些鏈上平臺,對此要靈活的多,所以我覺得在非洲,人們對區塊鏈有更多更實際的應用和需求。
當然,我說的這些大多數人並不太瞭解,因為大多數用 Twitter 的人不關心這個,或者也不會在 Twitter 上看得到這些。像非洲這樣比較落後的地區有很多,包括在幣安的使用者量比較多的一些國家,如土耳其、一些東南亞國家、阿根廷,你會發現這些地區的人用交易所的次數非常多。所以我覺得,在這些地方,幣安的案例已經證明了人們對區塊鏈有非常強的需求。
所以我覺得這些地區的市場和社群是真的很有必要去做的,包括我們也有專門在土耳其的團隊,我們在土耳其有一個非常大的社群,然後我們要去慢慢的在前面提到的非洲、東南亞、阿根廷等國家去過渡。而且我覺得,在所有的 Layer2 裡面,Scroll 最有可能成功的在上述國家紮根,因為我們的團隊文化就相當多元,雖然三個創辦人是華人,但我們整個 team 大概包含至少二三十個國家的人,雖然我們總共也就七八十人,每個地區基本上都有至少兩三個人,所以整體文化很多元。相比之下,你可以想到的其他 Layer2,基本都是西方人為主,像 OP、Base 和 Arbitrum 就是完全西方化的。
綜上,我們希望能在非洲這種經濟落後、對區塊鏈有實際剛需的地方,給這些地方的人做一套真的有實際應用場景的基礎設施,有點像 「農村包圍城市」 的感覺,去慢慢地把 Mass Adoption 給做起來。所以我覺得,我在非洲之行中的感觸還是很深的,但目前來說,Scroll 對於一些人而言使用成本還是有些貴,所以我還是挺希望能進一步地把成本降低,比如說十倍或者更多,然後通過一些其他的方式,把使用者帶到區塊鏈裡來。
其實還有一個前面沒提到的、可能有些不恰當的例子,就是波場 Tron。大家對它可能有一些不好的印象,但確實很多經濟落後的國家的人都在用它,因為 HTX 之前的交易所策略和很多其他的行銷策略,慢慢的讓波場真的有自己的網路效應。我覺得,如果以太坊生態裡面能有一條鏈,能把這些使用者帶到以太坊生態裡,就是一個非常大的成就,而且也是在給這個行業做一些非常正面的事情,我覺得這是很有意義的。
現在很多以太坊二層在卷 TVL 資料,捲來捲去,你是 6 億美金,我們可能 7 億美金,它是 10 億美金,但我覺得相比於這些東西,更震撼的訊息是,泰達突然說我在這個二層或者哪條鏈上又增發了 10 億枚 USDT,或者說發行了多少多少錢的穩定幣。一條鏈如果自然增長到了這樣一個程度,不需要通過空投預期來捕獲使用者需求,那個時候才算是比較成功的狀態,至少是我比較滿意的一個狀態,就是能讓使用者的真實需求大到一定程度,使得越來越多的人真的在日常使用你這條鏈。
最後我其實想插個題外話,接下來 Scroll 生態會有很多活動,希望大家多關注一下我們的後續進展,多參與一下我們的 defi 生態。
📍相關報導📍
瑞波(Ripple)推出EVM兼容側鏈XRPL Sidechain、新穩定幣$RLUSD:解鎖DeFi和RWA新機會