目前,社区中出现了一些工具,如IPFS社区的Minty和Filecoin社区的Filecoin box,帮助我们把在去中心化网络(IPFS或Filecoin)创建并存储的数字资产(如画作、著作、音视频等)发布到以太坊网络中Token化,制作成NFT(非同质化代币)。然而,这些工具帮你在IPFS上存储的资产信息完整吗? 笔者就当前IPFS上存储的NFT信息的完整性提出了一些自己的思考: NFT的创建过程是怎样的?怎么样的NFT信息才是完整的?IPFS上的NFT缺少了什么信息?“不在IPFS上的NFT,不是你的NFT” 在这之前,由于以太坊数据存储成本过高的问题,数字资产本身由各个中心化网站的服务器保管。资产和区块链之间是靠NFT的链上元数据(metadata)中的一段URI链接的。 带来的弊端就是一旦网站瘫痪或者服务器数据丢失,该链接失效,数字资产随即丢失或损毁,也因此丢掉了NFT永久保存和不可篡改的两个最基本的属性。 打个比方,你的NFT是一幅画,那么IPFS是画的纸,区块链是保险箱或者是艺术馆的相框,而你的私钥就是打开它们的钥匙。如果纸这个载体不稳定,存在风险,数字资产也就有可能化为乌有。 在去中心化网络这个载体中存储体积较大的数字资产可以避免这一问题。 NFT的创建过程是怎样的? 下面,我们来看看近期出现的这些工具的做法,并发现一些问题。 我们可以在opensea.io轻松地铸造一个NFT: 连接钱包,给你即将创建的NFT们一个所有者地址; 创建一个新项目,输入NFT的名称、描述和NFT资产的链接; 最后,点击添加即可完成。 最为核心的上链操作由opensea代为执行。然而,从Minty(https://github.com/yusefnapora/minty)我们可以窥见这个黑盒,即NFT在以太坊中实际的创建过程: 1. 部署合约 在以太坊上发送一笔交易,部署创建NFT的智能合约。该合约包含创建NFT以及交易等相关的功能。 2. 创作内容 在创作者本地完成NFT的内容创作,如一幅画.png或一篇文章.pdf,并上传、固定到IPFS或Filecoin网络,得到一个内容数据的链接:Content URI(ipfs://+CID)。 3. Token化 将创作的内容加上它的名字和一些说明构成元数据(metadata)完成创作内容的Token化,形成一笔数字资产。并将元数据上传IPFS,获得metadata URI(ipfs://+CID)。 4. 资产上链 创作者从他的外部账户发送一笔包含NFT元数据URI的交易到1中的智能合约,来调用合约中的铸造方法,然后返回该枚NFT在当前合约中的唯一标识符——Token ID。Token ID的返回标志着NFT创建成功。待这笔交易矿工打包进区块并获得确认后,合约会触发一个转移事件(transfer event),将Token ID发送给创作者。该事件的发生标志着NFT所有权和使用权的确认。 (责任编辑:admin) |