回顧
IPFS-InterPlanetaryFileSystem星際文件系統,是一個點對點的分布式文件存儲系統,IPFS的愿景是構建一個全世界的分布式網絡,用來替代傳統中心化的服務器模式,所有的IPFS節點組成一個分布式網絡,每個節點都可以存儲文件,用戶可以從IPFS構建的網絡中以DHT(DistributedHashTable,分布式哈希表)?的方式獲取文件,從而實現了新一代的完全去中心化的網絡,旨在取代現有的萬維網。IPFS功能很豐富,如DHT組網,文件存儲,Bitswap文件交換等功能。
文件存儲和文件交換的技術詳解可以通過之前的推文內容進行了解,今天我們來了解這個文件系統的“地基”——網絡模塊。
IPFS網絡初識
IPFS是一個開源項目,要達到它聲稱的構建一個全世界的分布式網絡的目標,那么他必然要先解決不同國家、不同地區節點的連接問題。
聲音 | John McAfee:比特幣是古老的技術 會像福特T型車一樣被取代:JohnMcAfee此前曾預測比特幣到2020年底將價值100萬美元。McAfee最近發推表示,成為第一個區塊鏈并不意味著比特幣就是“未來”。在他看來,比特幣是古老的技術,而更新的區塊鏈具有增強的功能,可以解決比特幣區塊鏈的缺陷,就像1908年的福特T型車被更復雜的汽車取代一樣。[2020/1/6]
首先,看一下IPFS網絡部分配置,如下圖所示,紅框內部的Swarm是IPFS監聽的網絡地址,其中支持ipv4和ipv6協議,且默認支持QUIC協議。
*QUIC協議是由google最先提出的,目前已經提交給互聯網工程任務小組,成為了正式的網絡規范,相對于TCP來說QUIC網絡傳輸協議的傳輸速度更快。
聲音 | 大連港:將繼續開拓區塊鏈技術 深入開展創新工作:金色財經報道,大連港(601880)被提問“除了區塊鏈電子放貨平臺之外,接下來還有什么區塊鏈項目落地”時表示,目前,大連港利用區塊鏈的去中心化、不可篡改、共享賬本等特征所建立的區塊鏈信任機制,使業務信息公開透明公正,借助區塊鏈的數據加密作用強化數據信息安全功能,確保數據的安全性、完整性和一致性,使船、輪駁公司、智慧港口平臺各方都能實時、安全、無縫地傳遞拖輪作業信息,實現全程留痕和全程可追溯,滿足輪駁業務的安全性和準確性要求。未來大連港還將繼續開拓區塊鏈技術業務實現場景,深入開展創新工作,在全港口領域推行區塊鏈技術應用落地。(上證e互動)[2019/10/30]
IPFS節點啟動之后日志如下圖所示,可以看到IPFS節點監聽了以下網絡地址,其中包括本地的、局域網、廣域網的地址,最后還有/p2p-circuit地址。
聲音 | 光明日報:充分運用區塊鏈等新技術 創新黨建工作載體和方式方法:《光明日報》今天發表題為“將黨的優勢轉化為城市精細化治理優勢”的評論文章。文中提到,要運用網絡信息技術手段,提升智慧黨建引領社會治理水平。充分運用大數據、區塊鏈、人工智能等新技術,創新黨建工作載體和方式方法,構建全天候、全覆蓋、立體化的智慧黨建工作體系。統籌推進智慧黨建和智慧城市建設,設立大數據中心歸集分散于各部門的基礎信息和數字資源,共建共享技術支撐平臺、大數據應用平臺。[2019/10/23]
問題來了,為什么需要監聽這么多地址?
那是因為IPFS是一個開源項目,為了讓全世界各地的節點連接起來則必須要解決各種網絡情況下節點連接的問題。
監聽本地地址,這樣本地啟動多個IPFS節點,它們之間可以以該地址進行連接,監聽局域網地址,這樣內網內啟動多個IPFS節點,它們之間可以以該局域網地址相互連接,監聽廣域網地址,這樣公網中啟動多個IPFS節點,它們之間可以以該廣域網地址進行連接。
聲音 | 澳大利亞數字化轉型研究院:區塊鏈仍是新興技術 相關方在評估其應用時應務實:據itnews報道,澳大利亞數字化轉型研究院(DTA)在研究后表示,區塊鏈仍然是一種新興技術,當應用于各種試點或考慮替代技術時,其技術和業務部署方面的差距變得明顯。區塊鏈只是眾多數據存儲和交換解決方案中的一種,而其他“經過驗證”和“更成熟”的解決方案可立即使用。DTA還稱,區塊鏈的僅附加性質意味著數據只能添加而不能編輯或刪除,這可能會導致重大問題。因此,在評估區塊鏈的應用時,相關方應當務實。據悉,去年十月份DTA曾對政府使用區塊鏈表示過懷疑。[2019/2/12]
通過上述方式就解決了大部分網絡情況下的IPFS節點的網絡連接問題:
2個節點都在同一主機:通過127.0.0.1地址連接
2個節點在同一個內網內:通過局域網地址連接
2個節點都有公網地址:通過公網地址連接
NASA研究以太坊區塊鏈技術 將用于深空探測:據ccn消息,美國航天局(NASA)資助并共同運作的一個研究項目正在考慮利用以太坊區塊鏈的智能合約技術來實現航天器機動自動化,同時避免空間碎片。[2018/4/17]
1個節點在內網,1個節點在公網:內網的節點通過在公網節點的公網地址連接
這里有一個問題,如果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團隊數據平臺架構師
醞釀許久的Poldkadot在本輪牛市爆發。Coingecko數據顯示,近30天波卡漲幅280%,市值躍升至市場前四,約150億美元,僅次于泰達幣.
1900/1/1 0:00:00本文來自福布斯,作者:JeffKauflin 譯者|余順遂 借助比特幣去年上漲300%的浪潮,加密貨幣交易平臺?Coinbase有望成為金融科技領域下一個大型IPO項目.
1900/1/1 0:00:00金色財經區塊鏈1月26日訊比特大陸聯合創始人吳忌寒已經正式宣布辭去公司CEO及董事長職務,以解決與競爭對手、另一位聯合創始人詹克團長達一年的內部權力斗爭.
1900/1/1 0:00:00本文是對AlphaFinanceLab創始人TaschaPunyaneramitdee的訪談,他介紹了關于杠桿流動性挖礦產品以及AlphaFinanceLab下一步的工作.
1900/1/1 0:00:00加密貨幣支持者MikeNovogratz表示,美國證券交易委員會(SEC)預計將在12個月內批準比特幣交易所交易基金的申請.
1900/1/1 0:00:00我這好幾天沒怎么更新,結婚的時間比較緊。一天天忙的腳不沾地。走勢上關心的也不多。希望大家見諒。 行情分析 數據來源CoinBene滿幣網BTC?/USDT????????? 先說下比特幣,本來我.
1900/1/1 0:00:00