一文看懂去中心化分佈式存儲IPFS

一文看懂去中心化分佈式存儲IPFS/FileCoin去中心化存儲系統分為兩部分IPFS和FileCoin。IPFS是去中心化存儲網絡,是一個協議是基礎設施,比如水電,機場,公路,房子。Filecoin是IPFS存儲的激勵層,類似上層建築,比如水電房子公路如何收費,如果分配。具體到存儲,FileCoin類似存儲交易所,通過付費方式撮合存儲交易並提供保障交易執行的制度。

IPFS的功能可簡單類比目前的BT下載+內容尋址(分佈式哈希表DHT)。我們知道BT種子的發佈和下載的流程是用戶製作種子文件並上傳到中心化服務器(百度雲盤,Bt論壇),然後用戶通過種子論壇,百度搜索種子文件,下載種子文件後通過迅雷等下載軟件下載內容,但是一旦百度禁止,種子就找不到了。

同時種子文件對應的原始數據源節點信息也是由中心化的下載軟件比如迅雷維護的,它負責告訴你哪些節點有該數據,是中心化的,如果迅雷出故障或者屏蔽,你是不可能下載的。

一文看懂去中心化分佈式存儲IPFS/FileCoin


而IPFS系統中,通過DHT,大量節點保存有種子及數據源節點信息,一個節點掛掉,還可以從其他節點獲取這個種子及數據源信息,然後和對應節點建立連接傳輸數據,是去中心化的,不存在單點故障。當然IPFS具體技術設計還是有不少差異的,也新增了額外的功能。簡單來說,IPFS就是一個去中心化的按內容尋址的分佈式存儲系統。

IPFS解決了分佈式存儲和查找,傳送數據,但是沒法保證數據的穩定存儲。就像BT下載一樣,我們可能找到了一個種子,但是下載時發現速度為0,這可能是因為保存有該種子數據的節點已經刪除了該數據或者禁止了數據上傳。IPFS也一樣,其他節點是自願存儲網絡的其他節點的數據,沒有強制性規範,任何節點是可能也可以隨時清理數據的。

一文看懂去中心化分佈式存儲IPFS/FileCoin


一文看懂去中心化分佈式存儲IPFS/FileCoin


但是事實上,持久性確定性的數據存儲需求是廣泛存在的,這個需求的解決方案也很明顯----有償存儲。一部分節點(客戶方)希望出錢讓別人幫忙存儲數據,而有些節點(存儲方)有空閒空間,如果有錢賺也是非常願意存儲的。

不像中心化的阿里雲提供的雲存儲,阿里雲是大企業,大家信任他。而在IPFS系統中,節點是小個體,客戶方和存儲方是陌生人,是沒有任何信任的,雙方對數據存儲量,存儲時間,是否違約等都沒法信任。因而需要代碼制度規範這個交易建立信任,如果存儲方違約,代碼就可以懲罰它,且可以有多個存儲方,從而一個存儲方節點違約(清除數據)也不會影響到數據的安全性。這個代碼制度規範就是FileCoin。

FileCoin核心技術

那FileCoin定義了哪些規範來保障存儲安全呢?核心是兩個證明

複製證明(Proofs-of-Replication)

簡單來說,就是存儲方需要證明自己已經將客戶方的數據複製到指定的物理設備上了。 同時客戶方為了加強數據安全性,他可能要求存5份完整的相同文件在存儲方的物理機器上以冗餘備份。

但是如何確保存儲方真正存儲了5份,而不是隻存儲了一份呢?因為存儲方可能等到驗證的時候再複製出4份,這就還需要證明存儲方獨立存儲了每份副本,具體而言需要解決防禦如下攻擊。

一文看懂去中心化分佈式存儲IPFS/FileCoin


從上表格可知防範措施的核心是Cipher block chaining這些類似算法, 那它又是如何做到編碼慢而解碼快呢?數據被分割多次編碼,且編碼過程是串行的,也就是後一個計算單元依賴於前面一個計算單元的編碼結果:

一文看懂去中心化分佈式存儲IPFS/FileCoin


左側是一個有向圖,計算單元c2的編碼是要依賴於c1的編碼結果。我們不可能同時進行C1和C2,圖上的其他箭頭也是如此。為了完成整個數據的編碼,我們需要持續編碼5次,這樣我們的整個延長了編碼時間。

而解碼則可以並行,也就是說我們可以一次解碼從C1到C5的所有單元對應的數據,這樣大大提升瞭解碼速度。但該算法仍有弊端,依賴關係比較單一,也就是後面的單元僅僅依賴於前一個單元。

