原標題:《 NFT 聖經:關於非同質化代幣的所有知識》

來源:老陸的區塊鏈筆記

文章來源:opensea.io/blog/guides

作者:德文·芬澤OpenSea CEO

翻譯:老陸

Hash:QmbhV4Z6c2yjUiKWyLwZrFi5epCf78gTypQLaGq5bHqbQw

非同質化代幣NFT 是一個擁有區塊鏈管理權,獨特的區塊鏈項目。例如,收藏、遊戲物品、數字藝術、活動門票、域名,甚至是實物資產的所有權記錄。

如果你生活在加密貨幣的世界裡有一段時間了,你可能會聽到“非同質化代幣”或者“NFT”這個詞。或許你是個懷疑者、信徒,又或許你還不知道那個非同質化代幣到底是什麼。不管怎樣,這篇文章是適合你的!

作為NFT 的交易市場, OpenSea 有著獨特的優勢:自從2017年年底NFT 標準問世以來,幾乎所有與NFT 相關的項目都已上線了。

實際上,我敢和您賭一張GodsUnchainedCard,如果您向我們詢問關於NFT 項目的信息。我們已經聽說過了,並且有可能在某些時候他們與我們開發人員交談過了! NFT 生態系統是由令人難以置信的革新者組成的,每一個人都是這樣:從愛好者到開發者,從玩家到企業家到藝術家,所有人都是如此。成為這個社區的一員也是我們的榮幸。

本文旨在對非同質化代幣提供一個深入的概述:ERC721 的技術剖析, NFT 的歷史,對NFT 的普遍誤解,以及NFT市場的現狀。我們希望這對該領域內的新手,以及已經了解NFT 但想更好地了解其內部工作細節的人來說是有意義的。

目 錄

1. 什麼是非同質化代幣?

1.1 基於區塊鏈的非同質化代幣

1.1.1 標準化

1.1.2 互通性

1.1.3 可交易性

1.1.4 流動性

1.1.5 不變性和可證明的稀缺性

1.1.6 可編程性

2. 非同質化代幣標準

2.1 ERC721

2.2 ERC1155

2.21 可組合物品

2.3 非以太坊標準

3. 非同質化代幣元數據

3.1 鏈上與鏈下

3.1.1 鏈上元數據

3.1.2 鏈下元數據

3.2 鏈下存儲解決方案

3.2.1 集中式服務器

3.2.2 IPFS

4. 非同質化代幣的歷史(2017年至2020年)

4.1 – 0 BC:CryptoKitties 之前

4.2 公元前0年:加密貓的誕生

4.2.1 投機力學

4.2.1 病毒式故事

4.3 2018年:炒作、熱土豆遊戲和第二層

4.3.1 第二層遊戲和體驗

4.3.2 熱土豆

4.3.3 風險投資利息

4.4 2018年– 2019年:回到建設時期

4.4.1 數字藝術

4.4.2 傳統IP入局

4.4.3 日本領頭羊

4.4.4 虛擬世界擴展

4.4.5 交易紙牌遊戲

4.4.6 去中心化域名服務

4.4.7 其他實驗

4.4.8 傷亡和復蘇

5. 非同質化代幣的神話

5.1 光是稀缺就可以推動需求

5.1.1 智能合約意味著資產永遠存在

5.1.2 摘掉鏈條將解決我們所有的問題

6. 非同質化代幣的市場

6.1 當前市場規模

6.2 市場成長

6.3 銷售機制

6.4 NFT 分佈

6.5 NFT 的下一步是什麼?我們對2020年的預測

什麼是非同質化代幣?

不可替代資產只是正常的東西。可替代的資產是奇怪的!

大多數關於非同質化代幣的討論都是從引入同質的想法開始的,而同質的概念被定義為“能夠替換或者被同一項目的另一項替換”。我們認為這會使事情更加複雜。要更好地理解非同質化資產的含義,只需考慮您所擁有的大部分資產。你坐的椅子、手機、手提電腦以及任何可以在淘寶上銷售的東西。這一切都是非同質的東西。

同質化資產實際上被證明是奇怪的資產。貨幣是一個經典的同質資產的例子。不管具體的5美元鈔票上的序號是5美元還是存入你的銀行帳戶,5美元總是5美元。能夠用另外一張5美元的紙幣(也就是5張)來代替5美元的紙幣,從而實現貨幣互換。

注意互換是相對的,它只適用於比較多個事物。商務艙,經濟艙,頭等艙機票。每一張票在同一個班次上大概是可以互換的,但你不能以商業艙票的形式來交換頭等票。即使你坐的椅子也可以和同類型的椅子互換使用,除非你已經為特定的椅子開發了一些特殊的配件。

