Storj —— 顛覆 AWS 的分布式存儲網絡

2023-05-12 09:11 Buidler DAO


作者:@wenchuan

文章速覽

01/ Storj 簡介

02/ 業務介紹

03/ 業務特點

04/ 業務現狀

05/ 代幣經濟

06/ 總結

關鍵信息

  • Storj 主要面向企業級客戶,旨在規模和性能上取代 AWS,同時兼容 S3;

  • Storj 較少使用區塊鏈技術,在中心化上有妥協,依賴衛星進行協調;

  • Storj 的用戶多爲 Web2 公司,期待成爲 Web2 與 Web3 之間的橋梁;

  • Storj 商業化進程較快,其業務收入在 Web3 各類基礎設施中爲第一;

Storj 簡介

Stroj 是一個去中心化的內容存儲和分發網絡,旨在提供快速、安全、低成本的 P2P 雲存儲服務, 主要針對企業級客戶,對標 Amazon Web Services (AWS) S3。

Storj 於2014年成立,2017年上线,Storj 目前運行的版本名爲 Storj Next,於2023年2月啓動,該版本引入了永久存儲功能和代幣存儲獎勵。

業務介紹

去中心化存儲服務,簡單來說就是用戶將需要存儲的文件上傳到網絡,文件被分散存儲到世界各地愿意貢獻出存儲空間的電腦中(存儲節點),當用戶需要使用文件時,再從網絡中檢索文件的位置,然後下載到本地電腦中。

不同於其他的去中心化存儲網絡,Storj 網絡中不僅有用戶和存儲節點,還加入了衛星作爲第三種角色,三者間形成了一種獨立運作,又相互依存的關系。

  • 用戶:使用 Uplink 客戶端進行內容傳輸,Uplink 負責數據加/解密及分片。

  • 衛星:連接用戶與存儲節點,網絡中的協調者。負責存儲節點地址信息,元數據、維護節點聲譽、支付及管理節點費用、審計節點、管理用戶账戶授權。衛星便會幫助用戶尋找上傳速度最快的節點,同時記錄用戶端和節點的支出和收益。

  • 存儲節點:爲用戶提供存儲空間和網絡帶寬。

網絡中的三類參與者,資料來源:Storj 白皮書

在用戶、衛星、存儲節點之間,Storj 的技術架構主要圍繞數據存儲、數據檢索、數據修復來進行,爲了維護系統的正常運營,還設計了數據審核以及對衛星和存儲節點的聲譽管理。

數據存儲

針對存儲數據,目前主要有兩種方法:存儲完整文件和使用糾刪碼。

Storj 採取了糾刪碼,在擦除編碼中,數據被分解成固定大小的片段,每個片段都被擴展並用冗余數據編碼, 保存到每個片段中的冗余數據使得只需要片段的一個子集就能重建原始文件。

這意味着在 Storj 網絡中,當一個文件被傳輸時,它不是一次性傳輸的,而是將文件分解成段、條帶等更小的數據單位結構,逐一驗證傳輸。這樣拆分傳輸確保了存儲節點因不能離线以避免接收和存儲完整的文件。

以下是 Storj 對數據分片而定義的數據單位:

Bucket(桶),由路徑標識的文件集合,每個文件在每個桶中都有唯一的路徑。

Segmenet(分段),表示單個字節數組,介於0和用戶可配置的最大段大小之間。

Strips(條帶),條帶是分段的進一步細分,條帶是固定數量的字節,用作加密和糾刪編碼邊界大小。糾刪編碼單獨發生在條帶,條帶也是執行審計的單位。

Erasure Share(糾刪片段),當一個條帶被擦除編碼時,就產生了多個稱爲擦除份額的片段。只需要一個擦除份額的子集來恢復原始條帶。每個糾刪片段都有一個索引標識它是哪個糾刪片段。

Piece(分片),同一個段的具有相同索引的擦除份額被串聯在一起,這個串聯的擦除份額組被稱爲一個片。

Pointer(指針),指針是一個數據結構,它可能包含內聯段數據,可能追蹤存儲遠程段的片的存儲節點。

文件存儲結構,資料來源:Storj 白皮書

數據檢索

