隨著 NFT 走到了後小圖片時代,探索 NFT 的實用性將成為重要敘事。EIP-5496 提供了可共享的多重權限設計,有助於拓展更多應用場景,提升項目方賦能空間。

作者:Jason,Buidler DAO Co-founder

文章: @Buidler DAO

設計: @Rui

排版: @Chenlu

封面: Photo by Pawel Czerwinski on Unsplash

Twitter: @Jason_chen998

WeChat: cj350306878

注:本文中存在較多個人觀點,不代表官方立場,可能存在偏頗與不足,歡迎交流探討。

全文 3629 字,預計閱讀時間 9 分鐘

文章速覽:

01/ NFT 的下一個敘事

02/ EIP-5496 提供了可共享的多重權限

03/ EIP-5496 核心內容講解

NFT 的下一個敘事

對於整個 Web3 行業來說,我認為一切可以降低普通用戶進入的門檻和成本的都是好東西,對於 NFT 賽道來說,我認為一切可以增強流動性和實用性的也都是好東西。

在此之前對於可租賃 NFT 協議 4907 也專門寫了一篇文章,NFT 發展到後小圖片時代下一個敘事我認為就在於更貼近生活場景的實用型 NFT

首先先對於小圖片這個事再囉嗦兩句,貌似很多人將小圖片看作 NFT 的原罪,將 NFT 嘲諷為小圖片,但是我不這樣認為,小圖片對於 crypto 走向大眾視野一定是有不可估量的推動作用,不能拿起碗吃飯放下碗罵娘。

在此之前 crypto 其實對於普通人的理解和參與門檻還是非常高的,花花綠綠的 k 線和刺激的漲跌幅度決定了其還是小部分人的金融遊戲,但是 NFT 出現後至少貼在上面的那張小圖片是實實在在能看得著的東西,就算不懂金融和加密,不知道挖礦和 defi,但是至少能判斷圖片好不好看,社區有不有趣,小圖片+頭像帶來的社區文化極大的降低了普通用戶的理解和參與門檻,極強的推動了大量場外人員的加入,所以小圖片對於 crypto 的普及絕對有著極大的功勞不可置否。

只是因為 NFT 的低流動性導致產生的殭屍資產遠高於 token,這也就是為什麼提升 NFT 流動性很重要,其二是 NFT 的資產屬性我覺得只釋放出了它一半的價值,因它的唯一性和一切皆可 NFT(URI 掛載)所帶來的另一半實用價值價值的想像空間遠大於 token,但是迄今為止實用價值還沒有被完全釋放出來,這依賴於基礎設施的建設所帶來的應用場景探索,另外實用性的提升也會帶來其資產價值的升值,這是一個左腳踩右腳 1+1>2 的效果,單有實用性無資產交易價值的 NFT 我覺得也沒什麼意思。

NFT 實用性的背後即持有者權益的賦能,目前最常見的賦能大多集中在資產校驗到進入社區這個過程,也能看到逐漸的出現瞭如阿迪達斯發售的可穿戴 NFT,或是一些可訂閱 NFT(我們 BuidlerDAO 社區正在提案中)等。

EIP-5496 提供了可共享的多重權限

本文中的 EIP-5496 提供了可共享的多重權限,已經進入到 LastCall 狀態即將過審,這裡小科普一下 EIP 的流程,它的全稱是以太坊改進建議,任何人都可以去提交 EIP,描述你發現以太坊的不足並給出對應解決方案,經過初審後會按照時序給你一個編號,並進行如下圖所示的生命週期進行討論審核。EIP 分為很多類型,包括 Core、Networking 、Interface 、ERC、Meta、Informational,每一類解決的問題都不一樣,比如 Core 是涉及到核心的共識分叉等底層內容,耳熟能詳的 ERC 就是應用級的標準制定,20、721、3535、4337(賬戶抽象)、5192(靈魂綁定)都屬於這一類,所以 ERC 也是離普通用戶最近也最好理解的一層。我平時喜歡看 EIP,它既是一本以太坊的史書,可以了解其從誕生至今所有的問題與建議,同時也是一本預言書,每個 EIP 背後都可能蘊含著巨大的機會,看 EIP 也是把握市場方向的方式,建議大家沒事的時候也可以多關註一下:https://eips.ethereum.org/all

它認為 NFT 除了圖片和資產屬性外,在不同的場景下都有實用性可以拓展,權益可能是存在於鏈上如投票權、瀏覽權、空投權等,或者在鏈下如購物優惠、餐廳折扣、機場貴賓室使用權等,在 EIP-5496 的眼裡每個 NFT 都可以包含多種權益,並且這個權益應該具備幾種可選特性:

  • 可驗證:權益可以被驗證通過
  • 可轉移:權益可以被轉移給他人
  • 可共享:權益可以被共享給多人
  • 可截止:權益可以被設置有效期

因為作為發行方對於 NFT 的權益賦能可能會有很多,擁有 NFT 的人不一定想使用他們的權益,而傳統的 ERC721 只記錄 NFT 的擁有權和轉讓過程,NFT 的權益是不被記錄在鏈上的,EIP-5496 可以讓項目方將權益寫入鏈上,並授予特定人群,並且權益擁有者可以獨立管理每個權限,從而對於項目方和 holder 均具有權益的管理能力,釋放了 NFT 在權益實用性領域的價值。

目前對於項目方來說如果想將 NFT 持有者進行多層權益賦能的方式是空投多類 NFT,如一家航空公司向 Crypto Punk 持有者空投了一系列 NFT 並賦以權益,吸引他們加入航空公司的會員,但是新空投的 NFT 和其主 NFT 不是綁定關係,所以如果 Crypto Punk 主 NFT 被轉移,空投的 NFT 依然在原主人手裡繼續享受權益,而新的主 NFT 持有者則不能自動的享受權益,所以 EIP-5496 可以將權益和底層主 NFT 綁定,並允許用戶自主的管理權限

