header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP

zkSync引入賬戶抽象、L2 → L1消息傳遞

閱讀本文需 27 分鐘
帳戶抽象化使我們能夠編程授權,通過用例實現更大的錢包和協議設計多樣性。
原文標題:《zkSync-引入賬戶抽象、L2 L1 消息傳遞等》
原文作者:水多多|zkSync


今天,我們正在推動重大的結構變化,以改善用戶體驗,提高與以太坊 EVM 的兼容性,並升級 zkSync v2 測試網的性能。


你好,賬戶抽象


在這次升級中,我們增加了賬戶抽象功能,這個功能被認爲是「以太坊開發者社區的長期夢想」。帳戶抽象的目標是減少帳戶類型或具有以太坊(ETH)餘額可以發送交易的實體的數量 以太坊目前有兩種帳戶類型——由私鑰控制的帳戶和合約帳戶。


賬戶抽象轉向強制執行單一賬戶類型,就像合約賬戶,並將驗證簽名、gas 支付和重放保護等功能從核心協議中推到 EVM 中,這與今天的以太坊不同,所有交易都必須從 EOA 或由私鑰控制的帳戶開始 在非常高的層面上,帳戶抽象化使我們能夠編程授權,通過用例實現更大的錢包和協議設計多樣性,包括:


- 實施智能合約錢包,以改善私鑰存儲和恢復的用戶體驗(例如社交恢復、multisig)


- 在 ETH 以外的代幣原生支付天然氣費用的能力


- 帳戶更改公鑰和私鑰的能力


- 添加非加密修改,用戶可以要求交易有過期時間,確認略微失誤,等等


- 簽名驗證系統的多樣性,從目前的 ECDSA,包括後量子安全簽名算法(例如,Lamport,Winternitz)


換句話說,賬戶抽象化給整個用戶體驗帶來了重大改進,併爲開發者擴大了應用設計空間,當涉及到如何使用它時,我們一定會看到上面沒有涵蓋的許多創造性的使用案例出現。注意:像 Metamask 這樣的 AA EOA 賬戶仍然被 zksync 支持。


呼叫第 1 層,L2 -> L1 消息已上線


在本次升級之前,開發人員可以將消息從以太坊通信傳遞給 zkSync v2,但無法將消息從 v2 傳遞迴以太坊。此升級關閉了通信循環,並允許開發人員在 L2 上發生事情時向以太坊發送信息,然後可以對此採取行動。


例如,DAO 可以將投票 Token 鎖定在 L1 的保險庫中,但在費用低得多的 zkSync 上進行投票。一旦投票最終確定,zkSync 可以將結果轉發給以太坊,在那裏可以對這些信息採取行動。


我們增加了對 msg.value 的支持


msg.value 是一個交易屬性,它定義了一個交易中發送了多少 ETH。鑑於 ETH 是一種特殊的代幣類型(不是 ERC20),依賴於這個屬性,這意味着 zkSync v2 上的原生 ETH 交易在以前是不可能的,這迫使開發人員對現有的代碼庫進行修改,利用包裝的 ETH 代替。有了這個新增加的功能,原生 ETH 可以在 zkSync v2 上進行交易,開發人員比以往更容易遷移他們的代碼庫。


新的操作碼


L2 -> L1 消息的添加使我們能夠簡化協議的接口,並將硬編碼操作(例如提款)替換爲通用的 L1 <> L2 通信。編譯器現在支持以下操作碼,使 L1 智能合約遷移到 zkSync 的過程更加順暢。


EXTCODESIZE

CALLVALUE (msg.value)

BALANCE

SELFBALANCE

EXTCODEHASH


我們已經進行了一次重置


爲了實現這些變化,我們對 zkSync 2.0 測試網進行了重置,這意味着合同必須被重新部署,賬戶餘額和交易的狀態也被重置,在主網啓動之前,我們將進行另一次重置。


內務管理


這些升級是開發人員最需要的升級之一,我們很高興看到他們解鎖了哪些獨特的應用程序。鑑於測試網的目的是強化我們的系統,可以預料到錯誤和問題(特別是賬戶抽象,這應該被認爲是一個不穩定的功能,預計在不久的將來會有突破性的變化)。


本文來自投稿,不代表律動 BlockBeats 觀點。  


原文鏈接


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交