天天看點

大羽超算 | 一文了解Swarm技術架構

針對于懂技術的朋友,想了解的不僅僅局限于一些基本資訊,還希望了解Swarm在技術上具體是怎麼運作的。大羽超算根據Swarm的底層邏輯,向大家做一次技術架構的分享,全面了解Swarm的技術優勢。

Swarm項目最開始是以太坊官方的一部分,啟動于2015年。是以太坊Web 3.0 元件的三大支柱之一,由以太坊基金會領投和開發。是一個不受審查、不受許可、分散的存儲和通信基礎設施。主要提供dApp代碼、使用者資料、區塊鍊資料和狀态資料的去中心化存儲服務。

大羽超算實驗室團隊成員,早在2020年10月份就開始關注到Swarm項目,并對其進行深入的研究及評估,目前對Swarm整體技術結構已經有非常深入的了解。

STEP 1

 Swarm如何存儲每條資料 

在了解Swarm的技術結構之前,我們先搞清楚一個請求是如何在Swarm中呈現的?

Swarm通過底層基礎設施,允許每個節點之間互相貢獻和交換資源來進行上述服務。貢獻的資源,會在系統裡通過點對點技術被計算出來,并向消耗少于服務的節點提供貨币補償。

Swarm去中心化存儲系統主要由三個部分組成:

  • 塊:是記憶體有限的資料塊(最大4K),在Swarm中充當存儲和檢索的基本單元。​
  • 引用:是檔案的唯一辨別符,允許用戶端檢索和通路内容。
  • Manifest:是描述檔案集合的資料結構。它指定路徑和相應的内容散列,允許基于url的内容檢索。
大羽超算 | 一文了解Swarm技術架構

上圖顯示了一個請求是如何通過Swarm呈現的。塊由page.html或page.css這樣的散列資訊表示,每個塊包含Manifest中的一個引用,告訴請求者如何檢索和呈現資訊。

接下來給大家說說上傳過程是如何進行的,以及資訊如何進行分布式存儲。

大羽超算 | 一文了解Swarm技術架構

如上圖所示,Swarm節點在收到一個blob後,會将blob分割成較小且相等的資料塊,然後将資料塊分布到不同節點中,這些節點會根據每個資料塊的時間戳自動同步資料,DPA将選擇哪些節點存儲哪些塊。

最後,每個bin(0,1,…,31)都會顯示相同位址上的節點如何存儲相關的塊。

STEP 2

 Swarm存儲層是如何組成的 

Swarm的實際存儲層由兩個主要元件組成,分别是LocalStore和NetStore。

LocalStore:由記憶體中快速緩存(Memstore)和持久磁盤存儲(DBStore)組成。

NetStore:将LocalStore擴充為Swarm的分布式存儲,并實作了DPA。

FileStore是存儲和檢索檔案的本地接口。當檔案被交給FileStore進行存儲時,它将文檔分割成一個Merkle散列樹,然後和密鑰一起傳回給調用者。

最後,FileStore使用Swarm散列,并使用NetStore為使用者檢索文檔的根塊。 

大羽超算 | 一文了解Swarm技術架構

從終端使用者的角度來看,Swarm不會影響導航或行為。

在背景,不同之處在于内容托管在對等存儲網絡上,而不是單獨的伺服器上。

由于内置激勵機制,這種點對點網絡能夠自我維持。隻有使用公共區塊鍊,允許交易資源支付,激勵才有可能。

Swarm旨在與以太坊的DevP2P多協定網絡層以及以太坊區塊鍊進行深度內建,用于域名解析(ENS)、服務支付和内容可用性保險。

STEP 3

 Swarm、IPFS、Filecoin關鍵差別

Swarm的核心存儲元件不是一個通用DHT (IPFS使用DHT)。而是一個不可變的内容位址。

Swarm、Filecoin和IPFS它們使用不同的網絡通信層和對等管理協定。

Swarm與以太坊區塊鍊深度內建,激勵系統既受益于智能合約,也受益于半穩定的對等池。Filecoin使用可檢索性證明作為挖掘的一部分,而IPFS沒有内在的激勵機制。

總之,對比于市場上之前的明星項目,Swarm擁有雄厚的背景。Swarm基于以太坊團隊進行開發,在區塊鍊行業前景上擁有很大的優勢,并且其技術方向有很大的潛力。

大羽超算早在2020年10月份就開始關注Swarm項目,很早就進行了Swarm的節點部署。擁有豐富的經驗,以及專業的技術團隊, 與Swarm共同成長,共同助力Web3.0時代。

繼續閱讀