在使用擦除代碼將存儲數據分片存儲到不同的存儲節點上後,需要跟蹤存儲的數據,以便在需要的時候能夠快速定位。

在 Storj 網絡中,使用衛星來管理和跟蹤數據存儲的位置。數據在擦除代碼後,會形成一個指針,Storj 網絡的其他單個組件主要與指針數據庫進行通信,按路徑存儲和檢索指針,以執行行動。指針是元數據存儲系統中主要存儲內容,而元數據則是存儲在衛星之中。

數據審計

Storj 是一個無信任的系統,驗證存儲節點是否准確地存儲了數據以及其他方面的行爲是否符合預期,對於系統的平穩運行至關重要。

在證明數據的存儲方式時,每個網絡都採用自己獨特的方法,而審計就是確認存儲節點擁有數據的一種方式。

在 Storj 中,衛星負責審計,衛星會向存儲節點發送請求以證明它實際存儲了預期的數據,並期待一個有效的響應,有足夠多的存儲節點返回正確的信息時,任何有問題或缺失的響應都可以很容易地被識別出來。

對比其他的系統多使用的可檢索證明(如 Merkle樹),審計的優勢是可以在沒有預先生成挑战的情況下任意運行,預先生成的挑战會導致存儲節點存在欺詐行爲,不存儲所有請求的數據,只保存挑战驗證中需要的數據。

數據修復

在任何分布式存儲系統中,數據丟失都是一個永遠存在的風險。雖然文件丟失有許多潛在的原因,但與其他原因相比,Storj 認爲存儲節點流失將是其網絡中數據丟失的主要原因。

因爲審計已經驗證過節點是否正確存儲了數據,接下來就是檢測存儲節點離开網絡或錯誤地存儲數據的時間點,然後將它的數據修復到新的節點。爲了修復數據,我們通過編碼擦除從剩余的片中恢復原始數據,然後重新生成丟失的數據片,並將其存儲到網絡中新的存儲節點裏。

聲譽管理

衛星作爲系統中的協調者,越需要接受來自存儲節點的審查。新的衛星加入時,存儲節點需要通過時間去建立對它信任,針對不信任的衛星,存儲節點能針對來自該衛星的數據設置最大存儲量限制。此外,Storj Labs 會建立一個推薦衛星名單,該名單的衛星會被要求遵守一套嚴格的質量控制和支付服務水平協議(SLA),並與 Storj 實驗室籤署一份商業協議。

而針對存儲節點的聲譽管理由四部分組成:

  • 工作證明(PoW)身份系統:存儲節點要進入網絡並與衛星通信,必須通過 PoW 謎題來證明節點運營商是有投入成本的,謎題的難度由衛星設定。

  • 審核過程:未經審核的存儲節點會作爲備選節點,但也允許存儲數據。

  • 篩選系統:那些審核失敗、不能返回數據、速度太慢或沒有足夠的正常運行時間的節點被衛星取消了節點資格,將重新啓動審核程序以重新進入網絡。

  • 偏好系統:基於存儲節點的延遲、可靠性和正常運行時間的歷史、地理位置等特性,表現越好的節點中能存儲的新數據的量會更大。

Storj是一個無信任的系統,本質上而言,就是一個基於聲譽的去中心化存儲網絡。

定價及支付

在用戶、衛星、存儲節點之間,用戶通過 Uplink 支付費用給衛星,衛星負責向存儲節點支付存儲及帶寬費用,存儲節點負責提供存儲和檢索要求。

對存儲節點而言,其收費標准由 Storj 設定,由衛星以 Storj 代幣的形式支付。存儲費爲$1.5/TB/月,輸出帶寬$20/TB,數據審計和修復的帶寬費用$10/TB。

對用戶而言,使用 Storj 的成本由存儲費和帶寬費組成,用戶可以選擇以 Storj 代幣或法幣支付。用戶可以在 Storj 獲得150GB/月的免費存儲和帶寬服務;或選擇付費账戶,存儲費$4/TB/月,帶寬費$7/TB/月。

但是用戶的成本和存儲節點的收入並不等同。

