LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > IPFS小百科可可可

IPFS小百科可可可

2021-07-06 老方说币币 来源:区块链网络

IPFS的优势在于其强大的技术积淀、精巧的架构设计及强大的开发者生态,我们来详细介绍一下IPFS的优势和价值来源。

技术优势

IPFS技术可以分为多层子协议栈,从上至下为身份层、网络层、路由层、交换层、对象层、文件层、命名层,每个协议栈各司其职,又互相协同。如图所示为IPFS协议栈的构成。接下来我们逐一进行解释。

身份层和路由层

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

网络层

比较核心,所使用的Libp2p可以支持主流传输层协议。NAT技术能让内网中的设备共用同一个外网IP,我们都体验过的家庭路由器就是这个原理。

交换层

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

对象层和文件层

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

命名层

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

新旧技术的更替无非两点:其一,能够提高系统效率;其二,能够降低系统成本。IPFS把这两点都做到了。

协议实验室在开发IPFS时,采用了高度模块集成化的方式,像搭积木一样去开发整个项目。截至2017年,协议实验室主要精力集中在设计并实现 IPLD、LibP2P、Multiformats等基础模块,这些模块服务于ipfs协议的底层。

Multiformats是一系列散列函数和自描述方式(从值上就可以知道值是如何生成的)的集合,目前拥有多种主流的散列处理方式,用以加密和描述NodelD 以及内容ID的生成。基于Multiformats用户可以很便捷地添加新的哈希算法,或者在不同的哈希算法之间迁移。

LibP2P是IPFS模块体系内核心中的核心,用以适配各式各样的传输层协议以及连接众多复杂的网络设备,它可以帮助开发者迅速建立一个高效可用的P2P网络层,非常利于区块链的网络层搭建。这也是IPFS技术被众多区块链项目青睐的缘由。

IPLD是一个转换中间件,将现有的异构数据结构统一成一种格式,方便不同系统之间的数据交换和互操作。当前,IPLD已经支持了比特币、以太坊的区块数据。这也是IPFS受到区块链系统欢迎的另一个原因,IPLD中间件可以把不同的区块结构统一成一个标准进行传输,为开发者提供了简单、易用、健壮的基础组件。

IPFS将这几个模块集成为一种系统级的文件服务,以命令行(CLI)和 Web服务的形式供大家使用。

—-

编译者/作者:老方说币币

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

LOADING...
LOADING...