ERC-6551:NFT 如何擁有錢包

LeeMaimaiLeeMaimai
/2025年10月16日
ERC-6551:NFT 如何擁有錢包

重點總結

• ERC-6551為每個NFT提供自有的智能合約錢包,實現資產持有和交易執行。

• NFT的控制權會隨持有者自動轉移,無需移動私鑰或簽名。

• TBA可持有ERC-20代幣、其他NFT及元數據,提升可組合性。

• 開發者可透過註冊中心簡化TBA的整合過程,增強用戶體驗。

• 使用強大的硬體錢包可降低NFT及其TBA的安全風險。

非同質化代幣(NFT)正從靜態收藏品演變成可程式化身份,能夠擁有資產、執行交易並與去中心化應用程式互動。ERC-6551,又稱 Token Bound Accounts(TBAs),正是實現這一目標的標準,它為每個 NFT 賦予了自有的智能合約錢包。本文將詳細解釋 ERC-6551 的運作方式、其重要性,以及在安全性與使用者體驗方面需要考慮的事項,並為開發者和使用者提供實用的參考。

ERC-6551 一句話解釋

ERC-6551 定義了一個註冊中心和帳戶介面,將智能合約錢包綁定到一個 ERC-721 NFT 上,使該 NFT 能夠持有代幣、NFT 和權限,並獨立於人類持有者執行交易——同時控制權會自動跟隨該 NFT 的當前持有者。詳情請參閱官方 EIP 中的技術規格:EIP-6551:Token Bound Accounts

建構區塊

  • ERC-721 NFT:ERC-6551 是為 ERC-721 設計的,這是以太坊和 EVM 鏈上的標準 NFT 標準。如果您需要複習 ERC-721 的所有權語義,請參閱以太坊文件:ERC-721 非同質化代幣標準
  • 註冊中心(The Registry):一個單一的註冊中心合約,提供 createAccountaccount 函數,用於為給定的 NFT(chainId, tokenContract, tokenId)部署或計算 TBA 的位址。它透過 CREATE2 實現確定的位址,因此 TBA 在部署前即可得知。參考:EIP-1014 (CREATE2)
  • 帳戶(The Account):TBA 是一個智能錢包合約,實現了 ERC-6551 帳戶介面(例如:executeCall, owner, isValidSignature)。它可以持有 ERC-20 代幣、其他 NFT 和元數據。控制權的驗證會解析到當前 NFT 的持有者。

開發者概述與範例:TokenBound 文件。若需易於理解的入門介紹,請參閱 Alchemy 的概述:什麼是 ERC-6551?,以及 thirdweb 的說明:ERC-6551:Token Bound Accounts

NFT 如何擁有錢包(機制)

  1. 位址衍生:TBA 的位址是透過 CREATE2 從輸入參數(chainId, NFT 合約, tokenId, implementation, 和 salt)確定性地推導出來的。您無需部署帳戶即可計算其位址。
  2. 帳戶部署:當需要時,註冊中心會部署該帳戶。此時,NFT 的身份就擁有了一個智能合約錢包。
  3. 控制流程:該帳戶的 owner() 函數會讀取當前 NFT 的持有者。當 NFT 被轉移時,TBA 的控制權會自動跟隨新的持有者——無需移動私鑰或簽名。
  4. 執行:持有者(或被授權的操作者)可以觸發 executeCall,從 TBA 身份而不是個人外部擁有帳戶(EOA)與 DeFi 互動、鑄造資產或管理權限。
  5. 可組合性:TBA 本身可以持有 ERC-20 代幣、其他 ERC-721 代幣以及鏈上權限。NFT 搖身一變成為一個自給自足的「膠囊」,囊括了資產和功能。

重要性

  • 可組合的頭像:遊戲角色的 NFT 可以擁有裝備 NFT、藥水(ERC-20)和成就。交易角色時,不僅僅是基礎代幣被交易,而是整個裝備一起轉移。範例架構:TokenBound 文件
  • 可攜式身份:單一 NFT 可以直接擁有並代表跨 dApp 的身份,包含錢包歷史記錄、聲譽徽章和存取權證。
  • 可流動的綁定資產:創作者可以透過轉移單一 NFT 來出售一組資產——買家將收到其 TBA 中持有的全部庫存。
  • 更安全的委派:您可以從 NFT 的 TBA 委派具有受控範圍的存取權限,而不是從您的個人 EOA 進行委派。
  • 帳戶抽象的協同作用:TBA 可以實作為智能帳戶,與進階流程(如會話金鑰和付款人)相容。背景資訊請參閱:EIP-4337:帳戶抽象

當前生態系統訊號

  • 標準化:ERC-6551 已被接受為 EIP,並有參考註冊中心和帳戶介面,能夠實現一致的跨專案支援。規格:EIP-6551
  • 函式庫與工具:TokenBound 的 SDK 和註冊中心位址簡化了在 dApp 中整合 TBA 的過程。文件:TokenBound 文件
  • 開發者教育:主要的開發者平台現已提供 ERC-6551 的指南和範本,顯示其日益增長的採用率和實驗。參考:Alchemy 概述thirdweb 說明

與大多數標準一樣,錢包和市場的 UI 支援因鏈和專案而異。預計在 2025 年,隨著遊戲、社交協議和 NFT 基礎設施提供商加入原生 TBA 互動功能,將會有持續的進展。

