以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

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

Author:

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

回顧

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

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

IPFS網絡初識

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

動態 | 浙江上虞與新華網融合區塊鏈等技術 推出長三角數字經濟總平臺:據新華網消息,新華網與上虞區委、區政府展開合作,共建溯源中國·長三角數字經濟總平臺,該平臺以“追蹤物聯網”技術為核心,聯合了國內權威機構及領先企業,并充分融合區塊鏈、移動互聯網、物聯網、大數據、人工智能等先進技術,以此保障產品品質可溯、品牌可信。當前,平臺已形成涵蓋“農資溯源、農產品溯源、畜產品溯源、食品快消品溯源、醫保藥品溯源及版權區塊鏈溯源”等六大行業解決方案。[2019/12/17]

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

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

動態 | 運用區塊鏈技術 攀鋼發行1.4億元ABN債券:11月21日,記者獲悉,四川攀鋼集團有限公司(攀鋼)成功發行惠信供應鏈定向資產支持票據(以下簡稱“ABN債”)。攀鋼下屬天府惠融公司于2019年獲批中國銀行間市場交易商協會給予的40億元ABN債儲架額度,滾動發行。此債券是中國資本市場首單以核心企業為主導,運用區塊鏈技術穿透服務產業鏈多級客戶,踐行普惠金融政策的資產證券化項目,是攀鋼探索金融創新工作的重大成果。(新京報)[2019/11/21]

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

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

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

聲音 | 新京報:脫離了區塊鏈技術 比特幣只是一場賭博游戲:新京報刊文指出,比特幣是區塊鏈系統衍生出的一種內生激勵,其原初是作為鼓勵專業人士參與分布式記賬活動的激勵憑證。脫離區塊鏈技術及其具體的場景應用,比特幣就是鏡花水月,很難自賦內生價值。一些貪婪成性的人將自身的賭性安放在了比特幣上,誘導更多不明就里的投資者發揮想象和賭性。最近以來比特幣等數字貨幣價格的上漲,恰是裹挾在這種市場不確定性中的一種炒作現象。從目前看,業已亮相十年左右的比特幣,在實際應用場景的可拓展方面依然沒有質的突破,市場主流依然把其單純地看作是一種數字資產。因而,在應用場景未能獲得有效突破下,比特幣價格的變動更主要源自參與者的賭性,而非內含價值的有效挖掘。超越并清洗掉比特幣的賭性,將大眾和市場的聚焦點回歸到利用區塊鏈開發更多應用場景,才能發揮新技術對經濟社會供給側的助推效用。[2019/5/29]

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

聲音 | 電力規劃設計總院徐小東:可借助區塊鏈技術 創新能源交易模式:據中國金融信息網消息,1月23日,國際能源署(IEA)23日在北京發布的《世界能源展望2018》。電力規劃設計總院副院長徐小東表示,各國應當重視新興技術發展,加快電制氫、電制氨等能源技術的創新和規模化應用,有效解決能源的季節性波動;同時可借助區塊鏈技術,創新能源交易模式。[2019/1/24]

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

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

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

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

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

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

聲音 | 羅斯·萊克:中國可以更好地結合區塊鏈等技術 推出新產品新服務:據中國金融新聞網報道,國際貨幣基金組織副法務總監、FINTECH工作組聯合負責人羅斯·萊克稱,從IMF的角度來看,金融科技的含義十分廣泛,不只限于各項技術,而是覆蓋了互聯網、云計算、分布式賬簿計劃、區塊鏈及加密貨幣等系統,也包括人工智能、大數據、生物統計數據、API及移動通信等科技。“這些技術在中國都得到了很好的體現。中國可以將以上技術更好地結合,推出激動人心的新產品與新服務。”[2018/9/4]

至此,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:ODENODEFSNSNORODEO幣node幣項目方FSN價格SNOW

幣安app官方下載最新版
BTC:瘋狂!顯卡一卡難求,礦工又盯上筆記本電腦

當游戲玩家們的趁手兵器——顯卡,突然用來改變金融世界,游戲娛樂需求遭到掙錢原始沖動的正面硬剛,而這場爭奪戰,甚至已升級到了搶高端筆記本電腦的新地步! 礦工盯上游戲筆記本 加密貨幣的大漲.

1900/1/1 0:00:00
DEF:金色DeFi日報 | SushiSwap推出首次代幣發行平臺MISO

DeFi數據 1.DeFi總市值:531.16億美元 市值前十幣種漲跌幅,金色財經制圖,數據來源Coingecko2.過去24小時去中心化交易所的交易量:21.1億美元 交易量排名前十的DEX數.

1900/1/1 0:00:00
KUSA:觀點 | 波卡不能取代以太坊的理由

近期以來,波卡成為了幣圈的熱門,除了幣價上漲之外,來自波卡和kusama的插槽炒作也是吸引了很多人的眼球,并且波卡的市值也不斷的上升,大有取代usdt,趕超以太坊之勢.

1900/1/1 0:00:00
TEL:Tellor的社區貨幣協議Chorus

原標題:Tellor的Chorus預言機協議Tellor最近發布了其Chorus的計劃。簡單來說,Chorus是社區貨幣協議.

1900/1/1 0:00:00
比特幣:投資數字資產的機構版圖(二):Microstrategy

過去半年,一家公司突然闖入了數字資產世界。它連續買入了70,460枚比特幣,購買單價只有15,964美金,而現在,比特幣單價在36,000美金左右.

1900/1/1 0:00:00
加密貨幣:法規解讀 | 最高院發布征求意見稿,涉及區塊鏈證據采信規則

1月21日,最高人民法院發布《關于人民法院在線辦理案件若干問題的規定》,明確指出當事人提交的電子證據經當事人質證后,由人民法院依照有關法律和司法解釋認定其真實性、關聯性和合法性.

1900/1/1 0:00:00
ads