月亮链 月亮链
Ctrl+D收藏月亮链
首页 > BNB > 正文

ODE:技术 | IPFS网络是如何组建的?_FSN价格

作者:

时间:1900/1/1 0:00:00

回顾

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

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

IPFS网络初识

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

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

河北省工商联主席:利用区块链等技术 有望解决融资难题:中小企业融资难、融资贵一直被关注,但整体而言融资难、融资贵问题尚未系统性有效解决。全国政协委员、河北省工商联主席刘劲松表示,随着数字金融的快速发展,企业信用数据的金融化将成为趋势,利用大数据、区块链等技术,加强中小企业信用数据积累,有望解决积弊难题。他建议,鼓励各行业搭建电子交易平台,为产业链上中下游企业提供信用数据沉淀池;鼓励行业龙头企业建设“链主企业级平台”,整合供应链中小企业信用数据。(人民政协报)[2020/5/26]

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

声音 | Web Summit创始人:区块链也许是一项革命性的技术 但需很长的时间来发展:据界面报道,全球网络峰会(Web Summit)的创始人Paddy Cosgrave接受专访时表示,区块链技术的落地应用很少。也许它是一项革命性的技术,但是需要很长的时间来发展。就我个人而言,更看好另一项技术FHE(fully homomorphic encryption,全同态加密技术),我认为它将比区块链更有发展前景。我认为Libra的加密货币特性比较少,反而更像是支付宝、财付通这样的支付工具。Facebook在使用超过150种货币的200多个国家运营,Libra为Facebook提供了一种全球通用的电子货币工具来解决交易和支付的问题。Facebook是用更开放、更有合作精神的态度来解决全球通用的货币问题,尽管很多人担忧年轻一代越来越少使用Facebook,意味着Libra所依赖的用户群体在减少,但是他们忽略了Facebook旗下的Instagram和Whatsapp两大软件的庞大用户群。[2019/9/1]

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

动态 | 华为云提供区块链私人支付等各类隐私增强技术 以满足客户不同需要实施隐私保护:据新浪山东报道,7月19日,在以“选择不凡,平台应变”为主题的华为青岛城市峰会2019上,华为云中国区总裁洪方明发表了”云+智能,成就不凡青岛”的主题演讲,现场发布了《华为云隐私保护白皮书》。针对客户的内容数据,华为云使用各种数据安全技术和相关管控措施保障华为云服务自身的安全性,并向客户提供丰富的安全服务以满足租户不同安全级别的要求。同时,提供各类隐私增强技术如等价类匿名、差分隐私、防跟踪技术、区块链私人支付以及隐私保存计算等,以满足客户不同需要实施隐私保护。[2019/7/21]

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

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

动态 | 微软计划整合Azure和区块链技术 在印度打击垃圾电话:据Cnbeta消息,援引Hindustan的报告,鉴于印度地区肆虐的垃圾电话愈演愈烈,微软希望通过和Tech Mahindra的合作使用区块链技术来进行遏制。同很多区块链技术应用相同,微软将会依托在云服务方面的优势来打击垃圾电话。[2018/8/29]

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

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

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

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

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

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

NASA研究以太坊区块链技术 将用于深空探测:据ccn消息,美国航天局(NASA)资助并共同运作的一个研究项目正在考虑利用以太坊区块链的智能合约技术来实现航天器机动自动化,同时避免空间碎片。[2018/4/17]

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

至此,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团队数据平台架构师

标签:ODENODESNOFSNYODESaveNodeSNO币FSN价格

BNB热门资讯
比特币:自花旗集团下调MicroStrategy股票评级以来,其股价因比特币上涨113%_RAT

2020年12月8日,全球最大的银行之一花旗集团下调了MicroStrategy的股票(MSTR)评级.

1900/1/1 0:00:00
SWAP:没有中间商瞎折腾的DEX_uni币最新消息论坛

没有中间商瞎折腾的DEX区块引擎刚刚202020年是去中心化交易所兴起与爆发的一年,而2021年将是它们成熟并可能成为主流的一年.

1900/1/1 0:00:00
PLE:律师:Ripple让SEC诉讼成为一场“赢家通吃”的游戏_PPL

本文来自CryptoNewsFlash,原文作者:JAKESIMMONSOdaily星球日报译者|念银思唐摘要:-根据律师JeremyHogan的说法.

1900/1/1 0:00:00
KEN:2020年度数字钱包行业研究报告:全球用户达6400万,DeFi带来新场景_OursToken

要点总结1.钱包作为数字资产存储的第一渠道,市场活跃度与数字资产市场表现息息相关。自2020年第四季度牛市的到来,数字资产市场活跃度和比特币价格都相继达到新高,钱包市场也由于资产存储、交易需求的.

1900/1/1 0:00:00
ETH:简析期权基本要素与加密货币领域应用_REA

原文标题:《关于期权简介和应用案例简析》期权本质上是一种通过合同赋予的未来可以行使的权利。为了获得这种权利,期权的买方需支付一笔款项,该对价称为权利金.

1900/1/1 0:00:00
比特币:金色早报 | 北京将发放5万份金额200元数字人民币红包_btcs币成功率高不高

头条▌北京将发放5万份金额200元数字人民币红包在北京冬奥会开幕倒计时一周年之际,为实施科技冬奥行动计划,加强冬奥支付服务环境建设,北京市围绕冬奥消费全场景.

1900/1/1 0:00:00