作爲一個公共網絡,存儲節點可以自行選擇離开或留下,爲了讓節點保持長期活躍,且提供更高的帶寬,Storj 扣留了一定的收入,扣留的部分隨節點在網絡中活躍的時長逐步下降。

第1-3個月:75%的收入被扣留,25%被支付給節點運營商

第4-6個月:50%的收入被扣留,50%被支付給節點運營商

第7-9個月:25%的收入被扣留,75%支付給節點運營商

第10-15個月:存儲節點收入的100%支付給節點運營商

15個月以後,退回前期預扣款的50%;當存儲節點要永久的離开網絡時,可以要求退回另50%預扣款。

業務特點

兼容AWS S3

目前,部署最廣泛的公共雲是 AWS S3,其生態服務系統完備,且具備先發優勢。作爲 S3 的對標業務,Storj 的設計兼容 S3,支持 S3 的7個核心 API,這種兼容性爲 Storj 用戶極大地降低了轉移成本。

爲了吸引更多的用戶,Storj 允許之前不兼容 S3 的產品通過 Storj 以最小的摩擦成本兼容 S3;同時,這也增加了對 Storj 性能和耐久性的要求。

最小S3 API,資料來源:Storj 白皮書

糾刪碼技術及優勢

糾刪碼技術

因爲存儲節點存在永久離线的可能性,爲了確保數據的耐用性(出現故障時仍舊可以訪問數據),目前去中心化存儲服務產品多選擇數據復制(存儲完整文件)來解決該問題,但這會在帶寬使用上極大地增加數據存儲的總成本。

相比數據復制,糾刪碼允許以低擴展因子實現數據的高耐久性,並且在帶寬有限的情況下,大幅度降低帶寬佔用率,是一種提更有效的存儲方式,

Storj 網絡使用了 Reed-Solomon 糾刪碼,Storj 爲每個存儲對象選擇4個數字,k,m,o,n,使得它們之間的關系爲 k≤m≤o≤n:

  • K:重建數據所需的最低片數要求

  • M:最低安全值,相當於重建數據的安全緩衝

  • O:最佳值,能夠應付節點波動的緩衝區

  • N:長尾冗余(創建過程中產生的總片數)

其中,K 和N 是糾刪碼中的標准模板;M 值,如果衛星監測到冗余片數小於 M 值,則會觸發數據修復,以確保足夠的冗余。

k,m,o,n 的關系,資料來源:Storj 白皮書

糾刪碼的優勢

糾刪碼的使用在將爲存儲網絡帶來各種優勢:

其一,針對視頻、音頻等流媒體的傳輸,因爲糾刪碼將數據分片,流媒體可以通過每次對小部分數據進行編碼來添加,而不是對一整個文件進行一次性編碼。

其二,糾刪碼能夠有效避免長尾響應。

長尾響應發生在這樣的情況下:由於各種不可預測的因素匯合在一起,需要的服務器有一個不合理的緩慢操作時間。長尾響應之所以被稱爲長尾響應,是因爲它們的平均發生率很少,但具有高度的可變性,在概率密度圖中看起來像一個 "長尾",長尾響應是分布式系統設計中的一個大問題。

在實際的應用中,上傳一個文件,文件被編碼成比所需的耐久性保證更高的(K,N)比率,完成 O 片上傳後,剩余的(N-O)片就能被取消上傳,這意味着,整個上傳速度是以一組節點中速度最快的節點爲准,而不需要等待使用速度較慢的節點。

對於 Storj 主要面對的企業級客戶,這滿足了其對高穩定性的需求,每個請求都可以由參與節點中的速度最快的節點來滿足,這也是分布式存儲網絡的潛力所在。

上傳與下載的不同結果,資料來源:Storj 白皮書

用戶多爲 Web2 公司

在 Storj Next 版本中,Storj 增加了永久存儲、代幣激勵等更加迎合 Web3 社區的功能,但實際上,其客戶仍舊以 Web2 爲主,這也是 Storj 有別於其他去中心化存儲服務的地方。

存儲市場巨大,而其中的用例需求也各有不同,Storj想要成爲 Web2  與 Web3 之間的橋梁。

業務現狀

存儲節點數據

截至2023年3月初,Storj 有6個穩定運行的衛星,22600個活躍節點,34000+個注冊账戶。

