scanner怎样回到文件开头_为什么IPFS哈希地址都以Qm开头?星际文件系统的CID原理解析...

d9a2354588f13a46b6cd754bb1f0b88e.png

我们知道,每个存储到IPFS网络的文件,都有一个唯一的哈希地址(即内容地址,也叫CID),地址就是经过算法后形成的哈希值。这些哈希值独一无二,用户只要访问相应的哈希,就能定位文件,访问到数据。文件只要更改,哈希地址(值)就会改变。然后你会发现,绝大多数的IPFS文件的哈希都是以“Qm”开头,这到底是什么原因?

原理解析

为了表示文件或者对象的哈希,IPFS使用了多哈希(Multihash)格式和Base58编码。

Multihash的格式其实就是一个字符串,由三部分组成:Hash算法编码、HasH值的长度(字节数)、Hash值。Multihash以字节(0x12)开头,这个开头将指示出是哪一个哈希算法。接着是长度为(0x20)的另一个字节。目前IPFS默认采用sha2-256哈希函数算法,哈希摘要的二进制长度为32个字节。再加上哈希值后,字符串的长度就很长很长。这时候用到了Base58编码技术,使得字符串长度可以压缩,方便存储和传播。因为IPFS现在的Multihash值,都是以1220开头,按照Base58编码运算,算出的结果都是以“Qm”开头。

6e9dd97f50665b528a4c6b9adb396fd0.png

IPFS技术负责人Alan Shaw讲解IPFS文件的工作原理

总结起来是:原始数据封装 -> sha2-256函数计算 -> 封装成Multihash -> Base58编码转换 ->最终的哈希地址(即CID)。

那么所有的IPFS文件的哈希都是以Qm开头吗?答案是否定的。对于某些开发者来说,可以重新编译IPFS并使用另一个函数作为默认值,意味着使用了其它函数进行运算,哈希地址前缀就会变。另外,Multihash是包含了多哈希的结构,具有可升级性。如果在未来IPFS默认采用不同于sha2-256的算法,哈希值的表示也将不同。

怎样访问IPFS网络上的内容?

目前有大量的数据存储到了IPFS网络,2018年文件数量已经超过50亿。2019年,IPFS网络的节点已经超过10万,网络增长超过30倍。现在,已经有大量的文件存储到了IPFS网络。面对海量的数据,我们如何进行访问?

592fe89a5c5ea38730794d19da09b4ed.png

图:在IPSE上搜索访问IPFS内容

这时候,就需要一个网络入口。IPSE是基于IPFS的搜索引擎,能帮助用户快速搜索IPFS网络上的文件,访问到所需要的数据,包括视频、图片、文档、软件包等内容。IPSE还让内容的检索和传播更加方便了,因为IPFS采用内容寻址,文件根据哈希来确定,这些哈希都是字符串,如果发送给你一个哈希地址,很多人并不知道哈希的具体内容。为了知晓哈希内容,经过IPSE,搜索出的哈希结果就有了标题,方便查看是什么内容。

IPFS简介:星际文件系统(InterPlanetary File System,缩写IPFS)是一种内容可寻址的点对点超媒体传输协议,通过点对点的节点构成一个分布式文件系统。IPFS被认为是取代HTTP的互联网底层协议,是下一代互联网的基础。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值