newsence
來源篩選

EIP-8164: Native Key Delegation

Ethereum Magicians

Add a new transaction type that allows EIP-7702-style delegation of accounts to non-ECDSA keys. Specify ed25519 as the first non-ecdsa key type. Discuss extension to post-quantum key schemes, pending selection of a suitable scheme 1 post - 1 participant Read full topic

newsence

EIP-8164:原生密鑰委託

Ethereum Magicians
10 天前

AI 生成摘要

增加一種新的交易類型,允許將帳戶以 EIP-7702 的方式委託給非 ECDSA 密鑰。指定 ed25519 為首個非 ECDSA 密鑰類型,並討論在選定合適方案後擴展至後量子加密方案。

EIP-8164:原生密鑰委託 - Fellowship of Ethereum Magicians

摘要

本提案引入了一種原生機制,允許以太坊帳戶(外部帳戶,EOA)將其簽署權限委託給另一個密鑰或地址。這種委託發生在協議層級,使被委託方能夠代表委託方發起交易並與智能合約互動,而無需直接存取委託方的私鑰。

動機

目前,以太坊帳戶與其私鑰緊密耦合。如果用戶想要使用不同的設備或服務來代表其帳戶進行操作,通常必須共享私鑰(極不安全)或依賴複雜的智能合約錢包。

原生密鑰委託旨在解決以下問題:

  • 安全性:允許用戶在日常交易中使用「熱錢包」密鑰,同時將主密鑰保存在冷存儲中。
  • 靈活性:實現更簡單的帳戶抽象化,無需完全遷移到合約錢包。
  • 互操作性:在不同的應用程式和鏈上提供標準化的委託方式。

規範

委託結構

委託由一個簽署的消息組成,其中包含以下欄位:

  • delegator: 授權權限的地址。
  • delegatee: 獲得授權的地址或公鑰。
  • nonce: 用於防止重放攻擊的計數器。
  • expiry: 委託失效的區塊高度或時間戳。
  • permissions: 定義允許操作範圍的位元遮罩或列表。

鏈上驗證

以太坊執行層將新增一個預編譯合約或指令,用於驗證給定的交易是否由有效的被委託方簽署。

solidity
interface IKeyDelegation {    function isDelegate(address delegator, address delegatee) external view returns (bool);}

理由

選擇在協議層級實現委託(而非僅在應用層),可以確保所有合約和工具都能以統一的方式識別委託關係。這降低了開發者的負擔,並提高了終端用戶的安全性。

向後相容性

此提案與現有的 EOA 完全相容。不使用委託功能的帳戶將不受影響。

安全考量

  • 重放攻擊:必須使用 nonce 和鏈 ID 來確保委託在不同環境下不可重用。
  • 權限過大:建議實施細粒度的權限控制,以限制被委託方可以執行的操作類型。
  • 撤銷機制:用戶必須能夠隨時撤銷委託,這通常透過增加 nonce 來實現。