Storj 存儲節點數據,數據來源https://storjstats.info/

Storj 衛星數據,數據來源:https://storjstats.info/

數據儲存量

根據 Messari 的數據可以看到,在2022年底,Storj 的存儲利用率最高,爲38%;其可用存儲空間及已用存儲空間相較2021年分別增長70%、176%,增長率可觀。

Storj 2022年數據,數據來源:Messari

截至2023年3月,Storj 上累計可用存儲空間30.3PB,累計已用存儲空間18.4PB,累計存儲利用率爲61%。

Storj 累計存儲數據量,數據來源:https://storjstats.info/d/storj/storj-network-statistics?orgId=1

網絡費用

Storj 的30天直接網絡費用位於各 Web3 基礎設施層的首位,遠遠超過存儲賽道龍頭之一的 Arweave,這也說明相較於其他同類產品,Storj 的商業落地能力強。

注:Filecoin 目前正處於補貼存儲成本階段,其存儲費用幾乎爲零,未被 Web3 Index 收納。

Storj 收入,數據來源 :https://web3index.org/

代幣經濟

代幣分配

STORJ 是基於以太坊網絡的代幣,其總供應量是固定的,共4.25億個。截至2022年底,4.25億個 STORJ 中,有2.617億個是公开流通的,1.633億個由 Storj Lab 托管。

Storj 代幣數據,數據來源 :https://www.storj.io/blog/storj-token-balances-and-flows-report-q4-2022

作爲去中心化存儲服務網絡,Storj 希望存儲節點運營商能長期運營,衛星運營商能建立長期業務,在這之間,作爲支付媒介的 STORJ 代幣是至關重要的,而建立可預測的 STORJ 代幣流動性對維護網絡的長期運營更是重中之重。

2017年銷售了7500萬個代幣後,Storj Labs 持有2.45億個代幣,Storj 對這些代幣設置了一個長期滾動鎖定計劃。2.45億個代幣均分爲8個批次,每批3062.5萬個,每季度解鎖一批,連續八個季度,若沒被轉爲運營儲備,代幣將重復鎖定。如果鎖定時間有所改變,或 Storj Lab 想要將鎖定的代幣轉爲運營儲備,Storj 承諾提前45天宣告(原本爲90天,隨着市場波動逐步調整爲45天)。

Storj代幣鎖定計劃,數據來源 :https://www.storj.io/blog/using-timelocked-tokens-to-support-long-term-sustainability

Storj 想通過上述鎖定計劃,讓不同的生態參與者對 STORJ 代幣持有長期信心,以此實現 Storj 網絡的潛力。

代幣價值捕獲

STORJ 代幣主要用來支付存儲和帶寬費,此外,Storj Labs 員工的部分薪資也是以 STORJ 代幣支付。

在 Storj Lab 的愿景中,不計劃讓 STORJ 代幣成爲數字貨幣、證券、商品或任何其他種類的金融工具,故 STORJ 主打支付功能的機制難以激勵生態用戶長期持有代幣,無疑這影響了代幣的價值累積。

近期,Storj 宣布網絡參與者可以通過存入 STORJ 獲得獎勵,在一定程度上,這更加貼合了 Web3 客戶的使用習慣,增強了用戶的代幣持有意愿。

總結

Storj 是一個着重 SLAs 級服務的去中心化存儲服務,相比 Filecoin 的去中心化、Arweave 具備的 Smartweave 智能合約系統,Storj 沒有利用區塊鏈技術,且在中心化上有妥協,但這也讓它在商用落地上領先於其他同類項目。

在各種去中心化存儲方案中,沒有任何一種方案是絕對佔優勢的,都只是項目方針對其目標用例在產品設計上進行的權衡取舍。

就 Storj 本身的目標 —— 在規模和性能上取代 AWS3 —— 以及其對視頻存儲與管理的性能的提升和與 Web3 社區更好地結合,Storj 有極大的潛力成爲最具商業競爭力的企業級去中心化存儲服務商。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

標題:Storj —— 顛覆 AWS 的分布式存儲網絡

地址:https://www.sgitmedia.com/article/47.html

相關閱讀: