受訪者:Ye Zhang,Scroll 創始人

採訪:念青,鏈捕手

去年年初,三個年輕人在以太坊社區相遇,提到使用zk技術建設以太坊擴容的未來,他們一拍即合。這是Scroll開始的故事。

今年4月,Scroll宣布完成3000萬美元A輪融資。值得一提的是,幾位以太坊基金會成員和以太坊社區成員也作為天使投資人加入了這輪融資,從這一點上,也能看得出Scroll和以太坊社區保持的緊密關係。

相較Optimistic Rollup,zk-Rollup方案開發難度大,但每筆交易確認時間更短,手續費更低,安全性更強(僅僅依賴於數學和密碼學的假設),Vitalik也曾表示長期更看好zk方案。不過,Optimistic Rollup方案落地更快,目前在zk-Rollup領域,Starkware、zkSync尚不能做到像Optimistic Rollup那樣順滑的EVM兼容,名聲最響的幾個項目也還沒有發幣。

但近期,zk系開始集中發力,Polygon Hermez宣布開源zkEVM,ZKSync 發布了ZKSync 2.0 計劃,而Scroll在上線pre-alpha 測試網後也宣布了zkEVM的詳細發展路徑。

Scroll號稱最兼容EVM的zk-Rollup。目前在zk-Rollup賽道,還存在兩個普遍的問題:一是zk-Rollup目前僅支持支付、轉賬等較為簡單的功能,尚未支持通用的功能;二是尚未建立起去中心化的驗證網絡。這些問題也是Scroll的起點。

近期Scroll創始人Ye Zhang接受了鏈捕手的專訪,和我們一同探討了目前zk-Rollup賽道的現狀和Scroll在這場突圍戰中的技術方案與位置,以下是對話全文:

1、鏈捕手:請簡單介紹一下Scroll 團隊和發展歷史。

Ye Zhang:首先介紹一下我們三個主要的創始人。我本科在北大,從2018年開始從事ZK證明方面的工作,之前主要在研究zk證明硬件加速和zk密碼學算法原理,後面博士也是zk方向的,但是現在quit掉了,全職在做Scroll的事情。

Haichen 本科就讀於清華姚班,博士畢業於華盛頓大學,研究方向偏向於底層系統領域。畢業後在亞馬遜從事搭建機器學習系統等方面的工作。他做的東西很硬核,在工程能力會比我強很多,但我在zk方面會更熟悉一些。

Sandy畢業於劍橋大學,曾在香港證監會從事研究方面的工作,17 年開始開始從事Web3 項目投資方面的工作,之前也做過遊戲、產品類的項目。目前在團隊負責非技術領域的工作。

我們三個人中,我更熟悉zk一些,Haichen更擅長如何從理論到實踐搭建起系統,Sandy更熟悉一個初創團隊的品牌、合作夥伴關係、生態等。我們三個人的背景比較互補。

決定做Scroll 是因為我之前一直在接觸zk,我很清楚zk的證明者(prover)的效率低的問題是可以通過在密碼學和硬件上的突破而被解決的,這會讓ZKP(zk- proof)速度提高百倍。而且當時行業內還沒有人做通用的zk-Rollup,比如zksync1.0、路印協議的zk-Rollup搭建起來的應用僅限於支付和轉賬(swap)等一些基礎的功能,很難構建通用的可組合DApp。所以,我們想做一個通用的L2網絡,能更好地兼容EVM,來實現部署智能合約和通用計算等更複雜的功能。

當zk的效率不再成為問題,整個以太坊的擴容層基礎設施架構上一定會有很大的機會。此外,以太坊社區是非常包容且有創造力的,我們也和以太坊社區和基金會保持著緊密的聯繫。

我們一開始有兩個目標:一是建設通用的zk-Rollup,另外一個是真正實現zk證明者(prover)的去中心化。基於這兩個想法,我們寫了第一版白皮書,當時拿給以太坊基金會的成員看了,探討之後發現以太坊基金會也要做zkEVM,我們的技術路線還是很匹配的,於是就決定不如從一開始就合作。

目前,以太坊和我們團隊各有十多個技術人員在以開放式社區的合作形式做zkEVM,通過開源,即使在開發階段,任何人都可以通過查看我們的Github 存儲庫來檢查我們的進度,迫使我們對社區保持透明和負責。

Scroll團隊從去年發展到現在,已經有40個人左右。 30多位成員都是zk或者區塊鏈方面的研究員和開發者,可以說整個團隊目前的技術性還比較強,負責生態運營的非技術工作成員相對較少。在現階段,我們還是想先把技術基礎打好,所以在市場上的聲音比較小。

此外,團隊也比較“去中心化”,成員分散在中國、美國、新加坡、歐洲等世界各地。