核心使用者體驗模式

  • 庫存 NFT:讓角色的 TBA 擁有玩家在遊戲中獲得的物品。列出角色即轉移所有庫存。
  • 權限預設:在 TBA 中儲存會話金鑰或範圍受限的委派者,以實現無縫的遊戲玩法或社交動作,而非從個人 EOA 進行全局授權。
  • 漸進式揭露:在 UI 中,將「由 NFT 擁有」作為與 dApp 互動時的主要參與者呈現,最大限度地減少使用者 EOA 與 NFT TBA 之間的混淆。
  • 可攜式綁定資產:啟用「連同內容一起轉移」或「轉移時清除內容」等創作者定義的策略,以平衡安全性和實用性。

安全模型與最佳實踐

TBA 提升了可組合性,但也引入了新的操作風險。請考慮:

  • 授權的延續:如果 TBA 存在未清除的授權(ERC-20 額度或 NFT 授權),轉移 NFT 會將這些授權一併交給買家。如果惡意花費者被授權,這可能會很危險。更安全的方法:
    • 在轉移或掛單出售時清除額度。
    • 使用支出上限而非無限額度授權。
    • 在轉移前的 UI 中顯示額度警告。
  • 所有權檢查:確保帳戶在執行時,始終對當前的 ERC-721 持有者強制執行 owner() 檢查。遵循規格中定義的介面:EIP-6551
  • 重播攻擊與簽名範圍:如果您的 TBA 支援鏈下簽名(isValidSignature),請防範跨鏈和跨合約的重播攻擊;使用 EIP-712 的網域分隔結構。
  • 可升級性風險:如果您使用可升級的 TBA,請確保管理員和升級邏輯的安全;偏好最小化、經過審計的實作。
  • 復原與監護人:對於消費者使用案例,請考慮在 TBA 層級或透過控制者帳戶實施備份流程(例如:社交復原)。
  • 市場協調:如果內容實質上影響價值,市場應反映 TBA 的持倉和授權。開發者可以透過索引器暴露 TBA 庫存。

有關實作指南和安全注意事項,請從官方文件開始:TokenBound 文件

開發者快速入門(概念性)

  • 使用註冊中心的 account 函數,為給定的 NFT 計算 TBA 位址(確定性,無需部署)。
  • 在 TBA 首次需要執行動作時,透過 createAccount 部署它。
  • 實作使用者流程來:
    • 將 ERC-20 和 ERC-721 代幣發送到 TBA 位址。
    • 從 TBA 授權範圍受限的操作者以執行 dApp 操作。
    • 透過 TBA 的 executeCall 執行 dApp 呼叫。
  • 可選:使用帳戶抽象功能來實現 Gas 贊助和會話金鑰。背景資訊:EIP-4337

多鏈與 Gas 考量

  • 鏈特定的帳戶:在鏈 A 上的相同 NFT 及其在鏈 B 上的橋接表示,將擁有不同的 TBA。透過在 UI 中標示鏈的上下文,避免跨鏈混淆。
  • Gas 經濟:TBA 是智能帳戶,因此透過它們部署和執行比簡單的 EOA 消耗更多的 Gas。在適當情況下,使用付款人或元交易來為使用者抽象 Gas。請參閱 EIP-4337 瞭解贊助交易模式。
  • 預先計算:由於 CREATE2 的確定性,dApp 可以在部署前引用 TBA 位址,並預先為其充值或設定額度。參考:EIP-1014

何時使用 ERC-6551

當 NFT 本身應該是參與者或資產容器時,請使用 TBA:

  • 遊戲身份和裝備
  • 具有憑證和配額的會員資格 NFT
  • 創作者綁定資產和策劃的收藏品
  • 具有聲譽徽章的社交身份

避免將 TBA 用於不需要交易或持有額外資產的簡單收藏品,或者當使用者複雜性超過其效益時。

OneKey 如何融入 NFT 擁有的錢包

控制 TBA 最終取決於擁有底層 NFT 的帳戶的安全性。如果您的 EOA 被盜用,對 NFT(及其 TBA)的控制權也將面臨風險。硬體錢包透過將私鑰保持離線狀態來幫助緩解此風險。

OneKey 專為多鏈、高頻的 Web3 使用而設計,同時保持強大的安全性與開源透明度。對於 ERC-6551 流程,OneKey 可以:

  • 保護擁有和轉移您的 NFT 的 EOA,確保 TBA 的控制權仍在您手中。
  • 為整合 TBA 的 dApp 清晰地簽署 EIP-712 訊息和智能帳戶交易。
  • 在以太坊和 EVM 生態系統之間提供一致的多鏈體驗,這對於每個鏈上都存在的 TBA 至關重要。

如果您計劃將 NFT 作為擁有鏈上庫存和授權的主動身份,將所有權錨定在 OneKey 等硬體錢包中,可以降低被盜用的熱錢包劫持 TBA 控制權的風險。

結論

ERC-6551 將 NFT 轉變為擁有自有錢包的一級鏈上參與者,開啟了可組合的遊戲角色、可攜式身份綁定資產以及更安全、範圍受限的委派功能。該標準的註冊中心和帳戶介面讓開發者能夠輕鬆地添加 TBA 支援,而使用者則能從其 NFT 中獲得更豐富的實用性。隨著 2025 年採用率的增長,請密切關注授權、市場使用者體驗和帳戶抽象整合。

為了安全地參與,請使用強大的硬體錢包來控制支持您 TBA 的 NFT。OneKey 提供了安全性和可用性的結合,可在您探索這個新領域時,保護您 NFT 擁有的錢包安全。

使用 OneKey 保護您的加密之旅

View details for 選購 OneKey選購 OneKey

選購 OneKey

全球最先進嘅硬件錢包。

View details for 下載應用程式下載應用程式

下載應用程式

詐騙預警。支援所有幣種。

View details for OneKey SifuOneKey Sifu

OneKey Sifu

即刻諮詢,掃除疑慮。

繼續閱讀