时间:2023-07-15|浏览:172
首先,如果NFT要保留其价值,则必须将其存储在某个地方——如果所有副本都被删除,那么就没有任何东西可拥有!这要求我们考虑许多问题,从谁应该负责存储,到所需的冗余级别、可访问性和存储数据的寿命。所有这些方面都与持久性问题有关:确保内容仍然可用,在某种程度上,它对我们在互联网上看到的典型故障非常有效。今天铸造的许多NFT完全基于这些考虑。
确保资产在NFT的整个生命周期内存储的一种方法是将资产也存储在区块链上,利用区块链是复制给每个参与者的分类账这一事实。它还通过隐式地让网络中的每个节点负责资产的维护来解决责任问题。
不幸的是,正是因为区块链在每个网络参与者之间复制,所以在一个参与者上存储数据非常昂贵。因此,将最微不足道的数据存储在链上通常成本过高。我们需要将数据保存在其他地方,这意味着我们需要链接到它。
其次,我们需要解决的第二个问题是寻址:我们需要一种明确识别数据内容的方法。
HTTPURL有两个令人不安的特性,这些特性会影响它们由基于HTTP预测的NFT创建的所有权概念非常脆弱。
在HTTP之上开发NFT破坏了所有关于永久性和不变性的承诺。
这导致我们对HTTP寻址的第二个关注点:集中控制。一个人或实体对链接背后的内容拥有完全的权力和单一的责任。这对链接的长期生存能力具有非常严重的影响。
总之,将数据存储在区块链上可以让我们对数据进行不可变的引用,但成本太高;从区块链存储数据可以避免这种成本,但传统的链接是集中的、可变的引用。这就是我们的困境:我们需要一种对链下存储的数据进行不可变引用的方法。
幸运的是,这是我们可以毫不妥协地实现我们所追求的两个属性的问题之一:解决方案是使用称为内容地址的东西来识别和链接到资产。
某些数据的内容地址是仅从该数据派生的链接——最基本的形式是数据的散列。我们可以将内容地址视为指纹:理想情况下,在给定内容寻址方案的上下文中,地址应该唯一标识一段数据。综合起来,这意味着内容地址是一个永远不会改变的链接,并且是一个各方都可以达成共识的链接:这正是我们所追求的去信任的明确性!
这是一个很好的开始,但请注意,原始哈希与内容地址不同,内容地址具有可以用作链接的附加含义。用户无法在浏览器中输入原始哈希值并取回文件。上面的记录允许我们验证客户拥有什么,但不允许任何人检索该数据。
解决IPFS寻址问题
必须创建额外的基础设施来启用散列,或任何此类地址来填补链接的角色。幸运的是,我们不必从头开始创建我们自己的内容地址基础设施。在星际文件系统(IPFS)生态系统一直在开发内容地址的一个特别强大的形式,内容标识符或CID。
在IPFS的上下文中,CID唯一标识了一条数据。基于该原语,IPFS实现了一个全球分布式数据共享网络。网络节点可以通过其CID广播数据请求,任何拥有此文件的节点都可以为该请求提供服务。这正是我们要寻找的——让我们调整我们的NFT记录以使用CID。
除了为CID本身奠定基础之外,IPFS还拥有庞大的支持生态系统。它提供的一个主要优势是它自己的国际公认的URI:除了广泛使用的浏览器的现有兼容层之外,这个URI最近开始获得本地浏览器支持。
IPFS为我们提供了不可变的、广泛支持的链接,其方式反映了区块链的去信任、分布式性质:它是解决我们上面确定的问题的直接解决方案。
当我们通过使用IPFSCID引用资产来构建NFT时,我们既保留了资产的完整性,也保留了通过链下存储和链接到资产而获得的优势。