在过去的一年的时间里,创作者们通过使用 NFT(非同质化代币)向他们的真正粉丝出售了数字艺术、收藏品和游戏项目,累计赚取了数十亿美元的资金。NFT 是代表区块链上独特资产所有权的代币。每个 NFT 项目都有一个基于区块链的智能合约,可以跟踪谁拥有哪种资产。
每个 NFT 的核心是其元数据(metadata)。这个元数据包括对 NFT 的描述(名称、属性、属性等)和其媒体文件(图像、视频、音频等)的指示器(pointer)。
将这些信息直接存储在区块链上是很昂贵的,所以大多数 NFT 项目将其数据存储在其他地方,只在其智能合约中保留一个存储链接。
常见的 NFT 数据结构的例子
在这篇作品中,我将介绍:
- 概述不同的 NFT 数据存储方法的优势和劣势
- 调查每种数据存储方法的采用程度
- 讨论 NFT 数据存储的未来
存储方法
中心化存储
存储 NFT 数据最糟糕的选择是在中心化的服务器上。如果一个 NFT 项目的元数据和媒体文件存储在一个服务器上,而创建者停止维护该服务器,那么该数据将永远消失,从而最终使 NFT 成为“空白”。控制服务器的人也可以在任何时候改变 NFT 的描述和内容,而无需得到所有者的许可。这完全违背了 NFT 的目的。如果你的资产可以被查封、改变或审查,那么你就没有它的真正所有权。
使用一个去中心化的文件存储解决方案是防止扣押、更改和审查的关键。两个最流行的存储 NFT 数据的去中心化方案是 InterPlanetary File System(IPFS)和 Arweave。
IPFS
IPFS 是一个点对点的文件存储网络。一个被称为节点的计算机存储已上传到网络的文件,并使用独特的哈希值来识别这些文件。IPFS 和基于网络的文件存储之间最大的区别是,IPFS 使用了一个基于内容的地址系统。当一个文件请求被提出时,网络会使用文件的哈希值找到一个持有该文件的节点,并将其提供给请求者。
IPFS 的弱点是不能保证文件存储的持久性。这意味着上传到 IPFS 的数据不会永久地留在那里。只要网络中的一个节点正在存储内容并使其可用,那么文件就会存在于 IPFS 上,这也被称为“钉(pinning)”。
为了在 IPFS 上长期存储文件,许多 NFT 项目和市场要么手动钉住他们的数据,要么使用 pining 服务,以确保总是至少有一个 IPFS 节点持有副本。如果维护 NFT 的 IPFS 数据的项目或平台发生故障并停止钉住文件,那么随着持有副本的节点清除其内存缓存或被关闭,所有存储的信息将随着时间的推移而丢失。
Arweave
Arweave 是一个去中心化的文件存储网络,它可以保证文件存储的持久性。用户支付一次性费用来支付 200 年的存储成本。200 年的基准是一个极其保守的估计,因为物理数据存储价格的将在未来不断下降。如果成本下降的速度超过估计,Arweave 文件的存储时间将远远超过 200 年。
Arweave 网络中的计算机被称为矿工,矿工被激励使用 AR 代币来复制和存储其他矿工很少存储的数据副本。这确保了文件不会随着时间的推移而丢失,不需要原始上传者的持续维护。
Arweave 在一个叫做 blockweave 的结构中存储数据。每个新的数据块都与前一个区块和一个历史区块相连。矿工必须证明他们有机会接触到这些随机选择的历史区块,从而挖出新的区块并获得奖励,这确保了较早的区块被保留下来。
Blockweave
链上
使用 IPFS 或 Arweave 比依靠中心化存储要好得多,但它仍然需要指向链下。将 NFT 元数据和媒体存储在与 NFT 相同的链上是最抗脆弱的方法,但在链上存储数据的成本很高。保持数据在链上的 NFT 项目利用一系列的压缩技术来降低这一成本。
当前主要公链上的 NFT 存储采用情况
以太坊
在以太坊上,IPFS 是最受欢迎的 NFT 元数据存储媒介。按交易量排名前 100 的 NFT 合约中,48% 的合约的元数据存储在 IPFS 上。不幸的是,中心化服务器是以太坊上 NFT 元数据存储的第二大选择。
此外,同样值得注意的是,在 IPFS 上存储元数据的顶级项目中,有 20% 在它们的合约中使用了来自 Pinata 的专用网关链接,而不是默认的 IPFS 链接。Pinata 是最受欢迎的 IPFS pining 和数据管理服务之一。如果 Pinata 有一天关闭了,这些链接就会中断,那么相对应的 NFT 就会变成空白。
前 100 名以太坊元数据存储
前 100 名以太坊收藏品媒体文件存储
在样本组中,有 31% 的项目使用了中心化服务器来存储元数据,并将其媒体文件存储在 IPFS 或 Arweave 上。虽然这比把所有东西都存储在私人服务器上要好,但它并没有降低收集者的风险。基本上,如果元数据被破坏了,那么媒体文件也会丢失。
Solana
Arweave 是 Solana 上最主要的 NFT 数据存储选项,90% 的顶级交易项目都使用它来保存元数据。对持久性的保证和缺乏维护的要求使得 Arweave 成为较新的生态系统中的项目的一个有吸引力的选择,在那里 IPFS 并不占有那么多的市场份额。此外,一些最流行的铸造 Solana NFT 的工具包,例如 Metaplex,使用 Arweave 作为默认存储方法。
前 50 名的 Solana 收藏品元数据存储
前 50 名的 Solana 收藏品媒体文件存储
Polygon
Polygon NFT 生态系统有很高的中心化风险。61% 的顶级交易项目依靠私人服务器进行元数据存储。
前 100 名的 Polygon 元数据存储
前 100 名的 Polygon 收藏品媒体文件存储
我应该如何存储 NFT 项目的数据?
将你的 NFT 元数据和媒体存储在链上,确保数据在底层区块链存续的时间内得到保存。你可以作为参考的强大实现包括 Uniswap V3 NFT、Blitmaps 和 NounsDAO。然而,在链上存储大型媒体资产可能会非常昂贵,所以这种方法并不总是非常实用。
大多数 NFT 项目的最佳存储选项是 Arweave。如果你有编程技术,你可以使用 Bundlr CLI 将你的 NFT 数据上传至 Arweave。如果你是技术小白,那么 ArDrive 网络应用程序为 Arweave 文件上传提供了一个无代码的解决方案。在以太坊生态系统中,你可以使用 Manifold 平台来轻松创建和部署带有 Arweave 数据存储的 NFT 合约。而在 Solana 上,Metaplex 提供了一个工具包,用于用 Arweave 数据存储铸造 NFT。
IPFS 是下一个最佳选择。有大量的平台和开发者工具用于管理 IPFS 存储,包括 NFT.Storage、Pinata 和 IPFS CLI。Thirdweb 提供了一个无代码的仪表板和一个开发者工具包,用于在多个链上创建具有 IPFS 数据存储的 NFT 项目。
你不应该使用中心化服务器进行元数据和媒体的长期存储。这种选择带来了最高的数据丢失和损坏的风险。
NFT 媒体存储的未来
- 我预测,我们将看到许多高价值的 NFT 藏品的媒体文件被损坏或永远丢失的事件。迟早有一天,一个具有高地板价和中心化存储的项目会崩溃。维护服务器的团队要么停止支付他们的服务器费用,要么忘记更新 NFT 合约指向的元数据的域名所有权。
- 像这样的事件将提高人们对 NFT 数据存储环境的脆弱性的认识,认真的 NFT 收集者将避免使用那些不使用去中心化的数据存储的项目。
- 更多依靠中心化数据存储的 NFT 项目和平台将过渡到去中心化的选择,以确保其寿命。这个过程通常会涉及以下内容:
- 将项目的数据上传到 IPFS 或 Arweave
- 让 NFT 合约的创建者重置元数据的链接。
- 销毁合约创建者钱包的钥匙,以确保未来没有人有能力改变这个链接。
开放的问题
目前 NFT 媒体存储的状态比大多数收藏家意识到的风险要大得多。该领域仍然处在非常早期的阶段,还有很多工作要做。需要取得进展的具体领域包括:
- NFT 市场和应用程序公布 NFT 元数据和媒体资产的存储位置信息,以便有风险意识的持有者能够做出明智的决定。
- 新的平台使高价值资产的所有者能够简单地检查其 IPFS 依赖的 NFT 的健康状况,锁定其 NFT 的数据,并在丢失的情况下恢复这些数据。
- 改善使用去中心化存储 NFT 平台的基础设施的体验。例如,Bundlr 帮助平台更有效地在 Arweave 上存储它们的数据,并允许它们用它们的原生代币进行支付,而不是使用 AR 代币。