成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊一下對NFT 的一知半解

開發 開發工具
最近的區塊鏈領域,越來越多的人認為 NFT 將會迎來爆發式的發展,DeFi+NFT概念將會是未來一段時間的主要流行趨勢。那么,什么是NFT,NFT如何實現以及如何使用的呢? 感謝石頭兄弟推薦的資料, 老碼農梳理了一下學習筆記,記錄一下對NFT的一知半解。

[[389654]]

最近的區塊鏈領域,越來越多的人認為 NFT 將會迎來爆發式的發展,DeFi+NFT概念將會是未來一段時間的主要流行趨勢。那么,什么是NFT,NFT如何實現以及如何使用的呢? 感謝石頭兄弟推薦的資料, 老碼農梳理了一下學習筆記,記錄一下對NFT的一知半解。

 

Token 的區塊鏈演化——NFT 的誕生

“Token”原來只是一個計算機術語,例如早期基于令牌的計算機網絡,token一般只是一個身份憑證,并沒有流通價值,如果說流通也只是機器之間的流轉,進而代表一定的操作權限。

區塊鏈本質上是分布式數據庫,允許我們以一種安全和可公開訪問的方式存儲信息。區塊鏈也提供了避免欺騙的經濟激勵,從而允許真正的經濟稀缺性。區塊鏈還為數字身份問題提供了一些有趣的解決方案: 我們在區塊鏈上進行的每一筆交易都與一個公共地址相關聯----一個匿名的安全標識符,可以重復使用。

區塊鏈是非常強大的,帶來了第一個廣泛使用的加密貨幣,但比特幣只是作為一種貨幣有用。它只不過是一個值的表示、記錄或占位符。V神創建了以太坊,使用區塊鏈來讓更復雜的信息,甚至是腳本進行去中心化操作。人們開始使用以太坊來創建新的加密貨幣(通常稱為Token)和去中心化應用程序(或 dApps) ,

這里的“Token”,即可流通的加密數字證明,是區塊鏈上的一個價值憑證,具有流通的價值,可以直接進行交易,往往被稱為“代幣”。進一步,Token可以代表任何有價值的東西,實現權益的數字化,進而被稱為“通證”,具有物權、股權、貨幣的屬性。就像股票一樣,我們能夠獲得損益。

 

基于以太坊編碼更復雜數據結構的能力導致了對標準的需求,Ethereum 開發者社區編寫了ERC——Ethereum Request for Comments”,它產生了一套使用以太坊構建軟件的標準。基于ERC,開發人員可以構建與其他代碼兼容的軟件,通過確保不同的token和應用程序共享相似的組件,開發人員可以交換這些組件來構建新的體驗。像比特幣、以太幣這樣的加密貨幣代幣都是可互換的,或者說是“同質的”,因為一個代幣可以兌換任何其他代幣。唯一改變的是塊環鏈上的一個記錄,記錄了交易。ERC20只是大多數可替代代幣的制造標準。

以太坊使開發人員將更復雜的數據去中心化,那么為什么一個token不應該包含比一個簡單的單位值和所有者更多的變量呢?換句話說,代幣之間不可替換呢?

至此,NFT——non-fungible token誕生了,中文名叫非同質化通證。正如 ERC20標準化的同質化通證一樣,ERC721也是為了標準化非同質化通證而編寫的。通過標準化 NFT,開發者社區迎來了一個新的數字內容、游戲和使用 NFT的應用程序的生態系統。

什么是NFT?——非同質化通證(代幣)

在區塊鏈上,數字加密貨幣分為原生幣和代幣兩大類。前者如BTC、ETH、Filecoin等,擁有自己的主鏈,使用鏈上的交易來維護賬本數據;代幣則是依附于現有的區塊鏈,使用智能合約來進行賬本的記錄,如依附于以太坊上而發布的各種代幣。代幣之中又可分為同質化和非同質化兩種。

我們常見的Token(如BTC,ETH等)都是同質化的,即FT(Fungible Token),互相可以替代、可接近無限拆分的token。

NFT是非同質化通證(代幣),具有不可分割、不可替代、獨一無二等特點。每一個NFT擁有獨特且唯一的標識,兩兩不可互換,最小單位是1且不可分割。例如,在以太坊的迷戀貓中,每一只貓都對應著鏈上的一個NFT,擁有獨特的id和基因,更重要的是,擁有獨立的價值。