有趣的是,同質化資產定義也可以是主觀的。回到機票示例:關心坐靠窗或靠走道座位的人可能認為兩張經濟艙機票不能互換。同樣的,一分錢不多的硬幣對我來說可能值一分錢,但是對一個硬幣收集者來說價值更高。我們將會看到,其中的一些細微差別在區塊鏈上表示這些項目時變得非常重要。

基於區塊鏈的非同質化代幣

正如我們在加密貨幣出現前擁有數字貨幣(比如航空積分、遊戲中的金幣),自從互聯網誕生以來,我們就擁有了非同質化的數字資產。域名、活動門票、遊戲內物品,甚至像Twitter、Facebook、Weibo 這樣的社交網絡,都是非同質化的數字資產;只是在可交易性、流動性和互用性方面各不相同。許多遊戲都很有價值:僅在2018年, Epic Games 就通過免費遊戲“Fortnite”銷售服裝,實現了24億美元的收入;預計到2025年,活動門票市場將達到680億美元;域名市場將繼續保持穩定增長。

我們擁有大量的數字資產,但我們從未真正擁有過。

顯然,我們已經有了一大批數字資產。但是,我們“擁有”這些數字資產的程度如何呢?如果數字所有權只表明某項商品屬於你而不屬於其他人,那麼從某種意義上說,你就擁有了這些資產。但是,數字資產並不總是如此,如果數字所有權更像是現實世界中的所有權(可以無限期地持有和轉讓)。但是,您在特定的上下文中擁有這些資產,而這些資產可能或不會移動到其他地方。嘗試在淘寶上出售Fortnite 皮膚,你會發現把數字資產從一個人轉移到另一個人的難度很大。

這就是區塊鏈到來的原因!區塊鏈提供給數字資產一個協調層,向用戶授予所有權和管理權限。區塊鏈增加了一些非同質化資產的獨特屬性,從而改變了用戶和開發人員與這些資產之間的關係。

標準化

在數字世界裡,從門票到域名,傳統的數字資產並沒有統一的表達方式。遊戲可以用與事件售票系統完全不同的方式來表示遊戲中的收藏。而通過在公鏈上顯示非同質化資產,開發人員可以構建通用、可重用、可繼承的所有非同質化代幣標準。這包括基本的原語,如所有權、傳輸和簡單的訪問控制。其他標準(例如,如何顯示NFT 的規格說明)可以放在最上面,從而在應用程序中實現豐富的顯示。

這些與數字世界中的其他構建塊類似,比如JPEG或PNG 圖像的文件格式、計算機間請求的HTTP 協議和用於在Web 上顯示內容的HTML/CSS。區塊鏈的頂部添加了一層,為開發人員提供了一套全新的有狀態原語,用於構建自己的應用程序。

互通性

一個非同質化資產標准允許他們在多個生態系統之間移動自如。當開發人員啟動新的NFT 項目時,這些NFT 可以立即在數十種不同的錢包提供者中看到,可以在市場中交易,並且最近已經顯示在虛擬世界中了。這是可能的,因為開放標準提供了清晰、一致、可靠和經過許可的讀寫數據API。

可交易性

互通性在開放的市場自由貿易中最具說服力。用戶第一次可以向外移動到物品的原始環境中,進入一個市場,他們可以利用複雜的交易功能,如易趣式拍賣、招標、捆綁、出售任何貨幣的能力,比如stablecoins 和專用貨幣。

尤其對於遊戲開發商來說,資產的可交易性代表著一個從封閉經濟向開放市場經濟的轉變過程。遊戲開發商不再需要管理經濟中的每一個環節:從資源供應到定價再到資金控制。相反,他們可以讓自由市場來承擔這部分責任!

流動性

非同質化資產的極速可交易性會帶來流動性的提升。 NFT 市場可以滿足各種受眾的需求,從嚴格的交易者到較不成熟的交易者,都可以讓資產更廣泛地面向更多的購買者。與2017年的ICO 熱潮催生出由即時流動貨幣驅動的新一類資產一樣, NFT 拓展了數字資產這一獨特的市場。

不變性和可證明的稀缺性

智能合約允許開發人員對非同質化代幣的供應設置嚴格的上限,並強制使用在發布NFT 後不能修改的永久屬性。例如,開發人員可以通過編程方式強制執行以下操作:只能創建特定數量的特定珍稀物品,而不能提供更多的普通物品。開發人員還可以強制特定屬性不隨時間變化,方法是對鏈進行編碼。對藝術來說,這是特別有趣的,因為藝術在很大程度上依賴於如何證明原始作品的稀缺性。

可編程性

