un.Block

Posted on Oct 09, 2021Read on Mirror.xyz

NFT 的数据存储

NFT 不会丢失,那 NFT 里面的数据会丢失吗?

相信大家已经对 NFT 不陌生了,它是基于 ERC-721ERC-1155 的非同质化代币(Non-Fungible Tokens)。NFT 目前被广泛应用于加密数字艺术品领域,视觉艺术品 NFT 是最受欢迎的,因为它最直观,只要拥有就能看到。

CryptoKitties 是一个在 Ethereum 上的热火朝天的 NFT 游戏,谁不想收藏一只好看的猫咪呢?

不安稳的数据

NFT 有着以下特点:

  1. 可证明的真实性
  2. 所有权
  3. 可转让

这些特性保证了我们的 NFT 藏品是属于我们且独一无二的,但我们的画、我们的猫的图像并没有存储在 NFT 中,NFT 元数据里只存放着获取图片内容 URL,这个 URL 可以是任何类型的,只要能获取到图片文件即可,数据的URL被指向区块链上的NFT。(你可以把它理解为我们日常使用的“图床链接”)。

假如我们把数据托管在传统的中心化云服务器,例如 Amazon AWS,某一天服务器掉线了,或是到期忘记缴费,云服务器里的数据去无影无踪,那么我们的“名画”也会随之消失。这个时候,我们打开钱包后可能看到的是一片空白,因为找不到图片了!

还有另外一个问题,传统的 URL 背后的数据是可以改变的,这意味着,NFT 所代表的加密艺术作品可以在无人知晓的情况下被改变,这违背了 NFT 的初衷。

我们必须使用更加安稳和可靠的方式来存储我们的数据 ⬇️

星际文件系统 IPFS

既然中心化的数据存储方式不可靠,那我们就使用星际文件系统 (Interplanetary File System) IPFS,它是一个分布式系统,用于存储和访问文件、网站、应用程序和数据。

IPFS 的介绍 What is IPFS?

使用 IPFS,我们可以为数据创建内容可寻址的数据 Hash,也被称为内容标识符 (CID) ,每一份内容都有自己的对应的 Hash 值。

CID 确保了我们能从 IPFS 中获取到指定数据,且数据是未被篡改的。获取数据时,我们只需要向 IPFS 网络提交数据 CID,IPFS 就会自动向全网络查找数据,假如某一个节点有相应数据,就会将数据发送给我们。接受到数据后,IPFS 会再次计算获取到的数据的 CID 以进行校验,确保我们拿到的数据是我们想要的。假如有人向我们提供虚假数据,IPFS 将发出警告。

谁来存数据

你可以把你的世界名画带回家,也可以付费存在画廊

理论上来说,谁铸造 NFT,谁就有责任保管好 NFT 对应的数据内容。当 NFT 所有权发送转移的时候,保管的责任也应该转移到新主人手中。当然,交易的时候旧主人可以向新主人承诺保管数据一段时间。这和我们实际生活中的艺术品管理非常相似。

新主人有义务将 NFT 数据存储在自己的 IPFS 节点中,这个操作也很简单,只需要保存一份 NFT 数据的副本即可(通过 CID 就可以获得数据)

当然,现实生活中,我们买了名画,不一定都往家里带,大部分人选择“艺术品托管”服务,NFT 也一样。同理,我们不一定要把所有东西都往自己的 IPFS 里放,区块链世界中也有数据托管服务,只需要支付费用,你就能买到数据托管空间和时间。

相关阅读: