如果大家經常關注IPFS的動態,那對libp2p應該會有所了解。libp2p是一個為p2p網絡構建的基礎模塊,源于開源項目IPFS。IPFS團隊將點對點(peer-to-peer)網絡的網絡層從IPFS工程里面分離出來,形成一個獨立的項目,這就是libp2p。從本質上說,libp2p是一個模塊化和可拓展的網絡堆棧,專注于傳輸不可知論,模塊化和可移植編碼,最終實現無論設備所處的環境、運行的協議如何,libp2p都能讓設備的互聯成為現實。
libp2p 發展至今,已由眾多開發者幫助實現了Python、Go等語言以及面向不同對象的衍生版本。如今,Netwarps 參考 libp2p 實現了一個基于Rust語言的 p2p 底層網絡——libp2p-rs。libp2p-rs大量使用了最新的 async/await 語法,是一個簡潔的高性能、輕量化的p2p網絡方案。
libp2p-rs 擯棄傳統的poll 方式,嘗試完全使用 async/await 書寫異步代碼,系統框架主要參考 go-libp2p,部分代碼重用 rust-libp2p,以此探索使用 async/await 方式開發大型網絡項目的可行性。短期目標為 go-libp2p 中 BasicHost 對應的功能,不涉及Routing,因此可以看作為 libp2p 的一個子集。
Netwarps 團隊是一個致力于實現去中心化網絡和存儲技術的創業團隊,目標在于使用去中心化技術支撐各類 IOT 應用,以及保障數據安全。基于此目標,Netwarps 開發了去中心化文件存儲系統(DFS)和去中心化計算平臺(DCP)。
Netwarps 團隊早期使用 C 語言構建了產品的底層 p2p 網絡,但隨著技術的發展,一個基于更新的語言、更新的設計范式的底層網絡系統成為了必需品。因此 Netwarps 團隊使用 Rust 語言開發了libp2p,實現了libp2p項目的基本功能,并將其開源。
隨著物聯網、區塊鏈等技術的發展,我們傳統的中心化網絡會成為應用快速擴展的瓶頸,我們需要一個能適應各種設備、在低功耗、低網絡速率的環境下運行的網絡基礎設施,libp2p-rs 就是基于這個目的的一個嘗試。
libp2p-rs 已經開源,目前發布的版本是v0.1.0,大體上完成了相當于 Go 語言版本發布中的 basic host 功能,實現了不同語言之間互聯互通,可以用來構建基于 Rust 的網絡應用程序,計劃在接下來的一段時間繼續完善一些缺失的功能,包括異步并行協議升級處理,多地址同時連接,完整的統計,同時會積極探索如何實現路由等高級功能,最終完成一個全功能的版本,這部分主要包括 DHT 分布式哈希表,Gossip 協議以及 mDns 等等,是 libp2p 網絡尋址,特別是基于內容尋址的基礎設施,也是 IPFS 所依賴的重要功能。由于功能的復雜性,相應地工作量也是巨大的。未來會和各個開源組織合作,推廣這個項目,不斷完善去中心化網絡的技術生態,幫助各種去中心化應用場景快速實現和落地。推動 IOT 和區塊鏈技術的快速發展。Netwarps 歡迎感興趣的 Rust 愛好者一起參與到這個開源項目的開發和維護中來。
Netwarps 由國內資深的云計算和分布式技術開發團隊組成,該團隊在金融、電力、通信及互聯網行業有非常豐富的落地經驗。Netwarps 目前在深圳、北京均設立了研發中心,團隊規模30+,其中大部分為具備十年以上開發經驗的技術人員,分別來自互聯網、金融、云計算、區塊鏈以及科研機構等專業領域。
Netwarps 專注于安全存儲技術產品的研發與應用,主要產品有去中心化文件系統(DFS)、去中心化計算平臺(DCP),致力于提供基于去中心化網絡技術實現的分布式存儲和分布式計算平臺,具有高可用、低功耗和低網絡的技術特點,適用于物聯網、工業互聯網等場景。