2、鏈捕手:你怎麼看待當下的zk rollup 賽道,Scroll 如何在這場競賽中突出重圍?

Ye Zhang:很多zk-Rollup目前只能支持特定的應用,不支持通用的智能合約。如果說給以太坊擴容只擴展轉賬的部分,那還是一個比較局限的事情,很難發展真正的生態,所以我會將比較範圍縮小到通用的zk-Rollup。相比較之下,我們有這些特點:

首先,從開發者的角度,我們想支持一個EVM等效的zk-Rollup,可以實現與以太坊字節碼級別的兼容性,也就是說,所有的EVM操作碼和基礎層完全相同。這就意味著開發者的代碼在Scroll和以太坊上的執行效果是一樣的,可以實現無縫遷移,而無需進行深度修改或重寫。我們希望通過這種方式,為開發者提供最友好最原始的開發環境,支持所有的以太坊原生開發工具,開發者可以快速遷移合約,也不需要重複審計。通過這種方式,我們可以吸引到大量的EVM原生生態,這比從頭搭建整個生態系統要方便和快速的多。

Zksync和Starkware已經開始支持一些通用的功能了,但在開發語言上,它們還不能很好做到EVM兼容,比如Starkware用的是Cario語言,Zksync雖然實現了solidity兼容,但底層用的仍然是不同的虛擬機。這兩者的架構需要專門的編譯器將智能合約代碼編譯成新的zk友好的IR,這種方法是語言兼容而不是原生EVM 兼容。

對於開發者來說,在把應用從一層遷移到二層的過程中,需要使用新的編譯器(compiler)再重新編譯一遍,相對比較麻煩。而虛擬機架構不一樣,也需要用戶不斷去相信新的虛擬機和編譯器都是安全的,代碼可能需要重新審計。

其次,Zksync和StarkNet還沒有做到去中心化。目前,他們的Sequencer和Prover都由官方團隊運營,出塊、驗證、打包都是自己來做,代碼也沒有開源,更沒有搭建好去中心化的礦工節點,社區無法參與。中心化導致的一個問題是,所有的算力都控制在團隊自己手裡,意味著團隊要租機器來持續承擔這部分的成本。

我們很早就意識到,這種方式是不可擴展的。因此,Scroll一開始就希望增強Prover的擴展性,允許任何一個人只要有GPU機器就可以成為證明節點。甚至,以太坊的礦工在合併後也有可能用自己的機器來成為我們的證明者(Roller),這種把權力下放到社區的方式是更高效的,加入的節點越多,算力就越大,成本也會降低。

這就會促成一個正向的循環,激勵社區來更新更好更快的硬件,只有這樣專屬於zk的ASIC才能出現和迭代,從而進一步縮小L1的最終確認時間和證明的成本,讓我們的用戶體驗更好。我們團隊內部也在開發GPU的算法,將來也會開源供大家使用。所以說,正是因為有了這樣一個開放的網絡,才會有更多的人願意來共同建設。

通過前面提到的技術特點,我們會給開發者最好的體驗,並且有更高的社區參與度。最後,除了技術本身,我們也會始終支持開源社區,即public goods,為社區做更多的事情,真正意義上幫助以太坊擴容,我很認同Vitalik的觀點:legitimacy在長期來看是非常稀缺的事情。

3、鏈捕手:Starkware使用的新語言Cairo可以支持更多需求更複雜的應用,不知道這對Scroll有什麼啟發?

Ye Zhang:很多人會覺得新的虛擬機會成為未來,但是現階段,我還沒有看到那種必須要部署在新虛擬機上才能運行的殺手級應用。我認為,一個好的區塊鏈虛擬機模型應該從更底層的邏輯和整個區塊鏈架構的角度考慮,比如“如何做到更友好地和賬戶交互”之類的問題,而不是說換成C++、rust等其他語言就行得通的。

其次,即使擁有通用的zkVM,想要把體量巨大的遊戲類應用直接編譯過來,是不太現實的。遊戲應用的proving overhead要比定制的zk證明大幾個量級,改進虛擬機的同時也一定要和算法以及硬件配合,這需要長期的投入。

我個人認為要一步步來,先做到zkEVM兼容,然後再去考慮其他的可能性。對於Scroll來說,我們意識到L2是服務於L1的,需要從臃腫的L1承接部分應用,首先解決以太坊的擁堵問題,而且一定不能在安全和去中心化上妥協。所以,Scroll需要用最安全的方式兼容這部分應用的移植,況且,以太坊原生的生態已經是一波很大的流量了。

當然,我們不會停留在EVM兼容的層面,在完成和以太坊完全兼容之後,我們才會根據開發者的需求考慮探索虛擬機的靈活性。

