来源 :Decrypt / 作者:moreReese

构成 NFT 内容的数据需要存储在某个地方——但并非所有 NFT 存储技术都是一样的。

不可替代代币 ( NFT ) 归根结底是一种数字媒体形式。就像其他数字媒体一样——从Decrypt文章中的文字到 YouTube 视频和流媒体音乐——NFT 的最基本形式由 1 和 0 组成的数据组成。


(资料图片仅供参考)

这很重要,因为与NFT相关的一切——从它所在的智能合约到你用来查看它的 URL 再到图像本身——最终归结为存储在计算机上的 1 和 0。

然而,并非所有 NFT 存储技术都是一样的。事实上,一些 NFT 持有者可能只拥有一个 URL 或代币 ID。因此,在您考虑购买或制作 NFT 之前,花时间了解 NFT 存储的工作原理是值得的。 在我们深入之前,让我们先看看一些核心概念:

服务器 — 服务器是一台计算机,就像您正在阅读本文的那台计算机一样。然而,与您正在阅读本文的计算机不同,服务器功能异常强大,可以同时运行许多不同的程序。从根本上讲,NFT 存在并存储在服务器上。

托管 — 绝大多数人不运行自己的服务器,因此,无论他们是否意识到,他们都依赖其他人提供该服务。托管是指服务的集合,包括存储,通常在服务器上运行。所有 NFT 都托管在某个地方。

元数据 — 元数据是描述其他数据的数据。元数据帮助服务器更高效地查找、处理和存储数据。NFT 的元数据描述了一些特征,例如(对于 PFP NFT)它的名称、颜色、大小、形状、帽子类型、眼镜类型等。

散列 — 散列是一种加密函数,给定一些输入,每次都会产生相同的输出。哈希通常用于对大量信息进行可验证且高效的编码。NFT 及其所有元数据可以存储在单个哈希中。要亲身体验散列,请查看此散列生成器。

智能合约 — 智能合约是存在于区块链上的编码指令。它们是去中心化应用程序 (dapp) 的构建块,包括大多数 NFT。铸造和交换 NFT 的规则存在于智能合约中。

链上与链下存储

区块链 链上存储可能更可取,因为这意味着用户可以验证 NFT 的所有方面。然而,很少有 NFT 项目选择这种存储方式。一个这样做的例子是Autoglyphs。原因很简单——JPEG 图像包含大量数据,尤其是当这些图像以数千或数万的数量级存在于集合中时。因此,大多数 NFT 项目选择链下存储实际图像。许多著名的 NFT 项目,如CryptoPunks和 Bored Ape Yacht Club,都选择链下存储。

集中式与分散式托管

在链下存储的情况下,NFT 的智能合约包含指向存储实际 NFT JPEG 图像的某个链下位置的信息。

通常,NFT 图像及其元数据存储在哈希中。此哈希用于指向集中式或分散式托管服务提供商。

集中托管提供商的示例包括亚马逊和谷歌。

中心化托管提供商运行的服务器存储构成 NFT 的 1 和 0。

中心化托管提供商的风险在于(尽管不太可能)它们可能随时关闭,所有者的 NFT 将丢失。

在某些情况下,所有者所剩下的只是一个存在于智能合约中的简单散列。这就是为什么许多项目选择使用去中心化解决方案来托管他们的 NFT。最常见的解决方案是将 NFT 数据托管在星际文件系统(IPFS)上。

IPFS 是一个分布式点对点网络,文件存储在多个节点上,使它们能够抵抗服务器问题等单点故障。

虽然存储在 IPFS 上的 NFT 在技术上并没有存储在链上,但理论上它们更安全,因 为 IPFS 是抗审查的;任何一个实体都无权将其关闭。

原文链接: https://decrypt.co/resources/how-are-nfts-stored-on-chain-off-chain-and-decentralized-storage

推荐内容