原生數字資產即存在于數字世界,或發源于數字世界的資產。因此,相較于FT,NFT的關鍵創新之處在于提供了一種標記原生數字資產所有權的方法,且該所有權可以存在于中心化服務或中心化庫之外。NFT 的所有權并不阻止其他人讀取,并不是捕獲信息然后把它藏起來,只是捕捉信息后發現該信息與鏈上所有其它信息的關系和價值。

 

基于NFT的非同質化、不可拆分的特性,可以使它錨定現實世界中商品的概念,簡單地說,就是在發行在區塊鏈上的數字資產,這個資產可以是數字藝術品、紀念品、門票等等,并且具有唯一性和不可復制性。由于NFT具備天然的收藏屬性和便于交易,加密藝術家們可以利用NFT創造出獨一無二的數字藝術品。

NFT 的實現標準

非同質化通證標準允許NFT輕松跨越多個生態系統。當一個開發人員啟動一個新的 NFT 項目時,這些 NFT 可以立即在幾十個不同的錢包提供商中顯示出來,可以在市場上交易,最近,還可以在虛擬世界中顯示出來。這是完全可能的,因為開放標準為讀寫數據提供了清晰、一致、可靠和許可的 API。

互操作性帶來的最引人注目的特性是開放市場上的自由貿易。NFT的即時交易性將導致更高的流動性。智能合約允許開發人員對不可替換令牌的供應設置硬上限,并強制執行在發出 nft 之后無法修改的持久屬性。nft 是完全可編程的,設計空間充滿了可能性。

