買比特幣 買比特幣
Ctrl+D 買比特幣
ads

NFT:源碼解讀:以太坊新標準EIP-4907是如何實現NFT租賃的?_數字資產

Author:

Time:1900/1/1 0:00:00

內容概要

在這周,NFT?租賃市場DoubleProtocol提交的可租賃NFT標準“EIP-4907”通過了以太坊開發團隊的最終審核,成為第30個ERC標準“Final”的狀態。

讓我們一起來閱讀這極簡的源代碼,來縷清其他是如何實現NFT租賃的?

為什么需要租賃?

NFT的爆發毋庸置疑,而伴隨普及引發了對其資產實用性的需求,尤其是在元宇宙和邊玩邊賺(P2E)的場景下,僅僅單純的資產所有權并不足以支撐更多的應用玩法的誕生。

一直的痛點是供給不平衡,導致的好項目少,浮于金融玩法的韭菜項目多,既然如今web3有大量web2行業精英在涌入,也必然需要快速的新標準推出,來將創造力的供給釋放。

Nansen:Binance的鏈上余額為640億美元:金色財經報道,區塊鏈分析公司Nansen的數據顯示,幣安的鏈上投資組合目前為640億美元。USDT、BTC、ETH、BUSD和BNB是幣安持有量最大的幣種,截至發稿時約占加密交易所總余額的81%。截至周三,Binance的客戶代幣流出超過6億美元,這一數字仍低于早些時候美國證券交易委員會對BUSD發行商Paxos提起的訴訟,當時Binance在一天內處理了超過20億美元的提款。[2023/3/29 13:32:56]

NFT流動性的緊缺,使得他風風火火的同時也備受詬病,他之前產權一體化的金融化操作,市場各類安全問題欺詐、剽竊、釣魚、跑路、資產被盜層出不窮。

而Eip-4907,想要解決的就是分離NFT的資產價值和使用價值,釋放出NFT的市場流動性

HashKey Group與瑞士加密銀行SEBA Bank達成合作以加速數字資產的機構采用:12月5日消息,亞洲數字資產金融服務集團 HashKey Group 與瑞士受監管的數字資產服務提供商 SEBA Bank 今天宣布建立新的戰略合作伙伴關系,兩家金融服務集團將利用各自的優勢數字資產服務產品以及托管和資產管理產品,以加速數字資產在香港和瑞士的機構采用。通過諒解備忘錄 (MOU) 正式確定的戰略合作伙伴關系將使 HashKey 成為 SEBA Bank 在香港的首選數字資產交易和市場開發合作伙伴,而 SEBA Bank 將成為 HashKey 在瑞士的首選銀行合作伙伴。雙方將致力于以最高標準的合規、KYC/AML政策和措施來遵守和接受各自司法管轄區的監管框架。[2022/12/5 21:24:15]

源碼解讀

惠譽:缺乏監管限制美國銀行業參與加密貨幣領域:金色財經報道,惠譽:缺乏監管限制美國銀行業參與加密貨幣領域。聯邦層面的銀行和數字資產立法框架需要通過美國國會批準。在形成全面、理想的全球性加密監管框架之前,美國銀行業可能會謹慎行事。(金十)[2022/10/27 11:46:00]

由于Eip4907極其簡單,因此對代碼的解讀無論是否技術同學均可來嘗試理解其細節設計。

2.1、實現原理:

他作為ERC-721的擴展,?EIP-4907增加了一個變量UserInfo,讓應用可以查詢此NFT當前被租出去的目標地址“user”和出租時間”expires"。如果發現已經超出出租時間,則租賃關系宣告失效。

代碼極為簡單僅有72行,使用這個標準,就是在原來的ERC721之上新增

比特幣閃電網絡節點數量為17,659個:金色財經報道,1ML網站數據顯示,比特幣閃電網絡(LightningNetwork)的節點數量為17,652個,同比增長1.25%;通道數量為85,397個,同比增長1.1%;網絡容量為4,000.86BTC,同比增長5%。[2022/6/11 4:17:31]

1個事件

3個方法

分別是

UpdateUser事件:當NFT轉移,租賃校色設置時,發出租賃用戶改變的通知

setUser方法:NFT所有者授權者可用,設置此NFTID的出租用戶和過期時間

userOf方法:任何人可用,查詢此NFTID的出租用戶

userExpires方法:任何人可用,查詢此NFTID的過期時間

2.1、數據結構:

理解ERC標準協議的最佳方式就是理解他管理數據的最底層數據結構

例如:前文你買的NFT到底是什么?

