链资讯 链资讯
Ctrl+D收藏链资讯
首页 > MEXC > 正文

区块链:技术 | IPFS网络是如何组建的?_Wall Street Decentral Token

作者:

时间:

回顾

IPFS-InterPlanetaryFileSystem星际文件系统,是一个点对点的分布式文件存储系统,IPFS的愿景是构建一个全世界的分布式网络,用来替代传统中心化的服务器模式,所有的IPFS节点组成一个分布式网络,每个节点都可以存储文件,用户可以从IPFS构建的网络中以DHT(DistributedHashTable,分布式哈希表)?的方式获取文件,从而实现了新一代的完全去中心化的网络,旨在取代现有的万维网。IPFS功能很丰富,如DHT组网,文件存储,Bitswap文件交换等功能。

文件存储和文件交换的技术详解可以通过之前的推文内容进行了解,今天我们来了解这个文件系统的“地基”——网络模块。

IPFS网络初识

IPFS是一个开源项目,要达到它声称的构建一个全世界的分布式网络的目标,那么他必然要先解决不同国家、不同地区节点的连接问题。

现场丨蚂蚁集团引入区块链技术 打造SMART AML智能反解决方案:金色财经报道,在上海举办的外滩大会上,SMART AML智能反解决方案发布。蚂蚁集团副总裁屠剑威指出,地缘、数字经济发展等为风险防控,特别是反领域带来了前所未有的挑战和变化。为应对这些挑战,蚂蚁集团打造SMART AML智能反解决方案,和全球的生态合作机构一起通过智能反来拥抱数字化经济的浪潮,为全球更多用户提供普惠绿色的金融服务。金融机构之间的风险信息共享的问题一直是反领域的一个难题。德勤是此次大会的智力合作伙伴,和“外滩大会”一起合作出品了基于区块链的反联防白皮书,探索如何运用区块链技术来解决这一问题。[2020/9/26]

首先,看一下IPFS网络部分配置,如下图所示,红框内部的Swarm是IPFS监听的网络地址,其中支持ipv4和ipv6协议,且默认支持QUIC协议。

昆明市委宣传部部长:依托区块链等技术 大力发展数字文创产业:4月26日消息,日前,昆明市召开文化创意产业工作推进会。昆明市委宣传部部长金幼和在会上表示,要以文化建设和产业发展“510”工程为抓手,突出民族化、国际化、时尚化,依托5G、大数据、云计算、区块链等技术创新的广泛应用,大力发展数字文创产业等新产业、新业态,培育一批有示范引领作用的骨干文化企业,建成一批有核心竞争力的文创园区,打造一批展现春城魅力的文化品牌。(昆明日报)[2020/4/26]

*QUIC协议是由google最先提出的,目前已经提交给互联网工程任务小组,成为了正式的网络规范,相对于TCP来说QUIC网络传输协议的传输速度更快。

IPFS节点启动之后日志如下图所示,可以看到IPFS节点监听了以下网络地址,其中包括本地的、局域网、广域网的地址,最后还有/p2p-circuit地址。

动态 | 为推广区块链技术 美国科罗拉多州政府引入区块链架构师:据govtech消息,为了扩大区块链技术的应用,美国科罗拉多州长办公室招聘了一位区块链解决方案架构师Thaddeus“Thad”Batt。作为州政府的首位区块链架构师,Batt将负责建设和推广该州的区块链基础设施,同时还寻找机会通过试点计划和用例扩展该技术的使用。[2019/5/23]

问题来了,为什么需要监听这么多地址?

那是因为IPFS是一个开源项目,为了让全世界各地的节点连接起来则必须要解决各种网络情况下节点连接的问题。

监听本地地址,这样本地启动多个IPFS节点,它们之间可以以该地址进行连接,监听局域网地址,这样内网内启动多个IPFS节点,它们之间可以以该局域网地址相互连接,监听广域网地址,这样公网中启动多个IPFS节点,它们之间可以以该广域网地址进行连接。

通过上述方式就解决了大部分网络情况下的IPFS节点的网络连接问题:

动态 | 韩国区块链企业Temco计划通过RSK的侧链技术 完成1900万美元融资:据Coinspeaker消息,韩国的区块链初创企业Temco计划通过RSK的侧链技术,完成总额达1900万美元的融资。尽管RSK侧链目前仍处于开发阶段,但该公司的首席执行官Scott Yoon对此仍表示乐观。据了解,该公司开发区块链技术的目的在于,让中小规模企业在供应链体系和流程中完成对产品的追溯。[2018/10/8]

2个节点都在同一主机:通过127.0.0.1地址连接

2个节点在同一个内网内:通过局域网地址连接

2个节点都有公网地址:通过公网地址连接

1个节点在内网,1个节点在公网:内网的节点通过在公网节点的公网地址连接

这里有一个问题,如果2个节点处于两个不同内网环境,由于存在NAT设备,NAT设备可能是对称型,对称型的NAT设备是没有办法穿透的,所以IPFS提供了relay的方式解决不同内网环境下节点的连接问题,上面提到的监听/p2p-circuit地址则是为了解决该问题,对于2个处于不同内网环境不能直接连接的节点,通过配置relay节点中转从而建立连接。

沃尔玛利用区块链分类账技术 可以将产品追溯回农场:沃尔玛公司开始利用在线分类账技术来管理芒果,浆果和几十种其他产品的供应链数据。这个系统是由国际商业机器公司(International Business Machines Corp.)制造,在沃尔玛测试区块链可追溯性的过程中,沃尔玛员工可以检查货架上或后台的产品,并用零售商的智能应用程序追溯到农场。在产品召回过的过程中可以追溯不合格食物的来源。[2018/2/7]

