重新认识你的NFT

前言

哈哈,忘记可以右键保存了。
买不起就右键,这是大部分人对买不起的 NFT,甚至是对所有 NFT 的做法。
可能是由于NFT的价格普遍高昂,导致圈外人甚至是部分圈内人觉得NFT的作用就是炒作。
但其实NFT 完成了Web 2.0 世界中许久未了的夙愿——资产确权

NFT 代表了对链上资产的所有权,为物品的归属记录提供了可能性。自NFT诞生以来,已经衍生出了许多应用:

  1. PFP头像,这是目前传播最广泛的应用
  2. Pass卡,高质量社区/项目会员卡、资格凭证,日前火爆的Moonbird就属于该类
  3. 土地,对元宇宙地块进行确权,让税收和治理过程公开上链
  4. 游戏道具,让玩家真正拥有属于自己的游戏资产,实现永久持有、交易自由

本文将通过拆解NFT的构造,带大家进一步深入了解NFT背后的代币协议以及元数据存储的细节。

由于以太坊不仅仅是第一个使用智能合约的公链,也是NFT最开始诞生的土壤,所以很多公链的NFT协议都是借鉴于以太坊,NFT也带有“以太原生”的标签。

ERC

ERC-721:始祖协议

ERC-721协议是目前NFT领域最原始的协议,也是运用得最多的代币协议。与普遍以ERC-20标准开发的代币合约不同,基于ERC-721标准开发的代币合约被统称为"非同质化代币(Non-Fungible Tokens)。

ERC-721代币相较于ERC-20代币最大的区别就是不可分割性唯一性——ERC-20 Token可以无限细分为10^18份,而ERC721的Token最小的单位为1。

ERC-721A:满减包邮

ERC-721A是由Azuki NFT团队根据ERC-721协议优化而来的改进协议。该协议使得铸币者在铸造一个NFT和多个NFT时所产生的手续费基本相同,同时基础的铸造费用也大大降低。

ERC-721R:七天无理由退款

ERC-721R是由Crypto Fighter团队根据ERC-721协议优化而来的改进协议。该协议提供了无需信任的退款设计,项目方将无法从锁定的智能合约中取得资金,使得铸币者可以七天之内退还他们铸造的NFT,获得不包含gas费在内的退款。

ERC-721R协议改进的地方不多,但是对NFT项目的发行环境具有重大的意义。通过七天无理由退款的机制,可以防止项目方违约(也就是跑路,Rug),并敦促艺术家在退款期限对NFT和社区负责任;降低NFT购买过程的风险,给予铸币者反悔的机会,能够吸引更多社区成员参与铸造;保护NFT项目的地板价,当可以自由选择退款离开项目时,NFT玩家就没有理由以低于铸造价的价格在二级市场抛售,对项目造成破发影响。

ERC-998:可拆解版721

基于ERC-998标准开发的代币合约被统称为"可拆解非同质化代币(Composable Non-Fungible Tokens) , 目前该协议还未得到广泛应用。

它的设计理念是可以让任何一个NFT可以携带其他的NFT或FT。转移CNFT时,就是转移CNFT所拥有的整个层级结构和所属关系。简单来说就是一个ERC-998的Token可以包含多个ERC-721形式的Token

该协议将对链游、元宇宙生态具有创新性的意义。以机甲游戏为例,一台机甲包含本体和挂载的武器配件,本体的属性是ERC-721,挂载的武器配件同样也是ERC-721,而机甲的完全体,就意味着两种NFT的结合。如果在传统的ERC-721机制下交易机甲NFT,持有者就得分别交易本体NFT和武器配件NFT。

而ERC-988则简化了这个繁琐的过程。 当我们需要交易该机甲前,我们可以将ERC-721的本体作为父Token,ERC-721的挂载武器作为子Token建立一个新的ERC-988代币。这个新代币的整体是不可分割的,但也包含了机甲本体对挂载武器的所有权关系。因此我们交易机甲时可以交易这个ERC-988代币的整体,极大简化了NFT交易的步骤。

ERC-809:可租用版721

基于ERC-809标准开发的代币合约,可以通过创建一个API来允许用户租用任一“可租赁”的NFT。但是该协议具有排他性,有人对该NFT进行租赁后,其他用户便无法再租赁和使用该NFT了。

ERC-1155:为链游而生

该协议是ERC-721和ERC-988的升级版,由Enjin团队开发,我认为是未来NFT领域最有前景的协议。

ERC-1155不仅仅继承了ERC-988的特性,能够使得复数个ERC-721的NFT共存于一体,还支持于普通ERC-20的代币一同打包;并且ERC-1155还具有自动退还代币的功能,如果接收方不支持ERC-1155协议则会自动退还,不像ERC-721协议一样,如果接收方不支持则会造成代币丢失。总而言之,ERC-1155协议在代币打包发送和防止发送过程中的丢失做出了极大的创新。

ERC-20协议代币和ERC-1155协议代币的发送流程对比如下:

我们可以用购物结账来描述ERC-1155、与ERC-20、ERC-721的不同点。

