以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > AAVE > Info

技術 | IPFS網絡是如何組建的?_NODE

Author:

Time:1900/1/1 0:00:00

回顧

IPFS-InterPlanetaryFileSystem星際文件系統,是一個點對點的分布式文件存儲系統,IPFS的愿景是構建一個全世界的分布式網絡,用來替代傳統中心化的服務器模式,所有的IPFS節點組成一個分布式網絡,每個節點都可以存儲文件,用戶可以從IPFS構建的網絡中以DHT(DistributedHashTable,分布式哈希表)?的方式獲取文件,從而實現了新一代的完全去中心化的網絡,旨在取代現有的萬維網。IPFS功能很豐富,如DHT組網,文件存儲,Bitswap文件交換等功能。

文件存儲和文件交換的技術詳解可以通過之前的推文內容進行了解,今天我們來了解這個文件系統的“地基”——網絡模塊。

IPFS網絡初識

IPFS是一個開源項目,要達到它聲稱的構建一個全世界的分布式網絡的目標,那么他必然要先解決不同國家、不同地區節點的連接問題。

韋氏評級:真正需要的是讓法律適應新技術 而非反過來:9月9日,加密貨幣評級機構韋氏評級(Weiss Ratings)發推,評論印度智庫創始人Deepak Kapoor“比特幣應該像股票一樣被監管”言論稱,我們真正需要的是讓法律適應新技術,而不是反過來。[2020/9/9]

首先,看一下IPFS網絡部分配置,如下圖所示,紅框內部的Swarm是IPFS監聽的網絡地址,其中支持ipv4和ipv6協議,且默認支持QUIC協議。

*QUIC協議是由google最先提出的,目前已經提交給互聯網工程任務小組,成為了正式的網絡規范,相對于TCP來說QUIC網絡傳輸協議的傳輸速度更快。

IPFS節點啟動之后日志如下圖所示,可以看到IPFS節點監聽了以下網絡地址,其中包括本地的、局域網、廣域網的地址,最后還有/p2p-circuit地址。

聲音 | 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]

動態 | GSA標準發展區塊鏈技術 2019年啟動項目試點:據中國水產養殖網報道,全球海洋保障(GSA)標準將國際多項標準基準進行重新組合,并發展區塊鏈技術,可追溯系統覆蓋全供應鏈,2019年啟動項目試點。“全球海鮮保障(Global Seafood Assurances,GSA)”是一家非盈利組織,由全球水產養殖聯盟(GAA)創建,旨在為海產品全供應鏈提供參考基準,包括水產養殖和海洋捕撈兩大板塊。[2018/11/17]

問題來了,為什么需要監聽這么多地址?

那是因為IPFS是一個開源項目,為了讓全世界各地的節點連接起來則必須要解決各種網絡情況下節點連接的問題。

監聽本地地址,這樣本地啟動多個IPFS節點,它們之間可以以該地址進行連接,監聽局域網地址,這樣內網內啟動多個IPFS節點,它們之間可以以該局域網地址相互連接,監聽廣域網地址,這樣公網中啟動多個IPFS節點,它們之間可以以該廣域網地址進行連接。

動態 | Visa整合技術 開展B2B區塊鏈支付:Visa B2B Connect是其企業區塊鏈平臺,可以實現企業之間的跨境支付,該公司正與IBM合作,整合后者開發的開源超賬本架構框架。[2018/10/22]

通過上述方式就解決了大部分網絡情況下的IPFS節點的網絡連接問題:

2個節點都在同一主機:通過127.0.0.1地址連接

2個節點在同一個內網內:通過局域網地址連接

2個節點都有公網地址:通過公網地址連接

1個節點在內網,1個節點在公網:內網的節點通過在公網節點的公網地址連接

這里有一個問題,如果2個節點處于兩個不同內網環境,由于存在NAT設備,NAT設備可能是對稱型,對稱型的NAT設備是沒有辦法穿透的,所以IPFS提供了relay的方式解決不同內網環境下節點的連接問題,上面提到的監聽/p2p-circuit地址則是為了解決該問題,對于2個處于不同內網環境不能直接連接的節點,通過配置relay節點中轉從而建立連接。

寧波計劃引入區塊鏈技術 建立家政服務行業征信體系:央廣網寧波3月20日消息,3月18日,寧波市商務委負責人透露,寧波正在醞釀建立家政服務行業征信體系,相關工作今年啟動。寧波市商務委消費處處長尹秋平坦言,缺乏誠信是目前家政服務行業最大的痛點。尹秋平說,等到這套征信系統逐步完善,還考慮引入區塊鏈技術,讓缺乏誠信的服務人員無所遁形。“區塊鏈的特點是去中心化,很適合在征信系統中運用。當一個人的重要行為都被記錄在案,都可以查詢到的時候,每個人都要為自己的行為負責。” 尹秋平說,寧波家政創業園已經跟從事區塊鏈技術開發應用的機構接觸,研究進一步合作的可能性。[2018/3/21]

至此,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團隊數據平臺架構師

Tags:NODEODESNOFSNnode幣最新消息code幣的發行價Snowball FinanceFSN幣

AAVE
StaFi 將上線旨在解決 ETH2.0 質押流動性的產品 rETH_STA

StaFi將于近日正式上線旨在解決ETH2.0Staking質押流動性產品rETH,現開啟OriginalValidator招募計劃.

1900/1/1 0:00:00
電子標準院面向全行業開展區塊鏈系統測試,新一批報名已全面啟動!_區塊鏈

來源:中國區塊鏈技術和產業發展論壇中國電子技術標準化研究院近期已啟動新一批區塊鏈系統測試,測試結果權威可信。通過測試的企業將獲頒測試證書和CNAS認可的檢測報告.

1900/1/1 0:00:00
美財長耶倫警告比特幣風險:投機性高且極其低效_比特幣

本文來源:界面新聞,作者:崔璞玉美國財政部長耶倫周一警告了比特幣對投資者和公眾可能構成的危險。盡管本周開始比特幣暴跌,但該加密貨幣的價格依然位于54000美元上方.

1900/1/1 0:00:00
IMF:央行須變得更像蘋果公司以保證央行數字貨幣處在技術前沿_數字貨幣

據澎湃新聞消息,2月19日,國際貨幣基金組織發布了題為《數字時代公共貨幣和私人貨幣可共存》的文章。文章提出,央行不應僅做出二選一的抉擇:要么發行央行數字貨幣,要么鼓勵私人部門提供自己的數字貨幣.

1900/1/1 0:00:00
彭博分析師:比特幣取代黃金的步伐正在加快_比特幣

?彭博資訊的一位頂級商品策略分析師MikeMcGlone,在推特上分享了他的分析數據,指出比特幣取代黃金作為投資者投資組合中的價值儲存的步伐正在加快.

1900/1/1 0:00:00
SWIFT,國際清算與數字人民幣_SWIFT

一個月前,一條消息猶如一石激起千層浪:1月16日,環球同業銀行金融電訊協會SWIFT香港子公司和中國清算總中心等5家國內清算機構成立金融網關信息有限公司.

1900/1/1 0:00:00
ads