“冻结”NFT元数据,OpenSea通过星际文件系统将NFT去中心化

全球最大的NFT市场OpenSea近期推出了“冻结”NFT元数据的功能,使NFT创建者能够通过分布式存储协议和星际文件系统正确地将NFT去中心化。

NFT 是一种具有分散所有权的独特通证。“谁拥有这个通证?”这个问题的答案。在许多不同的计算机上同时存储和跟踪,防止对其拥有的未经授权的更改。

但是,由于与直接在智能合约上存储和修改数据相关的 Gas 成本,与 NFT 相关的媒体附件和属性(统称为“NFT 元数据”)并未始终去中心化。如果没有去中心化,收集者就不能指望令牌元数据的完整性和不变性。

自 2017 年推出以来,OpenSea 一直支持具有去中心化元数据的 NFT。现在,创建者能够在平台上创建时使用星际文件系统 (分布式存储协议)和星际文件系统 去中心化他们的元数据。我们还为收集者提供了一种查看 NFT 的元数据何时不可变的方法,进一步增强了 OpenSea收集者在评估 NFT 时可以使用的工具包。

去中心化VS冻结元数据

如果您不熟悉 NFT 元数据,那么我们广受欢迎的 NFT 圣经中的概述值得一读;否则,请查看技术细节。

对于基于以太坊的通证,管理 NFT 的智能合约通常使用函数指定元数据的位置:

对于 ERC721 标准:函数 tokenURI(uint256 _tokenId) 外部视图返回(字符串内存)

对于 ERC1155 标准:函数 uri(uint256 _id) 外部视图返回(字符串内存)

此函数返回的值通常是 Google Cloud、Amazon Web Services 或其他一些可以脱机或由开发人员更改的集中式存储形式中的 URL。

这与分布式存储协议、星际文件系统 和 Arweave 等去中心化存储解决方案形成对比,后者在去中心化网络中跨存储节点复制元数据。


集中存储有两个弱点:


无常性:服务器可能宕机或脱机,导致很难找到图像(除非它被像 OpenSea 这样的 NFT 索引镜像)。

可变性:开发人员可以将图像修改为收藏家不期望的东西。

NFT 有四种类型的元数据存储。这是一个方便的网格:

“冻结”的概念不同于中心化。即使它们以分散的方式存储,创建者通常仍然可以进行交易并更改与 NFT 关联的元数据。我们将具有不可更改元数据的 NFT 称为“冻结”。

如果不能更好地了解哪些 NFT 被冻结,哪些未冻结,收藏家就无法知道他们购买的东西在 1、10 或 100 年后是否会保持不变。

并非所有 NFT 都完全适合一个象限。让我们通过一些例子来了解它们:

1、集中化:大多数 NFT 在其智能合约上都有一个功能,用于返回与特定通证标识符相关联的元数据。结果通常是开发人员运行的 Web 服务器上的 URL(例如 example.com/nft/2)。当一个 NFT 的属性和媒体都由这样的服务器控制时,NFT 是中心化的,并且会受到无常性和可变性的问题。

2、集中且可验证:最早的 NFT 之一,Larva Labs 的 CryptoPunks,将其图像存储在中央服务器中。但是,智能合约将这个图像的哈希值存储在智能合约中。这意味着虽然 CryptoPunks 可能会受制于无常性,但对其图像的任何修改都可以根据此哈希值进行检查,因此我们可以“验证”CryptoPunk 图像是原始图像还是修改过的图像。

其他项目,如 CrypoKitties(API 文档),具有该系统的变体,例如将 NFT 特征存储在链上,但在中央服务器中呈现特征。在这种变体中,可以修改图像,但不能修改小猫“基因”和稀有信息。

3、去中心化:开发人员可以选择将元数据直接存储在智能合约或文件友好的去中心化网络中,而不是将元数据存储在中央服务器中。两个最好的选择是带有 星际文件系统 和 Arweave 的 分布式存储协议。

Arweave 要求存储提供者参考以前存储的数据,类似于区块链(称为“blockweave”)。分布式存储协议 允许对等点相互存储、请求和传输可验证的数据,并可与 星际文件系统 一起使用以激励存储提供者继续使用可验证的证据持久存储数据。

