ORE:主流NFT项目的元数据都储存在哪里?| Web3.0推荐笔记

原文来源:区块律动BlockBeats

针对当前市场上被热炒的收藏品类NFT,其图片的存储方式是否去中心化,购买后有没有被篡改的风险,是许多买家十分关心的问题。而一般用于存储图片的便是NFT中的元数据字段,因此我们需要一种简单高效的方式,帮助用户查看NFT中的元数据。

当前确实有部分产品已经提供了一定的元数据安全评估功能,如Opensea中就会显示NFT的元数据是否被冻结。但是由于目前各类NFT项目的底层智能合约包含的函数名称并不完全相同,且各项目本身对元数据的存储方式有极大差异,因此单一的查询产品并不能兼容所有的NFT产品,甚至有可能向用户提供误导信息。

在本文中,我们将向用户介绍一种更为通用的元数据验证方式,那便是直接通过区块链浏览器进行验证。

首先需要明确一点,我们日常所说NFT具有的唯一性,是由三个基本要素决定的。他们是部署NFT的公链、生成NFT的智能合约,以及该NFT在智能合约中的编号。

本文中将以目前NFT项目最丰富的以太坊,以及NFT的ERC-721协议为例,向读者介绍通过Etherscan查询NFT元数据的方法。

首先读者可以通过最常用的Opensea找到自己希望验证的NFT收藏品页面。这里以BoredApeYachtClub中的一个藏品为例,可以看到左下角详情页中标明了这个NFT最关键的三个信息:1.合约地址;2.NFT在合约中的编号,也就是TokenID;3.所在公链,也就是以太坊;

点击合约地址右侧的链接,页面会自动跳转到对应合约地址的Etherscan浏览器页面。

点击页面中的Contract标签,便可以浏览这个合约的底层代码。

我们不需要读懂代码的具体含义,直接点击上图中的ReadContract标签,便可以浏览这个合约中的可查询函数。

找到在页面中排行第20位的函数tokenURI,这便是该NFT合约查询元数据的专用函数。

当然,用于查询元数据的函数在不同智能合约中的命名也不尽相同,但一般会带有URI、metadata等字段,需要具体情况具体分析。不过好在最近的新项目基本都会将该函数命名为tokenURI,为用户减少了不少麻烦。

点开tokenURI函数后,我们可以看到以下界面。在上方的输入框中输入我们想要查询的NFT编号,也就是刚刚在Opensea看到的TokenID编号6476,然后点击下方的查询按钮Query。

可以看到,在点击完查询按钮后,系统返回了一串代码:ipfs://QmeSjSinHpPnmXmspMjwiXyN6zS4E9zccariGR3jxcaWtq/6476

这串代码便是在NFT的智能合约中保存的元数据。可以看出,这个NFT的元数据保存的是一段ipfs存储链接,因此可以判断该NFT采用的是去中心化的存储方式。读者可以使用Brave等支持ipfs浏览的浏览器进行查看,这个地址返回的便是该NFT所代表的猿猴图片。

以上便是通过Etherscan查询NFT元数据的整个流程,可以看出其实对用户来说,操作上并没有太高的门槛。但更为关键的问题是,通过了解一个NFT的元数据存储方式,能够为今后投资或购买NFT产生什么帮助?

下文我们便以几个有代表性的NFT项目为例,介绍一下主流NFT项目的元数据存储方式,以及存储方式对NFT长期价值的潜在影响。

1.不存储

是的,确实有些NFT项目在链上完全找不到任何关于其图片存储位置的信息,甚至合约中都没有存放元数据的函数。这种存储方式只在NFT出现的早期被某些化石级项目所采用,最典型的便是CryptoPunks。

CryptoPunks

我们通过刚才的方式查询CryptoPunks的合约地址,发现并不能找到TokenURI或类似字段。但是可以看到在第5个函数imageHash中返回了一串哈希值,这便是由整个10000张CryptoPunk图片拼接而成的一张大图的哈希值。这张图片目前保存在项目的官方网站上,用户可以自行下载该图片并计算其哈希值并与链上的哈希值进行对比以验证图片的真实性。

由此我们可以得出结论,CryptoPunks项目并没有在链上存储任何图片,仅仅在其智能合约中向用户提供了一个图片的验证方式。其本质上并没有对图片进行存储,而只是提供了一个链上验证的方式。