4、鏈捕手:Vitalik 最近發表了一篇關於zk-EVM的研究,他把目前的zk-EVM 分為了四個類型,並認為Scroll 的ZK-EVM 項目正朝著2 型(fully EVM-equivalent)方向發展,建議目前最好考慮類型3(almost EVM-equivalent)。對此,你有什麼想法?

Ye Zhang:我覺得Vitalik的分類標準挺好的。 3型實現了字節碼級別的兼容,包括debug工具等開發者所有需要的工具,除了solidity之外還要兼容EVM兼容的語言,這是3型最基礎的標準;2型是能夠支持更細緻的EVM里特殊的預編譯。隨著工程進度的推進,我們會逐漸從3型轉到2型,現在Scroll對開發者的體驗來說,已經和2型很類似了,但目前我們還有一些功能沒有做到電路里,做完這些後,就會朝著2型發展。

Vitalik提到,以太坊基金會隱私和擴展探索團隊正在構建類型1 ,我們和這個團隊也是合作關係。但目前,1型對我們來說效率比較低,因為以太坊的設計和zk的設計在底層上還是不一樣的。我們會致力於給開發者提供和L1完全一樣的開發體驗,在1型的效率方面我們也會持續關注。

這篇文章中有一點我不太贊同,我覺得所有類型的gas費都要調整,因為證明的成本和直接執行的成本是不一樣的,如果定價一樣的話,可能會導致潛在的攻擊。

相關閱讀: 《V神:分析當前4種不同類型ZK-EVM的優缺點及未來展望》

4、鏈捕手:Scoll 和Polygon Hermez 的在zkEVM 技術方案有相似之處,對比之下,兩者的區別在哪裡? Scroll 在zkEVM 開發上的進度和計劃如何?

Ye Zhang:我們跟Hermez最大的區別是在zkEVM的實現方式(implementation)上,Scroll跟以太坊原生執行方式會更像,比如,Scroll出塊節點會直接復用以太坊一層節點的代碼,以太坊客戶端的這個節點叫Geth,通過這種方式保證我們在客戶端和以太坊的執行方式也是一模一樣的。我們會直接把該節點額外輸出的trace信息作為生成zk證明需要輔助信息(witness),然後運行zk算法來直接生成證明。

Polygon Hermez團隊則為zkProver創建了一套新語言,在executor執行交易時,要把EVM字節碼翻譯成另一套代碼,叫zkASM( Zero-Knowledge Assembly)。 Vitalik認為這是一種取巧的方法,雖然內部邏輯不同,但也可以說它實現了EVM兼容,只是在執行過程中可能存在一定的風險。

比如,Scroll字節碼級別的兼容可以完全適應以太坊的各種升級,包括EIP等代碼升級,但Hermez可能需要手動更新來保持同步。

此外,我覺得Scroll另外一個優勢是和以太坊基金會的緊密合作,因為很多代碼都是我們共同開發的,將來他們可能直接會把這一套用在以太坊網絡上。我們更多是在共建以太坊的未來,能在願景上保持一致。而且Scroll決策也相對獨立一些,Hermez畢竟屬於Polygon的一部分,未來它如何體現MATIC的價值?是否會成為Polygon的L2呢?

再說一下Scroll 在zkEVM 開發上的進度。

我們的測試網有這麼幾個階段:pre-alpha testnet、alpha testnet和比較完整的測試網。

目前pre-alpha testnet已有一些預部署的應用,比如已經可以把Uniswap v2的合約部署到測試網上,允許用戶執行一些功能如L1和L2之間的轉賬,swap等用戶級別的交互。但目前還僅對加入白名單的用戶開放。

alpha testnet允許任何人在測試網上進行交互,是無需許可的,此外開發者也可以無需許可地在網絡上部署合約,alpha-testnet預計會在近期上線。

完整的testnet預計在今年年底推出,到時候會支持測試完整證明(proof)的生成,目前的證明部分已經包含了大部分opcode和storage的讀寫訪問,還有一些剩餘的電路因為工程進度原因仍在逐漸完善。

5、鏈捕手:目前Starkware、Zksync和Hermez都有自己的數據可用方案,Scroll在這方面是否也有相關計劃?

Ye Zhang: Scroll暫時沒有設計專門的數據可用性方案。首先,我們對以太坊技術的時間線還是比較樂觀的,不論是Danksharding還是Proto-Danksharding。其次,引入額外的數據可用方案會讓系統整體的安全性有一定的妥協,所以我們認為長期來看最好還是用以太坊作為原生的數據可用層。

專用的數據可用方案更可能會出現在L3的專門的應用上,到時候,應用自己的社區可以決定怎麼存數據、是否願意犧牲一定的安全性來換取更便宜的交易費用等問題。