这种项目的一个例子是 Bored Ape Yacht Club。元数据存储在 分布式存储协议 中,但用于 分布式存储协议 的根 URI 可由合约所有者更改。

4、去中心化和冻结:很难知道 NFT 的元数据何时被冻结,因为通常有多种方法可以更改它。这是一个手动过程,但 OpenSea 现在会显示在 OpenSea 上制作的 NFT 何时被冻结以及何时 OpenSea 之外的许多 NFT 也是不可变的:

如果项目位于文件存储网络上,则单击上面的“冻结”会将您带到该项目的分散 URI,支持 分布式存储协议 和 Arweave(包括 `ipfs://` 和 `ar://` URL)。

分散和冻结项目的一些例子包括:

– SuperRare (分布式存储协议)

– 沙盒(分布式存储协议)

– Uniswap(链上)

– Kevin Abosch (Arweave) 的 1111

注意:有些项目直接将元数据存储在智能合约中。例如,Larva Labs 的另一个项目 Autoglyphs 直接从合同中返回角色艺术,并且是第一个这样做的 NFT。它不依赖于以太坊以外的任何其他系统来渲染图像,因此我们称之为去中心化、链上和(在这种情况下)冻结。

所有四种方法都有优点和缺点。但是,收集者在做出基于价值的决策时了解更多关于 NFT 的实施是有帮助的。这就是为什么我们要引入一种新的事件类型来增强 ERC1155 和 ERC721 标准,以便开发人员可以告诉 OpenSea 等平台何时打算将特定 NFT 标记为“冻结”。

永久 URI

为了解决冻结和未冻结元数据之间的紧张关系,这个新事件将告诉 OpenSea 将 URI 更改注册为“永久”更改,称为 PermanentURI。这是事件签名:

事件 PermanentURI(字符串 _value,uint256 索引 _id);

在 NFT 智能合约发出 PermanentURI 事件后,不应允许任何人再次更改特定令牌 ID 的 URI。我们的文档中提供了更多信息。与加密中的大多数标准一样,这是一项持续发展,可能会根据社区反馈进行更改。

在 OpenSea 上冻结 NFT

2020 年 12 月,我们推出了无气体 NFT 创建器,以大幅降低希望在区块链上销售作品的艺术家的进入壁垒。当时,我们在智能合约中添加了对元数据冻结的先发制人支持,这意味着创建者现在可以冻结他们过去六个月收集的任何未售出通证的元数据。

首先,前往您收藏的“编辑”页面,然后按其中一个 NFT 右上角的铅笔图标(您可以在“添加新项目”按钮下方的搜索栏下找到它们)。单击“冻结元数据”切换按钮,您将看到一个弹出窗口,如下所示。如果您愿意继续,请勾选此框,然后单击提交交易。虽然 OpenSea 不收取任何费用,但您需要支付 gas 费用才能将新的元数据 URL 保存到智能合约:

一旦冻结 NFT,就无法解冻或更改其元数据。只要以太坊和星际文件系统 存在,它将一直可用。

冻结 NFT 后,您可以直接从其 OpenSea 页面查看其 分布式存储协议 URL。您还可以使用 NFT.Storage API 结合您的 NFT 的 分布式存储协议 内容哈希来查看有关星际文件系统交易数量的更多信息。例如:https://api.nft.storage/check/bafkreiem4twkqzsq2aj4shbycd4yvoj2cx72vezicletlhi7dijjciqpui

去中心化元数据的未来

OpenSea 的使命之一是为任何 NFT 提供真实来源,无论用于实施它的区块链、元数据格式或分散存储解决方案如何。未来将是混乱的,将有很多方法可以创建 NFT。我们很高兴为它带来更多透明度。


无Gas冻结


在过去的六个月里,我们一直在兴奋地推出对 Polygon 侧链的支持,为用户提供 OpenSea 上的无gas 体验。对于那些可以访问私人测试版 NFT 铸通证机的人,您现在也可以将您的 Polygon NFT 冻结到 分布式存储协议和星际文件系统。

就像 Polygon 交易一样,将分布式存储协议 URI 保存到 NFT 的智能合约中没有相关的 Gas 成本——OpenSea 将为您支付。

写评论,请先登录