既然没有存储,那么在我们购买了一个CryptoPunks的NFT后,为什么可以在Opensea上准确显示对应的图片呢?其实这完全依赖于Opensea这种网站在网页前端的人工适配,CryptoPunks图片并没有存在链上,而是存在中心化的网站缓存中。因此CryptoPunks的NFT是必须依赖于一个中心化的机构,才可以被正常显示出来。

因此投资者购买的CryptoPunksNFT仅仅是一个智能合约内的编号而已,既没有图片,也没有其他实用功能。人们对他的认可,网站上所显示的图片内容,更多依靠的是社区的共识。比如对于第二号CryptoPunksNFT,到底是从左往右数的第二个,还是从上往下数的第二个,在链上都不能提供明确的判断标准,大家只是根据习惯认为他就是代表某一个头像。

这类NFT项目在当前的市场中几乎已经绝迹,因为他的存在及价值需要极为强大的社区共识支撑。如果有新项目依然采用这种「存储」方式,建议投资者谨慎购买。

加密猫CryptoKitties

CryptoKitties也是一个有着悠久历史的NFT项目。我们同样在其合约中找不到元数据,唯一一个类似元数据的函数返回的是一个空值。

经过分析我们发现,CryptoKitties同样没有选择将猫咪的图片进行链上存储,而是将组成猫咪图像的基本元素保存在中心化的官方网站上。链上记录的只是每一只猫咪独特的特征值,或者可以称为决定猫咪外观的「基因」。当用户购买一只CryptoKitty后,负责前端显示的网站直接调取该NFT的特征基因,并按照既定规则生成展示给用户的猫咪图片。

因此,对于CryptoKitties这个项目的存储方式可以概括为:猫咪的「基因」进行链上存储,但具体显示内容通过服务器进行合成,其显示效果完全依托于中心化服务器。

但由于CryptoKittiies并不是一个单纯的图片型NFT项目,其繁殖功能可以仅依靠上一代的「基因」和链上的算法进行合成,猫咪外观的稀有度也唯一取决于基因的组成成分,因此该项目元数据的缺失不会对其游戏功能与估值产生很大影响。

以上两种回避元数据存储难题,通过其他变通方式解决NFT前端显示问题方案的最大优点,便是节省了宝贵的链上存储空间,降低了项目开发的复杂度。但缺点也很明显,因为任何想要适配或展示相关NFT的网站,都必须手工对其显示效果进行配置和缓存,其最终显示效果也完全依赖于传统的中心化组织。一旦某个关键节点失效,便可能导致用户重金购买的NFT无法正常显示。

当然,这类存储方式更多存在于早期的NFT项目中,目前新推出的NFT项目,已经极少再有采用这种变通方案的了。

2.链上存储

链上存储也常被习惯性地称为「永久存储」,因为一旦用户将数据提交上链,依靠区块链的不可篡改属性,上链的数据理论上便得到了永久保存。只要我们可以预期这条链能够永久地运行下去,那么相应的数据便等同于进行了永久保存。

当前采用链上存储的项目也可分为两类,一种是将元数据存储到NFT智能合约的同一条公链上,另一种是存储在专用存储公链如Arweave上。当前采用第二种方案的典型项目还不多,因此本文便不做过多介绍,下面仅对存储于以太坊上的典型项目进行分析。

Autoglyphs

Autoglyphs项目同样由开发了CryptoPunks的LarvaLabs团队开发。这个产品相对CryptoPunks来说并没有那么知名,其外观的构成元素也较为单一。下图展示了其中的部分产品形态。

我们依然通过上文提到的方法,通过Etherscan调出其元数据,返回的结果如下图

可以看出,Autoglyphs的NFT图片元素就是直接存储在以太坊之上的,只是在显示的时候需要重新调整一下换行的位置。因此其显示效果可以更少受到前端网页的影响,所存数据的永久性与安全性都得到了更好地保障。但同时缺点也很明显,那便是以太坊的链上存储成本十分昂贵,难以存储更加复杂的图形。

采用去中心化存储有以下几个显著的优点:

1.不可篡改性:由于其用于寻址存储文件的域名中包含了文件的哈希值,因此其与区块链一样,具有不可篡改的特性,更符合加密原生精神;