至此,IPFS解决了不同网络环境下的节点之间建立连接的问题,下面我们来看一下IPFS是如何构建大规模的分布式节点网络,将处于全世界的不同地区的各个节点连接起来的。

IPFS网络构建

IPFS网络构建的过程可以看作是两个阶段:

▲?Bootstrap阶段

IPFS节点在启动之前需要配置它的Bootstrap节点,配置文件中相关配置如下图所示,Bootstrap配置中配置了IPFS节点启动时需要连接的所有种子节点列表,这些节点地址列表信息是默认的,如果需要搭建IPFS私有网络可以修改成自己的种子节点列表。默认提供的种子节点都是具有公网地址的节点,IPFS节点启动的时候首先连接该种子节点,后续通过该种子节点去发现IPFS网络中更多的节点,从而进行连接,也就是DHT组网阶段。

▲?DHT组网阶段

IPFS节点连接种子节点成功以后则去通过DHT去发现其他节点,关于DHT的详解可以看这篇文章《Libp2p中DHT和Bitswap详解》。

发现其他节点之后则尝试进行连接,连接成功的节点会加入到该节点的节点列表,以便后续可以直接与该节点通信,考虑到全世界的IPFS节点规模很大,不可能每个节点和其他节点保持长连接,所以对每个节点的连接数量做了限制,一般节点连接数量都在1千以下,对于没有连接的节点需要通信的话,可以通过DHT找到该节点地址,然后连接该节点进行通信,这样就构成了大规模的分布式节点网络。

我们可以通过一个示例展示上述过程。下图是一个常见的网络拓扑架构,有三个网络分别连接了Internet,IPFSnode1部署在具有公网ip的服务器上,外部可以直接访问该节点,IPFSnode2和IPFSnode3都部署在对称型NAT设备后面,外部不能访问该节点。

在上面的网络架构下,处于公网的IPFSnode1作为种子节点,种子节点最先启动,然后IPFSnode2,node3,node4,node5的种子节点配置成IPFSnode1,分别启动后首先连接IPFSnode1,连接成功后通过DHT发现其他节点最后分别连接,对于IPFSnode1,它连接的节点地址列表如下图所示,由于IPFSnode2,node3,node4,node5均处于NAT设备后面,所以IPFSnode1节点列表中这些节点的端口都是NAT设备映射后的端口。

对于IPFSnode3来说,它的节点地址列表中,IPFSnode1的地址是公网地址,由于IPFSnode3和IPFSnode2都处于NAT设备后面,不能直接连接,所以IPFSnode2的地址是relay地址,IPFSnode1节点作为relay节点,IPFSnode3给IPFSnode2发消息时通过IPFSnode1转发,relay地址格式为:

Relay节点的地址/p2p-circuit/p2p/目标节点id

而IPFSnode3的节点地址列表中,IPFSnode4和IPFSnode5的地址均为局域网地址,这样就完成了公网节点、处于NAT设备后的局域网节点的组网过程。

总结

以上就是IPFS网络的组建过程,为了方便描述只是以几个IPFS节点为例。

实际上IPFS的这种网络组建方式也能很好地支持超大规模节点的组网,当节点规模很大的时候,设置数十个节点作为种子节点,通过DHT组网就能完成数万甚至更多节点的组网,此时每个节点的长连接数量保持在数百个,后续节点间通信时,如果还没有建立连接,可以通过DHT根据节点id查询该节点的地址信息,然后通过该地址连接该节点最后完成通信过程。

IPFS网络的这种组建方式也非常值得分布式系统学习和借鉴。

作者简介

姚文豪来自数据网格实验室BitXMesh团队数据平台架构师

标签:区块链CENRELAYNCE区块链dapp开发合法吗Wall Street Decentral TokenExrelaybalance

MEXC热门资讯
加密货币:预期投资回报率超300%,“机构牛”之下比特币2021能否延续涨势?_luna币一夜3000万倍

全球最大的加密货币——比特币最近风靡一时,在过去的两周,BTC接连突破了阻力水平。近日,比特币涨势迅猛,1月2日,首次突破30000美元大关之后,比特币在1月3日最高涨至34786美元,续刷历史.

CEN:美财政部长提名人耶伦:我们应该考虑加密货币的好处_区块链

美国财政部长提名人、前美联储主席珍妮特·耶伦周四表示,加密货币和数字资产可能“提高金融体系的效率”.

ITA:观点 | 普通投资者的优势是什么?_SaitaRealty

我反复强调投资中最重要的不是专业知识的掌握,而是心理耐受力的锻炼、独立冷静地思考和对自己投资策略的坚持。这个道理实际上很多投资大师早就说过,并且也反复强调过.

比特币:解决非洲国家通货膨胀和贫困问题,比特币功在千秋_CEO

非洲的通胀率居高不下,比特币可能是区域货币的一种替代选择。非洲中央银行一贯奉行的政策削弱了公民的购买力。因此,比特币将为非洲人提供一种选择,作为价值存储的一种手段.

加密货币:法国官员:希望改变欧洲对加密货币和区块链的监管方式_SMA

法国最高金融监管机构已提议改变对欧洲加密货币行业的监管方式。AutoritédesMarchésFinanciers主席RobertOphèle在“第五届金融科技与监管年度会议”上谈到了关于加密.

数字金融:创新、发展与监管高端研讨会在清华大学举办_加密货币市场还有未来吗

来源:清华大学 2020年12月31日,由清华大学经济管理学院数字金融资产研究中心主办的“数字金融:创新、发展与监管”高端研讨会在清华大学成功举办,会上《数字金融:未来已来》新书重磅发布.