NFT 如何存储? 链上、链下和去中心化存储

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

这很重要,因为与 NFT 相关的一切——从 聪明的合同 它存在于您用来查看图像本身的 URL 中——最终归结为存储在计算机上的 1 和 0。

然而,并非所有 NFT 存储技术都是一样的。 事实上,一些 NFT 持有者可能只拥有一个 URL 或令牌 ID。 因此,在考虑购买或制作 NFT 之前,值得花时间了解 NFT 存储的工作原理。

在我们深入研究之前,让我们看一下一些核心概念:

  • ?️ 服务器— 服务器是一台计算机,就像您正在阅读本文的那台计算机一样。 然而,与您正在阅读本文的计算机不同,服务器异常强大,可以同时运行许多不同的程序。 从根本上讲,NFT 存在并存储在服务器上。
  • ? 托管——绝大多数人不运行自己的服务器,因此,无论他们是否意识到,他们都依赖其他人来提供该服务。 托管是指通常在服务器上运行的服务集合,包括存储。 所有 NFT 都托管在某个地方。
  • ? 元数据——元数据是描述其他数据的数据。 元数据帮助服务器更有效地查找、处理和存储数据。 NFT 的元数据描述了诸如(对于 PFP NFT)其名称、颜色、大小、形状、帽子类型、眼镜类型等特征
  • #️⃣ 哈希—散列是一种加密函数,给定一些输入,每次都产生相同的输出。 散列通常用于对大量信息进行可验证且有效的编码。 NFT 及其所有元数据可以存储在单个哈希中。 要获得散列经验,请查看 这个哈希生成器.
  • ? 智能合约——智能合约是存在于区块链上的编码指令。 它们是去中心化应用程序(dapps)的构建块,包括大多数 NFT。 铸造和交换 NFT 的规则存在于智能合约中。

链上存储与链下存储

将 NFT 存储在链上意味着整个 NFT(图像及其所有元数据)都存在于一个 blockchain. 相反,链下存储的 NFT 意味着部分或大部分 NFT 存储在区块链之外。

链上存储可能更可取,因为这意味着用户可以验证 NFT 的所有方面。 但是,很少有 NFT 项目选择这种存储方法。

一个例子是 自画像. 原因很简单——JPEG 图像包含大量数据,尤其是当这些图像存在于数千或数万个集合中时。

因此,大多数 NFT 项目选择将实际图像存储在链下。 许多知名的 NFT 项目,例如 加密朋克 和无聊猿游艇俱乐部选择链下存储。

集中式与分散式托管

在链下存储的情况下,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