解讀最新Final的ERC-6147:極簡的半強制性NFT產權分離標準
就在2023.3.7 日,由10 K Universe 提出的以太坊改進提議EIP-6147 已移至最終版本(Final)!
該標準是ERC-721 的擴展,分離了NFT 和SBT 的持有權和轉讓權,並定義了一個新的可設置到期時間的"守衛者"角色Guard,可1、背景。
1、背景

1、背景
NFT 已經可謂是個老生常談的話題了,借助鏈上的不可篡改特性以及合約本身的自動化運作,實現了鏈上資產的確權與管理,筆者也從標準協議,租賃拓展協議,乃至於NFT 交易市場的幾種主流模式來撰寫過多篇文章長文。
如果要論證NFT 的優勢可能可以羅列上幾頁紙,但要論證NFT 的劣勢,則千言萬語彙聚成一個詞:流動性!
當然各位可能要質疑的是,流動性不足的困境與實現產權分離標準有什麼關係呢?
二級標題
二級標題
1.1、產權耦合,高價值NFT 會傾向於安全避險
目前NFT 被盜的案例很多,然而現有的NFT 防盜方案,比如將NFT 轉入冷錢包等都會使得NFT 的使用不便。
並且在目前的NFT 借貸中,NFT 所有者需要將NFT 轉移到NFT 借貸合約中,NFT 所有者在獲得借貸期間不再擁有NFT 的使用權,這邊是產權耦合的問題,這其實和我們現實中購買房產再房產抵押換取流動性資金時,再非風險條件下是不用被佔用房屋使用權的情況很不同。
記憶尤新的是,猴子APE 空投時被攻擊者用閃電貸結合NFTX 進行攻擊

原事件分析可拓展閱讀:EIP-5058 能否防止NFT 項目方提桶跑路?
整件事情裡,唯一受損的則是質押了猴子的用戶,本來是賺取微不足道的時間利差卻痛失了ape 的海量空投。
同樣的,產權耦合的還有SBT 的問題
二級標題
二級標題
正文
正文
1.2.1、簡單哲學ERC-4907 ,定義願景剩下交給共識
在2022-07 月,NFT 租賃市場Double Protocol 提交的可租賃NFT 標準“EIP-4907 ”通過了以太坊開發團隊的最終審核,成為第30 個ERC 標準“Final”的狀態。
代碼極為簡單僅有72 行,使用這個標準,就是在原來的ERC 721 之上新增
1 個事件(用於通知鏈下應用稱為事件)
3 個方法(用於實現鏈上數據管理功能)

歸咎原理,其實4907 只是新增了一個數據對象UserInfo 在所有權的概念之外增加“用戶”的維度,但是畢竟其強制性有限,只要轉移就能強行終止出租授權
詳情可拓展閱讀:
721 租賃協議解讀:以太坊新標準EIP-4907 是怎樣實現NFT 租賃的?
正文正文
1.2.2、 0 信任哲學的ERC-5058 ,代碼即法律
他本質上是對NFT 的鎖定狀態進行管理,讓項目方在繼承5058 實現的NFT 項目中,提供鎖定即轉移的功能,也可以在繼承中實現更多功能比如版稅等
他封裝提供了若干提供方法:只有用戶許可以及項目方執行之後才會完全鎖定
用戶可調用
lockApprove(許可鎖定單個NFT)
setLockApprovalForAll(許可鎖定該地址下全部NFT)
項目方合約調用:
lockFrom(鎖定用戶的NFT)
unlockFrom(解鎖用戶的NFT)
鎖定期的定義也極具強制性,近乎只依據設定之初的時間點
項目方(第三方)鎖定NFT 時,需要指定鎖定過期的區塊高度,該高度必須大於當前區塊高度。鎖到期後,NFT 自動釋放,才可以進行轉移。
項目目前還是處於草稿階段,或許強制性過高以及用戶項目方雙向操作的較高成本所致
詳情可拓展閱讀:一級標題
一級標題
2、ERC-6147 的運作機制
二級標題
2.1、Guard 是什麼?誰能控制?
首先ERC-6147 定義了一個名為Guard(守衛者)的角色,和4907 的UserInfo 很相似,