EIP-5496 核心內容講解

協議最難的在於如何能夠在盡可能簡單的程度下,去支持拓展出更多複雜的業務場景,它要求優雅且克制,而不是一昧追求著強大和牛逼,所以接下來我們通過其技術實現看一下到底 EIP-5496 都做了什麼事,以及他的設計原則是什麼,代碼比較多我摘錄一些核心內容為大家講解。

首先在合約中它將權益全部 ID 化,在此之前我以為設置權益的過程,是直接將 NFT 的權益都有什麼寫入到合約中,比如一個 NFT 有 3 個權益,它並不是通過 string 文本的形式去寫【可以打折】【可以使用產品】【可以獲得空投】,而是直接設置該 NFT 的權益 ID 為 1、2、3,對沒錯就在合約裡設置好有 3 個權益,而並不會直接將權益內容寫進去,這也就是我認為其作為協議優雅和克制之處,權益 ID 化的好處是:

1、我作為協議只需要你來設置有幾個權益,每個權益的 ID 是什麼,至於具體的權益內容則交給合約外部即鏈下來決定,就像是一台電腦有 3 個 USB 接口,它可以用來插 U 盤也可以插鼠標,插什麼用戶自己去決定。

2、權益 ID 化後對於驗證權益會非常的方便,比如一個產品要求 NFT 持有者只有具備 “可以使用產品” 的權益才可以使用,那麼當用戶打開該產品時,產品代碼裡需要寫一個邏輯去校驗用戶是否持有該 NFT 且具備對應權限,則需要去做權限名稱的逐字匹配少一個字都不行,“可以用產品” 和 “可以使用產品” 對於代碼來說就是完全兩種不同的權限,但是如果 ID 化,則只需要校驗當前 NFT 是否具備 “2” 權限即可。

3、權益的內容變更是比較頻繁的,將權益內容放在鏈下,只將權益 ID 數量放在鏈上,若項目方對於權益進行改變則不會花 gas 費

但權益 ID 化之後也同樣帶來的問題是無法直觀的看到這個 NFT 到底都有什麼權益,只有 1、2、3 這幾個 ID 數字, 還需要第三方產品去單獨做一個權益內容的設置和查詢功能去索引到對應 ID。

具體的權益數據管理它使用了兩個結構體做雙層嵌套,首先定義了 PrivilegeRecord,裡面存儲了用戶地址和到期時間兩個字段,然後又定義了 PrivilegeStorage,裡面存儲了最新一次的到期時間,並用 mapping 的方式去將權益 ID 和 PrivilegeRecord 進行了綁定。

_setPrivilegeTotal 函數用於設置全部的權益數量,這個數量會用在賦權的過程中,即只有 3 個數量,那賦權的時候 ID 肯定要小於 3 的。

下圖為核心的設置權益的代碼,首先設置權限時,需要傳入 4 個參數,被設置的 NFT tokenid,要設置的權限 ID,被賦權的用戶地址,權限到期時間。在賦權時需要進行 3 個校驗條件,分別文是否擁有權限、到期時間是否大於 30 天和權益 ID 是否在總權益範圍內,協議對於權益的時間限制必須要超過 30 天的原因我覺得還是比較奇怪的,不知道為什麼作為協議要加這麼個性化的限制,按理來說應該將這個限制給到項目方自己決定的。

privilegeBook 也是一個 mapping 的數據類型用於管理每一個 NFT 被賦權的情況,代碼中對 privilegeBook 進行設置將某個 NFT 的某個權益的某個人設置為被賦權用戶地址,然後再更新到期時間。

下圖也是很核心的用於判斷用戶是否持有對應權益的接口,這個接口將作為其他第三方產品驗證權益的關鍵途徑,可見傳入了三個參數 tokenId、權益 ID 和用戶地址,先判斷當前權益是否還在有效期內,這裡獲取了其最新的到期時間來判斷是否大於當前區塊的時間戳,若存在有效期的話則校驗當前 tokenid 的對應權限 ID 的 user 是否為傳入的用戶地址。

下圖為獲取某個 NFT 的權益最新的到期時間。

以上就是 EIP-5496 的內容,總體看下來我覺得對於 NFT 在實用性角度是做出了貢獻的,但同時它也有自身的局限性,通過上述代碼分析可以看到它的權限顆粒度是到了某個具體 NFT 層面,即以 tokenid 為單位,也許是我還沒有研究的很透徹,但是如果我想對於某一批甚至整個 collection 的 NFT 均設置權限是非常麻煩的,有 1 萬個 NFT 就要設置 1 萬次呀,不知道提案人是如何考慮這個問題的,也歡迎大家交流探討。

總之如文章開頭所說,NFT 已經過去了 PFP 的階段,下一個敘事到底要由什麼開啟,有待於基礎設施和上層應用的創新帶來下一次破圈後的增量用戶湧入,本文存在大量個人見解,存在不足和偏頗,不代表任何組織立場,不構成任何投資建議,歡迎交流探討。

往期回顧

Buidler DAO 蝗蟲精選(19):Web3 運營與增長的必讀文章

Buidler DAO 大咖夜談:隱私,是下一個敘事點嗎?

Buidler DAO 翻譯:Polygon 跨鏈橋上無人認領的百萬美元

Buidler DAO 對話 BlockSec 創始人周亞金:堅守正道是安全從業者捍衛 Web3 的浪漫

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。