所以filecoin團隊在最新的論文裡提出了用depth robust graph來編碼數據,depth robust graph 上節點之間的依賴關係更強,可以更好的抵禦攻擊。右側同樣是一個含有5個節點的有向圖,但是計算單元之間的依賴關係更復雜。算法具體實現細節請查看:https://eprint.iacr.org/2018/678.pdf。

上面的編碼協議定義了數據如何被seal來避免上面的攻擊, 但是具體如何檢驗的呢?

用戶和系統都會發起隨機挑戰,給出一個隨機數,讓存儲方給出證明。具體採取了類似Merkle樹的證明方法,一個數據備份被分割為很多小塊,形成merkle樹,樹根Root就是副本的hash值。當用戶或者系統要挑戰存儲方時,只需提出隨機挑戰請求,比如驗證節點挑戰位置12,那麼礦工就需要計算從葉子節點D12到根節點Root的路徑,輸出一個證明給發起挑戰的驗證節點。(Merkle證明的相關知識可以看

https://blog.csdn.net/ITleaks/article/details/79992072)

一文看懂去中心化分佈式存儲IPFS/FileCoin


時空證明(Proofs-of-Spacetime)

存儲收費不僅和數據的佔用空間有關,更和存儲時間相關。因而如何生成時空證明也很重要。時空證明是連續時間的大量的複製證明形成的證明鏈, 具體機制如下。

一文看懂去中心化分佈式存儲IPFS/FileCoin


具體算法過程請查看:https://filecoin.io/filecoin.pdf

FileCoin角色

存儲礦工

存儲數據及挖礦出塊,存儲的數據包括兩部分:

用戶數據seal後的數據

鏈上數據的副本

filecoin鏈本身的數據也是分佈式存儲的,每個礦工有副本。

檢索礦工(CDN礦工)

真正存儲用戶數據的礦工可能離查詢服務的用戶很遠,這時查詢服務的用戶下載數據的速度很慢甚至連接不上,這時就出現為提高速度和服務的礦工來緩存數據以提供更好服務,這個非常貼近CDN服務。具體方式可能有:

存儲熱門數據(非存儲礦工),並全球分佈式部署,以提供更優質服務。

自己也可同時擔任存儲礦工角色,就像阿里雲也提供CDN服務。

可以從filecoin網絡有償獲取,也可以從IPFS網絡免費獲取。

檢索客戶和存儲客戶

檢索客戶是指那些從filecoin獲取數據內容的用戶。存儲客戶是指那些希望filecoin網絡為自己存儲數據的用戶。

FileCoin基本概念

filecoin本身也是一條鏈,所以公鏈裡的概念,filecoin也有。

Actor

filecoin裡的actor類似ETH, EOS裡的賬號, 有一個地址和它綁定。感覺FileCoin這個是參考以太坊的,這個Actor結構對以太坊的Account數據很像。code是該actor的代碼,Head是該賬號狀態數據樹root, balance是該actor 代幣FIL餘額。

一文看懂去中心化分佈式存儲IPFS/FileCoin


Message

message對應ETH,EOS裡的交易。filecoin的交互以message的方式發起,比如發起存儲需求。一個Message包含發起actor地址,目標actor地址,金額,調用的函數以及參數。

和EOS一樣,Message也是用來執行的,執行結果保存在狀態數據裡,不像EOS狀態數據保存在chainbase裡,filecoin狀態數據以IPLD的方式存儲,IPLD也是IPFS採用的數據結構,filecoin複用了。

一文看懂去中心化分佈式存儲IPFS/FileCoin


區塊

filecoin的區塊是用來打包message的。filecoin的區塊信息和以太坊的區塊信息很像,包含礦工的地址,區塊高度,權重,交易,狀態merkle root,PoSt證明。PoSt證明對應POW裡的隨機碰撞Nonce值,用來證明該區塊的算力(權重)。

一文看懂去中心化分佈式存儲IPFS/FileCoin


挖礦共識算法

我們知道ETH的POW誰先算出hash值誰就是合法區塊打包者(Leader),EOS的DPOS 21個超級節點輪到誰了誰就打包。

FileCoin也有對應的共識協議。理論上來說,filecoin可以使用任何共識協議比如POW和DPOS。但是既然存儲天然是一個可衡量和有成本的資源,Filecoin使用Proof-of-Spacetime(PoSt)就是很自然的了,PoSt是filecoin在驗證礦工數據存儲真實性的時候產生的。礦工的當前存儲數據相對於整個網絡的存儲比例轉化為礦工投票權(voting power of the miner)。

幹活的同時把礦也挖了,是不是太環保太完美了。這個有點像BTM號稱的AI友好的POW挖礦,挖礦的同時做AI計算,但是BTM的這個POW實際落地和應用價值只是呵呵了,但PoSt挖礦可是實實在在的邊存儲邊挖礦。 filecoin每一個週期裡,該算法預期選舉出一個Leader,但是也有可能選舉出來多個Leader。

被選舉出來的leader創建新block,並把新的block對網絡進行廣播。由於同一高度可能有多個Leader,因而也是可能存在短暫分叉的,但是最後確定的主鏈以最大PoSt量的鏈作為主鏈。

一文看懂去中心化分佈式存儲IPFS/FileCoin


星際雲庫介紹

星際雲庫是一家專注IPFS服務器研發、生產、銷售、託管為一體的IPFS綜合服務的軟硬件提供商。

公司研發團隊技術實力雄厚,科研小組於16年開始研究IPFS,並與官方保持密切聯繫。科研團隊是全球第一個服務器研發團隊參加了IPFS開發者大會。

公司網絡資源豐富,星際雲庫已經與世紀互聯(納斯達克上市代碼:VNET)達成戰略合作,可以分佈式佈局在全國多個大中型城市,100多個機房。目前正在全國及海外建立分佈式雲節點網絡。

公司海外事業部已打通倉庫、海關、空運、清關、報稅、歐洲裝機等一系列服務器出海問題。在瑞典核心城市斯特哥爾摩建成了第一個自建IDC機房。所以我們星際雲庫雲節點服務器可以達到全球分佈式搭建,主要用於IPFS骨幹網節點的建設及獲取數據存儲代幣FILE的獎勵。

一文看懂去中心化分佈式存儲IPFS/FileCoin


廣州總部位於蘿崗萬達廣場頂級寫字樓

一文看懂去中心化分佈式存儲IPFS/FileCoin


星際雲庫廣州總部 IPFS俱樂部

一文看懂去中心化分佈式存儲IPFS/FileCoin


星際雲庫位於瑞典的辦事處

一文看懂去中心化分佈式存儲IPFS/FileCoin


星際雲庫與世紀互聯合作-廣州連雲數據中心

星際雲庫雲節點礦機

雲節點礦機就是分佈式最大化收益節點分配礦機。所有礦機必須具備獨立的公網IP,良好的網絡帶寬(專線接入),統一的運維管理才能具有節點收益最優化,公平化。

雲節點在IPFS分發任務中相當於一個大型分佈式網絡,不管儲存任務在哪個位置,都能保證周圍都有符合“優選條件”的節點礦機率先接到任務併產生區塊,得到代幣獎勵。

建設雲節點礦場至少比單區域礦場的存儲能力,檢索能力和出塊能力高出3倍以上。雲節點礦機完全遵循了分佈式網絡的核心思想即共享生態,做到人人挖礦,節點共享。

一文看懂去中心化分佈式存儲IPFS/FileCoin


星際雲庫廣州數據機房機器上架國內外分佈式部署機器讓挖礦更有保障

一文看懂去中心化分佈式存儲IPFS/FileCoin


一文看懂去中心化分佈式存儲IPFS/FileCoin


一文看懂去中心化分佈式存儲IPFS/FileCoin


IPFS智能礦機監控分析系統

一、硬件監控:硬件使用情況監控,CPU、寬帶、內存的使用率各種數據。

二、節點監控:數據的讀寫情況,訪問本節點的其它節點數量情況。

三、冷熱數據監控:礦機存的數據是否是熱門數據。

四、數據存儲及提取情況:每天礦機存儲數據量及提取量。

五、批量佈署、軟件安裝及更新、任務分發。

六、硬件巡檢:硬件一旦有問題自動報警。

七、網絡負載均衡。

一文看懂去中心化分佈式存儲IPFS/FileCoin


星際雲庫,IPFS深度合作商,瞭解真正的行情局勢!

頂級技術團隊,打造最強雲節點!

專屬託管服務,持久的收益,讓你躺著賺錢!

生態礦池,佈局全國全球市場!

替代HTTP,開啟互聯網2.0時代!

顛覆互聯網的存儲項目,站在IPFS巨人的肩膀上,踏進最風口的行業!

你,準備好了嗎?



分享到:


相關文章: