連線真實商業世界的NFT是什麼?

買賣虛擬貨幣

去年 11 月,Crypokitties 的釋出給加密貨幣的世界帶來了風暴,有些加密貓的價格甚至漲到了 30 萬美元,以太坊網路擁堵不堪,平均貢獻了當時以太坊網路30%的交易額。當 Cryptokitties 的使用者活躍度和去年年底的高峰期相比急劇下降之時,市場上出現了很多數字加密收藏品的變種。數字加密收藏品增長的背後是不可替代代幣出現之後釋放出來的助力。

什麼是NFT

NFT(Non-Fungible Token) 定義了一種生態中不可分割的、具有唯一性的代幣互動和流通的介面規範。

在區塊鏈上,數字加密貨幣分為原生幣和代幣兩大類。前者如Bitcoin、Qtum等,擁有自己的主鏈,使用鏈上的交易來維護賬本資料;後者如BOT、INK等,依附於現有的區塊鏈,使用智慧合約來進行賬本的記錄。代幣之中又可分為同質化和非同質化兩種。

同質化代幣,即FT(Fungible Token),以ERC20和QRC20為基本標準,是互相可以替代、可接近無限拆分的token。而非同質化代幣,即NFT,則是唯一的、不可拆分的token,如加密貓、token化的數字門票等。

FT的特性使其可以用來表示現實世界中各種具有可替代性的事物,如貨幣、積分、股票等。這些事物需要可以拆分,然後在使用者之間進行交換。在區塊鏈上,FT被廣泛應用於發行新的數字貨幣。這些數字貨幣通常與公司的股權或是產品的使用許可權進行掛鉤,吸引使用者的購買或炒作。

如今市場逐漸迴歸理性,也使我們開始認識到FT的侷限性:現實生活中真正具有價值的事物是不可替代的,如一件商品、一份合同、一項資質等,這些具有唯一性的資產是無法用FT進行錨定的。

相較於FT,NFT 的關鍵創新之處在於提供了一種標記原生數字資產所有權(即存在於數字世界,或發源於數字世界的資產)的方法,且該所有權可以存在於中心化服務或中心化庫之外。NFT 的所有權並不阻止其他人視察它或閱讀它,NFT 並不是捕獲資訊然後把它藏起來,只是捕捉資訊然後發現該資訊與鏈上所有其它資訊的關係和價值。

同時,NFT由於其非同質化、不可拆分的特性,使得它可以錨定現實世界中商品的概念,例如通證化的門票、一瓶珍貴的紅酒、獨特設計的珠寶等等。NFT 使我們能夠將任意有價值的事物通證化,並追溯該資訊的所有權,這樣就實現了資訊與價值的交匯。

NFT的目前應用場景

NTF是基於區塊鏈的差異性數字資產,相容NTF的區塊鏈就像一個能夠記錄任何商品的資料庫。NFT理論上可以將現實中具有非同質化特性的事物都錨定起來,實現將現實世界通證化,形成一個價值互聯、資訊互通的數字資產世界。

目前不可替代代幣的勢力可以分為四組:
不可替代代幣釋出者
不可替代代幣市場
不可替代代幣基礎設施
針對不可替代代幣的各類資源

而落到具體的應用場景中NFT分為以下幾種[1]:

收藏品

我們上面也提到過基於NFT設計的加密收藏品,那就是CryptoKitties,同時加密收藏品還有很多別的擴充套件方向,比如藝術品收藏。我們可以將需要進行存證的合同、版權、專利等資訊,以NTF的形式儲存在區塊鏈上,便於後續的更新、流轉、交易等。當它的所有者想出售時,只需要簡單地出具這枚NFT的標記資訊來宣告作品的真實性和自己對該作品的所有權即可,同時這種認證是數字化可溯源的,因為藝術資產的所有權記錄在區塊鏈上,在保證交易合法性的同時也可以防止藝術品的偽造和欺詐。

遊戲道具

NFT也正在徹底改變遊戲世界。通常,遊戲中的角色會獲得類似武器、衣服、房產等可交易的物品,為每個物品都建立一個NFT可以使它們能夠與遊戲中的積分代幣甚至現實世界的現金進行交易,這就形成了虛擬商品的線上數字經濟體系。這些NFT儲存在區塊鏈上,它們的資訊、歸屬、以及所有交易記錄都將透明公開,且不可銷燬不可篡改。

電子門票

如果我有一張巨星演唱會的門票而你有一張籃球電子門票,它們是同樣型別的物品但是代表的價值卻完全不同。因具備不可篡改、可追溯特徵,區塊鏈與存證有著天然的結合點,存證也因此成為區塊鏈應用的典型場景之一。區塊鏈存證適用於所有需要進行存證、核證、取證的業務場景,尤其是需要解決多方信任問題或獲取司法監管許可的情況。同時門票數字化後的身份驗證還能防止假票和黃牛票,因此電子票務是NFT可以改造的一個行業。

身份認證

我們可以將NFT應用到身份認證中來實現個人行為的全紀錄。比如,獲得一個不可交易的NFT來作為出生證明、護照和認證個人駕照等等,儘管該NFT不可交易,但是透過許可權控制可以實現身份的互動驗證。我們在招聘時可以驗證一個人的身份NFT來查詢其大學文憑,在看病時申請檢視醫生的身份資訊來認證其資質等。身份認證將人token化,將所有屬性和行為歷史都記錄在案。

電子存證