6、鏈捕手:為什麼說目前距離正常運行zkEVM 還很遙遠?

Ye Zhang:很多開發工作都需要較大的工程量,比如Scroll目前還有部分未實現的代數電路。此外還有審計工作,在正式落地之前需要非常仔細的審計,之後還需要做大量的性能優化。這三點都是非常瑣碎的技術性工作,需要慢慢去完成。目前給大家看到的只是一套技術上行得通的東西,主要傳達出一個信號就是,zkEVM已經來了,而不是所謂的zk還要等幾年。

具體要說進度的話,我認為不管是哪個團隊,最早也是明年才能推出主網,投入使用。

7、Vitalik 曾表示長期更看好zk rollup,但zk技術開發難度大,其技術難度主要體現在哪些方面?

Ye Zhang:和其他成熟的開發語言不同,zk語言是一種純數學語言(例如R1CS ),即需要通過基本的加減法和數學公式把複雜的功能一層層搭建起來,也不是圖靈完備的,所以開發難度很大。

為特定的應用開發zk-Rollup 需要使用該特殊的zk編程語言來編寫智能合約的邏輯(稱為zk電路)。如之前提到的,該語言的需要復雜的設計,要求開發者精通數學和零知識證明,並且需要漫長的審計,還可能需要自己覆蓋證明的開銷,整套工具需要很強的技術棧支持,這對正常的合約開發團隊幾乎是做不到的事情。

我們希望通過直接支持原生EVM 執行證明,為開發人員提供快速開發體驗,同時支持L2 內應用程序的可組合性。但是這個需要我們開發一個通用的zk-Rollup,直接為EVM虛擬機設計zk電路,這個比普通的智能合約對應的zk電路工作量和設計複雜度要高很多很多,但是它也同時將復雜的zk開發全部轉移到了我們自己身上,一旦開發完成,應用層開發者是不需要了解底層zk細節的。

8、鏈捕手:近期,dYdX 離開Starkware 開始擁抱應用鏈,其背後的原因之一是Starkware 技術開發週期長和L2 短期內不夠去中心化的問題,Scoll 目前在去中心化驗證網絡方面進度如何?

Ye Zhang: L2的去中心化驗證的確存在很多挑戰,也會涉及到更複雜的經濟模型和激勵模型。前面提到,Scroll一開始就需要解決去中心化驗證的問題,目前第一階段是先通過硬件加速來提高prover的性能,實現prover的去中心化。下一步是sequencer的去中心化,屆時,任何人都可以運行節點。但目前還需要中心化的sequencer把整個zkEVM的系統跑得非常穩定,否則過早將sequencer去中心化會極大地增加設計複雜度,並給系統帶來一些安全隱患。

我們團隊已經在這個領域研究了,並且比較幾套不同解決方案,等zkEVM穩定之後,我們會著重朝這個方向探索。

9、鏈捕手:Scroll 創立的時間並算不長,但也算較為迅速地在今年四月融到了上千萬美元的資金,這個過程有什麼經驗之談?

Ye Zhang:其實我們整個A輪融資在去年年底就結束了,只是在今年四月才正式宣布,並且在Dev connect正式亮相。 zk也算是一個風口,而且我們致力於做最兼容EVM、更通用的zk-Rollup,整個融資過程相對來說還是很順利的。

我們在挑選合作夥伴的時候比較謹慎,其中一個標準就是有比較強的研究能力和技術實力。這輪合作的幾家機構比如Polychain、Geometry和Bain Capital Crypto,除了在投資組合裡有很多相關的生態項目,他們團隊自身有在zk、密碼學等領域深耕多年的研究者,也有一些經驗豐富的工程師,比如Geometry的創始人曾是Aztec的CEO。他們能夠理解我們項目的困難度,也會給我們正確的幫助。

另外本輪投資者中也有很多以太坊社區中的人,通過這種形式建立聯繫之後,我們在技術交流上也更方便。

所以,我們希望先從小圈子開始裡建立影響力,之後隨著團隊的擴大和產品的成熟,再做更多。

10、鏈捕手:Scroll 未來一年的發展戰略是怎樣的?

Ye Zhang:我們計劃在alpha testnet之後,將更多的精力集中在部署應用和測試上,在生態上,會先部署錢包、工具類的基礎設施,之後再向更多應用擴展。

與此同時,我們也會做一些教育工作,舉辦黑客松等活動。最近我們和聯合0xPARC給大家上課,課程內容包括Halo2背後的數學原理,如何使用開發工具等,慢慢擴大我們的影響力。未來也會尋找web2的一些合作夥伴,來搭建一些scroll原生的特色應用。