newsence
來源篩選

Operational Primitives for AA: Lane Separation, Fixed Execution Phases, and Versioned Upgrades

Ethereum Magicians

Hi Magicians, I’m sharing a design + reference implementation of a modular ERC-4337-style SmartAccount concept. The main goal is to make long-term operations (many modules, many “contexts”, frequent upgrades) less fragile by introducing: (Visual summary) DDD-style AA / laneKey / fixed phases / versioned ops: (Quick note on scope) This repository also contains a separate R&D/experiment section, but I’d like to explicitly keep this thread focused on the AA / SmartAccount architecture only. Please feel free to ignore the R&D part for now—I’ll share it in a separate thread later if it’s useful. Lane-keyed context domains Each “lane” represents a domain / execution context (e.g., app-specific scope). A lane has its own module slots (validator / executor / hooks). This is meant to be a namespacing primitive inside a single account. Fixed execution phases (stable core) + pluggable modules (variable surface) The account defines a deterministic phase boundary (validation + optional prehook, then execution: prehook → executor → posthook). The goal is to keep auditing/mental models stable even as modules change. Versioned operational primitives for upgrades/rollbacks Rather than only tracking modules, I’m experimenting with “version tags” at the aggregator/registry level to support upgrade history, rollback, and consistency checks across lanes. Repo (design docs + contracts): github.com GitHub - cancan007/LCG_contracts master Contribute to cancan007/LCG_contracts development by creating an account on GitHub. Questions (feedback I’m specifically looking for) Lane concept: Is lane-keyed namespacing a reasonable abstraction for modular accounts, or does it conflict with the direction of ERC-7579-style modular account thinking? What would you change in the lane semantics? Validation scope / safety: For those familiar with the “validation scope rules” discussions, what are the main pitfalls you’d expect with per-lane nonce/state and lane-specific validators? Are there obvious footguns? Upgrade/rollback primitive: If we wanted “upgrade / rollback” to be a first-class operational primitive, where should it live conceptually (account vs registry vs module manager)? Any known prior art I should align with? Non-goals (to keep scope tight) Not proposing a new EIP at this stage; just trying to validate the abstraction. Not optimizing for minimal bytecode; prioritizing clarity and operational safety. Any critique—especially on security model boundaries, module lifecycle, and compatibility framing—would be really appreciated. Thanks! 1 post - 1 participant Read full topic

newsence

帳戶抽象(AA)的操作原語:通道隔離、固定執行階段與版本化升級

Ethereum Magicians
7 天前

AI 生成摘要

我正在分享一種模組化 ERC-4337 風格的智慧帳戶設計,透過引入通道金鑰上下文領域、固定執行階段以及版本化操作原語,旨在提升長期運作的穩定性與安全性。

帳戶抽象(AA)的運作原語:車道分離、固定執行階段與版本化升級 - 錢包 - 以太坊魔術師論壇(Fellowship of Ethereum Magicians)

這是一份關於帳戶抽象(Account Abstraction, AA)運作原語的提案,旨在解決當前 ERC-4337 實作中的一些核心挑戰。

核心概念

為了提升 AA 的效率與安全性,我們提出以下三個關鍵原語:

1. 車道分離 (Lane Separation)

車道分離允許將不同類型的交易或操作分配到獨立的處理通道中。

  • 避免阻塞:確保低優先級的操作不會阻礙關鍵任務。
  • 資源分配:為不同類型的交易提供更精細的 Gas 限制與優先級管理。

2. 固定執行階段 (Fixed Execution Phases)

將交易執行過程分解為明確定義的階段,以增加預測性與安全性。

  • 驗證階段 (Validation Phase):僅處理身份驗證與 nonce 檢查。
  • 執行階段 (Execution Phase):執行實際的業務邏輯。
  • 後置處理階段 (Post-execution Phase):處理退款或狀態更新。

3. 版本化升級 (Versioned Upgrades)

提供一種結構化的方式來升級錢包邏輯或協議規則,同時保持向後兼容性。

  • 平滑過渡:允許舊版與新版邏輯並存。
  • 安全性:降低因升級導致的合約漏洞風險。

預期效益

透過實作這些原語,我們可以達成:

  1. 提升用戶體驗:更快的交易確認與更穩定的 Gas 預估。
  2. 增強安全性:透過階段分離減少重入攻擊(Reentrancy)的風險。
  3. 更好的開發者工具:標準化的執行流程簡化了錢包與基礎設施的開發。

本文件旨在徵求社群對於這些原語在以太坊生態系中實作方式的意見與回饋。