newsence
歡迎

你的個人知識庫

從開放網路上發現值得讀的內容,收藏真正重要的。AI 為你摘要、串連、整理你所知道的一切。

ERC:Warden - 安全代幣託管合約

ERC:Warden - 安全代幣託管合約

Ethereum Magicians·大約 7 小時前

本提案定義了 Warden 標準介面,這是一種代表其他控制器合約持有 ERC-20 代幣的智能合約,透過時間鎖定與不可逆的指派機制,防止因邏輯漏洞或惡意升級導致的資金遭竊。

PR: 待辦 (TODO)

參考實作: GitHub - AuHau/erc-warden: Reference implementation and spec for Warden concept · GitHub

摘要

本提案定義了一個 Warden(守衛者)的標準介面。Warden 是一個代表其他智慧合約(稱為「控制器」controllers)持有 ERC-20 代幣的智慧合約。控制器指示 Warden 在內部帳戶之間移動代幣,但控制器本身從不持有代幣。Warden 將帳戶組織成具有時間鎖定生命週期的「資金池」(funds)。代幣可以不可逆地承諾給帳戶持有人(「指定」designation)或銷毀(「燃燒」burning)。鎖定不變量(lock invariant)在每一次改變狀態的操作中都會被強制執行。

動機

大多數 DeFi 合約都持有自己的 ERC-20 代幣餘額。當業務邏輯中發現漏洞或攻擊點時,攻擊者通常可以在單筆交易中抽乾所有餘額。Warden 模式引入了深度防禦:代幣託管合約強制執行不變量,限制了即使是完全被入侵的控制器所能做的事情。

第二個常被忽視的威脅是控制器本身。許多生產環境中的合約使用 UUPS 或透明代理等可升級模式。這意味著合約所有者可以隨時推送新的實作(無論是出於惡意,或是其所有者帳戶被盜用),從而重新導向所有持有的代幣。由於 Warden 持有代幣並獨立於控制器邏輯執行其自身規則,因此任何控制器升級都無法規避這些規則。

具體而言,Warden 解決了以下威脅情境:

  • 資金重新導向:時間鎖定可防止攻擊者立即提取代幣;當鎖定期滿時,餘額已被固定。

  • 竊取抵押品:「指定」功能使代幣永久承諾給其合法持有人;任何控制器操作都無法將其轉移。

  • 阻礙提款:帳戶持有人可以直接調用 withdrawByRecipient,完全繞過控制器。

  • 升級捲款跑路(Rug-pull):如果控制器使用可升級模式,惡意或被盜用的所有者無法透過推送升級來竊取資金;無論控制器的實作如何,Warden 的限制始終有效。

開放問題

  • 此概念是否也應擴展到 ETH 託管?

  • Warden 是否應支援多代幣託管?

          1 則貼文 - 1 位參與者
    
          [閱讀完整主題](https://ethereum-magicians.org/t/erc-warden-secure-token-custody-contract/28252)
    
https://ethereum-magicians.org/t/erc-warden-secure-token-custody-contract/28252