以太坊共同創辦人 V 神(Vitalik Buterin)稍早發布新技術文章,深入探討錢包在跨 Layer2 上的應用、提出資產與私鑰庫的分離框架,希望提升效率與用戶安全隱私。
(前情提要:科普|zk-SNARKs是什麼?V神定調零知識證明未來十年「非常重要」)
(背景補充:以太坊下一步》「坎昆升級」是什麼?利好 Layer2?)
以太坊共同創辦人 V 神(Vitalik Buterin)昨(20)日晚間發布了新的技術文件《深入探討錢包和跨 Layer2 用例》。
V 神直接地關注特定子問題的技術領域,羅列了三種可能情況來解釋:
- 如何更容易從 Layer2 讀取 Layer1
- 如何更容易從 Layer1 讀取 Layer2
- 如何更容易從 Layer2 讀取 Layer2
同時他強調上述三種情況,都需要基於資產 / 私鑰庫分離框架的實現。並且,該框架還可以優化跨 Layer2 的調用,包括在 Layer1 和 Layer2 間的資產轉移。
資產 / 私鑰庫分離框架的實現
V 神首先陳述一個現狀,隨著智能合約錢包(例如多簽錢包)的興起,訪問某些帳戶所需的私鑰,將隨著時間的推移而改變,舊私鑰將不再有效。
基於此,如果用戶在 Layer2 上擁有地址,包括用戶所在的 Layer2 並不知道該地址(因為 ETH 使用「反事實」EIP-1014 (CREATE2)協議)。這種情況下,只有依賴資產 / 私鑰庫分離架構才能讓用戶更改他們的私鑰:
- 用戶擁有一個「私鑰庫合約」(在 Layer1 或特定 Layer2 上),它儲存所有錢包的驗證私鑰及更改規則。
- Layer 1 和許多錢包的「錢包合約」能夠跨鏈獲取驗證私鑰。
Layer2 是儲存私鑰庫的優選
V 神解釋,當前有五種主要的辦法來解決私鑰庫的存放問題,它們分別是:
- Merkle 證明
- ZK-SNARK 證明
- 特殊用途證明(例如使用 KZG)
- Verkle 證明
- 無須證據,依賴靜態識別
而考量 Layer1 高昂的網路成本,V 神認為聚合協議是優選,因為用戶可以通過生成聚合證明來打包用戶提交的操作,以此降低成本。
優化 Layer2 內部讀取 Layer1 狀態的延遲降到最低,再使用 Layer2 直接讀取 Layer1 就是一個節省證明空間的理想方案。
雖然安全性也是重要的考察標準,私鑰庫存放在 Layer1 的安全性也會遠遠高於 Layer2,但長遠來看,這樣的儲存行為代價太大,成本最高,因此 V 神認為綜合來看在 Layer2 上保存私鑰庫是經濟、安全性兼顧的做法。
重點整理
- 要擁有跨鏈社交恢復錢包,最現實的工作流程是在一個位置維護私鑰庫的錢包,以及在多個位置維護。
- 使這成為可能的一個關鍵因素是跨鏈證明。我們需要努力優化這些證明。等待 Verkle 證明的ZK-SNARKs或定制的 KZG 解決方案似乎是最佳選擇。
- 從長遠來看,生成聚合證明作為創建用戶提交的所有 UserOperations 的捆綁的一部分的聚合協議將是必要的,以最大限度地降低成本。這可能應該集成到 ERC-4337生態系統中,儘管可能需要對 ERC-4337 進行更改。
- L2s 應該被優化以最小化從 L2 內部讀取 L1 狀態(或至少狀態根)的延遲。L2s 直接讀取 L1 狀態是理想的,可以節省證明空間。
- 錢包不僅可以在 L2 上;用戶還可以將錢包放在與以太坊連接級別較低的系統上(L3,甚至是僅同意在以太坊重組或硬分叉時包含以太坊狀態根和重組或硬分叉的獨立鏈)。
- 但是,私鑰庫應該位於 L1 或高安全性 ZK-rollup L2 上。在 L1 上可以節省很多複雜性,但從長遠來看,即使這樣也可能過於昂貴,因此需要在 L2 上使用密鑰庫。
- 保護隱私將需要額外的工作,並使一些選擇變得更加困難。然而,無論如何,我們可能應該轉向保護隱私的解決方案,並且至少確保我們提出的任何建議都與保護隱私向前兼容。