2.存储成本更低:对于目前的大多数图片类项目,基本上一台可以长期联网的个人电脑就可以保证数据的长期存储。即便采用结合了区块链激励机制的filecoin等存储激励层,其成本相对于在以太坊存储的成本依然小到可以忽略不计;

当然去中心化存储也存在一些缺点,那就是数据存储的永久性并不能很好的得到保证。对于没有结合filecoin激励层的ipfs存储,一旦负责存储的节点全部离线,所存的数据依然有可能丢失。

下图是在其tokenURI函数查询返回的结果截图。

从查询结果可以看出,这个项目的元数据返回的是一个中心化网址链接,说明该NFT的图片是直接存储在项目官网的服务器上。这种存储方式长期看将面临两个主要风险。一是数据可以被网站的所有者所篡改,二是网站有可能在某一天失去维护导致链接无法访问。

因此对于这类采用中心化存储方式的图片类NFT项目,投资人在购买时需要谨慎评估项目方的实力以及长期维护项目运转的意愿。由于这类NFT除图片本身外没有任何应用价值,一旦对应链接返回的图片被更改,则项目有可能随时归零。

人们常说的区块链的不可篡改性,只体现在元数据内保存的网址链接上,而至于这个中心化的网址链接指向何处,区块链对此一无所知也根本无法控制。因此这种类型的NFT,从结构上说依然是中心化的。

我们可以将其概括为一条定律,那就是:一个产品的去中心化程度,取决于其所有组件最中心化的环节,只要有一个环节采用了中心化的技术栈,那么整个产品就是一个中心化的产品。因此,采用这类存储方式的图片类NFT,不再具有去中心化不可篡改的区块链基本特征。

换句话说,大家重金购买的只是一个固定在区块链上的网址链接,连图片都不是。

AxieInfinity游戏中的NFT

下图是查询某个AxieNFT元数据返回的内容,可以看出,其元数据存储的只是一个中心化的网址链接,因此其前端显示图片有被篡改的风险。

但是与图片类NFT不同的是,作为游戏中角色或道具的NFT,其主要价值并不来源于其能够在网页前端显示的图片,而是其在游戏中具有的功能和属性。比如一个NFT代表的游戏角色的攻击力越高,便越有可能在对战中取得胜利,因此其价值便越高。而这种NFT元数据中存储的信息,只是类似于一个游戏角色的皮肤,即使被修改也不会影响其游戏属性。

这就类似在王者荣耀中,更换游戏角色皮肤不会对游戏的运行产生显著影响一样。因此在游戏中采用的NFT,更重要的是这个NFT在游戏中的实际功能,或者说是其内在价值,而不是表现在网页前端的皮肤属性。

UniswapV3PositionNFT

UniswapNFT元数据的存储方式极为独特,值得重点解读一下。我们还是先通过Etherscan查询一下链上数据,得到的返回结果如下:

看似返回的数据是无法解读的乱码,但最上方的注释给我们提供了其使用的编码方式:base64。我们随便搜索一个在线的base64解码工具,可以将乱码解析为以下可读的结果:

可以看到,在元数据的最前方标注了该做市头寸的代币对、做市价格区间、代币地址以及声明等信息。在后方的image字段内,保存的是以svg格式存储的NFT图像信息。

这里稍微解释一下svg格式。svg是一种图片保存格式,其中文全称为「可缩放矢量图形」。我们知道,现在常用的图片保存格式是基于像素的,比如我们的手机照片保存格式,便是把镜头采集到的每个像素的颜色一个一个保存在文件内,因此像素越高图片就越清晰,同时所占用的存储空间也就越大,也越难以在链上保存。

而svg格式并不是通过保存像素来存储图片,而是保存图形的形状。例如:保存一个长宽比为2:1的矩形,底色为红色,在左上角显示代币对的名称等等。这种存储图像方式的优点是,形状一旦确定便可以无限放大缩小,且其占用的存储空间不受图形大小影响,只与图形的复杂度有关。因此这种存储形式可以帮助在以太坊上低成本的存储结构较为简单的矢量图片。

又由于Uniswap的NFT全部采用同一个矢量图模板,因此这个NFT的图片样式只需要在部署合约的时候存储一次,之后每个新铸造的NFT只用更新一下图形中的代币对等核心信息就可以生成新的NFT图片。因此用户并不需要为存储这个图片支付存储成本。

