理解 ERC-998:可組合 NFT 背後的概念

重點總結
• ERC-998 允許 NFT 擁有其他 NFT 和同質化代幣,實現更高效的資產管理。
• 由上而下和由下而上的可組合性設計提升了資產轉移的原子性。
• 可組合 NFT 對於鏈上遊戲和元宇宙的發展至關重要,能簡化角色和物品的管理。
• ERC-998 與 EIP-6551 和 EIP-4337 等標準互補,提供多樣化的解決方案。
• 隨著以太坊 Layer 2 費用降低,複雜的資產互動變得更加可行。
可組合 NFT 的目標是解決一個簡單的問題:我們在鏈上擁有的物品經常與其他物品綁定。一個遊戲角色擁有裝備,一個元宇宙地塊包含建築和穿戴物品,一個藝術 NFT 可能包含授權或代幣金庫。現今,這些關係分散在不同的合約和錢包之間。ERC-998 提出了一種方法,讓一個 NFT 可以擁有其他 NFT 和同質化代幣,並將它們作為一個單一、可程式化的包裹一起移動。這種設計解鎖了更豐富的資產層級結構、更安全的轉移以及更直觀的使用者體驗。請參閱 EIP-998 (Composable Non-Fungible Token) 中的提案標準。
ERC-998 實際上增加了什麼
ERC-721 定義了獨特的資產。ERC-998 透過子資產所有權擴展了這個概念,這樣一個「父」NFT 可以直接管理:
- 其他 ERC-721 代幣(例如,物品、子資產)
- ERC-20 餘額(例如,遊戲內貨幣、版稅)
ERC-998 引入了兩種模式:
- 由上而下的可組合性(Top-down composables):父 NFT 維護其子資產的索引,並可以將它們轉移出去或接收新的子資產。當您轉移父 NFT 時,子資產可以與其原子地移動。請參閱 EIP-998 上的介面。
- 由下而上的可組合性(Bottom-up composables):子代幣記錄對其父代幣的引用,以便向上追溯。這使得合約能夠發現並強制執行所有權層級結構。
實際的優勢是原子性:移動單一 NFT 可以攜帶整個庫存。對於遊戲、收藏品組合或有庫存支持的藝術品,與手動轉移多個資產相比,這是一個巨大的使用者體驗升級。
ERC-998 與其他標準的比較
- ERC-721:每個 ID 對應一個獨特的代幣。它沒有定義子資產所有權。參考:EIP-721。
- ERC-1155:多代幣標準,允許同一個合約發行同質化和非同質化代幣,支援批次轉移並降低 Gas 費用。它仍然沒有內建定義父子所有權。參考:EIP-1155。
- 代幣綁定帳戶 (Token Bound Accounts, EIP-6551):為每個 NFT 提供自己的智能帳戶,因此 NFT 可以透過合約錢包持有資產和簽署交易。概念上類似於「NFT 擁有資產」,但透過帳戶而非父子連結實現。參考:EIP-6551。
- 帳戶抽象 (Account Abstraction, EIP-4337):使智能帳戶更加使用者友好和可程式化(例如,贊助 Gas、自定義驗證),這補充了 NFT 擁有的帳戶和進階資產流。參考:EIP-4337。
簡而言之,ERC-998 是代幣層級的可組合性模式,而 EIP-6551 則使用帳戶層級的可組合性。對於某些應用程式,ERC-998 的捆綁轉移語義是理想的;對於其他應用程式,代幣綁定帳戶提供了更靈活的執行方式。
為何可組合 NFT 在 2025 年很重要
開發者正在從簡單的收藏品走向鏈上遊戲、元宇宙基礎設施和動態數位商品。可組合性對於以下方面至關重要:
- 遊戲角色與裝備:單次轉移即可更新角色及其裝備、寵物和消耗品的擁有權。
- DeFi 頭寸:將策略 NFT 與質押資產或獎勵代幣捆綁,實現一鍵移動或市場掛牌。Uniswap v3 頭寸本身就是 ERC-721 代幣;將它們與抵押品或獎勵捆綁可以改善使用者體驗。參考:Uniswap v3 NonfungiblePositionManager。
- 元宇宙地塊與子資產:土地可以包含建築、穿戴物品和訪問權證作為子資產。
- 權利與授權:主 NFT 可以包含子授權或收入分成代幣,一起轉移以實現清晰的擁有權語義。
隨著以太坊 Layer 2 費用的降低,這些更豐富的互動在規模化部署和使用方面變得更加可行。請參閱關於 Rollups 和費用節省的概述:Ethereum Layer 2。
設計與實施注意事項
如果您正在考慮 ERC-998,請思考以下幾點:
- 轉移語義:定義何時子資產隨父資產移動以及如何選擇退出。例如,一個預設攜帶子資產的「安全轉移」和一個保留子資產的「輕量級轉移」。
- 子資產管理:添加/移除子資產以及枚舉它們的函數。發出事件,供索引器可靠地追蹤包裹。參考索引工具:The Graph documentation。
- 授權與權限:避免因授權而意外耗盡子資產。考慮對特定類型的子資產實施基於角色的控制。
- 重入與鉤子:添加和轉移子資產會觸發合約調用;遵循最佳實踐以避免重入和狀態不一致。參考:Ethereum security considerations for smart contracts。
- 市場可見性:確保元數據包含子資產關係,並且事件對索引器和聚合器友好。類似 ERC-1155 的批次事件可以減少索引負載。
- 可升級性與遷移:如果您使用代理,請仔細處理儲存佈局和升級期間的子資產註冊表。
請注意,ERC-998 仍然是一個提案擴展。許多團隊也透過 EIP-6551 探索代幣綁定帳戶,以透過智能帳戶工具和 EIP-4337 驅動的使用者體驗獲得類似的好處。這兩種路徑可以共存:ERC-998 用於簡單、原子的包裹;EIP-6551 用於複雜的執行和權限。
L2 和跨鏈的可組合性
- L2 部署:在 Rollups 上批次處理子資產操作以節省 Gas,並使用標準化橋接器在鏈之間移動時保持包裹的完整性。參考:Ethereum Layer 2。
- 跨鏈策略:考慮父代幣和子代幣的鎖定後鑄造(lock-and-mint)或標準化映射,並確保包裹的狀態可以在目的地重建。避免破壞所有權圖的部分橋接。
使用者體驗與開發者清單
- 建立庫存視圖:顯示帶有餘額和物品的父子樹。
- 原子掛牌:在市場中啟用「出售父代幣及其子資產」選項,或在掛牌期間託管子資產以避免爭議。
- 清晰的收據:在交易收據和事件中包含子資產的移動,以便用戶和審計員驗證包裹的完整性。
- Gas 預算:批次操作並避免無界子資產列表;限制數量或使用分頁。
- 測試:模擬邊界情況(孤立的子資產、部分轉移、吊銷)並整合模糊測試以涵蓋狀態機。
市場的走向
對鏈上遊戲、動態 NFT 和可程式化所有權的興趣重燃,將可組合性推到了前沿。代幣綁定帳戶 (EIP-6551) 在開發者中日益普及,而 ERC-1155 等標準繼續主導高吞吐量的資產。ERC-998 提供了一種簡潔、原生代幣的方式來捆綁資產,而在 2025 年,我們看到團隊正在探索混合方案:ERC-998 用於所有權圖,EIP-6551 用於執行能力,所有這些都透過 EIP-4337 的帳戶抽象提供支援,以獲得更好的使用者體驗。參考:EIP-6551, EIP-4337。
安全地持有可組合 NFT
管理控制其他資產的 NFT 增加了私鑰安全性的風險。使用硬體錢包有助於確保簽名和授權不會被惡意軟體劫持。OneKey 專注於開源安全、多鏈支援和清晰的簽名流程,讓審查可能一次移動父 NFT 及其子資產的複雜交易變得更容易。如果您打算保管 ERC-998 包裹或代幣綁定 NFT,強烈建議實踐基於硬體的金鑰管理和交易模擬。
關鍵參考資料
- 提案規格:EIP-998 (Composable Non-Fungible Token)
- 基礎標準:EIP-721, EIP-1155
- 代幣綁定帳戶:EIP-6551
- 帳戶抽象:EIP-4337
- Layer 2 概述:Ethereum Layer 2
- 索引:The Graph documentation
- DeFi NFT 頭寸:Uniswap v3 NonfungiblePositionManager
ERC-998 為 NFT 提供了一種攜帶其擁有物品的方式。無論您選擇代幣級別的可組合性還是帳戶級別的代幣綁定帳戶,目標都是相同的:可預測、安全的豐富鏈上物件轉移。隨著生態系統在 2025 年日趨成熟,設計良好的可組合性——與安全保管相結合——將定義下一代 NFT 體驗。