ERC-20和ERC-721的交易模式,就是每买一件商品都要去柜台结账,而ERC-1155相当于将商品都放进购物车里面一次性进行支付。ERC-1155这台购物车里不仅仅能放NFT,还能放不同的代币,这种机制能有效的减少Gas费的产生和减缓以太坊的拥堵。

未来元宇宙、链游普及,所有的游戏资产上链后,涉及装备的交换、同质化产品贸易的需求会越来越多,普及使用ERC-1155协议将免去成千上万个合约的部署,并为有效解决链上交易拥堵的情况。

BSC

BEP-721

BSC(BNB Chain)上使用的代币协议一般是BEP开头的,同质化代币使用的是BEP-20协议,非同质化代币使用的是BEP-721协议。

为何与以太坊所使用的ERC-20/ ERC-721协议如此相似?是因为BSC是以太坊增加了一些机制变化后的一条分叉,许多代币标准都是一样的,也就是说BEP-721和ERC-721只存在命名上的区别

SOLANA

SPL

SOLANA上的代币都是SPL Token格式的 (Solana Program Library Token),NFT对应的SLP Token只是将供应集固定等于1。Solana上的NFT通常附带部分的元数据,因此非常容易部署和传输,不需要像以太坊上的NFT需要调用合约和各种传输函数。SPL格式的NFT需要现实图片数据的时候不用进行合约调用,Token内自带访问NFT元数据的URL

数据存储

 我们熟知的NFT图片数据并不是存放在链上的,而是存放在链下的存储介质。

从官方文档摘取的ERC-721伪代码我们可以了解到,ERC-721协议仅支持静态元数据,每个代币ID必须具有由智能合约或管理的元数据URI。

当我们在设备上加载NFT的图片时,我们并不是直接从链上获取数据的,而是通过调用合约获取NFT对应的tokenURL,然后通过这个URL链接访问外部互联网获取图片数据并进行展示

目前主流的NFT项目方都会将图片元数据上传至IPFS网络进行存储,也有部分新兴项目通过ARweave进行保存,以上两种方法都是相对去中心化的保存形式;而有些项目方会直接使用自己的服务器进行保存,NFT的URL直接指向的是中心化的服务器,有时候我们单独点击NFT图片的URL却加载不了的原因,很可能就是项目方的服务器出现问题了。

通过IPFS、ARweave、中心化服务器对NFT元数据的保存各有长短,接下来将细数其中的存储机制与优劣。

1.中心化服务器

目前有部分的NFT项目直接选择中心化的服务器如阿里云、AWS存储数据,还有的项目方选择自己已有的服务器进行存储。原因就是不用产生额外的存储成本,并且数据加载的速度更快。

但是问题也很明显,当项目方rug(跑路)或者服务器被攻击的时候,图片数据就会丢失,你的NFT就只是一个“永远加载不出来图片”的代币。

根据Twitter KOL pencilflip在2021年10月对前22个NFT项目的一次调查,50%的项目将他们的文件存储在集中式服务器上。

目前国内的数字藏品项目也基本上都是用fork公链的魔改联盟链发行NFT代币,用自己的服务器存NFT的图片。

 2.IPFS协议(Filecoin)

 IPFS,全称Interplanetary File system,是一个点对点分布式文件系统,是一个类似于HTTP协议的互联网底层协议。尽管IPFS和Filecoin都是由Protocol Labs(协议实验室)发布的,但是IPFS只是传输协议,并不涉及区块链技术,Filecoin只是支持IPFS协议网络去中心化稳定运行的激励层。

相对于传统的点对点传输,IPFS有多个数据源对文件进行进行保存,且可以并发从多个节点下载数据,避免了访问量暴增或者DDOS攻击导致服务器宕机;通过基于内容寻址的存储模式,不仅避免了冗余内容的存储,还避免了数据篡改的发生。

NFT具体的数据存储过程如下:

CID是将文件通过哈希SHA2-256加密加密后生成的一串哈希值,是一个根据内容本身形成的一种IPFS系统中的地址。生成CID后,系统会将其存到一张分布式哈希表 (DHT)中,用于记录数据记录在系统中的哪几个节点,数据存储成功后将向用户返回哈希值CID。

例如我们将一张图片上传后,我们获得一串哈希值:bafkreibsxcrpftxxw4i6nwrn4aigphI24m42e5jhdouq4jde3keonpqawa

当我们要从IPFS系统中取回NFT图片数据时,我们可以将获得的哈希值修饰成网址然后在浏览器中打开。网址后面附带的哈希值CID将从IPFS系统中的分布哈希表(DHT)得知数据存放在哪个节点中,并建立链接返回数据。

IPFS还支持将静态网页存放,具体的方式如下:

https://docs.ipfs.io/how-to/websites-on-ipfs/single-page-website/

Visa存放案例

https://gateway.pinata.cloud/ipfs/QmYVd8qstdXtTd1quwv4nJen6XprykxQRLo67Jy7WyiLMB/

Uniswap前端存放案例

