我们常说的IPFS,其中的底层协议你知道吗?
IPFS
团队在开发时,采用高度模块集成化的方式,像搭积木一样去开发整个项目。协议实验室团队从 2015 年到 2017 年一直在做
IPLD
、LibP2P
、Multiformats
这三个模块的开发,它们服务于 IPFS 底层。
IPLD
IPLD
是内容可寻址 web 的数据模型(分布式网络数据模型)。它允许我们将所有散列连接的数据结构视为统一信息空间的子集,将所有数据与散列连接的数据模型统一为
IPLD
实例;定义了一种简单的,适用于所有 merkle-dags,基于 JSON 的结构。同时也定义了一系列编码的格式结构。
在分布式系统中,通过使用加密哈希来定位内容已经成为了广泛使用的方法;从区块链到加密数字货币到网页,这中间的数据是庞大的。
IPLD
是所有受哈希启发的协议的一个名称空间。
通过
IPLD
,可以跨协议遍历链接,允许您探索数据,而不管底层协议是什么,
IPLD
定义了一系列规范来让基于内容寻址,加密 hash 的分布式系统中的数据,变得具有互操作性来解决这些问题。
IPLD
可以简单理解为是一个结构解析器,可以把现有的各类数据结构统一成一种格式,方便不同系统之间的数据交换和互操作。
Libp2p
Libp2p
被用作 IPFS 的网络层。使用
Libp2p
的一个节点可与另一个节点进行通信,能够使用各种不同的传输方式,这些传输方式包括连接延迟,以及通过不同协议进行通信,并根据需求进行协商。
Libp2p
模块在 IPFS 中主要负责数据的传递功能,即路由、网络、交换等。
Mutiformats
加密哈希值生成方式使用了 IPFS 的一个模块
Mutiformats
。Mutiformats
是一系列 hash 加密算法和自描述方式(从值上就可以知道值是如何生成)的集合,它具有SHA1 SHA256 SHA512 Blake3B 等 6 种主流的加密方式,用以加密和描述 nodeID 以及指纹数据的生成。
今天的分享就先到这里,想要了解更多精彩的内容,请关注我们的公众号:文储网络