第七章 非同质化代币 (NFT)
非同质化代币(NFTs)是数字代币,它们在区块链上代表独一无二的资产。在区块链领域,NFTs 用来确认特定外部账户(EOA),也就是以太坊用户账户对某个物品的所有权。NFTs 可以是单独的项目,也可以是某个系列中的独特项目。控制 NFT 系列的商业规则被编码在智能合约中,开发者将 NFT 系列部署到以太坊区块链上,使其成为任何 EOA 都能与之互动的合约账户。在实际操作中, NFT 通常是一个带有编号的代币,附带一个指向元数据的链接或指针,这些元数据可能是一张图片或一系列属性,由于以太坊区块链的存储成本较高,这些元数据通常不存储在链上。虽然理论上 NFT 可以代表任何事物,但在实践中它们主要用于一些特定的应用场景,具体如下:
收藏品,特别是个人资料图片(PFP)系列。 艺术家的一次性艺术作品。 游戏中的物品,特别是在元宇宙中。 品牌商品,如忠诚度卡或粉丝通行证。
在文化层面上,NFT 收藏者通常是对搜集独特或稀有物品充满热情的人,他们的行为与收集宝可梦卡片或电影纪念品的爱好者相似,这并不是说 NFT 社区对以太坊的价值观或其技术基础架构一无所知。实际上,NFT 用户往往是最为实际的以太坊参与者之一,他们通常对软件钱包的复杂操作了如指掌,比如管理自己的私钥或直接从智能合约中铸造 NFT。然而 NFT 领域也有其阴暗面,网络犯罪分子经常针对新入市的散户投资者,尤其是通过社会工程学手段进行诈骗,同时市场上还充斥着大量质量参差不齐的 NFT 项目,就像在跳蚤市场淘宝的古董收藏家一样,新手 NFT 收藏家需要保持警觉,学会去伪存真。NFT 通常包含两大核心要素:首先,技术层面上的 NFT 智能合约,这些合约大多遵循 ERC-721 标准;其次,财务层面上,尤其是 NFT 市场的核心作用,以及与传统商业问题如品牌和版权相关的事宜。
同质化与非同质化
非同质化指的是一个物品无法被同类的其他物品所替代,而同质化物品则可以互相替换。我们通常将货币和商品视为同质化的。比如,任何一张美元纸币都可以与另一张美元纸币互换(假设它们都完好无损),如果我今天在银行存入一张 100 美元的钞票,一周后取出 100 美元,我并不需要取回原先那张钞票,美元是同质化的。同样,对于石油这样的商品也是如此,任何一桶石油,只要没有损坏,都与其它桶石油无异,我对任何特定桶的石油并无特别兴趣。在加密货币领域,同质化的概念同样适用,如果我在 Coinbase 交易所存入 10 个比特币一周后取出,我并不关心是否拿回原先存入的那 10 个比特币,因为它们是完全同质化的。以太坊上的 ERC-20 代币也遵循同样的规则,ERC-20 是构建于以太坊区块链上的货币或代币的标准。比如,我们可以创建一个以杏仁(ALM)为主题的 ERC-20 代币,每个 ALM 代币都是等价的,无论是我发送给你的这一批还是另一批 ALM 代币都没有区别,这一点对于在以太坊上发行的众多 ERC-20 代币都成立,无论是柴犬(SHIB)、美元币(USDC)还是西汉姆(HAM)。
非同质化物品指的是那些独一无二的物品,它们的特殊性至关重要,这种独特性表现在两个方面。一方面,非同质化意味着某件物品是世上仅有的,比如《蒙娜丽莎》这幅画是独一无二的,无法被其他任何物品所替代,它是“绝无仅有”的,任何参加 EthCC 巴黎会议的访客都可能会特意绕路去一睹其风采。另一方面,非同质化也可以指在众多相似物品中的独特性。比如,如果你想参加贾斯汀·比伯的演唱会,你需要购票但并非所有票都是相同的。可能总共售出了 50000 张票,但每张票都有其独特的属性:有的座位更靠近舞台,有的则更远。尽管它们都是贾斯汀·比伯演唱会的票,但它们之间并非完全相同。再比如,同一条街上的房子看似相同,实则各有特色。有的房子花园朝南,享有更多的阳光;有的可能被前任房主涂成了独特的颜色。尽管它们都位于同一条街上,但这些独特的特点让它们各具差异,也确实让某些房子比其他的更具价值。
ERC-721:非同质化代币(NFT)标准
ERC-721 是以太坊区块链上用于生成非同质化代币(NFTs)的标准,在以太坊社区 NFT 和 ERC-721 这两个词经常被互相替换使用,我们来探讨一下 ERC-721 在个人资料图片(PFP)项目中的典型应用,但要记得这仅仅是众多可能用途中的一个例子。Cryptopunks 系列(2017年6月发布)是 10000 个 PFP 概念的起点,由 Matt Hall 和 John Watkinson 在 Larva Labs 的名下推出。这些 Punks 由 24×24 像素的简单图像组成,通过自动化脚本生成。这一过程实际上并不涉及以太坊区块链,而可能用 Python 脚本来创建图像,Cryptopunks 的脚本设计得能够将不同的特征——比如莫霍克发型、眼罩、红发等——融合成一张具有朋克风格的简单像素画。重要的是,脚本还规定了某些特征的常见程度和某些特征的稀有程度。例如,整个系列中只有 9 个外星人风格的 Punks,这使得它们极为罕见。虽然 Cryptopunks 早于 ERC-721 标准出现,但其流行证明了一个通用标准的必要性。否则,每个项目都需要定制的智能合约和代币类型,这将使得它们与市场等的互操作性变得复杂。2018年1月,以太坊爱好者 William Entriken、Dieter Shirley、Jacob Evans 和 Nastassia Sachs 共同发布了非同质化代币的标准 —— ERC-7211。
ERC-721 PFP(个人资料图片)智能合约的设计旨在实现以下目标:
a. 设定启动细节,比如确定何时开始铸造 NFT 以及它们最初的价格。 b. 提供项目概览,包括项目名称、物品的稀有程度,以及如何找到相关的图片和详细信息。 c. 允许用户执行特定的操作。 d. 在 NFT 发布后,跟踪记录每个 EOA 用户账户当前拥有的 NFT。
为了实现这些功能,ERC-721 智能合约集成了多种函数,这些函数是智能合约中用于执行特定操作的代码块,可以被外部所有账户(EOAs)调用以与智能合约进行交互。比如,在项目发布时,你可以通过调用一个函数来获取并展示项目名“无聊猿游艇俱乐部”(Bored Ape Yacht Club)这样的文本信息。你也可以调用 totalSupply 函数来查询无聊猿的总数,它会返回一个无符号整数(uint256),告诉你总共有多少个无聊猿。不过这些操作主要是从以太坊上的智能合约账户中读取信息,真正有影响力的是那些能够引起状态变化或更新以太坊网络状态的函数。以 BAYC(无聊猿游艇俱乐部)为例,项目启动时一个 EOA 可以通过创建交易来调用 BAYC 智能合约中的 mintApe 函数,这个交易需要 EOA 支付 0.08 ETH 来铸造一个无聊猿。如果交易成功,NFT 就会被发送到我的 EOA 钱包中,我就成为了这个无聊猿 NFT 的骄傲拥有者,NFT 一经铸造就由 EOA 全权控制,可以将其转让给其他人或者在市场上出售,初始铸造完成后,大多数 NFT 智能合约会负责记录当前 NFT 的所有权信息,或者允许市场代表 EOA 出售 NFT。
NFT 的特性
你或许好奇,NFT 究竟为何物?深入探究 ERC-721 智能合约,我们可以发现一系列用户能够操作的函数。正是在这些函数里,我们能发现一些关键术语,它们代表了 NFT 的核心特性。
TokenId:TokenId 是用于唯一标识一个 NFT 的编号。 TokenURI:TokenURI 是一条链接,指向某个 TokenId 所对应的元数据和图片资源的位置,URI 是 Uniform Resource Identifier 的缩写,它的作用类似于我们熟悉的网址链接。 元数据:TokenURI 链接的实际元数据(比如特征信息)以及图像,这些元数据一般不存储在区块链上。目前最流行的存储选项包括点对点的星际文件系统(IPFS)以及专为存储设计的区块链Arweave。不过,看到链接到亚马逊云服务(AWS)也不要感到意外。
NFT 由这三个要素共同定义,它包含了独一无二的标识编号(TokenId)、指向链上元数据的链接(TokenURI),以及通常存放在链下的元数据。简而言之,NFT = TokenId + TokenURI + 元数据。
在某些情况下,这些数据会经过哈希处理,生成一个叫做出处哈希的值,这个出处哈希是由项目中各个 NFT 的哈希值汇总而成的,如果项目方试图修改元数据,出处哈希值将发生变化,因此它非常有用。
以一个实例来阐释这一点:ERC-721 代币标准在 NFT 领域最流行的应用之一是个人资料图片(PFP)系列,其中最著名的就是无聊猿游艇俱乐部(BAYC)系列,该系列于 2021 年 4 月推出,并迅速在主流文化中流行开来。BAYC 由Greg Solano(Gargamel)和Wylie Aronow(Gordon Goner)在 Yuga Labs2 公司名下推出,和 Cryptopunks 一样每个无聊猿都是通过算法生成的,但它们基于原创艺术作品。无聊猿的设计理念是每个都有独特的特征,其中一些相对常见,而另一些则相当稀有。智能合约遵循 ERC-721 的标准模板并进行了一些定制。每个无聊猿都有一个 TokenID 和一个 TokenURI,后者指向存储在 IPFS 上的元数据和图像。出处记录详细列出了每个 NFT 的关键信息:序列位置、TokenID、TokenURI 和 IPFS 链接,合约中包含了所有核心信息,如项目名称、代币符号、无聊猿的总数等。在销售期间合约设定了 0.08 ETH 的铸造价格,并随机决定了无聊猿的铸造顺序和时间3,总共为创作者预留了 30 个无聊猿。销售结束后所有无聊猿都已售出,BAYC 智能合约负责记录无聊猿在用户账户间的转移并授权在平台上出售。BAYC 智能合约还规定,在市场对无聊猿的任何未来销售中收取 2.5% 的版税,为 Yuga Labs 创造了持续的收入来源。
NFT 的商业和法律层面
NFT 市场为 NFT 藏品和寻求交易的收藏家提供了一个交易平台,用户通过外部账户(EOA)连接到 NFT 市场后,可以将自己的 NFT 上架销售或寻找新的藏品购买。市场会从以太坊上的 NFT 项目智能合约中提取藏品信息,并以易于理解的方式展示,包括从 TokenURI 获取元数据,例如图片。Opensea 作为最受欢迎的 NFT 市场已有多年历史,但其市场地位正逐渐受到 Blur 和 X2Y2 等新兴平台的挑战。这些市场通常会对卖家的销售收入收取一定比例的费用,如 Opensea 收取 2.5% 的交易费。这里需要重申的是,我们讨论的是 NFT 创作和销售的一般模式,不同的市场有不同的费用结构,包括是否向创作者支付版税等。
NFT 的法律地位至今尚未有定论,尤其是关于知识产权(IP)的问题。知识产权是一个多维度的概念,我们预测未来会出现许多与 NFT 相关的有趣法律案件,首要了解的是版权问题,版权自动产生于那些原创的、有创意的、涉及人类创作权的作品。以 BAYC 为例,它是一个原创且富有创意的项目,其基础艺术作品、生成脚本和智能合约的创建都凝聚了人类的努力。值得注意的是,版权的存在并不依赖于版权注册,版权注册是在美国特有的一种强化版权保护的流程,没有进行版权注册并不意味着项目没有版权,BAYC 虽未进行版权注册,但普遍认为其拥有 BAYC 知识产权的版权。BAYC 赋予无聊猿所有者商业使用 NFT 的权利,例如制作 T 恤或开设主题酒吧。如果你有意成为专业的 NFT 收藏家,那么了解购买 NFT 所获得的权利范围就显得尤为重要,因为不同项目的权利规定可能差异很大,有的严格,有的宽松。
备注