基於 STARK 的 ZK-Rollup 方案 StarkNet Alpha 1 有兩個新功能:L1 與 L2 雙向交互、上鍊數據優化。

原文鏈接 :《通告 | StarkNet Alpha 1
撰文 : StarkWare
翻譯 & 校對 : 閔敏 & 阿劍

StarkNet Alpha 1 版本上線,速覽 L1 與 L2 雙向交互、上鍊數據優化新功能

介紹

今年年初,我們宣佈 StarkWare 正在構建基於 STARK 的 ZK-Rollup 方案 StarkNet。StarkNet 是基於以太坊的 Layer2 網絡,具有免許可性和去中心化這兩大特徵。它可以擴展 dApp 的計算能力,且無需犧牲以太坊的可組合性和安全性。

上個月,StarkNet Alpha 0 已經發布(中文譯本)。開發者史無前例地能夠在無需許可的情況下 編寫 智能合約並部署到 ZK-Rollup 上。用戶在將交易發送至 StarkNet 網絡時能夠獲得類似以太坊的體驗。

今天(7 月 19 日),我們發佈了新版本 Alpha 1。爲了讓開發者能夠儘快體驗新功能,我們通過滾動方式發佈功能。我們希望這樣能縮短反饋週期,以便根據社區反饋快速改進 StarkNet。

Alpha1 的功能

L1 和 L2 雙向交互

Alpha 1 包括一個 L1 和 L2 之間的雙向消息傳遞協議,可以讓開發者在 L1 和 L2 之間實現無縫交易。開發者現在可以將消息從 L1 上的合約發送至 L2 上的合約,反之亦然。

ZK-Rollup 的優點之一是,狀態更新是終局的,而且沒有任何延遲。這就意味着,從 L2 發送到 L1 的消息能夠立即發送到目標合約。這爲構建 L1 和 L2 之間真正具有互操作性的應用提供了可能性。

想要嚐鮮 Alpha 1 嗎?點擊 此處,查看教程。

特此感謝 Optimism 和 Arbitrum 等 L2 項目。它們之前的研究工作爲我們的雙向消息傳遞協議設計提供了很多靈感。

鏈上數據可得性

如今,StarkNet 的狀態更新同樣會發佈到以太坊上,成爲鏈上數據。這樣一來,任何用戶都可以根據 L1 數據完整構建出 StarkNet 的狀態。每次狀態更新都包括狀態差別,即,已存儲數據中發生變化的部分及新的值。

Alpha1 也充分利用 ZK-Rollup 的優勢。相比要求將完整交易數據發送到鏈上的 Optimistic Rollup,ZK-Rollup 只要求將找到狀態差別所需的最少量數據發送到鏈上。

一個最好的例子是價格輸入機制。更新價格輸入機制的交易通常包括多個交易,但是隻會更新一個存儲單元,即相關交易對的價格。在 Optimistic Rollup 中,單次狀態更新需要發佈到鏈上的數據隨所包含的價格輸入機制事務的數量線性增加;然而在 ZK-Rollup 中,永遠只需提供一個存儲項更新的數據。

另外,壓縮算法可以應用於已發佈的數據,其有效性由 STARK 證明證明,進一步減少鏈上足跡。StarkNet 的後續版本將在這方面繼續創新優化。

StarkNetOS

我們還發布了 StarkNet 操作系統代碼。StarkNetOS 是運行 StarkNet 的 Cairo 程序,處理網絡上的所有操作 —— 合約部署、交易執行、L1 和 L2 雙向消息傳遞等。我們將單獨發佈一篇文章來詳細講解 StarkNetOS 的架構和設計。

其它功能

除了 StarkNet Alpha 迭代,我們也在改進 Cairo。如果你想全面瞭解 Cairo v0.3.0 的新功能,請查看 發佈說明

生態欣欣向榮

除了 StarkNet Core 的開發工作,圍繞整個 StarkNet 生態的開發也在持續推動中。我們很高興能與生態中最優秀的幾支團隊合作。

StarkNet 的首個全節點項目 Fermion 由 Erigon (前身是 TurboGeth)團隊開發。憑藉 Erigon 團隊在以太坊開發工作中取得的豐富知識和經驗,以及我們的 STARK 證明所帶來的可擴展性,我們將與 Erigon 團隊攜手共建一個強大的全節點。

Nethermind 正在開發從 EVM 到 Cairo 的編譯器 Warp。我們向來只在新工具準備發佈時才進行展示,請耐心等待即將到來的好消息!我們可以保證,這個好消息正在快馬加鞭趕來。

未來計劃

StarkNet 的下一站將是可組合性 —— 實現合約之間的交互。敬請期待。

注 1:正如我們之前提到過,ZK-Rollup 這個術語雖然很常見,但是極具誤導性:很多 ZK-Rollup 解決方案(目前)不提供零知識證明。

來源鏈接:ethfans.org