其實NFT只是通過2個映射,即一種字典形式的key-value對應關系的存儲結構去記錄數據

而Eip-4907則是新增了一個數據對象UserInfo在所有權的概念之外增加“用戶”的維度

數據結構簡單,就意味著管理的方法實現也非常簡單

2.2、設置用戶setUser方法

設置用戶僅有3個步驟

此交易的發起者其是否持有此NFTid或是有Approved自動扣款權利

設置UserInfo中用戶的用戶地址和到期時間

發出設置成功的UpdateUser事件

2.3、查詢NFTid的用戶信息

媒體處處宣傳的超時自動失效,而無需二次鏈上交易登記失效節約gas的邏輯就在這了。

查詢的邏輯很簡單,按指定的NFTID查詢_users的user信息即可,但他增加了,if判斷,當前塊的時間block.timestamp是否會超過設置的過期時間expires,所以此查詢僅在時間內有效。

2.3、查詢NFTid的用戶過期時間信息

此處無需類似user查詢時候判斷是否過期,因為得知上一次過期時間,也是加快NFT用戶使用率的一種方式。

2.4、租賃關系的強制性設計

此eip4907的協議,對標準交易方法Transfer增加了一部分內容,通過_beforeTokenTransfer實現,就是強制在進行Transfer交易轉移后就刪除掉這部分對用戶的信息,并且發出事件通知已經用戶失效了。

總結

沒想到吧,這么快就代碼講完了,因為確實他寫完了,對的,不像是之前的通過限制轉移權的方法EIP-5058,見前文

其實他EIP-4907只是多了個變量,并稱之為租賃用戶而已,可以聲明,但是其他應用認不認就是另一碼事了,畢竟其強制性有限,轉移就能強行終止出租授權

當然你或許會問,為什么這么簡單反而火速成為了難得一見,且每次都能掀起一番波浪的Final標準呢?

這也就是web3的哲學:越簡單,越優雅,剩下的交給共識。

我個人認可這樣的哲學與趨勢

web3過去爆發或是得益于金融操作,但是好的生態不能只是金融價值,還需要更有商業價值,需要更廣大的用戶融入于生活生產形成價值閉環,貨幣終究只是手段而不是目的本身

引用:

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4907.md

前文回顧

OpenSea免費創造的NFT都沒上鏈竟能出現在我的錢包里?

你買的NFT到底是什么?

EIP-5058能否防止NFT項目方提桶跑路?

當我們在看Etherscan的時候,到底在看什么?

當奈飛的NFT忘記了web2的業務安全

Tags:NFTUSESER數字資產HDPUNK Vault (NFTX)MOUSEsero幣有前景嗎數字資產管理

萊特幣價格
ALP:【重要】關于Alpex(愛π)停止注冊/充幣/掛單/開倉的公告_RAM

尊敬的用戶: Alpex已于2022年4月11日16:00向AlpexGlobal平臺遷移,為確保您的資產安全,我們計劃于4月14日16:00停止Alpex的部分功能.

1900/1/1 0:00:00
HTT:XT.COM關於恢復WSPP-MATIC提現的公告_https://etherscan.io

尊敬的XT.COM用戶:WSPP-MATIC錢包升級已完成,XT.COM現已恢復WSPP-MATIC提幣業務.

1900/1/1 0:00:00
USDT:關于合約價差保護說明_CUSD

價差保護開啟后,計劃委托/止盈止損達到觸發價時,如果該合約的最新價與標記價格價差超過該合約系統設定的閥值,計劃委托/止盈止損將被拒絕,以防止價格波動影響計劃委托/止盈止損策略.

1900/1/1 0:00:00
COIN:BTC交易0費率,交易即瓜分60,000美金空投!_coinw是什么意思

BTC交易0費率,交易即瓜分60,000美金空投!活動時間:2022年7月5日15:00~2022年8月5日24:00BTC收益率比拼獨享666USDT!活動期間,所有參與BTC交易的用戶.

1900/1/1 0:00:00
BRCE:ZBG關於ETH及ERC20代幣恢復充提幣的公告_CRDT幣

公告編號2022063001各位關心ZBG的投資者們和項目方:ZBG平臺現已恢復ETH及ERC20代幣的充提幣.

1900/1/1 0:00:00
ASP:關于Asproex(阿波羅)即將上線?GLD的公告_藝術幣區塊鏈

尊敬的用戶: ????Asproex將于新加坡時間2021年10月29日15:30正式上線GLD,屆時將開通GLD/USDT交易對.

1900/1/1 0:00:00
ads