使用NFT,將現實世界中的合同、文書等資訊進行鏈上去中心化儲存,防止偽造且便於追溯。同時,藉助於電子簽名、證書等技術,對檔案的真實性和有效性進行證明。電子存證可有效地實現智慧財產權、版權、著作權等價值的電子化,而NFT賦予的交易特性又可以使得這些價值直接在區塊鏈上進行交易,方便了價值的流通。

NFT的實現

自從數字貨幣出現以來,將現實世界token化是整個行業一直在做的努力。2013 年風靡一時的彩色幣是最早想要給數字資產賦予獨特特性的嘗試之一。彩色幣是比特幣的附加產物, 或者在大多數案例裡,是比特幣可被分割的最小份額,也叫給satoshis「加了顏色」,以代表現實世界裡的資產,例如一筆房子、股票、債券、商品的交易。而合約幣則進一步地允許使用者在區塊鏈基礎上創造他們自己的實際資產。基於不可替代代幣NFT 標準的數字加密收藏品正是建立於這一基礎上,恰逢其時地繼續肩負彩色幣最初的使命,將現實資產與數字貨幣連結起來,NFT的實現也是現實世界token化的程序之一。

ERC721標準

NFT的一個最受關注也是現今最流行、認可度最高的實現即ERC721標準協議[2]。ERC721本身是一個EIP(Ethereum Improvement Proposals),是一個由開發人員提出的以太坊改進方案,經以太坊委員會透過後成為了ERC(Ethereum Request for Comment),即Ethereum意見徵求稿中的一員。ERC721 官方簡介是:A standard interface for non-fungible tokens, also known as deeds,即NFT。

ERC721作為一個合約標準,提供了在實現ERC721代幣時必須要遵守的協議,要求每個ERC721標準合約需要實現ERC721及ERC165介面,介面定義如下。除了標準介面之外,還有一些可擴充套件介面,例如ERC721Metadata系列介面定義了ERC721的一些基本資訊,ERC721Enumerable系列定義了列舉介面,這些都在標準中有詳細說明,不再贅述。

interface ERC721 /* is ERC165 */ {
   event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
   event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
   event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);

   function balanceOf(address _owner) external view returns (uint256);
   function ownerOf(uint256 _tokenId) external view returns (address);
   function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
   function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
   function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
   function approve(address _approved, uint256 _tokenId) external payable;
   function setApprovalForAll(address _operator, bool _approved) external;
   function getApproved(uint256 _tokenId) external view returns (address);
   function isApprovedForAll(address _owner, address _operator) external view returns (bool);
}

interface ERC165 {
   function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
上述的所有介面構成了ERC721的完整標準介面和可擴充套件介面。需要注意的是,真正使用ERC721的時候,必須其中實現一些額外的功能和介面,例如_mint鑄幣操作、_burn銷燬操作、addTokenTo為給定地址新增tokenId等,這些方法共同定義和實現了ERC721代幣協議,我們可以基於此將ERC271代幣應用於很多場景中,透過繼承其主要token合約來開發遵循ERC721協議的代幣,並自由的新增相應的業務邏輯來豐富應用。其他關於NFT的ERC標準由於NFT的不可替代性和加密貓引發的數字收藏品的火爆,基於NFT的標準協議正在一步步地更新和迭代中。例如ERC875 [3]、ERC998 [4]等,雖然目前都在draft階段,但其提出的觀點是非常值得思考的。其中ERC875比較受到我們的關注,因為NFT本身是對商品的定義,而商品一個重要的屬性就是交易。ERC875正是在ERC721的基礎上加入了交易功能,允許使用者使用區塊鏈上的原生幣購買NFT資產。

這裡我們簡單分析一下ERC875合約中trade交易實現流程:

在token擁有者owner在想要賣出token時(可一次賣出多個token),owner用自己的秘鑰簽名售賣總額、成交有效期限、售賣的tokenId列表和合約地址並公佈;

買家在獲取到該簽名資訊後,透過給定的一些APP幫助,從簽名恢復出tokenId列表和價格資訊,以及程式碼中的V、R、S簽名引數,將tokenId索引、V、R、S作為trade輸入,與售賣總額相同價格的代幣(msg.value)共同構造一筆交易傳送到合約地址呼叫trade介面;

trade函式中呼叫encodeMessage函式將msg.value和tokenId列表等資訊一同編碼為message,呼叫ecrecover函式驗證傳入的簽名資訊V、R、S正確性,並求出賣家的地址;

將從賣家地址下登記的資產列表中找出本次售賣對應的每件商品的TokenID,並轉移登記到買家地址下的資產列表中,買家成為這批物品的新主人,對於同一份售賣簽名資訊,可以同時有多個買家,這時候遵循先買先得的原則。

總結

透過對NFT的調研和分析,我們看到了區塊鏈未來的一個發展方向,即用於標記虛擬或現實世界中的商品,從而實現商品的資訊記錄、流轉、交易、追溯等功能。這大大拓寬了區塊鏈的應用前景,為區塊鏈技術走向大眾提供了基礎。

參考文獻

[1] What Are NFTs? https://coincentral.com/nfts-non-fungible-tokens/
[2] ERC721: Non-Fungible Token Standard. https://eips.ethereum.org/EIPS/eip-721
[3] ERC875: A better NFT standard. https://eips.ethereum.org/EIPS/eip-875
[4] ERC998: Composable Non-Fungible Token Standard. https://eips.ethereum.org/EIPS/eip-998

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;