而Guard 只有該NFT 的當前所有者地址以及有代扣權限的地址,可以通過changeGuard設置,
通過源碼可以看到,在設置Guard 的時候若干的細節// 防止誤鎖定,所以Guard 不能設置為0 地址

二級標題
二級標題

2.2、Guard 能做什麼?
首先具有了強制轉移權,對於設置了Guard 的NFT 而言,在進行transferFrom的時候,會查詢交易發起方是否是守衛地址,是才能轉移。

💡 請特別注意1 :
對於設置了Guard 的NFT 而而言,原持有者將只有持有權,並沒有轉移權(即使用權),其他Dapp 依舊可以查詢到此NFT 的所有者是原用戶,但原用戶無法驅動其進行轉移。
所以對於設置了守衛的NFT,在opensea、x2y2等交易平台上的簽名是有效的(但是無法進行實際轉移,因為Seaport 等協議執行轉移的時候,是由Seaport 協議通過代扣授權來執行)
【合約解讀】CryptoPunk 世界上最早的去中心化NFT 交易市場
💡 請特別注意2 :
如果守衛直接進行了轉移該NFT,如果是使用原生的transferFrom或者safeTransferFrom 方法,其實守衛的設置是不會自動清除的,當然如果是守衛將NFT 轉給自己自然無妨,但是如果轉給某用戶,然後再藉助守衛者的設置是可以再次進行轉移的。
因此如果後續使用Guard,則更多是需要檢驗是否使用的是transferAndRemove 方法,此方法會在轉移後直接清除守衛者信息。
並且,守衛者本質上也是一種較高的控制權力,雷同於房屋租賃,抵押的那一刻,其實本質已經屬於銀行,只是只有銀行在滿足某些社會條款的情況下(如違約)才會執行拍賣等操作,既然是某種金融抵押品的屬性,則自然也可以二次轉移此守衛權使用changeGuard方法即可。
對於transferRemove的設計原則是為了適應不同場景。
比如防盜中,如果NFT 在熱錢包,而熱錢包被盜了,冷錢包依然安全,其實只要transferFrom到其他安全地址就好了。
二級標題
二級標題
2.3、Guard 不能做什麼?
一級標題
一級標題
3、總結
用一張充滿金融屬性,稍有世俗的統計來呈現如今以太坊上NFT 類型的資產概覽把
但是

但是任何時候金融屬性都需要逐漸依歸,我們可以看到用NFT 來確認社交關係的Lens,可以看到用NFT 來做遊戲資產的各種Gamefi,也可以看到圍繞內容創作借助分拆眾籌的Mirror 等,
在以太坊問世區區8 年多的時間來,圍繞EIP 的提案總數已經達到6500+ ,
對比於同樣重磅的4907 而言,6147 更多是強在兼容性的優化
比如4907 做租賃,user 這個角色需要項目的主動認可,如果一個遊戲沒考慮user 這個角色,只考慮owner, 4907 是不適用的。而6147 只要認可owner 就夠了,並不用在意遊戲項目和NFT 本身是否支持租賃,現在大部分應用協議仍然是只認owner 的,這也是4907 問世後,還無法大幅度改變現狀的原因,只有先適應時代潮流之中能逐漸發光發熱。
另外6147 也提出了點贊關註十四,用技術視角帶給你價值參考鏈接:
參考鏈接:
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-6147.md
https://ethereum-magicians.org/t/final-eip-6147-guard-of-nft-sbt-an-extension-of-erc-721/12052
點贊關註十四,用技術視角帶給你價值
點贊關註十四,用技術視角帶給你價值


