Scroll 背後的理念:社區驅動、穩健性以及去中心化

Scroll聯合創始人
2023-02-21 15:42:58
收藏
本文將分享我們在構建 zkEVM 時吸取的一些經驗教訓,以及我們如何考慮不同的權衡取舍。

撰文:張燁,Scroll 聯合創始人

介紹

zkEVM 在過去兩年內是一個非常流行的話題。它可以說已經成為了擴容以太坊的標準技術方案 --- 不僅在Layer 2實現,而且還直接在Layer 1 --- "最終將以太坊本身SNARK化"。我們從一開始就與隱私和擴容研究(PSE, Privacy and Scaling Explorations)團隊一起推動這個雄心勃勃的夢想,並致力於在未來繼續共同構建它。

在本文中,我想分享我們在構建 zkEVM 時吸取的一些經驗教訓,以及我們如何考慮不同的權衡取捨。我們採用了與生態中其他項目不同的方案,這使得我們處在一個獨一無二的地位。

通過社區驅動的方式進行開發

Scroll 根本上是由開源方案支持的。我們正在使用Zcash 證明堆疊,並且從第一天起就與PSE 團隊共同構建zkEVM 電路。我們感謝社區的努力和所有正在構建的工具。本著開源精神,我們的一個重要理念是盡可能多地回饋社區,並以更開放協作的方式與社區繼續構建。這使我們的價值觀有別於其他項目。更具體地說,我們做了以下幾件事,使 Scroll 的開發由社區驅動:

  • 面向廣大受眾的公共教育。為了幫助人們了解我們的架構,我們在全球範圍內進行了多次演講和舉辦活動。你可以在Devconnect、SBCDevcon等找到我們。對於想要更深入學習的同學,我們在 0xPARC 舉辦了關於我們證明堆疊的講座,並在斯坦福和伯克利也舉辦了關於我們研究成果的演講。對於審計人員,我們主持了關於我們代碼庫的審計人員會議。我們還經常為通用零知識證明和以太坊社區創作教育資源 --- 我們舉辦了每週更新的零知識證明應用研究系列,並分享了有關零知識證明技術以太坊的技術博客。

  • 與社區共同發展。從第一天起,我們的 zkEVM 就是完全由社區驅動的方式開發的。除了我們的團隊和 PSE 團隊,還有多個社區成員為 zkEVM 的不同部分做出了貢獻(例如,許多操作碼電路已經由不同的社區成員並行實現,並且對 keccak 電路和 snark 驗證者都進行了不俗的優化)。我們還領導了每兩週一次的社區電話會議,以改進底層的驗證堆疊。我們已經取得了一些驚人的進展 --- 例如,Halo2 現在支持Goldilocks和FRI通過社區努力打下的堅實基礎可以實現共享安全和共享審計!

通過社區驅動的方式進行構建的好處是顯而易見的。我們可以與一群人一起集思廣益,獲得更多創意。它也可以說更安全,因為每個PR都會得到其他社區成員的更多評論。一些公共部分甚至可以跨項目共享 ------ 例如,Axiom實現了配對電路,這是zkEVM 預編譯最難的部分之一。

但是,在開放環境中進行構建當然也有所取舍。在一群人中進行協調變得更加困難(不僅在溝通方面,而且在優先級方面)。它會放慢開發速度,因為許多PR需要審查並且合併的標準因此也有所提高。

我們的 zkEVM 的獨特之處在於我們還在維護一個python版本的規範,類似於以太坊一直在為其 consensus-spec 和 execution-spec 所做的那樣。維護這個規範可以讓不熟悉 Rust 和 Halo2 的人理解電路邏輯。據我所知,沒有其他 zkEVM 實現會花時間來做這件事,因此他們都為了可以更快地發布主網。

在 Scroll,我們採用這種社區驅動的方式來開發整個 zkEVM。我們相信正確的方式就是從一開始就與社區一起建設。 請注意,"社區驅動的開發"不僅僅意味著開源。這並不意味著私下構建然後某天突然開源所有代碼。它應該通過有多少外部貢獻者,以及項目是如何隨著時間的推移而發展來衡量。我們接受在早期階段速度較慢的取舍,但隨著我們的社區不斷擴大,我們相信後期社區驅動開發的力量。

以太坊採用了類似的策略來實現其願景和價值,稱為"做減法"。這個想法很簡單 --- 他們不是自己構建所有東西,而是儘可能地支持社區。它幫助他們尋求正確的平衡,並專注於對他們真正重要的事情。我們正在做完全相同的事情。我們會問自己,"我們可以為社區提供什麼樣的支持來幫助他們開發?" 我們相信,我們以社區為導向的方式將使我們在該領域取得獨一無二的地位。

這種理念使我們有別於其他競爭對手,後者擁有大量人員構建多個內部解決方案,並且在各個方向瘋狂行銷。而我們只專注於交付最重要的部分並引領正確的方向。

確保安全性並穩定發布

