万维网使用 HTML 来规范地承载信息,价值互联网也需要一种类似的技术。
原文标题:《NFT:价值互联网的 HTML》
撰文:楼嵩
这是一种合理的推测。
回顾信息互联网的几十年的发展历程, 万维网(World Wide Web,WWW) 是其中最为重要的进展之一。如今当我们提及 信息互联网 时,多指万维网;我们经常说的 Web1.0、Web2.0、Web3.0 ,多指万维网。而万维网最重要的三项技术规范分别是:
- HTML (HyperText Markup Language):超文本标记语言
- URI (Uniform Resource Identifier):统一资源标志符
- HTTP (HyperText Transfer Protocol):超文本传输协议
在信息互联网中, 超文本标记语言 HTML 用于将信息规范化地表示出来,统一资源标志符 URI 用于标识信息的名称和位置,超文本传输协议 HTTP 则用于传输信息 。
「价值互联网」是近几年新提出的用于区分传统「信息互联网」的一个词。
目前绝大多数提及 「价值互联网」 的地方都会提到区块链,且认为区块链会是「价值互联网」的基础。信息互联网传输信息,但是信息可能是虚假的、缺乏信用的,区块链有可能解决这个问题从而赋能价值的传输。
很自然地,我们会好奇在「价值互联网」中是否有类似 HTML、URI、HTTP 的技术? 本文认为 NFT 会成为价值互联网中的 HTML,起到将价值规范化地表示出来的作用。
NFT vs FT
如何来表示价值?价值,说通俗点就是资产。区块链里表示资产就是 Token,但是其实 Token 有 2 种:Fungible Token (同质化通证,FT) 和 Non-fungible Token (非同质化通证,NFT)。
其中 FT 最广泛的技术规范是 ERC-20,NFT 最广泛的技术规范是 ERC-721,基于这两种规范的 FT 和 NFT 主要有以下区别:
考虑物理世界中的资产,一个普通人会拥有的资产可能有:
- 实体资产:书籍、手机、衣服、鞋子、箱包、个人电脑、代步工具、居住场所 ...
- 虚拟资产:游戏道具、数字收藏品 ...
- 金融资产:股票、债券 ...
如果将这些资产在区块链上进行数字化表示,就有 FT 和 NFT 两种方式。可以将你拥有的某件衣服、某个游戏里的道具、某支股的股票,锚定到区块链上的一个 FT 或者 NFT。
基于上面 FT 和 NFT 的区别,我们发现 NFT 技术在实体资产的数字化上更有优势:
- 非同质化 :你的电脑和其他人的电脑可能是用一个型号,但是它们的序列号不同,它们安装的软件不同,它们存储的文件也不同 ...
- 不可分割 :你的书籍不可能是 0.5 本、你的手机也不可能是 0.25 只 ...
- 有外部信息关联方式 :每个 NFT 有个属性可以与外部 URI 关联,这个 URI 可以链接到你的资产的一些详细信息,如生产厂商、生产日期、外观图片 ...
除了实体资产,虚拟资产用 NFT 来表示也更加方便,因为虚拟资产本身的形式就是数字化的,如一个游戏道具,可以通过 URI 关联到一个 NFT。
当然,FT 相比 NFT 也有优点,大部分金融资产更适合用 FT 的方式来表示,因为很多金融资产都是同质化的,如同一家公司的同类型股票,这 1 股和另 1 股是一样的。当然像保险单这样的因人而异的金融资产还是适合用 NFT 来表示。
总结来说,同质化的资产更适合用同质化通证(FT)来表示,非同质化的资产更适合非同质化通证(NFT)来表示。不过物理世界的资产其实本质上都是非同质化的。就算是流水线上生产出来的标准化产品,不同产品之间本来就是有细微差异的。而在产品发售由不同客户购买后, 因为不同客户对产品不同的使用方式、使用强度,最后这些二手产品之间的非同质化程度会进一步增加。
虽然前面都在以一种竞争对比的口吻来看待 NFT 和 FT,但其实两者其实是互补的,NFT 可能会是价值互联网的 HTML,而 FT 可能会是价值互联网的 JSON/XML ...
NFT 的技术规范
NFT 目前主要的技术规范是以太坊上的 ERC-721 和 ERC-1155。
ERC-721 是最初的 NFT 规范,但是其一个智能合约管理多种 NFT 比较麻烦,且不支持批量转账 NFT。ERC-1155 基于 ERC-721 做了不少改进,单个合约就可以管理 FT、NFT 或其他配置(例如 Semi-FT,半 FT)的任意组合。不过目前 ERC-721 的使用还是相比 ERC-1155 更加广泛些。
ERC-721 和 ERC-1155 都有基本的 资产转账、资产授权、查询资产所属用户、查询用户所拥有资产 的方法。
除此之外,ERC-721 规范的 NFT 一般具有以下属性:
- tokenId :在合约内唯一的 NFT ID,在 NFT 的生命周期中不可改变(要实现全链唯一的必须用 (contractAddr, tokenId) 组成的元组)
- name :名称,类似于 ERC-20 的名称
- symbol :符号,类似于 ERC-20 的符号
- uri :指向外部信息的链接,一般是一个 JSON,而在 JSON 中有进一步更加具体的信息
一个 ERC-721 规范的 NFT 示例:
{ tokenId: 20210203 name: nft_name symbol: NN uri: https://path/to/uri/}
uri 所指向的 JSON 文件的格式:
{ "title": "Asset Metadata", "type": "object", "properties": { "name": { "type": "string", "description": "Identifies the asset to which this NFT represents" }, "description": { "type": "string", "description": "Describes the asset to which this NFT represents" }, "image": { "type": "string", "description": "A URI pointing to a resource with mime type image/* representing the asset to which this NFT represents. Consider making any images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive." } }}
前面提到过,ERC-1155 改进了 ERC-721 (ERC-721 有的优点 ERC-1155 也都有),其 改进点 主要在于:
- 单个合约能同时管理 FT 和 NFT :这主要通过 tokenId 来实现,该变量是一个 uint256 类型的变量,ERC-1155 建议将这个 256 位的变量对半分,前 128 位作为 base_token_id (可用于表示 NFT 的种类,如某个具体型号的手机),后 128 位作为 index (可用于表示某种类下某个 NFT 的 ID,如某个具体型号手机的序列号)
- 支持批量转账 ,可以一次性转账多个种类的 FT 或者 NFT。
- 对 uri 所 链接到的外部 JSON 文档的格式 做了一些小改动。
具体的 ERC-721 和 ERC-1155 规范建议查阅 EIP 文档。
NFT 的应用场景
本文认为 NFT 作为价值互联网的 HTML,其所能使用的应用场景是极其广泛的,用区块链作为解决方案的场景中 2/3 的场景都可以使用 NFT 来更加规范地实现。 一切需要表示价值的场景都可以用到 NFT。
前面我们将一个普通人所拥有的资产分为了实体资产、虚拟资产、金融资产三大类,我们也按照这个分类来看看 NFT 的应用场景。
实体经济
商品溯源: 将商品映射到互联网中并包装成一个 NFT,商品生产方即为 NFT 发行方,商品流通过程中按照实际情况对这个 NFT 进行操作就可以实现跟踪溯源。
知识产权: 将知识产权映射到互联网中并包装成一个 NFT,知识产权局即为 NFT 发行方,用户拥有这个 NFT 就意味着拥有这个知识产权。
证据存证: 将证据电子化并包装成一个 NFT,证据产生方即为 NFT 发行方,用户拥有这个 NFT 就意味着拥有这个证据。
电子票据: 将票据电子化并包装成一个 NFT,票据发行方即为 NFT 发行方,用户拥有这个 NFT 就意味着拥有这个票据。
电子证件: 将证件电子化并包装成一个 NFT,证件发行方即为 NFT 发行方,用户拥有这个 NFT 就意味着拥有这个证件。
除此之外,还有很多类似的区块链场景都可以用 NFT 来实现,因为 NFT 更加规范,所以 这样的解决方案相比自己去重新定义一套数据规范而言成本更低 。不过要注意的是,NFT 是区块链技术在数字资产上的规范的一种,区块链技术本身无法解决的问题 NFT 也没办法解决。
虚拟及金融资产
NFT 在虚拟资产上的应用极为广泛,目前已经成为区块链领域事实上的虚拟资产价值表示的标准。2017-2018 年以太坊最热门的 DApp 加密猫(CryptoKitties)其每只猫背后就是用 NFT 进行表示的。
目前 NFT 在虚拟资产上的应用主要有以下几类:
数字收藏品
比较有代表性的项目有:CryptoKitties、CryptoPunks、NBA Top Shot 等。
其中 NBA Top Shot 是近期最热门的 NFT 项目。其为原加密猫团队与 NBA 合作推出的卡牌收集项目,其将 NBA 球星在场上打球的精彩时刻包装成了一个基于 NFT 的卡牌。NBA Top Shot 在今年超过了 CryptoKitties 成为历史上交易量最大的 NFT 项目。
游戏资产
比较有代表性的项目有:Gods Unchained、Axie Infinity、My Crypto Heroes 等。
Gods Unchained 是一款卡牌游戏;Axie Infinity 是一款虚拟宠物养成游戏;My Crypto Heroes 是一款角色扮演类区块链游戏。
虚拟世界
比较有代表性的项目有:Decentraland、The Sandbox 等。
其中 Decentraland 是完全由 NFT 构建的虚拟世界,里面的土地、装备等等都是以 NFT 的形式。
加密艺术品
比较有代表性的项目有:Async Art、 SuperRare 等。
所谓加密艺术品是指艺术品的表现形式本身即为数字化的,如艺术画作等,然后包装成一个 NFT 从而成为加密资产。数字化使得艺术的表达形式更加丰富,一张画作可以是动态的甚至是可交互的,这是在物理世界无法做到的。
其中 Async Art 是一个建立在以太坊上的可编程加密艺术平台;SuperRare 是一个由区块链技术支持的艺术创作者和收藏者的社交网络平台。
金融
比较有代表性的项目有:Aavegotchi、Yinsurance 等。
其中 Aavegotchi 是一个融合了 DeFi+NFT+游戏+DAO 的 Gamfi 的项目;Yinsurance 则使用了 NFT 来实现保险单。
其他
比较有代表性的项目有:ENS 等。
以太坊域名服务(Ethereum Name Service,简称 ENS)是一个基于以太坊区块链的分布式、开放和可扩展的命名系统,其将域名包装成了一个 NFT。
NFT 的未来
NFT 的技术和应用场景以及生态是在不断发展的。
在 ERC-721 的规范提出后又涌现了很多新的 NFT 的规范,如本文提及到 ERC-1155。除此之外,还有 ERC-1523 (保险单 NFT)、ERC-998 (可组合的 NFT)、EIP-1948 (可变信息的 NFT)、EIP-2981 (NFT 版税)等。ERC-721 和 ERC-1155 目前在 EIP 中的状态为 final,而其他几个都为 draft。当然这些都是以太坊上的 NFT 规范。
除了以太坊,其他区块链在 NFT 领域的作用不容忽视。WAX 之前一直被称为「NFT 之王」,目前 NFT 总交易前 20 的项目中,有 8 个是 WAX 上的。而目前历史交易总额最高的 NBA Top Shot 位于一条叫 FLOW 的区块链,FLOW 链是由加密猫团队维护的。
除此之外,在波卡生态的 Substrate 也有专门的 NFT Pallet 可以让开发者更快速地开发使用 NFT 功能的平行链。目前波卡生态也有不少 NFT 项目都拿到了 W3F Grant,如 RareLink、Usetech、Perpetual Altruism Ltd、NFTStore、DNFT Protocol 等。其中 RareLink 致力于动态 NFT,通过预言机使得 NFT 对物理世界作出动态响应。
在应用场景上,2020 年对 NFT 来说是加密艺术之年,疫情导致很多艺术家被困家中,在线上结合加密技术进行艺术品创作并出售成为了他们创收的新方式,于是加密艺术开始爆发,成为 2020 年 NFT 领域的主要增长引擎。
当然,2020 年的 DeFi 也很「火」,可以说 DeFi 是「熊熊大火」,NFT 是「星星之火」。
2021 年,我们可以期待更多 NFT 的协议创新和应用创新出现。
总结
万维网使用 HTML 来规范地承载信息,价值互联网也需要一种类似的技术,NFT 是目前为止最符合要求的技术,不过 FT 可以作为 NFT 的补充与 NFT 互补。
NFT 的规范目前主要有以太坊上的 ERC-721、ERC-1155 等。NFT 可以在实体经济、虚拟资产等领域的资产表示中大展身手,目前已经在多种区块链虚拟资产中已经应用非常广泛。NFT 未来会不断发展,除了以太坊以外的其他区块链也大有机会。