NFT技术浅谈

您所在的位置:网站首页 区块链nft技术 NFT技术浅谈

NFT技术浅谈

2024-06-10 01:27| 来源: 网络整理| 查看: 265

2021年3月,由社交媒体“推特”(Twitter)联合创始人、首席执行官杰克·多西(Jack Dorsey)发出的第一条推文(下图),以非同质化代币(NFT)的形式拍卖,最终以超过290万美元的价格出售。

2021年6月,一幅像素艺术风格的《CryptoPunk 7523》NFT头像(下图),在纽约苏富比拍卖行以1175万美元的价格成交。

越来越多的公司涌入到NFT赛道中,部分NFT数字商品的成交价高的难以想象,是物有所值,还是热钱炒作?个人理解,对艺术品的价值认定会带不少主观色彩,是否物有所值,仁者见仁。而作为区块链的技术从业者,我更关注的是NFT背后的技术原理:NFT是什么?NFT在智能合约中是如何存储的?NFT技术有哪些延展方向?

NFT是什么?

NFT(Non-Fungible Token), 字面意思是非同质化代币,每个代币背后所代表的资产是不同的,不可分割的。在现实世界中,不同的艺术品,不同的设计方案,这些资产是不可分割的,背后对应价值也不同。NFT可以更好的承载这些价值。NFT可以理解为基于区块链的特定资产登记方式。结合区块链的透明性,防篡改特性,可以方便识别资产的创造者,持有者,结合智能合约,可以确保资产的持有者才有权对资产进行操作。

NFT在智能合约存储方式?

目前已知最早的NFT项目是2017年基于以太坊的由Larva Labs开发的CryptoPunks项目。当时还没有标准的NFT协议,可以通过以下地址查看到相关智能合约代码,https://etherscan.io/address/0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb#code。其中部分代码如下:

在初始化代码中,定义了CryptoPunks有10000个:

10000个头像组成的图片hash存储在链上,通过hash上链的方式,确保每个头像对应的位置以及具体内容不可以随意更改,一旦更改后,新生成的图片hash和智能合约中的hash将无法达成一致:

10000个头像,每个头像的持有人地址保存在以上的mapping中:

在对每个头像进行操作的时候,都会检查操作者是否是头像的持有者。

结合以上,我们可以观察到,CryptoPunks项目中的每个头像的内容是确定的,同时每个头像的持有者也是可以查到的。经过智能合约处理,可以很方便的定位出每个数字资产背后的持有人地址,权属关系明确。同时,NFT对应的数字资产,大家都可以欣赏。创意共享,但是权属关系清晰,对资产的操作权在资产持有人手里。

2018年,伴随着CryptoKitties的火热,ERC721 NFT协议被提出(具体内容参考https://eips.ethereum.org/EIPS/eip-721)。在协议里定义了721的接口规范,规定了智能合约必须实现的函数以及可选的一些实现。

2021年,Larva Labs的另外一个基于ERC721规范实现的项目Meebits上线(查看合约的具体内容:https://etherscan.io/address/0x7bd29408f11d2bfc23c34f18275bbf23bb716bc7#code),其中部分代码如下:

在这个版本中,NFT相关的内容存储在IPFS中:

这里定义了每个Meebits所代表的具体内容,比如我们打开https://meebits.larvalabs.com/meebit/1:

以上内容对应了每个Meebits对外的展示形式以及特有的属性。从该智能合约中,可以发现链上一般通过存储hash来保证资产的不可更改性,同时,服务层会提供资产展示的具体样式。

结合以上代码,我们发现,其实发行一个NFT并不难,关键在于NFT背后承载的价值:好的创意、优秀的方案等。有兴趣的同学可以思考下,如果基于现有的NFT协议,如何最简化的实现NFT盲盒发行?

NFT技术延展

随着NFT的应用生态日益丰沛,人们也在期待其技术能力能满足更多应用场景,例如NFT自身可被拆分吗?用户购买NFT能支持个性化创作吗?

1.NFT拆分:

NFT本身具有不可分割的特性。若要拆分,可以通过锁定NFT资产,然后基于该资产发行特定的可拆分的NFT资产,让更多人共享艺术品,让它的价值流动更为灵活和高效。

感兴趣的同学可以参考如下智能合约:https://etherscan.io/address/0x85aa7f78bdb2de8f3e0c0010d99ad5853ffcfc63#code。 部分代码如下:

以上代码实现了新开一个代理合约处理发行ERC20协议的代币,同时把对应的ERC721资产转移到代理合约:

以上代码确保如果用户需要从代理合约提取对应的NFT资产时,需要持有所有对应发行的ERC20,并且销毁掉。

2.NFT二次创作:

NFT数字资产持有者,是否可以在NFT上进行二次创作?基于区块链不可篡改的特性,已生成的NFT是不能被修改的,但用户能基于原来的NFT去重新铸造新的NFT。可参照【1.NFT拆分】,把原有的NFT锁定在合约层,再基于它去创作新的NFT。用户还能卸掉二次创作部分,还原NFT去做流传交易。

结语:

基于区块链的NFT协议,让数字世界的信息流转化为价值流。数据作为信息互联网最重要的生产要素,要发挥它的应用价值,不仅要关注数据拥有者的权益保护,也要关注数据资产如何能更灵活、更自由的流通。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3