0x财经|NFT鑄造協議的設計變化

NFT的流行,從國際開放的公鏈到國內的聯盟鏈上,都在持續。如果NFT對外表現的都是收藏品這些屬性。而拋開這些外部的表現,回到承載NFT的鏈上,其表現的是鏈上的數據資產,而這些鏈上的數據是通過NFT協議表現出來的。

所以今天我們集中從市場上比較流行或曇花一現的四個NFT協議去看一下協議對數據屬性表現的不同之處。

ERC-721

ERC-721是最基礎的NFT協議,其定義的就是非同質化的特性,也就是唯一性,以及不可分割性,此外並沒有對鑄造有明確的說明,也代表著多種類型的數據資產都可能成為NFT的元數據。早期最有代表性的就是CryptoKitties。但像Dentraland上的道具土地等也可以基於ERC721標準發行。

ERC-1155

ERC-1155的出現,是第一個對NFT的改版協議,由Enjin首席技術官WitekRadomski等人開發,其主要可用於遊戲行業中道具的生成和處理。該標準的提出對nft在遊戲行業的應用起到了極大的提升。在一定程度上融合了ERC-20和ERC-721的功能。

ERC-1155允許使用者在同一個智能合約中無限量地重複使用同質化或者非同質化的代幣。是可以一次性鑄造多種多量同質化及非同質化資產的以太坊標準。這個規則下,就可以批量轉移代幣資產,以及一次操作就可向不同對象轉移多個代幣資產,大大提高使用效率降低時間及gasfee成本。

例如,鑄造數量1000個NFT道具,如果使用ERC721協議,需要提交1000次,需要支付1000次gas費,但是使用ERC-1155可以一次性提交鑄造完成。

ERC-1155標準的規則,也意味著可以把想要交換的代幣捆綁在一個合約中,不需要在ERC20和ERC721的合約間切換。

ERC721A

ERC721A出現的目的是為了在一次交易中鑄造多個NFT,可以節省gas。代表項目是Azuki,經由Azuki自己開發的協議實現了合約鑄造多個NFT的成本與鑄造單個NFT的成本基本相同。

ERC721和ERC721A使用了相同的應用程序級邏輯,但優化3個部分:

1.從ERC721Enumerable中刪除重複存儲,降低了資源佔用。

2.每個批次鑄幣請求更新所有者的餘額一次,而不是每個鑄幣NFT。

3.每個批次鑄幣請求更新一次所有者數據,而不是每個鑄幣NFT。

ERC721R

ERC721R是為了ERC721和ERC1155標準打造的退款功能。協議在NFT智能合約中增加了去信任的退款協議設計,允許鑄造在給定的期限內退還按成本鑄造的NFT,並且收穫相應的退款。

當用戶在ERC721R集合中鑄造NFT時,資金由購買時的智能合約持有。該智能合約可以設置特定時間區間,在該時間範圍內,用戶隨時可將NFT發送給合約並獲取自己的初始購買資金,合約在該時間內也不能提走用戶的購買資金。

例如:一份含有ERC721R的智能合約,該合約設置了NFT購買的可退款時間為10天內,用戶在該合約中花費0.5ETH購買了1枚NFT,兩天之後,用戶想拿回自己的ETH,隨後在該合約歸還NFT,獲取自己的初始購買資金0.5ETH。本次操作中用戶只會損失交易的gas成本。

不過,目前出現的ERC721R在代碼層面有存在安全風險,主要存在於管理員地址的權限問題,當用戶退款後,該用戶的NFT會轉移至refundAddress地址,也就是管理員地址,此時,管理員可以用NFT進行退款,或者鑄造一個NFT進行退款,得到合約內部所有的ERC20資金。

Total
0
Shares
Related Posts