LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 带你走近IPFS:饱含技术的多层子协议栈

带你走近IPFS:饱含技术的多层子协议栈

2021-05-04 乐存生态 来源:区块链网络

Hello·多层子协议栈

近年来顶流的IPFS

你或许只了解到它是

一个新技术、新工具

或许也只是了解到

由它而衍生的Filecoin文件币

但你未曾触及到的知识层面

还有很多很多

今天就让小编来带你真正认识IPFS

IPFS技术可以分为多层子协议栈,从上至下为身份层、网络层、路由层、交换层、对象层、文件层、命名层,每个协议栈各司其职,又相互协同,才能形成这样一个饱含技术的多层次协议栈。

身份层和路由层

对等节点身份信息的生成以及路由规则是通过Kademlia协议(P2P 重叠网络传输协议,以构建分布式的P2P电脑网络生成制定的,该协议实质上是构建了一个分布式哈希表,简称DHT。每个加入这个DSHT网络的节点都要生成自己的身份信息,然后才能通过这个身份信息去负责存储这个网络里的资源信息和其他成员的联系信息。

网络层

属于核心层,所使用的Libp2p可以支持主流传输层协议。NAT技术能让内网中的设备共用同一个外网IP,就像家里的路由器一样,就是这个原理。

交换层

IPFS 吸取了BitTorrent 的技术,并在其之上进行了再创新,自研了BitSwap模块。使用BitSwap进行数据的分发和交换,用户上传分享数据会增加信用分,分享得越多信用分越高;用户下载数据会降低信用分,当信用分低于一定值时,将会被其他节点忽略。简单来讲就是,你乐于分享数据,其他节点也乐于发送数据给你,如果你不愿意分享,那么其他节点也不愿意给你数据。

对象层和文件层

这两层适合结合起来看,它们管理了IPFS上80%的数据结构,大部分数据对象都是以Merkle-DAG的结构存在,这为内容寻址和去重提供了便利。文件层具有 blob、tree、list、commit 等多种结构体,并采用与Git类似的方式来支持版本控制。

命名层

具有自我验证的特性(当其他用户获取该对象时,将交换节点公钥进行验签,即验证公钥信息是否与NodeID匹配,从而来验证用户发布对象的真实性,并且加入了IPNS(Inter-Planetary Naming Service,星际命名系统)这个巧妙的设计使得哈希过后的内容路径名称可定义,增强可阅读性。

—-

编译者/作者:乐存生态

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...