https://bafybeiagkgmmhux6fswdoedmwqqsvt5arjivl35wuk25jljb2yqgn7njgu.ipfs.dweb.link/#/swap

(以上网站皆为案例,切勿使用)

有时候访问IPFS系统获取数据的时间要很久或者失败,是因为有一些网络节点已经丢弃你的数据了,正在根据DHT访问还有保存你的数据的节点并等待他们响应;而访问失败则是因为所有节点都已经丢失了存放的数据了。

这里不得不提到IPFS系统的垃圾回收(Garbage Collection)机制。如果你的数据在6个月内没有被访问,那么节点就会认为他不重要并进行删除。如果想要数据长期保存,则需要通过Pinata网站等服务商对保存的数据进行Pinning,并每年支付费用

也就是向节点支付费用,要求他不要删除你的数据。这一点反映了IPFS系统在短期安全存储的方面是可行的,而对长期存储并不友好。

IPFS仅能实现数据去中心化存储、防篡改,但不能保证数据的永久存储

3.Arweave

 永久存储,是Arweave这个区块链网络的头号标签。

Arweave目前提供的核心服务是为数据提供分布式永久存储的支持,致力于成为Web 3.0时代的数据存储基础设施。相较于Ethereum,Arweave可以归类为第0层。

围绕其底层的储存服务,目前Arweave已经逐渐构建起一套基于其永在网permaweb的协议生态和SmartWeave智能合约生态,正在向WEB3全栈协议发展。

Arweave是如何保证永久存储的?

依靠BlockWeave区块的数据结构以及SPoRA共识机制

BlockWeave

Arweave的区块不同于普通的区块,其新生成的区块会随机指向一个已经存在的区块,该区块被成称为“Recall Block”。由于其区块链的机构在三维中很像纺锤,因此将Arweave的区块称为BlockWeave(区块纺)

SPoRA共识机制

该共识基础是实现数据永久存储的核心。SPoRA共识机制由三个维度决定矿工能否获取区块记账权:

1.PoA (Proof of Access)

为了让矿工能尽可能储存更多的区块信息,SPoRA共识机制决定了新区块产生时随机指向的网络中已有的区块 “Recall Block” ,该矿工节点必须拥有。因此矿工为了能抢夺记账权获得代币就会尽可能地多存储区块

2.数据访问速度

为了不让矿工为了达成“全区块存储”而使用廉价机器的行为,SPoRA机制加入了数据访问速度的衡量,让节点在存储大量数据的同时保证数据的上传下载速度

3.PoW (Proof of Work)

为了避免存在有节点将所有区块存储完、数据访问速度相同的平等情况出现,SPoRA还有一个如BTC的PoW机制要求节点计算哈希值,同等水平的节点谁计算得越快谁获取区块记账权。

SPoRA共识机制通过三方面的结合,保证了数据存储过程不仅安全,而且数据的副本足够多且从Arweave中访问数据的速度快。

Blockweave的纺状架构自带分片属性和高可扩展性,以及SPoRA共识机制确保了矿工接受足够的激励去存储稀有的数据,共同实现了数据的永久存储。

IPFS与Arweave的对比

  • Arweave的数据存储费用为买断制,永久存储1GB的数据只需20美金,文件至少在网络内存储200年。

IPFS (Filecoin) 的数据存储模式是按年支付存储费用的,存储1GB的数据需要0.06美金/年。

  • Arweave直接向网络进行付费,IPFS (Filecoin) 需要前往第三方网站Pinata为节点进行付费。
  • Arweave的数据访问速度远快于IPFS网络,不存在访问已存数据节点但是数据丢失的情况。

由于Arweave可以实现永久储存,因此许多项目方用Arweave对数据实现永久托管和验证。

比如知名链下治理工具Snapshot就采用Arweave来储存投票治理的记录(先存到IFPS,再镜像到Arweave做永久备份)

对NFT的思考

新技术的出现总会伴随着泡沫,NFT的唯一性和带来的资产确权,让NFT成为炒作的良好介质。

在不远的将来,流媒体中的插播的广告视频可以NFT化,通过智能合约自动根据浏览量进行分润,高效、透明且公正;网络音乐可以NFT化,商业活动进行音乐NFT的使用可以自动通过智能合约向创作者支付设定好的费用,保护创作者版权;线下实体活动的门票也可以NFT化,出让、转赠、核实更加方便,同时杜绝假票。

实现这一切的前提,是NFT数据的安全存储,NFT的任何元数据都不应该有被删除的风险。相对于中心化的存储服务,通过IPFS和ARweave存储NFT图片元数据虽然牺牲了读取效率,但获取了存储安全的保证,这对NFT的所有权是至关重要的。想象一下,当你点开一个NFT的链接,却发现它显示“无法打开”的情景,又或者是项目方可以在中心化的存储介质随意修改你的NFT元数据,那么这个NFT真正属于你吗?

『声明:本内容仅供广大NFT爱好者科普学习和交流,不构成投资意见或建议,请理性看待,树立正确的理念,提高风险意识』

猜你喜欢

转载自blog.csdn.net/xiaozhupeiqi321/article/details/125798519