自 2017 年成立以來,OpenSea 就已支持元數據去中心化的 NFT。而現在創作者發行 NFT 將可透過 IPFS 和 Filecoin 實現元數據去中心化。透過此舉既省 gas 成本,又確保元數據完整性。 本文源自於 OpenSea 官方部落格,由動區專欄作者 以太方愛好者 翻譯、撰寫及整理。
(前情提要:不久前才諷刺!A16z、Mark Cuban投資「NFT 交易所 OpenSea」A輪融資)
(前情提要: 淺談 NFT 與元宇宙,DappReview 創辦人 :「以太坊是一個沒有炫酷前端的 Metaverse」)
NFT 是附有去中心化所有權的獨一無二的代幣。「誰擁有這個代幣」 這個問題由多台電腦同時儲存並追蹤,防止有人在未經授權的情況下篡改歸屬。
然而,NFT 的相關媒介附件和內容(統稱「 NFT元數據」)始終沒有實現去中心化,因為直接在智能合約內存儲和修改數據會產生高昂的 gas 成本。如果沒有去中心化,收藏者就無法相信某個代幣的元數據是完整且不變的。
自 2017 年成立以來,OpenSea 就已支持元數據去中心化的 NFT。現在在 OpenSea 平台上發行 NFT 的創作者能夠使用 IPFS (星際文件系統)和 Filecoin 實現元數據去中心化,還為收藏者提供了一種可以查看 NFT 元數據何時凍結的方法,並進一步強化了 OpenSea 收藏者可以用來評估 NFT 的工具包。
接下來,將進一步闡述 OpenSea 是如何實現 NFT 元數據去中心化的,以及這一點為何如此重要。
去中心化元數據vs 凍結元數據
就符合以太坊標準的 NFT 而言,管理 NFT 的智能合約通常會使用函數來說明元數據的位置:
- ERC 721 標準:function tokenURI(uint256 _tokenId) external view returns (string memory)
- ERC 1155 標準:function uri(uint256 _id) external view returns (string memory)
函數的返回值通常是 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 存在無常性問題,但是我們可以通過哈希值來驗證圖片是否被修改過,從而判定圖片是否是原圖。其它項目(如 CryptoKitties )對這一系統進行了調整,例如,將 NFT 的特徵存儲在鏈上,但是將特徵的效果圖存儲在中心化服務器上。在 Cryptokitties 系統中,圖片可以被修改,但是每隻貓的「基因」和稀有資訊無法被修改。
- 去中心化:不同於將元數據儲存在中心化服務器內,開發者可以選擇將元數據直接存儲在智能合約或文件友好型的去中心化網路內。最好的兩個選擇不外乎 IPFS + Filecoin 和 Arweave。Arweave 要求礦工在創建區塊時指向之前存儲的數據,與區塊鏈類似(稱為「blockweave」)。IPFS 可以讓對等節點相互儲存、請求並傳輸可驗證數據,並且可以和 Filecoin 一起用來激勵礦工使用可驗證證明永久存儲數據。例如,Bored Ape Yacht Club 就將元數據存儲在 IPFS 內,但是合約所有者可以修改 IPFS 的根 URI。
- 去中心化且已凍結:我們很難知道 NFT 的元數據是否已被凍結,因為通常有很多種方法可以修改它。這是一個手動過程,但是 OpenSea 現在可顯示 OpenSea 上發行的 NFT 是否已被凍結,以及很多非 OpenSea 上發行的 NFT 是否已被凍結:
一些兼具去中心化和可凍結性的項目有:
- SuperRare (IPFS)
- Sandbox (IPFS)
- Uniswap (on-chain)
- 1111 by Kevin Abosch (Arweave)
注:一些項目直接將元數據存儲在智能合約內。例如,Larva Labs 的另一個項目 Autoglyphs 就直接從合約返回字符藝術品,它是首個這麼做的 NFT 項目。Autoglyphs 不依賴於除以太坊之外的其它系統提供圖片,因此我們稱之為去中心化的、鏈上的且已凍結的。
這四類 NFT 各有優缺點。但是,對於收藏者來說,多了解一點 NFT 實現會對決策有幫助。OpenSea 為此引入一種新的事件類型來增強 ERC1155 和 ERC721 標準,以便開發者告知 OpenSea 等平台他們何時會將某個 NFT 標記為已「凍結」。
延伸閱讀:NBA金州勇士發行NFT!於 Opensea 競標,得標送實體冠軍戒、VIP門票、一日隨隊體驗
永久 URI
為了解決已凍結元數據和未凍結元數據之間的衝突,新的事件會告訴 OpenSea 將某個 URI 註冊為永久 URI(即,PermanentURI)。事件簽名如下所示:
event PermanentURI(string _value, uint256 indexed _id);
一旦 NFT 智能合約發出一個 PermanentURI 事件,就沒人能再更改這個對應某個代幣 ID 的 URI。
凍結 OpenSea 上的 NFT
在 2020 年 12 月,OpenSea 推出了一個免 gas 費的 NFT 鑄造器,為更多想要在區塊鏈上出售自己的作品的藝術家大開方便之門。當時,OpenSea 率先支持通過智能合約凍結元數據。也就是說,創作者現在可以凍結他們在過去 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,且無需支付任何Gas費用
去中心化元數據的未來
OpenSea 的目標之一是為所有 NFT 提供事實來源,無論它們使用的區塊鏈、元數據格式和去中心化儲存解決方案是什麼。將來,NFT 領域可能會陷入一片混沌,並湧現出很多 NFT 發行方式。
免 gas 費凍結
過去 6 個月來,OpenSea 通過支持 Polygon 側鏈為 OpenSea 上的用戶提供免 gas 費體驗。如果你可以訪問封閉測試版 NFT 鑄造器,現在就可以使用 IPFS 和 Filecoin 凍結你的 Polygon NFT 了。
就像 Polygon 交易一樣,將 IPFS URI 保存到 NFT 的智能合約並不會產生任何 gas 成本—— OpenSea 會為你支付這部分費用。
📍相關報導📍
重新詮釋「非同質化代幣 NFT」的巨大潛力!為何稱智能收藏品更適合? (完整白皮書)
推特在「以太坊」發行NFT分送!Jack Dorsey改觀?本尊駁 : 不會買進ETH
蘇富比賣出「WWW之父」的原始碼 NFT ,結標價破 540 萬美元
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務