我們的 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 可以在不損害安全性的情況下提高應用的可擴展性,幫助用戶節省交易費用,并促進整個生態系統迅猛發展、實現其承諾,我們誠摯邀請開發者社區與我們一起踏上這一征程。