與其他alt L1相比,安全性是人們相信Layer 2的最大原因------你可以從以太坊繼承安全性,而無需信任Layer 2的運營者。但所有現有的Layer 2項目仍遠未達到該標準,具有不同程度的輔助輪。例如,對於 optimistic rollups,即使許多現在已經在主網上線,他們仍然需要可升級的密鑰並且不支持無許可的欺詐證明。

對於 zkEVM,這也是一個大問題 ------ 每個玩家都在進行一場漫長的比賽,無論他們選擇如何實現主網,都需要多次迭代。 一些關於 zkEVMs 的基本問題還沒有解決。例如,證明者成本將不同於執行成本,這將影響Layer 2的gas定價或引入安全漏洞。

我們一直在考慮安全問題,並努力做出最佳決策。我在下面列出了其中一些決定:

  • 採用 EVM 等效的方案。採用這種方案的一個重要原因是它帶來了更好的開發者體驗,但另一個更深層次的原因是它繼承了已經經過實戰檢驗的 EVM 模型的安全性。我們也在重用像Geth這樣的基礎設施,以儘量減少我們與以太坊的差異。這確保了我們 Layer 2 的排序器與 Layer 1 節點的行為完全相同,從而最大限度地提高了安全性。

  • 面向社區的方式。正如我之前所說的,從外部的社區審閱者那裡獲得審閱可以為代碼安全提供更有力的保證。工具和證明堆疊也在項目之間共享,因此我們對當前代碼庫的關注度更高。一個好的衡量標準應該是"有多少人熟悉你的代碼庫?","有多少人真的在使用它?"

  • 審計,審計,再審計。測試,測試,再測試。我們舉辦了審計人員會議,向審核人員介紹我們的開發堆疊,並為我們的 zkEVM 電路聘請了業內最好的審計人員,但外部審計是不夠的。在內部,我們集成了標準的 EVM 測試向量,並進行了大量模擬來證明主網區塊。除此之外,我們還提供資助來支持探索我們 zkEVM 的形式驗證和模糊測試等。

  • 建立內部安全團隊。我們與眾不同的一點在於我們擁有一支非常強大的內部安全團隊來密切關注我們的代碼庫。最佳方案不僅僅是通過審計人員進行審計,而是讓一個全職團隊關注我們的代碼安全。除了我們自己的安全,我們也在幫助其他項目。例如,我們發現了Aztec 中的電路錯誤和針對 Consensys 的 zkEVM 證明者的安全攻擊。

  • 關於輔助輪的研究。在內部,我們一直在圍繞移除輔助輪的多種解決方案以及如何確保我們的 zkEVM 的[2FA](https://ethresear.ch/t/2fa-zk-rollups-using-sgx/14462)或 3FA 進行研究。我們相信這是最重要的事情,儘管它比擁有更多花哨新功能的行銷聲量要小很多。隨著我們取得更多進展,我們將一如既往分享我們的成果並與社區進行討論。

為了保持高標準的安全性,我們選擇讓每個版本都更加穩定,並迭代現有版本以不斷提高穩健性和性能。 我們將使Twitter每週更新中的所有內容更加透明。

我們安全第一的理念是我們的路線圖的第一決定因素。它可以幫助我們決定應該走哪條方向,同時還可以回答以下問題:

  • "我們現在應該目標 EVM 等價還是以太坊等價?"

  • "我們應該先去中心化證明者還是排序器?"

  • "我們應該繼續添加新功能還是專注於移除輔助輪?"

我將在後續帖子中逐一回答這些問題。

每一層的去中心化都很重要

回想以太坊的歷史,以及為什麼人們認為它是可信的中立的。這不僅僅是因為先進的技術,還因為取得今天的成就它所走過的道路。以太坊在每一層都是去中心化的(決策透明度、社會共識等)。同樣,我們定義了多個不同層的去中心化目標,並為自己設定了極高的標準:

  • 去中心化證明者。我們是第一個提出去中心化證明網絡想法的。這是我們將實現的第一個技術路線,以實現完全去中心化並確保高可靠性。一個優化目標是降低證明成本,這將使更多的人可以運行證明者,進一步去中心化。我們正在有意識地努力避免"最快的證明者永遠獲勝"的困境,這樣人們就不需要依賴昂貴的定制硬體來參與我們的網絡。

  • 去中心化排序器。去中心化排序器是另一個有助於抗審查的重要步驟,我們致力於此。我們有多個關於如何實現這一目標的內部提案,並將很快公開這些想法以進行更廣泛的討論。我們想要首先去中心化證明者的原因有很多(例如,對沒有bug的 zkEVM 的擔憂,以及證明者和排序器之間更複雜的互動和激勵)。從長遠來看,我們正在考慮如何在協議級別上,與以太坊在排序器方面保持一致。

  • 發展和治理。zkEVM 的開發是通過開源貢獻者社區,以去中心化的方式進行的。我們通過 zkEVM 和證明者社區電話會議與他們協調。隨著我們進一步的開發,我們將使開發和治理越來越透明(包括開發決策過程,類似於以太坊的核心開發者會議)。

  • 生態系統和社區。遵循以太坊 "Infinite Garden" 的願景,我們希望支持我們的生態系統和社區的持續增長。因此,我們將儘量減少與具體個別項目的"夥伴關係",而是站在更中立的立場上支持所有基礎建設。我們不是在行銷方面考量,而是在消息傳遞和溝通方面進行思考。我們問自己,"我們怎樣才能對我們的社區更加透明?" 我們相信,這種方法是創建更加去中心化的生態系統和鼓勵創造力的最佳方式。

  • 社會和文化多樣性。除了技術和生態系統,我們的目標是在社會和文化層面實現另一個層面的去中心化。我們的團隊分布在多個大洲(亞洲、歐洲、北美、南美、澳大利亞)。你幾乎可以在世界任何地方找到 Scroll 團隊成員,這使我們能夠建立當地分布的社區。我們正在與文化多樣性一起成長,以獲得更深層次的社會共識。

不僅為 Scroll 構建,也為以太坊構建

在構建擴容解決方案時,我們與以太坊保持高度一致。以太坊有一個雄心勃勃的最終目標,即"zk-SNARK everything" --- 構建一個以太坊等效的 zkEVM,可用於證明主網區塊。想像有一天,驗證者不需要重新執行 Layer 1 區塊,而是只需要驗證一個簡潔的零知識證明。想像有一天,你可以通過一個證明來驗證以太坊的整個歷史。是不是超級刺激?

這正是 PSE 團隊的目標!作為在同一代碼庫上開發了大約 2 年的共同構建者,我們正在直接推動這一雄心勃勃的目標。

現在已經提出了一些標準來對不同類型的 zkEVM 進行分類。然而,它更像是一個更高層面的規範,描述了最終結果應該是怎樣。作為推動以太坊等效 zkEVM 的主要貢獻者之一,我們想提出一些不同的東西來區分目標和實現目標的實際路徑。 如下是我們想實現 SANRK 以太坊的道路:

  • 使用可靠的零知識證明實現字節碼級別兼容的 zkEVM

  • 推出相關舉措,協調 Layer 1 和 zkEVM 的發展

  • 達成社區標準並提出 EIP 來改進以太坊以實現最終目標

目前,我們正處於推出產品完備的字節碼兼容 zkEVM 的第一階段,我們致力於與整個社區一起建設以太坊的未來。構建一個高性能和足夠安全的以太坊等效的 zkEVM 可能需要數年時間,涉及證明系統升級、新電路設計以及軟體和硬體加速方面的創新。但更重要的是,要在Layer 1層面採用它,以太坊本身必須做出一些改變。在實現最終目標之前,以太坊的所有重要升級都需要考慮 zkEVM。

目前主流的想法是 Layer 2 單向適配 Layer 1 的變化。然而,隨著 rollups 的成熟,我們認為情況不應再如此。Rollups 應該在推動 Layer 1的變化方面發揮作用,並且 Rollup 團隊應該在Layer 1的基礎設施方面發揮更重要的作用(4844、Danksharing、Verkle 樹、PBS、1559等)。我們需要注意向後兼容性的影響,但歷史包袱不應該限制未來發展。整個生態系統應該協調一致,打造一個更好的以太坊。

結論

我們從一開始就採用社區驅動的方式來開發 zkEVM,並致力於以更協作的方式繼續構建並回饋社區。我們非常重視安全性和去中心化,我們正在專注於實現這些目標的具體方案。出於我們的安全性理念,我們為自己設定了一個高標準,讓每個版本都更加安全和穩定。出於我們的去中心化理念,我們正在追求所有不同層面的去中心化,包括我們的技術堆疊、開發過程、生態系統、社區和社會多樣性。

我們希望儘可能地推動區塊鏈的開放性和抗審查性。我們選擇了一條從一開始就獨一無二的道路。我們已經將自己定位在不僅要構建Layer 2,還要推動實現 SNARK 整個以太坊的雄心勃勃的目標。我們的理念是,像以太坊一樣運作,致力於 infinite garden 的同一個未來!

相關鏈接

0xPARC演講 http://learn.0xparc.org/materials/halo2/learning-group-1/cost-model/ Devconnect: https://twitter.com/ScrollZKP/status/1521677531438628864 伯克利活動 https://www.youtube.com/watch?v=Ct6H5GcnA0A\&t=2395s 零知識證明應用研究系列 https://youtube.com/playlist?list=PLrzRr7okCcmbAlgYpuFjzUJv8tAyowDQY 審計人員會議: https://www.youtube.com/playlist?list=PLrzRr7okCcmZmDrVozX5hhBQlsrpZdsij Twitter每週更新 https://twitter.com/ScrollZKP/status/1621573571259793408
python-specs
https://github.com/privacy-scaling-explorations/zkevm-specs

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
ChainCatcher 與創新者共建Web3世界