我們的StarkNet 開發分為4 個階段:
築基(已完成)行星:只支持單一App 的Rollup星群:支持多App 的Rollup宇宙:去中心化的Rollup
我們預計在幾個月內部署好“行星”,並在2021 年底之前完成“星群” 和“宇宙” 的構建。
介紹
我們正在構建的StarkNet 是一個基於Stark 技術的去中心化L2 ZK-Rollup 方案,支持在以太坊上的通用計算,具有免許可性和抗審查性。該方案是使用圖靈完備的Cairo 語言編寫的。
一個免許可型L2 Rollup 可以滿足開發者、用戶和StarkNet 節點的所有期望:開發者可以根據自己的商業邏輯構建應用並部署到StarkNet 上。用戶可以發送交易到StarkNet 上執行,就像和以太坊交互那樣。 StarkEx 的節點和參與者將受到密碼學貨幣的經濟激勵,來確保網絡高效公平地運行。
所有StarkNet 交易將會被定期打包處理,提供STARK 證明來證明其有效性,並在以太坊上進行驗證。與驗證以太坊事務的計算成本相比,驗證STARK 證明所需的計算成本要小得多。因此,StarkNet 可以將以太坊的可擴展性提升好幾個數量級。
由於所有StarkNet 狀態轉換都將由STARK 證明來證明,只有有效的狀態轉換會被以太坊接受。重構完整StarkNet 狀態所需的全部數據都將在鏈上發布。任何人都能運行他們自己的StarkNet 節點。這些特性會讓StarkNet 獲得堪比以太坊的安全性和免許可性。
我們的開發工作持續了3 年,並且在將“月亮數學(Moon Math)” 轉化為以太坊上高效的生產級軟件方面取得了一些重要里程碑。我們的做法是先解決難題,構建核心技術,然後逐步投入生產。我們將繼續通過這種方式構建StarkNet,直至最後階段。
築基
我們已經為StarkNet 打下了一些基礎。
Cairo
Cairo 是圖靈完備的高級編程語言和框架,可以為通用計算生成STARK 證明。應用開發者可以使用Cairo 定義任何商業邏輯,在鏈下生成證明,並在鏈上進行驗證,而無需自己編寫複雜的“電路”或AIR。 Cairo 已在主網上線,向所有開發者開放。
近幾週內,我們將在以太坊公共測試網上發布Cairo 的通用證明服務(Generic Proof Service ,GPS)的alpha 版本。通過該服務,開發者可以使用Cairo 構建自己的應用,實現他們想要的一切商業邏輯。他們會將自己的Cairo 代碼發送至GPS 來生成證明,再在鏈上進行驗證。
GPS 可以使用單個證明來證明多個獨立應用的執行完整性,讓這些應用可以分攤證明驗證的gas 成本。
Cairo 和GPS 都是StarkNet 的基礎。我們決定將二者開放給外部開發者,讓他們早些接觸StarkNet 技術。這樣一來,開發者不僅可以開始在StarkNet 的基礎上進行構建,還能影響StarkNet 的發展。
我們會基於開發者社區的需求和反饋繼續開發Cairo。我們會引入新的功能、語法和能夠提高其可用性的內部插件來強化該語言。我們會繼續開發並改進Cairo 工具:編譯器、跟踪器/調試器以及與通用IDE(集成開發環境)的集成。
StarkNet 也會在底層運行Cairo。
STARK 軟件棧
我們已經開發了整個生態系統中最強大的證明系統。這個系統已經在主網上線數月之久。我們還開發了開源證明器ethSTARK。 ethSTARK 不僅在速度上比任何證明器都要快20 倍,而且提供抗量子計算的零知識簽名。
我們的可擴展性實效(既不是推斷,也不是承諾)包括,在主網上使用單個證明處理30 萬筆交易,在Rollup 吞吐量上創下了高達3000 tps 的世界記錄。在此過程中,我們同樣在Rollup 的gas 效率上創下每筆交易315 gas 的世界紀錄,比以太坊L1 上的交易便宜幾個數量級。
ethSTARK 將成為StarkNet 去中心化證明層的基石。因此,作為StarkNet 開發的一部分,我們還將發布更多增強型證明器(請關注我們後續的博客文章)。
StarkEx
StarkEx 是我們的L2 可擴展性引擎。 2020 年6 月以來,StarkEx 就一直在為主網上的DeversiFi 用戶提供服務。接下來幾週,StarkEx 將開始支持dYdX 和ImmutableX。 StarkEx 可以處理複雜的交易邏輯(現貨交易、衍生品、非同質化代幣)以及付款。
在StarkEx 的開發過程中,我們也親自試用了自己開發的工具,並測試了其是否能滿足現實世界的需求。沒有什麼比實際需求和用戶更能推動工具不斷走向成熟。這也幫助我們了解了生態需要我們去解決什麼問題,如,與錢包和區塊瀏覽器的集成。
StarkEx 是使用基於STARK 的ZK-Rollup 提高應用可擴展性的活生生的例子,也是第一個在主網上線的採用Cairo 語言編寫的應用。另外,它也是運行在StarkNet 上的應用之一。
展望未來
行星:只支持單一App 的Rollup
在該階段,開發者可以在StarkNet 上構建並部署他們自己的可擴展應用。
每個StarkNet 實例都能運行一個應用。不同的實例可能會運行不同的應用。
StarkNet 架構包含以下部分:
為任意Cairo 邏輯生成STARK 證明、然後提交證明並在以太坊上驗證所需的機制與L1 以太坊交互:L1 代幣的存取、鏈上數據的發布、保護用戶免受惡意StarkNet 運營者攻擊的逃跑機制L2 用戶餘額以及應用存儲項的管理
開發者只需專注於根據自己的商業邏輯構建應用,然後正式上線:在StarkNet 上部署並大規模運行。
我們之所以能構建通用計算可擴展ZK-Rollup,主要依賴於以下兩點:
通用型圖靈完備的編程語言Cairo我們強大的STARK 技術(證明器和驗證器),可以將大量計算捆綁到一個證明中
星群:支持多App 的Rollup
該階段將支持多個應用在同一個StarkNet 實例上運行,並訪問同一個的全局L2 狀態。這樣一來,不同應用之間將具有互操作性,而且規模經濟也有助於降低gas 成本。
強大的STARK 棧Cairo 和GPS 增強了StarkNet 在支持多App Rollup 方面的競爭優勢。
在這一階段,StarkNet 將成為一個功能完備的框架,可以在以太坊的基礎上運行多個商業邏輯不同的應用,每個實例都由一個單獨的運營者來運行。
運營者可以運行StarkNet 節點,應用開發者可以在上面部署自己的合約。從用戶的角度來說,StarkNet 感覺上跟以太坊差不多,但是在可擴展性上強於以太坊。
宇宙:去中心化Rollup
StarkNet 發展的最後一步是實現去中心化運營。
關於該階段,我們現在正在解決一些有趣的研發問題,包括:(i)使用ZK-Rollups 來改進共識機制,以及(ii)設計密碼學經濟機制來激勵去中心化StarkNet 貢獻者和運營者(交易排序者、證明者等)高效、公平且安全地運行。
總結
我們正在構建StarkNet。 StarkNet 是一個基於Stark 技術的去中心化L2 ZK-Rollup 方案,具有免許可性,支持基於Cairo 語言的通用計算。
StarkNet 可以在不損害安全性的情況下提高應用的可擴展性,幫助用戶節省交易費用,並促進整個生態系統迅猛發展、實現其承諾。
我們誠摯邀請開發者社區與我們一起踏上這一征程。
(完)
(文內有許多超鏈接,可點擊左下”閱讀原文“ 從EthFans 網站上獲取)
原文鏈接:
https://medium.com/starkware/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup-83be53640880
作者: StarkWare
翻譯&校對:閔敏& 阿劍