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

今天,我們正在推動重大的結構變化,以改善用戶體驗,提高與以太坊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 測試網進行了重置,這意味著合同必須被重新部署,賬戶餘額和交易的狀態也被重置,在主網啟動之前,我們將進行另一次重置。

內務管理

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

原文標題:《zkSync-引入賬戶抽象、L2 L1 消息傳遞等》

原文作者:水多多|zkSync

來源:區塊律動

Total
0
Shares
Related Posts