Uniswap的NFT元数据存储方式,可以说是众多NFT项目中最让人眼前一亮的解决方案。他同时兼顾了几个重要的需求。一是全链上保存,具有完全的去中心化与不可篡改性;二是不依赖网页前端存储的缓存数据就可以直接从链上读取全部信息;三是不会涉及跨链调用数据的风险,不用担心采用链外存储的协议失效或被攻击,只要信任以太坊的安全性,便可以完全信任该NFT的安全性。四是可以保存较为复杂的图像,不像Autoglyphs项目那样只能显示简单的图形信息。

当然谈了这么多,最后还是要回到NFT的价值来源问题。其实对于Uniswap的NFT价值来说,其元数据保存在哪里,甚至是不是保存了元数据,都完全不影响其价值。因为Uniswap的NFT的价值,只取决于其可以从资金池中取回资产的价值。就像你持有的银行存单,不论印刷质量是精美还是粗糙,只要能取回等值的货币,则存单本身美观与否完全无关紧要。

最后再总结一下UniswapNFT的基本特点。Uniswap的NFT其前端显示图片是在以太坊链上存储,不可篡改但可以由团队进行后续升级。根据其创始人的介绍,存储元数据图像的合约是整个UniswapV3智能合约组中唯一可以进行后续升级的智能合约组件。但不论其后续图像如何改变,都不会影响其NFT的内在价值。

NFT资产的价值来源

曾经有研报将NFT概括为「元数据的容器」,这个极为精辟的概括较好地解释了当前艺术品收藏类NFT的价值来源。但是对于上文提到的应用型NFT,这个结论却难以给出合理的解释。

我们认为当前NFT资产的价值来源主要分为两种不同类型。一种是依靠NFT本身所具有的应用价值,比如持有NFT可以兑换某些资产,或者在游戏中具有某种可以提高胜率的属性,又或者作为举办链下活动的入场门票等等。这些NFT的价值,都来源于其能够给持有者带来的使用价值。

另一种便是现在主流NFT项目的价值获取方式。即NFT本身没有实际的使用价值,只依靠其在元数据中保存的图片等显示内容获得某种共识。这种类型的NFT长期来看具有比较明显的空气特征,我们认为其不会是今后主流的NFT资产类别。

当前流行的大量图片类NFT产品,让人难免回忆起17年泛滥的众多空气币项目。项目方仅需要复制并简单修改一版白皮书,就可以靠发币收割大量的财富。空气币价格的涨跌主要取决于炒作,而不是其内在的使用价值。

当前许多NFT项目也出现了类似的问题,项目方仅需要用算法生成几千张简单的图片,便可以通过销售获得大量的资金。这种项目的操作方式几乎没有任何门槛,今后类似的项目只会越来越多,最终使得这轮NFT的炒作彻底空气币化。

虽然当前的炒作现象提高了普通用户对NFT概念的了解,促进了NFT相关基础设施的完善。但是由于其缺乏长期的内在价值,因此除了少数早期的头部项目外,更多的图片类NFT项目长期来看将有极高的归零风险。

同时,购买这种图片类NFT的用户需要特别注意,由于其元数据存储的方式问题,许多NFT产品的所见都不等于所得。大量图片类NFT项目需要依赖较为中心化的交易平台,通过人工方式对其显示的图片进行「脑补」。一旦失去了Opensea这种平台的维护,许多用户所买到的NFT将只剩下一串网址链接而不是图片。

NFT的未来应该更多的依靠不受元数据影响的应用型NFT,可以看到近期对这类应用的探索也越来越多。比如最近有项目将做市算法铸造成NFT,若以后使用这个算法的用户都能按照一定比例向这个算法NFT缴纳手续费,则该NFT价值便可以等于其未来现金流的折现,使其内在价值得到有力的支撑。至于其元数据是否存储了一个酷炫的图片,恐怕便不会再有人关心。

当前,具有内在价值的应用型NFT主要存在于两个赛道。一个是金融类NFT,另一个是游戏资产类NFT。这两种NFT资产都有着更好的长期内在价值支撑,其价值不再取决于元数据这种显示在网页前端的皮肤,而是实打实的带给所有者的使用价值。相比目前更为火热的图片类NFT,这种应用型NFT更有可能在长期跑赢当前的炒作周期。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-3:140ms