
從即將通過的 EIP 提案窺見 NFT 的未來
TechFlow Selected深潮精選

從即將通過的 EIP 提案窺見 NFT 的未來
本文在此將會把目光聚焦在與 NFT 相關的並且處於 Last call 和最近 Final 階段的 EIP 提案。
作者:zf857.eth,R3PO
EIP 的全稱是以太坊改進提案 (Ethereum Improvement Proposals),以太坊社區中的任何人都可以創造一個 EIP。以太坊改進提案編寫準則在 EIP-1 中提供。以太坊改進提案的創作者負責在社區內建立共識並記錄不同意見。
從歷史上看,大多數以太坊改進提案的創作者通常是應用程序或協議開發者,因為提交高水平的以太坊改進提案需要很強的技術能力,EIP 經過初審後會按照時序給予一個編號,並經由下圖所示的審核流程進行討論。

EIP 有很多種類型,其中包括有 Core、Networking 、Interface 、ERC、Meta、Informational,每一類解決的問題都不一樣,我們耳熟能詳的 ERC-20、ERC-721、ERC-1155,屬於應用級的標準協議,目前絕大多數 NFT 產業應用都是圍繞著這幾種主流協議展開的。EIP 就像是一部以太坊的編年史,記錄了其誕生至今所有的發展脈絡,同時也有著預見整個以太坊生態前進方向的能力,見微知著,一個 EIP 的改動可能蘊含著顛覆整個行業的巨大機會。本文在此將會把目光聚焦在與 NFT 相關的並且處於 Last call 和最近 Final 階段的 EIP 提案。
EIP-4955 元數據標準擴展
該 EIP 建議規範 NFT 元數據 (metadata) 的模式,為 EIP-721 和 EIP-1155 標準 NFT 的 JSON 模式中添加一個新字段命名空間 (namespaces)。主要代碼如下圖所示:

EIP-4955 採用了直接擴展 EIP-721 元數據的方式,背後的想法是為了向後兼容。使得那些不能修改元數據響應(schema)的現有項目,能夠創建一個新的智能合約,基於 tokenId 返回更新的元數據模式。鑑於以太坊上的大多數項目都使用不可升級的合約。如果這個 EIP 需要對這些合約進行全新的實現,就必須重新部署。這樣既浪費時間又浪費錢。而利用 EIP-721 現有的元數據字段,可以最大限度地減少必要的變化數量。
有許多項目需要自定義 NFT 屬性。每個項目可能有自己的方式來渲染 NFT,因此他們需要不同的元數據值。例如像 Decentraland 或 TheSandbox 這樣的元宇宙項目,他們需要不同的 3D 模型來渲染 NFT,基於每個項目的視覺/引擎。像 Cryptopunks、Bored Apes 等 NFTs 項目可以創建每個項目所需的 3d 模型。

有了新字段命名空間 (namespaces),每個項目方或者供應商都可以通過 namespaces 來直接調用 NFT 資產 (如上圖代碼所示),這將允許開發人員在單個智能合約或應用程序中使用多個 NFT 元數據時避免命名衝突。並且 NFT 的元數據將允許錢包、市場、元宇宙等 NFT 相關應用程序與任何 NFT 互相操作。這項提案對需要支持多種元數據模式的 NFT 市場很有用,即使多個賣家使用不同的元數據模式,該 EIP 將使得市場運營商能夠確保元數據密鑰是唯一的同時自由儲存特定的 JSON 數據。該建議的解決方案甚至可以有更廣泛的應用,如大型 Gamefi 和元宇宙中的大量 NFT 可以通過自定義元數據來呈現不同屬性,同時可以避免命名衝突,極大的提高了 NFT 的互操作性。
NFT 租賃使用擴展 從 EIP-4907 到 EIP-5006
EIP-5006 該提案是由 NFT 租賃市場 Double Protocol 提出針對 ERC-1155 型 NFT 的租賃標準,這個標準是對 ERC-1155 標準的延伸。該提案建議在 NFT 元數據中增加一個額外的新字段用戶(user),可以被授予代表資產用戶(user)而不是所有者的地址(owner)。
早在去年 6 月 29 日,同樣由 NFT 租賃市場 Double Protocol 推出的 EIP-4907 正式通過以太坊審核,成為了第一個可租賃 NFT 的 ERC 標準。EIP-4907 作為 ERC-721 的擴展,增加了一個用戶信息(UserInfo)變量,變量包涵用戶(User)地址以及 “出租到期時間(userExpires)”, 當時間超過出租時間,租賃關係中止。主要代碼如下圖所示:

不同於 EIP-4907 對於 ERC-721 的簡單擴展,EIP-5006 中基於 ERC-1155 的特殊數據結構 (ERC-1155 本身是一種多重代幣管理標準,他的 ID 可以對應多個地址以及 token 數量),增加了 Userrecord 以及 usableBalance 函數,可以便捷地批量管理租賃狀態。主要代碼如下圖所示:

EIP-4907 和 EIP-5006 標準的核心價值
不管是 ERC-721 還是 ERC-1155 標準代幣都需要這樣一種新效用。即” 使用 “ 令牌的人可能與擁有令牌的人不同(如在租賃中)。因此,為 “ 所有者 “ 和 “ 使用者 “ 設置不同的角色是有必要的,這樣 “ 使用者 “ 就不能採取所有者可以採取的行動(例如,轉移所有權)。EIP4907 和 EIP-5006 的提出明確了 NFT 的權利分配,有利於解決 NFT 流動性短缺。有了雙重的 “ 所有者 “ 和 “ 使用者 “ 角色,就能實現 NFT 的所有權和使用權的分離,這是解決 NFT 流動性短缺問題的關鍵基礎設施,為一些鏈上的使用場景如租賃提供了技術支持。使得管理 NFT 貸款人和借款人可以和不可以對 NFT 做什麼(換句話說,他們的權利)變得非常容易。例如,對於轉讓所有權的權利,項目只需要檢查採取該行動的地址是代表所有者的地址(owner)還是用戶(user),如果是用戶(user),則阻止該交易。此外,所有者可以控制誰是用戶,其他項目也很容易將自己的權益明確分配給所有者或用戶。
與此同時,在無許可互操作性的基礎上,該標準使得第三方協議更容易管理 NFT 的使用權,而無需獲得 NFT 發行方或 NFT 應用的許可。一旦一個項目採用了額外的用戶角色,任何其他項目都可以直接與這些功能互動,並實現他們自己的交易類型。例如,使用該標準的 PFP 類 NFT 可以被整合到一個租賃平臺,用戶可以租用 NFT 30 天,同時也可以整合到一個抵押貸款平臺,用戶可以使用 NFT,同時最終通過分期付款購買 NFT 的所有權。這一切都將在不需要原始 PFP 項目的許可下完成。
EIP-4907 與 EIP-5006 的推出無疑將進一步明確 NFT 擴大應用價值的方向,將會湧現更多豐富的玩法、應用場景和衍生品。例如租賃 NFT 的普及將會讓 GameFi 生態玩法更加豐富,資金週轉率會大幅提升。像 Axie 等大型 Gamefi 中真正能夠貢獻在線時長的這些海量基礎玩家們,需要一種比較低信任成本的方式(非強制性轉移型租賃)去租到遊戲裡的裝備或資源權益等。很多 NFT 將更具有實用性。像是元宇宙中的虛擬土地可以被 “ 使用 “,代表遊戲資產的 NFT 可以在遊戲中被 “ 使用”。在某些情況下,所有者和使用者可能並不總是相同。可能有一個 NFT 的所有者,將其出租給一個 “ 用戶”。一個 “ 用戶 “ 應該能夠對 NFT 採取的行動將不同於 “ 所有者”(例如,” 用戶 “ 通常不能出售 NFT 的所有權)。在這些情況下,有單獨的角色來識別一個地址是代表 “ 所有者 “ 還是 “ 用戶”,並相應地管理執行行動的權限,是非常有意義的。
EIP-5007 給 NFT 賦予時間屬性
該提案建議在 ERC-721 代幣標準基礎上增加一個新的屬性,包含初始時間到期時間(startTime, endTime)。從而使得 NFT 在鏈上的時間管理更簡單高效。一些 NFT 有明確的使用期限,在該期限之外不能使用。對於不包含時間信息的傳統 NFT,如果你想把一個令牌標記為無效或在特定時間啟用,你需要主動提交交易– 這個過程顯然既麻煩又昂貴。並且其時間函數的接口不一致,會給第三方開發平臺帶了一些困難,而通過引入這些函數(startTime, endTime),就可以實現在鏈上自動啟用和禁用 NFT。主要代碼如下圖所示:

這個功能還可以給 NFT 帶來很多新的使用場景,比如以 NFT 為媒介的訪問服務或基於 NFT 的訂閱內容應用,因為 EIP-5007 將允許開發者在設定的時間段後自動撤銷對服務或內容的訪問。除此之外協議的擴展也可以應用於數字藝術或收藏品,其中 NFT 的價值可能隨著時間的推移而減少。指定到期時間的能力可以幫助防止 NFT 隨著時間的推移變得 “ 陳舊 “ 或貶值。
另外值得一提的是,如果到期時間沒有得到正確執行,或如果惡意行為者試圖篡改到期日字段,擬議的解決方案可能會產生安全問題。因此我們認為可能還需要額外的措施,以確保到期日得到正確執行,並確保 NFT 所有者不會被不公平地鎖定其資產。
EIP-5496 NFT 多權益管理擴展
EIP-5496 提出了對 EIP-721 代幣標準的擴展,允許 NFT 的多權益管理。該提案定義了一個擴展 EIP-721 的接口,為 NFT 提供可共享給多人的權益。權益可以是鏈上的(投票權、要求空投的許可)或甚至是鏈上以外的(網上商店的優惠券、當地餐館的折扣、進入機場貴賓室)。每個 NFT 可能包含許多權益,而權益的持有者可以將該權益轉讓給其他人。權益可以是不可共享的或可共享的。可共享的權益可以被克隆複製,提供者可以根據傳播路徑調整細節。也可以為每個特權設置過期時間。主要代碼如下圖所示:

具體的權益數據管理過程使用了兩個結構體做雙層嵌套,首先定義了 PrivilegeRecord,裡面存儲了用戶地址(address user)和到期時間(expiresAt)兩個字段,然後又定義了 PrivilegeStorage,裡面存儲了最新一次的到期時間(LastExpiresAt),並用 mapping 的方式去將權益 ID 和 PrivilegeRecord 進行了綁定。這種權益 ID 化的方式非常聰明,權益 ID 化後對於驗證權益會非常的方便,不需要特別的去逐字匹配校驗權益,只需要校驗權益 ID 即可,權益的內容變通常比較頻繁,將權益內容放在鏈下,只將權益 ID 放在鏈上,項目方對於權益進行改變時則不需要花 gas 費。但權益 ID 化之後問題是無法直觀的看到這個 NFT 到底都有什麼權益,可能還需要第三方產品去單獨做一個權益內容的設置和查詢功能去索引到對應 ID。主要代碼如下圖所示:

該協議可以達到實時有效地管理附加在 NFT 上的權益。許多 NFT 的功能不僅僅是作為個人資料圖片或藝術收藏品,它們可能在不同的場景中具有真正的效用。例如,一家時裝店可能會給自己的 NFT 持有者打折;DAO 成員 NFT 持有者可以對如何使用他們的國庫的提議進行投票;一個 DApp 可能會創建一個空投事件來吸引某一群人,比如一些藍籌 NFT 持有者來認領;雜貨店可以在鏈上發行其會員卡(作為 NFT),當會員在雜貨店購物時給予某些特權,等等。作為發行方對於 NFT 的權益賦能可能會有很多,而擁有 NFT 的人不一定想使用他們的權益,而傳統的 EIP-721 協議只支持記錄 NFT 的所有權和轉讓過程,NFT 的權益是不被記錄在鏈上的,EIP-5496 的擴展將允許商家/項目將權益寫入鏈上,並授予特定人群,並且權益擁有者可以獨立管理每個權益,從而對於項目方和 holder 均具有權益的管理能力,釋放了 NFT 在權益實用性領域的價值,促進了 NFT 大型實際應用落地的可能。
EIP-5606 多元宇宙 NFT
EIP-5606 定義了一個接口為數字資產(如可穿戴設備和遊戲中的物品)創建一個 Multiverse NFT(多元宇宙 NFT)標準,同時可以索引這種資產在每個平臺上的委託的 NFT。這些平臺可以是 metaverses,Gamefi 或 NFT 市場。該標準還允許在多元宇宙 NFT 中對這些委託 NFT 進行 “ 捆綁 “ 和 “ 解綁”,因此持有者可以單獨或作為捆綁物進行交易。主要代碼如下圖所示:

EIP-5606 引入的多元宇宙 NFT 概念,它代表了一個跨越多個平臺的數字資產。多元宇宙 NFT 合約定義了一種新的代幣,保持了獨特的數字資產與其相關的平臺對應物之間的關係(EIP 將它們稱為委託代幣)。該標準引入了 bundle 捆綁物的簡單概念。捆綁物本質上是一組由唯一的 ID 號(多元宇宙代幣 ID)標識的委託 NFT。DelegateData 結構包含每個平臺上的委託 NFT 代幣的信息。它包含的變量有:contractAddress、tokenId、數量,以區分 NFT(遵循 ERC-721 標準或 ERC-1155 標準)。捆綁和解綁函數接受一個 DelegateData 結構數組,因為需要滿足部分捆綁和解綁。他們還需要委託 NFT 的單獨的 token ID 來有選擇只有多元宇宙 NFT 的所有者(或具有 bundler 角色的地址)可以調用捆綁函數。
在 web3 生態系統中,NFT 已經發展到代表多種類型的獨特和不可替代的資產。一種類型的資產包括一組相互關聯的 NFT。例如,如果一個品牌在不同的平臺上發佈了一款新的運動鞋,它將在每個平臺上被鑄成一個單獨的 NFT。然而,實際上,它是同一款運動鞋。NFT 缺乏跨平臺的互操作性成了一個亟待解決的問題。創建一個多元宇宙 NFT 標準,允許在不同的平臺上對數字資產進行索引和所有權,這將是實現跨平臺的互操作性和真正的所有權的第一步。在這個方向上,EIP-5606 提案是解決 NFT 和跨平臺 “ 真正 “ 所有權的互操作性方面的第一個切實的嘗試。
EIP-6150 層級化 NFT 標準誕生
EIP-6150 該協議在 EIP-721 的基礎上進行延伸。它提出了一個類似文件系統的多層分層 NFT 結構。本協議在 EIP-721 及合約基礎上添加了獲取父 NFT 或子 NFT 以及 NFT 是葉節點還是根節點的新接口,並且保持它們之間的層次關係。所謂 NFT 之間的層級關係是指所有的 NFT 將組成一個分層關係樹。每個 NFT 都是樹上的一個節點,可能是根節點或葉節點,也可能是父節點或子節點。主要代碼如下圖所示:

本提案中先對 Minted 事件進行了標準化,以表明在鑄造一個新節點時的父子關係。在每一個一個分層樹中,本提案規範了函數 parentOf 用於查詢指定 tokenId 的 NFT 的父節點 NFT,規範了函數 childrenOf 來查詢出指定 tokenId 的 NFT 的所有子節點 NFT。以此來方便查詢上層和下層節點。此外函數 isRoot 和 isLeaf 則分別可查詢指定 tokenId 在整個 NFT 層級樹中是不是根節點或葉子節點。
另外值得一提的是本提案非常周密的添加了三個可選的擴展接口:
可枚舉擴展(IERC6150Enumerable)
本提案將三個函數標準化,作為支持涉及子節點的可枚舉查詢的擴展。每個函數都有 param parentId,為了兼容,當 parentId 指定為 0 時意味著查詢根節點。
銷燬節點擴展(IERC6150Burnable)
層級關係的轉移擴展 (IERC6150ParentTransferable) 在某些情況下,比如文件系統,一個目錄或一個文件可以從一個目錄移動到另一個目錄。所以本提案增加了 ParentTransferable 擴展來支持這種情況。
訪問控制(IERC6150AccessControl)
在一個層次結構中,通常有一個以上的賬戶有權限操作一個節點,比如鑄幣廠的子節點,轉移節點,燃燒節點。本建議增加了一些標準功能來檢查訪問控制的權限。
由於目前的 NFT 幾乎都是扁平化的,不同 NFT 之間不存在關聯關係。而層級化標準的 NFT,則可以將所有 NFT 串聯起來組成樹狀結構,就像文件系統一樣。層級化的 NFT 可用於多種不同的應用場景,比如:組織架構、社交關係圖譜、電商商品類目結構以及層級評論系統等等。


可以說,任何具有層級結構的場景都可以適用這個 EIP-6150 協議標準。層級結構的 NFT 在去中心化社交、去中心化電商等領域都將可能產生廣泛應用。在以太坊生態系統內,單個智能合約可以是根,管理每個目錄/類別作為單獨的 NFT 和 NFT 的層次關係。每個 NFT 的 tokenURI 可以是另一個合同地址,網站鏈接,或任何形式的元數據。只需要一個合約來管理和操作分層關係,在不遠的未來,隨著以太坊的數據可用性解決方案和外部無權限數據保留網絡的發展,用於管理組織結構的鏈上公司將成為可能,從而實現完全去中心化的應用。
以上就是近期以太坊 NFT 協議的最新內容,截止本稿之前,EIP-5007 與 EIP-5496 還處在 Last Call 階段,EIP-4955、EIP-5006 、EIP-5606 、EIP-6150 協議已經由 Last Call 轉到 Final 階段。總體的來說這些新協議的通過對於 NFT 在創新性以及實用性角度是做出很大貢獻的,如今 NFT 已經過去了 PFP 的階段,而 Web3 的征途是星辰大海,創新無時無刻不在上演,NFT 的下一個敘事到底要由什麼開啟,我們從這些協議中可以窺見 NFT 的未來正越來越朝向更實際,更具有應用性的方向發展。在不遠的未來 NFT 技術本身將改變遊戲、保險、房地產買賣、付費廣告、投票、社交平臺、視頻媒體…… 我們生活的方方面面. NFT 將不僅僅是加密的 “一部分”。在接下來的幾年裡,它們將可能成為加密領域中唯一與現實世界緊密相關的實際應用。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