當然,和傳統數字資產一樣, NFT 也是完全可編程的。 CryptoKitties (我們稍後會討論)在繁育技術人員中直接繁殖成數字貓的代表。當今許多NFT 的機制更加複雜,如鍛造、製作、兌換、隨機生成等等。設計空間是無限可能的。

非同質化代幣標準

標準就是讓非同質化資產變健壯起來的那部分。它們向開發人員保證,資產將以特定的方式運行,並且精確地描述與資產的基本功能交互的方式。

ERC721

由CryptoKitties 提出的ERC721 是第一個代表非同質化數字資產的標準。 ERC721 是可繼承的智能合約標準,這意味著開發人員可以很容易地從導入它來創建與ERC721-合約一致的新的OpenZeppelin 庫(我們在此創建了ERC721 合約的第一個有用的教程)。 ERC721 實際上相當簡單:它提供了一個唯一標識符(每個標識符代表一個資產)到一個地址的映射,以此代表標識符的所有者。 ERC721還提供了使用transferFrom 方法進行資產轉讓的許可方式。

如果您考慮一下,這兩種方法實際上就是表示NFT 所需的全部:一種是檢查誰擁有什麼,另一種是發送什麼。該標準還有一些其他的特點(一些特點對NFT 市場非常重要),而ERC721的核心部分是非常基礎的。

ERC1155

ERC1155,由 Enjin 公司的團隊首創,提出了NFT 世界的半同質化方案。在ERC1155 中, ID並不表示資產,而是資產的類別。例如,一個ID 可能代表一把“劍”,而一個錢包可能有1000把這把劍。在本例中, balanceOf 方法將返回錢包擁有的劍數,用戶可以通過transferFrom 調用“劍ID”來轉移這些劍的任意數量。

這類系統的一個優點是效率:使用ERC721,如果用戶希望轉移1,000把劍,他們就需要修改智能合約的狀態(通過調用transferFrom 方法)來獲得1,000個唯一令牌。有了ERC1155,開發人員只需要調用1000個transferFrom ,然後執行一次傳輸操作。當然,這一效率的提高也帶來了信息的丟失:我們不再能夠追踪單獨一把劍的交易歷史了。

還要注意的是,ERC1155 提供了ERC721 的超集功能,這意味著ERC1155 可用於構建ERC721 資產(您只需要為每個資產分別設置ID 和數量)。由於這些優點,最近ERC1155 標準被越來越多地採用了。

剖析ERC20、ERC721、ERC1155 標準。 ERC20 將地址映射到金額,ERC721將唯一ID映射到所有者,而ERC1155 有嵌套的映射,將ID 映射到所有者和數量。

可組合物品

以ERC-998 為主導的可組合物品提供模板, NFT 通過該模板可以擁有非同質、同質的資產。雖然在主網上只部署了很少的NFT 組合,但我們認為有很多令人興奮的機會可以使用它們!

加密貓可能會有抓撓柱和食盤,這道菜中可能會有一些同質化的“豬”代幣。如果我賣了這個加密貓,我就把所有相關的資產都賣了。

非以太坊標準

儘管以太坊目前是大部分業務的所在地,其他業務鏈中也出現了其他幾種NFT 標準。 DGoods 是神話遊戲團隊的先驅,它從EOS開始致力於提供功能豐富的跨鏈標準。 Cosmos 項目也在開發NFT 模塊,作為Cosmos SDK 的一部分, NFT 模塊是可用的。

非同質化代幣元數據

如上文所述,該ownerOf 方法提供了查找NFT 所有者的方法。例如,通過在CryptoKitties 智能合約中查詢ownerOf (1500718),我們可以看到,在編寫CryptoKitty#1500718 時, CryptoKitty 的所有者是帳戶地址0x6452。

可以通過訪問他們的CryptoKitty 驗證文件來使用OpenSea 或CryptoKitties.co。

但是,OpenSea和CryptoKitties 如何確定#1500718 CryptoKitty 的外觀呢?它的名稱和獨有的屬性是什麼?這就是元數據。

元數據提供特定令牌ID的描述性信息。對於CryptoKittty,元數據是貓的名稱、貓的圖片、描述和其他任何特徵(CryptoKitties中的cattributes)。對於門票之類的,除了名稱和描述之外,元數據還可以包含該事件的日期和票據類型。上面這隻貓的元數據看起來是這樣的:

問題是如何以及在哪裡存儲這些數據,以便關注NFT的應用程序能夠訪問它。

鏈上與鏈下

開發人員首先要決定是代錶鍊上的元數據還是代錶鍊外的元數據。也就是說,您是將元數據直接放置在代幣的智能合約中,還是將其單獨託管?

鏈上元數據

在鏈中表示元數據的好處是:

1) 它與代幣一起永久地存在,並且在任何給定應用程序的生命週期中保持不變;