由 CryptoKitties 率先推出的 ERC721是第一個代表不可替代數字資產的標準。ERC721是一個可繼承的 solid 智能合同標準,這意味著開發人員可以通過從 OpenZeppelin 庫導入 ERC721,輕松創建新的兼容 ERC721的合同。ERC721實際上相對簡單: 它提供了唯一標識符(每個標識符代表一個資產)到地址的映射,地址代表該標識符的所有者。ERC721還使用 transferFrom 方法提供了轉移這些資產的許可方式。

  1. interface ERC721 { 
  2.   function ownerOf(uint256 _tokenId) external view returns (address); 
  3.   function transferFrom(address _from, address _to, uint256 _tokenId) external payable; 

這兩個方法實際上就是代表 NFT 所需要的全部: ownerOf檢查誰擁有什么,transferFrom實現資產轉移。標準還有其他一些附加功能(其中一些對于 NFT 市場非常重要) ,但 ERC721的核心是相當基本的。

ERC1155,由Enjin (https://enjinx.io)團隊首創,將半替換的想法帶到了 NFT 世界。在 ERC1155中,ID代表的不是單個資產,而是資產的類別。例如,一個 ID 可能代表“寶劍”,而一個錢包可能擁有1000把這樣的寶劍。在這種情況下,balanceOf 方法會返回一個錢包所擁有的劍的數量,用戶可以通過“劍”ID 調用 transferFrom 來轉移任意數量的這些劍。

  1. interface ERC1155 { 
  2.   function balanceOf(address _owner, uint256 _id) external view returns (address); 
  3.   function transferFrom(address _from, address _to, uint256 _id, uint256 quantity) external payable; 

這種系統的一個優點是效率: 基于ERC721,如果用戶想要轉移1000把劍,需要修改智能合同的狀態(通過調用 transferFrom 方法) ,以獲得1000個唯一的通證。而使用 ERC1155的話,只需要調用 transferFrom 方法,和數量為 1,000的參數并執行一次操作。當然,這種效率的提高伴隨著信息的丟失: 人們再也無法追蹤單把劍的歷史。

 

ERC1155提供了 ERC721功能的超集,這意味著可以使用 ERC1155構建 ERC721資產(對于每個資產,只需要有一個單獨的 ID 并且數量1)。最近Opensea在 Github 上開發了一個倉庫(https://github.com/ProjectOpenSea/opensea-erc1155),用于ERC1155標準的使用。

作為組合創新,ERC-998標準提供了一個模板,憑借這個模板,NFT可以同時擁有同質化和非同質化的資產。目前在主網絡上只部署了幾個可組合的NFT,但可能是一些令人難以置信的機會!

雖然以太坊是NFT目前最活躍的地方,但也有一些NFT標準出現在其他的區塊鏈上。DGoods 由 Mythical Games 團隊開發,致力于從 EOS 提供一個功能豐富的跨鏈標準。Cosmos 項目也在開發一個 NFT 模塊,可以作為 Cosmos SDK 的一部分加以利用。

NFT 附加信息的存儲

NFT通過元數據為特定的標記 ID 提供描述性的附加信息。在 CryptoKittty 的例子中,元數據是貓的名字、貓的照片、描述文字和任何其他特征(在 CryptoKitties 的例子中稱為“cattributes”)。對于票證,元數據可能包括事件的日期和票證的類型,以及名稱和描述。上面這只貓的元數據可能是這樣的:

  1.   "name""Duke Khanplum"
  2.   "image""https://storage.googleapis.com/ck-kitty-image/0x06012c8cf97bead5deae237070f9587f8e7a266d/1500718.png"
  3.   "description""Heya. My name is Duke Khanplum, but I've always believed I'm King Henry VIII reincarnated." 

為了方便NFT 的應用程序能夠訪問這些數據,如何以及在哪里存儲這些數據呢?第一個決定是鏈上存儲還是鏈下存儲。也就是說,是將元數據直接放入代表令牌的智能協議中,還是單獨托管?

鏈上存儲元數據的好處是:

  1. 它永久地駐留在通證中,超出了任何給定應用程序的生命周期;
  2. 它可以根據鏈上邏輯進行更改。

如果數字資產的長期價值遠遠超過其最初創造的價值,例如,一件數字藝術作品被認為會流傳千古,那么就不管用來創作這件藝術作品的原始站點是否仍然存在。因此,NFT的元數據必須與標記標識符的生命周期保持在一起。

盡管有這些好處,但由于以太坊區塊鏈的存儲限制,目前大多數項目的NFT存儲仍然是鏈下存儲。因此,ERC721標準包含一個名為 tokenURI 的方法,人們可以實現這個方法來告訴應用程序在哪里可以找到給定項的元數據。

  1. function tokenURI(uint256 _tokenId) public view returns (string) 

tokenURI 方法返回一個公有的 URL,通過URL返回一個 JSON 數據字典,類似于上面 CryptoKitty 的示例字典。這些元數據應該符合官方的 ERC721元數據標準,以便 OpenSea 之類的應用程序能夠獲取。

鏈下存儲最簡單的方法是在某個集中式服務器上,或者在像 AWS 這樣的云存儲解決方案上。當然,這也有缺點: 1)開發人員可以隨意更改元數據; 2)如果服務掛掉,NFT的元數據可能會從原始源中消失。為了緩解問題2,現在有幾個服務開始在自己的服務器上緩存元數據,以確保即使原始主機解決方案出現故障,也能有效地為用戶服務。

然而,越來越多的開發人員,尤其是數字藝術領域的開發人員,正在使用IPFS來實現NFT的鏈下存儲。IPFS 是一個p2p的文件存儲系統,允許內容跨計算機托管,這樣文件就可以在許多不同的位置復制。確切地說,是用另一個鏈來存儲NFT的元數據。這樣可以確保:

元數據是不可變的,因為它是由文件的散列唯一解決的;

只要有節點愿意承載數據,數據就會隨著時間的推移持久化。

現在, Pinata 這樣的服務通過處理部署和管理 IPFS 節點的基礎設施,使開發人員的過程更加簡單,備受期待的 Filecoin 網絡可以在 IPFS 之上增加一個層,以激勵節點托管文件。

構建嘗試—— NFT 的helloword

如上所述,所有的NFT都有所謂的元數據。基本上,我們發現在以太坊上存儲圖片真的很費勁,而且花費很大。如果存儲一張8 x 8的圖片,還算便宜,但是如果想要一張分辨率不錯的圖片,就需要花費更多的錢。但是,在 IPFS 中添加圖片就比較容易,而且不需要運行服務器。

以下是來自Opensea 的一個教程摘要, 當然需要在錢包里放入 Rinkeby Testnet ETH 和 Rinkeby Testnet LINK 才能繼續,具體所要做的步驟是:

  1. 使用 Chainlink VRF 建立一個可驗證的隨機 D&D 字符串
  2. 使用 IPFS 添加一個 tokenURI
  3. 在 OpenSea Marketplace 中添加這個隨機的NFT

首先,在 bash _ profile 文件中設置環境變量如下:

  1. export MNEMONIC='cat dog frog....' 
  2.  
  3. export RINKEBY_RPC_URL='www.infura.io/asdfadsfafdadf' 

接下來,clone 示例代碼庫:

  1. git clone https://github.com/PatrickAlphaC/dungeons-and-dragons-nft 
  2.  
  3. cd dungeons-and-dragons-nft 
  4.  
  5. git checkout opensea-update 
  6.  
  7. npm install 
  8.  
  9. truffle migrate --reset --network rinkeby 

然后,生成一個字符:

  1. truffle exec scripts/fund-contract.js --network rinkeby 
  2.  
  3. truffle exec scripts/generate-character.js --network rinkeby 
  4.  
  5. truffle exec scripts/get-character.js --network rinkeby 

這將創建一個新的隨機統計字符!

我們可以免費獲得一個 Etherscan API 密鑰,并與鏈上的NFT進行交互,需要將 ETHERSCAN API的 key 設置為環境變量:

  1. npm install truffle-plugin-verify 
  2.  
  3. truffle run verify DungeonsAndDragonsCharacter --network rinkeby --license MIT 

這將驗證并發布這一智能合約,另外,還可以使用 oneclickdapp 并添加契約地址和 ABI,ABI可以在 build/contracts 文件夾中找到。

一旦創建了一個NFT,需要給它一個 tokenURI,是向外界展示NFT數據。這使得像圖片這樣的東西更容易存儲,且不必浪費將它們添加到鏈上存儲中的gas。NFT元數據的示例如下:

  1.  
  2.     "name""Name for it "
  3.  
  4.     "description""Anything you want"
  5.  
  6.     "image""https://ipfs.io/ipfs/HASH_HERE?file.png"
  7.  
  8.     "attributes": [...] 
  9.  

為了將NFT代表的一張圖片和元數據線下存儲到IPFS,需要下載相關的工具,包括IPFS,IPFS companion和Pinata。

IPFS companion 讓我們可以在Chrome 這樣的瀏覽器中本地查看 IPFS 數據。如果在瀏覽器中點擊這個鏈接,就會知道 IPFS companion正在工作: IPFS https://IPFS.io/IPFS/qmtgqnhfbmkft9s8phkcdxbn1f5bg3q5hmbar4u6hotvb1?filename=chainlink_elf.png

一旦啟動 IPFS 節點,就可以開始向其添加文件。首先要上傳 NFT 的圖像,然后,需要將元數據 JSON 對象添加到 IPFS 中,從部署的token中獲取名稱和屬性,可以使用create-metadata.js來運行:

  1. truffle exec scripts/create-metadata.js --network rinkeby 

元數據 json 文件將是將是的 tokenURI,因此我們將修改 set-token-uri.js的 tokenId,并添加IPFS 的tokenURI:

  1. truffle exec scripts/set-token-uri.js --network rinkeby 

現在,可以得到這個 NFT 的地址,然后就前往 OpenSea 測試網市場(https://testnets.opensea.io/get-listed/step-two)來查看了甚至嘗試售賣了。

NFT 的應用場景

自從2017年CryptoKitty問世以來,已有近萬類、數千萬枚NFT藏品鑄造、流通、交易,發布到用戶的手中,其中以游戲、卡牌、網絡域名、加密藝術品居多。

將現實或者互聯網世界里的“非對等權益”通過NFT的方式呈現之后,最本質的改變在于,NFT的價格發現機制將由原先的市場交易轉變為權益的“隱含溢價”,每個希望持有或者轉讓NFT的用戶會評估該NFT的非對等權益對于自身的價值究竟幾何,在保持弱流動性基本特性不變的前提下,將極大的增強NFT的可交易性。

 

NTF的應用場景很多,幾乎會充滿想象力的空間。

游戲

NFT在游戲行業很流行,因為這些令牌解決了一些固有的問題。例如,用作游戲中的寵物,武器道具,服裝和其他的物品。使用NFT,這些特性可以很容易在不同的游戲中轉移和使用。因此,NFT可以幫助推動游戲中的經濟。

數字資產

例如,Decentraland,在這里,參與者可以購買虛擬土地。另一個更接近家庭的例子是 ENS (Ethereum Name Service,以太坊域名服務) ,它使用NFT買賣.ETH的域名。

另外,數字藝術家已經接受了NFT來創造基于NFT 的藝術品。然而,NFT 有如此大的吸引力是因為藝術家們可以在 NFT 市場上獲得的利潤。值得注意的是,2020年下半年,數字藝術家以最高的價格出售他們的產品。例如,在2020年9月,一件隨著比特幣價格變化的 NFT 數字藝術品賣出了262 ETH (當時為101,100美元)。

知識產權

NFT 可以代表一幅畫,一首歌,一項專利,一段影片,一張照片,或者其他的知識產權。在這個領域,NFT起到的是專利局的作用。幫助每一個獨一無二的東西進行版權登記,幫助其識別專利。

實體資產。房屋等不動產等其他的實物資產,可以用NFT來表示進行代幣化。可以用作資產的流通等金融市場。

記錄和身份證明

NFT 可以用來驗證身份和出生證明,駕照,學歷證書,醫療記錄等方面。這些可以用數字形式進行安全保存,而防止被濫用或篡改。Nft 是打擊身份盜用的理想工具,可以被數字化以代表身份的例子甚至可以是我們的外表。

金融

發票,訂單,保險,賬單等可以轉變為 NFT,進行交易。特別地,NFT 正開始與DeFi融合,例如,DeFi 協議Yearn Finance,為任何虛擬貨幣資產開發了一種名為 Y.Insure 的保險產品。Y.Insure 利用 NFT 機制(ERC-721)來代表保單的獨特性質。基本上,當定義保險單的獨特特征時,標準的 ERC-20通證就顯得“沒有意義”了。

DeFi目前是通過跨鏈來解決抵押,通過保證金制度來解決杠桿,最終實現了類似于信用衍生一樣的操作。有了杠桿、有了抵押、有了資金池。金融最基本的東西都具備了,理論上什么復雜的衍生品都能設計出來的。

小結

我們有很多數字產品,只是我們從未沒有真正擁有。

事實上,NFT的影響并不僅限于數字商品的物質所有權。它延伸到與技術互動的情感體驗ーー它改變了產品和消費的內容之間關系的方式。最終,讓人們更多地控制自己的創作,更少地控制自己的用戶,用戶更多地控制自己的身份。這些影響是深遠的,不僅僅是簡單的所有權。像任何全新的創新技術一樣,我們只能推測NFT將如何使用,我們只能拭目以待。

 

【參考資料與關聯閱讀】

https://coinmarketcap.com/alexandria/article/what-is-a-non-fungible-token-nft

https://blog.chain.link/build-deploy-and-sell-your-own-dynamic-nft/

https://dao2.io/liao-jie-nft-quan-mao-kan-zhe-pian-jiu-gou-liao/

https://decentraland.org/blog/technology/what-are-nfts/

https://opensea.io/blog/guides/non-fungible-tokens/

https://www.btcfans.com/article/33456

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2022-01-16 20:25:57

WebAssembly網絡

2021-05-06 10:26:49

穩定幣加密貨幣

2022-02-20 21:44:29

軟件系統架構

2021-10-18 11:42:23

數據系統權衡

2020-03-09 09:56:13

高并發高可用架構

2020-02-04 18:27:38

人工智能倫理學一知半解

2022-11-16 12:48:38

2022-01-26 09:53:23

計算機體系結構

2020-06-17 14:13:29

索引數據庫場景

2021-04-21 14:19:52

javaignalHandle接口

2024-02-05 08:35:32

VuenextTickDOM

2025-01-10 11:07:28

2021-04-27 07:52:18

SQLNULLOR

2018-04-04 19:07:11

區塊鏈人工智能應用場景

2021-06-30 00:19:43

AOP動態代理

2019-08-29 09:30:20

Java泛型構造器

2022-02-08 08:31:52

const關鍵字C語言

2021-04-21 21:06:11

數據結構

2021-03-10 00:02:01

Redis

2021-05-31 06:28:35

AutoMapper對象映射器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人免费视频 | 欧美精品一区二区三区在线 | 国产99视频精品免费视频7 | 一区二区三区在线免费观看 | 日韩影院一区 | 拍真实国产伦偷精品 | 亚洲国产成人在线观看 | 亚洲欧美视频一区 | 久久精品日 | 欧美日韩中 | 91香蕉 | 国产精品自拍啪啪 | 91在线视频在线观看 | 国产一区二区毛片 | 欧美日韩免费在线 | 一二三在线视频 | 一级毛片视频 | 国产精品久久久久久二区 | 欧美一级免费片 | 我要看免费一级毛片 | 香蕉av免费 | 国产香蕉视频 | 最新免费av网站 | 91精品久久久 | 国产欧美精品一区二区 | 久视频在线观看 | 日韩国产一区二区三区 | 毛片一区二区三区 | 日韩视频在线免费观看 | 国产精品69毛片高清亚洲 | 欧美视频免费在线 | 91成人在线视频 | 国产精品区二区三区日本 | 丝袜美腿一区二区三区 | 久久免费观看一级毛片 | 亚洲一二三区在线观看 | 99福利视频导航 | 成人精品高清 | 中文字幕一区二区三区精彩视频 | 久久久www | 亚洲精品成人av久久 |