ERC721R 合約實測!防 Rugpull 的合約竟然可以被用來 Rugpull!?
鏈新聞 2022-04-13 15:30
(本文由 The Z Institute 提供)
前言:
NFT 協議好幾種,ERC721 / ERC721A / ERC 721 psi / ERC 721R 之間的差別究竟是什麼?當協議隨著技術發展不斷迭代,項目的需求亦不斷翻新,身為一個開發者,該如何了解什麼樣的協議適合什麼樣的應用場景?
點燃推特輿論,號稱能夠在有效期限內退回 NFT ,並回收鑄造費用的 ERC 721R 協議背後的邏輯為何?如何實際應用在智能合約撰寫上?鑄造之後真的能夠無限制退款嗎?The Z Institute 區塊鏈線上學院本次就在直播中直接實測這個最新協議,討論並改善協議的漏洞問題。
NFT 協議們的前世今生:
ERC 721:最常見的 NFT 協議,2017 時因項目 Crypto Kitties 首度面世,與過去的共用 ID 的 Token 概念不同,每個 NFT 都有自己獨特的 Token ID。
ERC 1155:一個合約內可以有多個不同的 Token ID,一個 Token ID 可以有多個 NFT。
ERC 721A:由 NFT 項目 Azuki 發布,為了降低批量 mint Gas fee 開發出來的協議,節省智能合約在鏈上寫入資料的工作,用演算法的方式提高同時多筆鑄造的效益。
ERC 721Psi:以 ERC 721A 為基礎,再度針對降低 Gas fee 做優化。
ERC721R 的由來
由 NFT 項目 Crypto Fighter 開發,延伸 ERC721A 的協議做改良,為了防止項目方 Rugpull 設計的 NFT 退款機制,目的在於表現項目方長期營運的誠信。
項目方可以事先在合約中寫定鑑賞天數(退費期限),在這個期間內 NFT 擁有者都可以直接透過合約機制申請全額退款,只需付 Gas fee。
ERC721R 的設計與退款邏輯
(參考 tx:https://rinkeby.etherscan.io/tx/0x9b78e13bfbbaee027a08afa79a31cf8c705539d4e38f603691dbbd56a9f304b4)
ERC721R 機制的漏洞
項目方如何利用漏洞 Rugpull:
如何填補 ERC 721R 的合約漏洞
在合約內另外寫入規則:一個 Token ID 只能退款一次,解決重複退款問題。
在直播過後,The Z Institute 已向 ERC721R 合約提出修正建議與修正實作代碼:D
(參考網址:https://github.com/exo-digital-labs/ERC721R/pull/9)
ERC721R 對 NFT 來說是一個好的機制嗎
部分開發者與社群參與者認為,ERC721R,可以透過去中心化的合約機制,確保項目方有長期運作的誠信,保障一級市場的參與者的權益。
但另一方面,此協議可能導致在退款期結束之前,項目方會面臨沒有開發經費的窘境;或者 NFT 生態規則被破壞,鯨魚大量鑄造並退回不是稀有的 NFT。以及,區塊鏈精神本身並不鼓勵退回機制。
本次直播的影片與共筆
網址:https://bit.ly/3vfbzIa
學院介紹:
The Z Institute 旨在成為一所產學合一的 Web 3 元宇宙大學。我們自 2017 年開始提供區塊鏈顧問、企業內訓、專案開發、智能合約審計、國際資源媒合對接等服務。同時開設區塊鏈線上課程和培訓工坊,致力使未來科技廣為傳播且發揚光大,並解決區塊鏈最前線的人才需求。
學院至今已經訓練超過 2,000 名來自各個專業領域學員,從技術教育到職業媒合,成功輔導多位 Web 2 的人才轉職國內外 Web 3 產業。我們堅信人才的培訓是產業的基礎,目標是將台灣的人才推向世界舞台,加速帶動台灣區塊鏈的發展。
目前也現正籌劃新的課程,歡迎填寫課程調查表單,讓你的意見被我們聽到,並收到最新課程資訊與優惠!表單連結:https://forms.gle/hStDkWzitpem1YNA9
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零開始學合約系列講座熱烈報名中
- 掌握全球財經資訊點我下載APP
上一篇
下一篇