指纹人人皆有,却各不相同,故其称为“人体身份证”。 IPFS使用加密哈希来识别数据,加密哈希本质上是为数据创建唯一特征的数学公式,内容标识符CID就是这个专属的指纹,独一无二。 IPFS上的每个数据都可以通过其CID进行引用,该CID表示Content IDentifier。在浏览IPFS网上内容时,你可能已经发现了一些不同之处,它们看起来像这样: Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u 这样: QmYf4sT9KbtW3ZCKoX8DdgJy9tDKVAUjbPTBi525RNR29V 还有这样: bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi 它们是由什么组成的?如何理解? 重点来了,CID被称为多哈希、多编解码器和多数据库。在本篇文章中,我们将为您详细介绍。 CID是多哈希Multihash 生成此类哈希的流行密码算法是SHA2-256。SHA2-256创建长度为256位的哈希。它非常实用,但是当计算设备变得更加强大,并且量子计算大量运用后,这种特定算法将会受到严重挑战。 由于某些哈希函数(例如MD5和SHA-1)最终变得无用,那么,IPFS既知道最终会有破坏该算法的情况,应该使用哪种算法呢? 解决方案是使用多重哈希。 多重哈希非常容易理解,它由所使用的哈希函数的标识符、哈希函数的长度以及哈希本身组成。 使用的哈希函数是由每个人都同意的一个表决定的,在这个表中,我们为所有可能的哈希函数分配一个数字。 因此,多哈希最终看起来像这样:<哈希函数标识符> <哈希的长度> <哈希> 在SHA2-256哈希的情况下,就是<SHA2-256> <长度的256位> <001010101010… >。 这是一个非常棒的运用!现在,我们的内容标识符可满足未来需求!如果我们要更改哈希函数,可以做到。 但是,如果我们想从CID中获得更多信息怎么办?数据代表什么? 请看下文…… CID是多编解码器Multicodec 我们希望向CID添加更多信息,以便我们对数据类型有更好的了解。它是JSON数据吗?CBOR?还是别的呢? 因此,我们要做的事情非常简单,只需在多哈希前面添加更多数据即可,多哈希将根据一个表描述编解码器,这与用于多哈希的哈希函数标识符的工作方式相同。 所以现在,我们的CID如下所示: <codec identifier><multihash> CID只是一连串的自描述字节,首先,描述数据类型的多编解码器,然后,如前所述,使用多哈希。 但是还有更多…… CID是多数据库Multibase 最初,IPFS CID在base58中进行了描述,base58是编码比特币地址相同的库。 但是,当然,我们可以使用所有类型的基数,例如基数32,因此,再次,我们需要在CID前面添加更多数据。现在,我们添加了多库,它仅告诉我们将对CID进行编码的库。 <multibase>base(<multicodex><multihash>) 好的,就这样加上前缀数据,大功告成? 不,我们还需要先了解一些有关CID的历史记录,然后才能了解要添加的最后信息。 V1和V0 IPFS最开始,并没有多库或多编解码器,所有CID仅是多哈希。 我们将这些CID称为版本0。随后,IPFS项目决定改进CID,并同时添加多编解码器和多库。因此,版本1(v0)取代了版本0(v0)。 那么我们如何区分CID的版本0和版本1?我们如何确定CID是否即将发布的预设版本2,甚至是版本3? 这就是为什么从版本1起决定将这个版本添加到所有CID的原因。现在,我们将其放在多库之后。 因此,现在的CID如下所示: <multibase>base(<CID version><multicodec><multihash>) BAFY vs Qm 为了帮助您综合这些信息,这是一个很棒的工具(网址如下),可让您分析CID及其每个组成部分: https : //cid.ipfs.io/ 您要做的是把版本0的CID写入该工具中: Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u 您可能会注意到,多编解码器和多库是隐藏的(implicit)。这是因为对于版本0的CID,它们不存在!因此,我们只是假设它们是什么。 在页面底部,您将看到一个以bafy...开头的哈希,这是版本1的等效CID。 区分版本0和版本1 CID的一个巧妙技巧是查看首字母。如果以Qm开头,则会是版本0 CID;如果以bafy开头,则会是版本1 CID。 最后,将此版本1 CID写入工具: bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi 现在,该工具根据上述格式向我们展示了库和编解码器。 恭喜你学完了全文内容!了解IPFS CID的来龙去脉,并且可以描述每个组件,不妨动手体验一下吧! 注:本文内容仅供学习参考,不构成投资建议。 —- 编译者/作者:引擎矿机 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
你靠独特的指纹打卡可知IPFS也有同样的强大功能?
2020-04-27 引擎矿机 来源:区块链网络
相关阅读:
- 比特币(BTC)和以太坊(ETH)地址中的通用记录2020-10-31
- 由于未经确认的交易激增,比特币地址到达ATH2020-10-28
- 银行苦苦挣扎,比特币在上升2020-10-28
- LinkArt——艺术品服务平台2020-10-27
- 比特币如何成为稀有资产,例如葡萄酒,威士忌或手表2020-10-27