2) 它可以根據鏈中的邏輯進行更改。如果資產的持續價值遠超其最初創造的價值,那麼第一點就非常重要。比如,不管用來創造藝術的原始網站還在不在,數字藝術在整個時代都將繼續存在下去。因此,讓代幣標識符的生命週期必須保留其元數據,這一點很重要。而且,鏈上的邏輯可能需要與元數據交互。例如,對於CryptoKitty來說,它的“世代”影響了CryptoKitty的繁殖速度,而且所有的繁殖發生在鏈上(高代貓的繁殖速度較慢)。因此,智能合約中的邏輯需要能夠讀取其內部狀態中的元數據。

鏈下元數據

儘管有這些優點,但大多數項目都是以太坊區塊鏈當前的存儲限制為條件,對元數據進行脫鏈存儲的。因此,ERC721標準包含一個稱為方法tokenURI 的方法,開發人員可以使用它告訴應用程序在哪里為給定的項目查找元數據。

tokenURI 方法將返回一個公共的URL。然後又返回一個JSON數據字典,類似於上面的示例CryptoKitty 字典。元數據應該與官方的ERC721 的元數據標准保持一致,以便OpenSea 等應用程序使用。在OpenSea,我們想讓開發人員建立豐富的元數據,這些數據可以在我們的市場上顯示,因此我們增加了ERC721 元數據標準的擴展,使開發人員可以包括特性、動畫和背景顏色。

鏈下存儲解決方案

如果要脫離區塊鏈存儲元數據,則有兩種選擇:

集中式服務器

最簡單的元數據存儲方案是在一個像AWS 這樣的中央服務器或云存儲解決方案上存儲。當然,這樣做也有一個缺點:

1) 開發人員可以隨意更改元數據

2) 如果項目離線,那麼元數據可能就不存在了。

為解決問題2,目前有幾個服務(包括OpenSea )將元數據在其自己的服務器上緩存在,以確保即使原始託管解決方案失敗,也能有效地向用戶提供元數據。

IPFS

越來越多的開發人員,特別是數字藝術領域的開發人員,都在使用星際文件系統(IPFS)來將元數據離線存儲起來。 IPFS是一個點對點的文件存儲系統,允許在計算機之間保存內容,因此文件可以復製到許多不同的位置。這確保了 A)元數據是不可變的,因為它是由文件的hash唯一尋址的,而B)只要有一個節點願意託管數據,數據就會隨著時間持續存在。現在,有了Pinata 等服務,開發人員可以通過處理部署和管理IPFS 節點的基礎設施以及高期望值的Filecoin 網絡來簡化這一過程(理論上),即在IPFS 之上添加一層來激勵節點託管文件。

非同質化代幣的歷史(2017年至2020年

現在我們已經知道什麼是非同質化代幣以及如何構建它們,讓我們來深入了解一下它們是如何產生的。

– 0 BC:CryptoKitties之前

NFT中的實驗開始於有色硬幣出現在比特幣網絡中。珍稀Pepes (Pepe,最早以比特幣對手系統為基礎繪製的青蛙形象)。有些是在eBay 上出售的,後來還在紐約的一場現場拍賣中出售了稀有的Pepes。

以太坊為基礎的第一個NFT實驗是CryptoPunks,由10,000個獨特的可收藏朋克組成,每一個朋克都有其獨特的一系列特徵。 CryptoPunks 由幼蟲實驗室(Larva Labs)構建,它有一個可以與MetaMask 等錢包一起使用的鏈上市場,從而降低了與NFT 互動的進入障礙。如今,由於提供給早期用戶的是有限的和強大的品牌, CryptoPunks 很有可能是真正數字古董的最佳候選人。此外,朋克生活在以太坊網絡中,這使得它們能夠與市場和錢包互通(儘管它們比早期使用ERC721 標準的新資產要少些)。

公元前0年:加密貓的誕生

CryptoKitties是NFT 主流化的第一個項目。 CryptoKitties於2017年末在ETH滑鐵盧黑客馬拉松賽上推出,其特色在於原始的鍊式遊戲,允許用戶將貓一起繁殖,生產出稀有而又與眾不同的新貓。通過荷蘭式拍賣正在拍賣這只“0代”貓,這些新貓也可能在二級市場上出售。

儘管遊戲社區中的一些人後來將CryptoKitties 標記為“並非真正的遊戲”,但考慮到區塊鏈的設計限制,團隊實際上做了大量工作來開發鏈上的遊戲機制。首先,他們建立了一種鍊式繁殖算法,這種算法隱藏在用於確定貓的遺傳密碼的封閉源智能合約中(從而識別貓的“類別”)。 CryptoKitties 團隊甚至通過完善的激勵系統確保了繁殖的隨機性和預見性,這些預測性強的小