OpenSea 的目標之一是為所有NFT 提供事實來源,讓NFT 變得更加透明
NFT 是附有去中心化所有權的獨一無二的代幣。 “誰擁有這個代幣” 這個問題由多台計算機同時存儲並追踪,防止有人在未經授權的情況下篡改歸屬。
然而,NFT 的相關媒介附件和內容(統稱“NFT 元數據”)始終沒有實現去中心化,因為直接在智能合約內存儲和修改數據會產生高昂的gas 成本。如果沒有去中心化,收藏者就無法相信某個代幣的元數據是完整且不變的。
自2017 年成立以來,OpenSea 就已支持元數據去中心化的NFT。今天,我們要宣布一個好消息:在OpenSea 平台上發行NFT 的創作者能夠使用IPFS(星際文件系統)和Filecoin 實現元數據去中心化啦!我們還為收藏者提供了一種可以查看NFT 元數據何時凍結的方法,並進一步強化了OpenSea 收藏者可以用來評估NFT 的工具包。
接下來,我們將進一步闡述OpenSea 是如何實現NFT 元數據去中心化的,以及這一點為何如此重要。如果你想要了解如何讓你在OpenSea 上發行的NFT 去中心化,請查看我們的幫助中心教程。
去中心化元數據vs 凍結元數據
如果你不了解NFT 元數據,不妨閱讀我們廣受歡迎的NFT 寶典,也可以閱讀下文的技術講解。
就符合以太坊標準的NFT 而言,管理NFT 的智能合約通常會使用函數來說明元數據的位置:
-
ERC 721 標準:function tokenURI(uint256 _tokenId) 外部視圖返回(字符串記憶)
-
ERC 1155 標準:function uri(uint256 _id) 外部視圖返回(字符串記憶)
函數的返回值通常是Google 雲、亞馬遜雲服務或其它可以線下化或由開發者改造的中心化存儲服務的URI。
這些中心化解決方案與IPFS、Filecoin 和Arweave 等去中心化存儲解決方案形成了鮮明對比,後者將元數據存儲在去中心化網絡中的存儲節點內。
中心化存儲有兩個弱點:
-
無常性:服務器可能會掉線,導致圖片很難找到(除非OpenSea 之類的NFT 索引已經為它創建了鏡像)。
-
易變性:開發者可以違背收藏者的意志修改圖片。
目前有四類NFT 元數據存儲:
“凍結” 這一概念不同於去中心化。即使元數據以去中心化方式存儲,創作者依然有可能通過發送鏈上事務來修改NFT 元數據。我們將元數據不可更改的NFT 稱為“凍結”。
如果不清楚NFT 有沒有被凍結,收藏者就無法知道自己購買的藏品過了1 年、10 年乃至100 年是否還是原來的樣子。
並非所有NFT 都具有相同的特性。讓我們通過下面一些例子來了解它們:
-
中心化:大多數NFT 的智能合約內都有一個函數可以返回與其代幣標識符對應的元數據。返回值通常是由開發者運行的雲服務器上的URI(例如example.com/nft/2)。如果一個NFT 的內容和媒介都由這種服務器控制,那麼這個NFT 就是中心化的,存在無常性和易變性問題。
-
中心化且可驗證:Larva Labs 發行的CryptoPunks 是最早的NFT,其圖片就存儲在中心化服務器上。但是,圖片的哈希值存儲在智能合約內。因此,儘管CryptoPunks 存在無常性問題,但是我們可以通過哈希值來驗證圖片是否被修改過,從而判定圖片是否是原圖。其它項目(如CrypoKitties)對這一系統進行了調整,例如,將NFT 的特徵存儲在鏈上,但是將特徵的效果圖存儲在中心化服務器上。在Cryptokitties 系統中,圖片可以被修改,但是每隻貓的“基因” 和稀有信息無法被修改。
-
去中心化:不同於將元數據存儲在中心化服務器內,開發者可以選擇將元數據直接存儲在智能合約或文件友好型的去中心化網絡內。最好的兩個選擇不外乎IPFS + Filecoin 和Arweave。 Arweave 要求礦工在創建區塊時指向之前存儲的數據,與區塊鏈類似(稱為“blockweave”)。 IPFS 可以讓對等節點相互存儲、請求並傳輸可驗證數據,並且可以和Filecoin 一起用來激勵礦工使用可驗證證明永久存儲數據。例如,Bored Ape Yacht Club 就將元數據存儲在IPFS 內,但是合約所有者可以修改IPFS 的根URI。
-
去中心化且已凍結:我們很難知道NFT 的元數據是否已被凍結,因為通常有很多種方法可以修改它。這是一個手動過程,但是OpenSea 現在可顯示OpenSea 上發行的NFT是否已被凍結,以及很多非OpenSea 上發行的NFT是否已被凍結:
-如果某個NFT 的元數據存儲在支持IPFS 和Arweave 的文件存儲網絡上,點擊圖中的“已凍結” 就會打開對應的去中心化URI(包括`ipfs://` 和`ar:/ /` URI)-
一些兼具去中心化和可凍結性的項目有:
-
超稀有(IPFS)
-
沙盒(IPFS)
-
Uniswap(鏈上)
-
1111 by Kevin Abosch(Arweave)
注:一些項目直接將元數據存儲在智能合約內。例如,Larva Labs 的另一個項目Autoglyphs 就直接從合約返回字符藝術品,它是首個這麼做的NFT 項目。 Autoglyphs 不依賴於除以太坊之外的其它系統提供圖片,因此我們稱之為去中心化的、鏈上的且已凍結的。
這四類NFT 各有優缺點。但是,對於收藏者來說,多了解一點NFT 實現會對決策有幫助。這就是為什麼我們要引入一種新的事件類型來增強ERC1155 和ERC721 標準,以便開發者告知OpenSea 等平台他們何時會將某個NFT 標記為“已凍結”。
永久URI
為了解決已凍結元數據和未凍結元數據之間的衝突,新的事件會告訴OpenSea 將某個URI 註冊為永久URI(即,PermanentURI)。事件簽名如下所示:
事件 PermanentURI(字符串 _value,uint256 索引 _id);
一旦NFT 智能合約發出一個PermanentURI 事件,就沒人能再更改這個對應某個代幣ID 的URI。詳情請參閱我們的文檔。就像絕大多數密碼學標準那樣,永久URI 仍處於開發中,可能會根據社區反饋進行更改。
凍結OpenSea 上的NFT
在2020 年12 月,我們推出了一個免gas 費的NFT 鑄造器(中文譯本),為更多想要在區塊鏈上出售自己的作品的藝術家大開方便之門。當時,我們率先支持通過智能合約凍結元數據。也就是說,創作者現在可以凍結他們在過去6 個月創作且尚未出售的NFT 的元數據。
首先,進入你的創作品的“編輯” 頁面,並點擊頁面右上角其中一個NFT 的鉛筆圖標(你可以在“添加新項目” 按鈕下方的搜索欄找到它們)。點擊凍結元數據按鈕,就會看到如下圖所示的彈出窗口。如果你想要繼續,請勾選方框,然後點擊“Submit Transaction” 提交事務。雖然OpenSea 不收取任何費用, 但是你需要支付gas 費才能將新的元數據URI 保存到智能合約內。
一旦你凍結了某個NFT,就無法將其解凍或更改其元數據。只要以太坊和Filecoin 存在,這個NFT 就永遠處於凍結狀態。
當你凍結某個NFT 後,你就可以直接在OpenSea 網頁上查看其IPFS URI。你還可以使用NFT.Storage API 和你的NFT 的IPFS 內容哈希值來查看與這個NFT 相關的Filecoin 交易數量。例如:https://api.nft.storage/check/bafkreiem4twkqzsq2aj4shbycd4yvoj2cx72vezicletlhi7dijjciqpui。
去中心化元數據的未來
OpenSea 的目標之一是為所有NFT 提供事實來源,無論它們使用的區塊鏈、元數據格式和去中心化存儲解決方案是什麼。將來,NFT 領域可能會陷入一片混沌,並湧現出很多NFT 發行方式。我們希望讓NFT 變得更加透明。
免gas 費凍結
過去6 個月來,我們通過支持Polygon 側鍊為OpenSea 上的用戶提供免gas 費體驗。如果你可以訪問封閉測試版NFT 鑄造器,現在就可以使用IPFS 和Filecoin 凍結你的Polygon NFT 了。
就像Polygon 交易一樣,將IPFS URI 保存到NFT 的智能合約並不會產生任何gas 成本—— OpenSea 會為你支付這部分費用。請關注後續版本發布,也歡迎通過Discord 告訴我們你的想法。
注:如果你對NFT 元數據感興趣,我們正在招人。歡迎查看我們目前空缺的崗位:https://opensea.io/careers。
(完)
(文內有許多超鏈接,可點擊左下”閱讀原文“ 從EthFans 網站上獲取)
原文鏈接:
https://opensea.io/blog/announcements/decentralizing-nft-metadata-on-opensea/
作者:OpenSea
翻譯&校對: 閔敏&阿劍
展開全文打開碳鏈價值APP 查看更多精彩資訊