誰是更好的去中心化雲存儲? Filecoin vs Storj設計要點和實測PK
头等仓-区块链研究院
2020-11-02 10:56
本文约20129字,阅读全文需要约81分钟
Storj在亞洲表現稍弱,Filecoin機制存在重大缺陷。

編者按:本文來自頭等倉區塊鏈研究院(ID:first_vip1),Odaily經授權轉載。

,Odaily經授權轉載。

,Odaily經授權轉載。

是時候有理有據的對存儲天王Filecoin潑個冷水了。

二級標題

二級標題

二級標題

前言:去中心化雲存儲的探索

去中心化雲存儲賽道,目前能存東西的項目頭等倉只看到四個:Filecoin、Storj、Arweave、SiaCoin。

SiaCoin過分中心化(一共就倆礦池,而且其中一個和項目方關係千絲萬縷,詳見頭等倉財富代碼第13期),並且激勵機制存在嚴重問題,已經不值得關注。其餘三個,Arweave實際上另立門戶,做的是永久儲存的“亞歷山大圖書館”,這條道路和天花板都要另外考量,估值也要另外算,嚴格來說,Arweave和Filecoin不適合做橫向對比。

而真正能算得上在去中心化雲存儲賽道主戰場上正面PK的重量級選手,其實只有Filecoin和Storj。

毫無疑問,它們在去中心化雲存儲這件事情上,選擇了兩個完全不同的方向:

Filecoin不惜一切代價也要先實現區塊鏈極客心目中完美的去中心化,存儲性能和體驗先不論;而Storj在節點去中心化實現的基礎上,重點精力在於提供高SLA服務標準、高穩定性的性能,以滿足企業級存儲的高要求,並且降低了高昂的費用,以面對長尾企業市場挑剔的實用需求。

(頭等倉在持續數日的實測中發現,Filecoin由於激勵機制存在的重大缺陷,導致礦工有比較高的中心化風險,這一點在第2點和第16點中有詳細展開)

二級標題

二級標題

二級標題

一、Storj和Filecoin在去中心化程度、激勵機制、代幣模型、產品定位….等等方向的深度對比

1、產品定位:Filecoin願景宏大,但現實落差較大,Storj願景較小,但目前落地較好

Filecoin的主要定位是作為IPFS的激勵層,解決IPFS目前的效率問題,核心點是去中心化,主要的目標群體應該是那些追求數據所有權自由的去中心化極客以及DAPP們。我們不認為傳統的存儲需求會在目前這個階段轉到Filecoin網絡上來,因為目前對Filecoin存儲能力實測的結果實在是大跌眼鏡。

Storj的主要定位是對標亞馬遜S3的去中心化雲存儲平台,類似於Uber的角色,整合利用閒置資源輸出為標準統一的產品,其主要的用戶群體為所有使用亞馬遜S3存儲服務的用戶,Storj提供同樣的SLA服務標準,更快的上傳下載速度,更好的隱私性,去中心化,而且價格僅為亞馬遜同類產品的一半。

Storj的三個角色之間的關係如下:用戶端發出需求,並上傳下載數據,節點負責存儲和給用戶端下載數據,衛星則承擔了一系列重要的角色:在上傳下載時為用戶端選擇最快的節點,給用戶端和節點兩邊記錄支出和收入,記錄用戶儲存文件的“位置”,以及存儲節點的“信譽數據”——你可以認為衛星給節點建立了一套類似於支付寶信用分的信用系統用於管理存儲節點。不可否認,衛星的存在,讓Storj在網絡結構上相對偏中心化一些,同時衛星也存在單點故障風險,也就是說如果衛星被攻擊,爆炸了,那所有通過該衛星存儲的內容都會丟失。不過Storj官方對此的解釋是:衛星不是單一服務器,是服務器集群,不會輕易故障,且未來會有計劃開放衛星,讓任何人都可以建衛星。

圖片描述

圖片描述

圖2:Filecoin白皮書裡的架構圖,表現了礦工市場和檢索市場結構

圖片描述

圖片描述

圖片描述

圖3:圖2的簡明示意圖

雖然我們認為從架構設計上來看,Filecoin會更去中心化一些,但是,在去中心化程度方面,Filecoin是妥妥的贏了嗎?

圖4:Storj的節點分佈圖,可以看到亞洲稀少的節點分佈,節點數8000+

圖片描述

圖片描述

圖片描述

圖5:Filecoin的礦工節點分佈圖,截至2020/10/27,礦工數685

因此,網絡架構是否去中心化這一輪,算是各有勝負,從網絡結構的角度看,顯然Filecoin贏了,而從節點數量上看,卻是Storj贏了,而從節點分佈上看, Filecoin又贏了。

但在這裡需要補充一個我們認為的Filecoin機制設計的重大隱患:

由於封裝扇區需要較大運算,所以Filecoin的礦機門檻極高,這決定了Filecoin的礦工節點數量一定會受限,而且大多數集中在數據中心機房。假設有個用戶存了100部電影,每部電影10GB,總量1TB的數據在一個礦工硬盤裡,當有1000個用戶同時要看這些電影的時候,產生的流量就有可能達到1000MB/S,礦工的帶寬將成為瓶頸,因為高帶寬同時意味著高成本,而下載環節,作為存儲礦工角色提供下載帶寬和流量這一環節收入為零,只有檢索礦工會收取零星的一點檢索費,而實測得到的數據來看,這檢索費遠遠遠遠低於(成千上萬分之一)帶寬支出,Filecoin雖然有設計未來會提供一部分的區塊獎勵來給檢索礦工,但目前仍然是紙上談兵,我們認為,帶寬瓶頸有可能將會成為Filecoin存儲的死穴。未來由於小礦工設備封裝能力低(詳情見第4-7點),大礦工對文件的封裝速度更快,所以用戶文件存儲大部分都會流向大礦工,這也將加劇這個瓶頸問題的爆發。我們將持續重點觀察。

3、代幣模型:Filecoin無懸念勝出

Filecoin的代幣模型,結合存儲業務來說,我們認為是一種業務補貼模型,由系統發行代幣,補貼礦工高昂的礦機成本,讓礦工可以通過系統發行的代幣(俗稱挖礦獎勵)來快速收回硬件成本。最後,由二級市場的投資者接盤維持高幣價,來對成本買單,這是典型的羊毛出在豬身上的策略。當礦工通過補貼(挖礦)的代幣收入來收回硬件成本,就不再需要擔心硬件成本問題,所以礦工就可以對外提供不計成本的雲存儲服務,這就是頭等倉思考的Filecoin經濟模型的本質。這樣的經濟模型,在於存儲價格上,是非常有優勢的,這就像之前廣州的一位網紅牛雜店老闆一樣,牛雜一大碗就收你五塊,因為人家拆遷家裡有10棟樓在收租,人家不靠牛雜店賺錢。這樣的經濟模型,我們認為在提供遠低於市場價格的雲存儲產品方面,是有很大優勢的。另外,在於激勵礦工,擴大網絡規模上,也有不錯的成效,不過在挖礦機制設計上,顯然對礦工們是太狠了,這個另說(第4點有詳解)。整體來說,我們認為Filecoin的代幣機制設計,應該要優於Storj。

Storj的代幣機制設計,並沒有多少設計,就是單純的把Storj當成公司的證券+貨幣來流通。 Storj的經濟模型設計還是基於偏傳統的做生意的概念來設計的經濟模型,就是有用戶存入1TB數據,通過糾刪碼冗餘後,會分散到80個礦工上進行存儲,總共佔用大家2.7 TB的空間,然後跟用戶收10美元,給到礦工1.5美元/TB*2.7 TB=4.05美元,然後剩下的4美元里面1美元給合作夥伴,3美元團隊自己留下。還剩下2美元是做一些營銷活動或者雜費支出之類的。這是一個很傳統的經濟模型設計。業務的增長和代幣的價格增加之間,關係比較弱。可以說Storj的代幣模型設計跟業務結合不緊密。

作為和以太坊同時期成立的項目,Storj項目代幣模型和經濟模型都設計於區塊鏈2.0發展的早期,現在看已經比較Old School(步入中年)了,儘管具備誠意,卻不性感。頭等倉也曾經給團隊提過建議,但團隊目前顯然並沒有更改模型的計劃。

這一輪,無論Filecoin代幣模型有多少問題,都是Filecoin勝。

4、礦工激勵機制:Filecoin對礦工狠,但是礦工能賺錢,Storj對礦工溫柔,但礦工發不了財

  • Storj的礦工(節點)對應Filecoin裡的存儲礦工。

  • 礦工激勵機制這件事情,我們對它的目標理解為:為了促使礦工長期、穩定的保持在線,以提供穩定的存儲服務。基於這個目標,Filecoin和Storj同樣採用了質押的方式來保障,只是Filecoin使用了前置質押,也就是礦工幹活前,要買幣先來押上,幹完活再發工資。而Storj使用了後置質押,也就是拿礦工的工資收入一部分進行質押。前者對礦工比較狠,後者對礦工比較溫柔。以下是細節展開。

  • Storj對礦工的激勵包括幾個部分:

一套節點信譽系統,讓礦工要證明自己能夠長時間在線並隨時提供高性能服務(95%以上時長在線)+礦工要證明自己存儲了數據+隨時證明自己完好的保存數據(沒丟沒壞) ,這樣才能或者才有機會獲得收入,這個過程長達數個月,表現差的礦工會被剔除,合格通過的礦工會獲得收入,收入包括內容儲存費用+上傳下載的流量費用;

配置更高、響應速度更快的節點會獲得優先,能夠獲得更多的數據和更高的收入;

  • 加入挖礦後第1-9個月,礦工收入都有一部分會被質押在系統裡。礦工要盡量保持運營至少15個月,才能獲得全部收入,如果礦工運營不到15個月就退出了,或者到了15個月就隨便掉線了或者表現差被衛星“開除”了,那麼有一部分收入會被扣掉,相當於用前期的收入作為質押。話說這麼多,其實經過筆者實測,基本上只要不是天天掉線厲害的那種,簡單地做個礦工問題不大,設備開著就不用管了。

  • 通過這麼一套機制,Storj顯然在激勵礦工盡力運營至少15個月以上,大大降低了礦工的流失率,而節點的流失率越低,客戶文件的耐用性越高(越不容易丟)。當然,如果某些節點突然掉了也沒關係,每個文件都有80個碎片分佈在全世界,就算某地發生戰爭海嘯,丟失一批節點,那剩下的節點也會自動修其它碎片,保持文件可用,目前Storj 網絡存儲了1.7億個文件,而文件丟失數量是0。

Filecoin的存儲礦工激勵機制部分和Storj沒有特別大差別,雖然使用的技術路徑不一樣:

通過系統,礦工一樣要證明自己存了數據(複製證明PpRep)+每隔30秒證明一次自己存的數據還在並且完整、沒丟沒壞(時空證明Post),隨時等用戶來取文件,但礦工不需要像Storj礦工一樣通過好幾個月來積累信用。

如果礦工短時間掉線或者存儲的扇區故障了,要按天交罰款,忘記聲明自己故障也要交罰款;如果故障時間超過14天,扇區會被停掉,同時被罰掉90天的區塊獎勵——只有完整運營了承諾的訂單週期,礦工才能拿回前置質押的全部FIL。

Filecoin通過這種方式激勵礦工保持在線,這點和Storj初衷相同,懲罰也不輕。能夠在一定水平上激勵礦工在線。

礦工激勵的不同部分主要在於質押、收入規則和礦機補貼:目前Filecoin全網有效算力是660PiB,FIL質押量是1360萬,平均算下來,每1TiB的算力,平均要抵押20.1個FIL,以目前最新的數據統計,目前實際每增加1TiB的算力,平均要抵押11.18個FIL, 而獎勵的發放機制則是區塊獎勵+存儲費用,區塊獎勵是簡單鑄造30%+基準鑄造70% ,區塊獎勵會隨著網絡有效採用率的提升而提升,目前區塊獎勵是11.37FIL/塊,但需要在180天內線性發放給礦工(每天的收入都平均到後面180天發放),以此激勵礦工長期運營。目前,根據FIP-004提案更新,為了減少礦工質押的壓力,挖礦獎勵改為先釋放25%區塊獎勵,剩餘75%仍然需要在180天內線性發放給礦工。

同時,由於系統暫時分不清礦工自己刷的數據和實際的用戶真實數據,Filecoin設計了已驗證用戶、承諾容量等幾個規則,來激勵礦工盡量存儲真實數據。

已驗證用戶指的是已經被驗證具有真實數據需求的用戶,存儲這類用戶數據會給存儲礦工帶來其他數據10倍的收入。驗證用戶的相關細節在本文的“第9點:存儲數據量真實性”這一章節中有詳細介紹。

在礦工激勵這件事上,Storj的激勵機制可謂簡單明了,這套規則能夠很好的服務於其係統高性能高可靠性的目標;而Filecoin的規則儘管盡了很大努力為去中心化服務,架構上也實現了去中心化,但是沒有規則能夠很好的防止礦工進行刷數據、拒絕存儲訂單等消極或者作惡行為,也沒有能夠激勵礦工提供足夠好的雲存儲服務,礦工都是逐利的,機制的設計讓礦工偏向於提供存儲空間(扇區封裝),而不是偏向於提供存儲服務(礦工可以拒單,礦工無需保證帶寬,傳輸快慢礦工不負責),從這點看,雖然兩者都一定程度上達到了機制設計的目的,但Storj 所提供的存儲服務會更穩定,文章後面的第16點的上傳下載測試也驗證了這個問題。但是,雖然Filecoin對礦工比較狠,有嚴苛的懲罰機制,但架不住FIL比較掙錢,規模效應讓礦工可以大量投入,以及大量產出,而Storj追求網絡的分散,所以官方限制了礦工的發展規模,以貼合於存儲需求的增長速度,所以Storj的礦工沒法規模化投入,只能是個人分散投入,比如一個人家裡放個NAS,頂多就存個30TB的數據,如果你加一台NAS,在Storj網絡就會被識別成同一個節點,因而只會按一個節點給你分配數據,這就注定了礦工無法規模化投入,同時也就沒法有規模化收益。所以從礦工收入的角度來說,Filecoin雖狠,但能賺錢; Storj雖然溫柔,但只能掙個小小錢,發不了財。

5、礦機門檻:Storj遠低於Filecoin

Storj的礦機門檻較低,最低要求是:一個處理器核心專用於一個節點,一個500G硬盤,每月2TB的寬帶流量,上行至少5MB/S,下行至少25MB/S。這樣的門檻,低到幾乎家家戶戶都可以把自己的電腦裝成一個Storj節點。最低成本可以800元組一台NAS,目前本人就裝了幾台節點用於測試。

Filecoin的礦機門檻相比之下就高多了:官方對礦工節點的基礎設備要求:AMD的8+核心CPU、至少128GB的RAM(內存)、擁有功能強大的GPU(取平均核心數為3000 ,目前一般使用2080Ti/3080/3090顯卡)、大於512GB的固態硬盤(選擇1TB SSD NMVe接口)。目前單台Filecoin礦機的成都在10萬+。

顯然,Filecoin礦機門檻遠遠高出Storj,這一點從經濟學的角度,顯然將造成能夠買礦機做礦工的人數較少,直接的結果就是節點數量必然會很少,我們預計Filecoin的節點數量將比Storj少1-2個數量級。目前的數據是Filecoin節點數600+,Storj是8000+。較少的節點,會讓Filecoin在流量分流與提供CDN服務的能力上,遠遠弱於Storj,而且一旦Filecoin存儲應用鋪開的話,也會讓Filecoin大礦工有較大的流量壓力。

6、文件的檢索、刪除:Storj完胜

Storj對上傳到網絡中的文件都會生成一個“元數據”,也就是尋找文件存儲位置的地址,這個地址存儲在衛星中,依靠這個地址,衛星對文件可以進行檢索,這一過程非常快速簡單,同時,還可以進行刪除、轉移、複製等操作,據頭等倉實測,從Storj上刪除一個文件僅需要3秒鐘。 Storj的檢索費用是一個非常小的數字($0.0000022/次),除非天量檢索,否則可以忽略。

Filecoin的文件檢索主要依靠網絡中的檢索礦工,檢索礦工根據用戶提供的文件信息在gossipsub上發布檢索要求,隨後在存儲礦工處獲得文件並向用戶發送部分文件以及定價要求,最後用戶確定訂單後支付費用,對於用戶而言相對便捷。

而Filecoin由於對文件進行打包封裝,每個扇區都被層層折疊成了一個巨大的數據晶體,從中刪除數據,等於要把深度折疊的倉庫層層拆開,從中找到一個物件扔出來,非常困難——扇區打包需要40-50分鐘。因此,Filecoin裡的文件目前無法由用戶進行刪除,若是要刪除文件只能通過用戶與存儲礦工自行協商完成,頭等倉諮詢了官方,對於文件刪除,官方的答復是,要等到該文件的訂單到期後,文件才可刪除。同時,Filecoin存儲時間180天起,因為扇區的最少生命週期就是180天,也就是只要你往Filecoin存了數據,它就必須至少存180天,而且180天的存儲費用用戶要一次性交清。

另外,Filecoin在文件上傳後,需要等到礦工成功把文件封裝到扇區後,才能檢索下載。這個封裝時長主要看礦工的硬件能力,小礦工慢的話要幾天,大礦工快的話就個把小時,目前頭倉測試過,最快的是晚上上傳,第二天早上封裝進扇區。而且Filecoin在檢索(下載)文件的時候,延遲比較厲害,網絡也不穩定,通常要等個至少十幾秒,多的要等三分鐘,才會開始下載。而Storj在下載文件時,是直接就開始下載,對延遲無感。

另外,因為Filecoin是公鏈,每次上傳下載的時候都要提交訂單給礦工,提交訂單的同時會支付費用,因此,要支付成功,則必須要保證區塊同步到最新區塊,所以目前的情況下,要上傳下載東西到Filecoin網絡上,要先同步幾十GB的區塊數據,並且區塊數據現在還在以每天400M速度增長,這是目前很影響Filecoin應用普及的一個致命傷,所以Filecoin官方也有提計劃準備開發不需要同步完整區塊鏈的輕節點,相信應該能解決這個問題。而作為ERC20代幣的Storj 就沒有類似問題。

從以上的這些規則與實際測試結果來看,顯然Storj會比Filecoin 在對象存儲服務上更貼近實際的存儲用戶需求,隨存隨取,快速檢索,費用結算靈活,用多少空間流量,就扣多少費用。而Filecoin相對來說就是能否存取,要看區塊同步是否完成,費用結算霸王條款,二話不說先收180天的費用,存上去的東西還不能刪。綜合來說,我們認為在這個環節,Storj勝出。

7、文件的加密和隱私性:默認加密VS默認不加密,Storj勝出

Storj採用的是客戶端加密,所有需要存儲到網絡中的數據都由客戶端加密後再上傳,加密後的數據需要用密鑰解密後才能查看,而密鑰保存在客戶端所在的本地計算機中,無法從網絡中獲得。也就是說,即便通過衛星能找到用戶的數據,也無法知道裡面是什麼,而且文件還是分散成80份,分散到80個礦工的主機裡的,要同時獲得至少29個礦工的數據,才能拿到完整文件,拿到完整文件後,還得使用密鑰才能解密,這基本上杜絕了數據洩露的可能。

Filecoin需要上傳的數據默認不加密,也就是是否加密靠用戶自己。用戶有上傳未加密數據的可能性。另外,Filecoin是單礦工對單用戶,或者多礦工多份複製對單用戶,用戶的數據是直接暴露在礦工手上的,而且文件的CID只要被人知道,就能任意獲取該文件,隱私性相對就差了很多,可以說Filecoin的機制設計並沒有考慮太多隱私性方面的需求,只讓用戶自行對文件進行加密。

因此,我們認為在隱私性上,Storj無懸念勝出。

8、數據維護:Storj更勝一籌

Storj的數據維護亮點是採用了糾刪碼技術。每個文件上傳時數據都會在冗餘2.7倍後,生成80個碎片存在80個節點中,其中任意29個礦片就可以生成完整文件,衛星會時常檢查以確定這80個碎片是否還在,以及隨時間推移,它們損壞丟失的數量,一旦現存的碎片數量下降到50以下,衛星將啟動數據修復,從現存節點中獲取29個碎片重新生成文件,再切片形成丟失的碎片並重新儲存到其它節點中,以確保網絡有足夠的碎片數量。整個過程用戶是無感的。

Filecoin的數據由礦工進行維護,維修礦工的角色也是由其它的存儲礦工扮演,用戶將文件存儲到多個礦工上,其中一個礦工的數據損壞了由其他擁有相同數據的礦工進行文件傳輸修復。 (如果用戶只存一份,那就沒有維護礦工了,丟了就丟了)

數據維護上,毫無疑問Storj以周密完善的設計勝出,Filecoin這種機制是完全靠用戶自己選擇數據冗餘倍數,以及靠極嚴苛的條件懲罰礦工來保障文件耐久性。由於嚴苛的懲罰機制,礦工確實是會積極主動的維護文件的安全,但是免不了天災人禍的情況,支付寶都能讓叉車給挖了,更何況這些集中在數據中心的礦工們呢?目前Storj文件丟失數量為0,而Filecoin剛上線不久,實際效果還需要時間來檢驗,但單從用戶體驗與機制設計來說,我們認為還是Storj 將更勝一籌。

9、存儲數據量真實性:Storj略勝

從結果來看這個問題的話,多少會有一些不公平,因為Storj比Filecoin早推出半年,目前已經有8PB的真實業務數據存在上面,Filecoin才剛上線半個月,它還沒滿月。所以我們探討這個問題,不從結果上看,主要是從機制上來探討。

從機制上來說,Storj是分散式存儲,用戶上傳文件時不知道這文件會存到哪些節點上(而且大概率給你分佈到全世界去),所以沒辦法自己存給自己,而且上傳文件的直接成本與收入關係懸殊,用戶上傳1TB要支付10美元/月,而礦工存儲1TB只有1.5美元/月的收入,因此礦工也就沒有上傳虛假文件的動機。

但Filecoin並非如此,存儲用戶是可以直接指定礦工來存儲自己的文件,而且存儲1TB的文件,支出的成本是每個月不到3美元,而如果礦工把這1TB的文件封裝成扇區,那一個月能挖到6.6個FIL,目前價格為21.7美元。而且官方為了鼓勵礦工存儲“有效”數據,提出了“驗證用戶”的概念,說白一點就是由社區投票認證的存儲用戶,由已驗證用戶存儲的數據,被網絡認定為“有效”數據,而礦工封裝這些“有效”數據,能得到10倍的算力加成,這樣算來,封裝1TB的數據,就能得到210刀每月。這樣的機制,一定會讓礦工們努力爭取,扮成一個需要大量存儲的“驗證用戶”,只要通過社區認證,就能拿到大量額度,再指定礦工給自己存,這樣就完美了。

以下簡單介紹一下社區治理的“驗證用戶”的社區認證“開光”過程:

整個治理分三個角色:根密鑰持有人、公證人、客戶群。這幾個角色都可以是任何人。根密鑰持有人是由社區選出,主要的任務就是持有根密鑰,無條件執行社區決議。公證人也是由社區選出,主要職責就是把容量額度分配給申請額度的客戶,以及向社區申請更多額度。社區投票通過後,就由根密鑰持有人執行額度開通。額度開通後就可以分配給客戶們去做“有效”存儲了。

10、網絡理論上的脆弱程度(是否容易被攻擊):Storj更勝

Filecoin的礦工是容易被攻擊的,礦工容易遭到DDOS攻擊導致帶寬佔滿,若是礦工因受到攻擊而無法及時向網絡提交存儲證明,在超過14天后礦工將會被處罰扣除90天的區塊獎勵,同時扣除質押的代幣,該存儲扇區視為無效扇區,該扇區被分配的算力清零,此時礦工可以選擇將文件丟棄,對用戶而言意味著數據丟失的風險很大。在測試網階段,就曾經有礦工因為攻擊,而導致算力清0的情況。

這種攻擊對Storj的礦工來說不是問題,Storj客戶端對節點的任何操作都需要通過衛星進行,並且,即使個別節點受到攻擊,也不影響用戶數據的取回,除非存儲該用戶數據的80個節點裡面,有超過51個節點同時受到攻擊,導致數據無法取回,而且也無法修得,這樣的難度,顯然比單獨攻擊一個Filecoin礦工來的難多了。 Storj的最大風險不在於節點,而是在於衛星,但是,衛星也不是單台服務器,而是一個服務器集群,集群的抗攻擊能力顯然會比單台服務器更強一些。

而且由於Filecoin的用戶存儲數據是單個礦工存儲,所以一旦這礦工網絡延遲或者出現被流量攻擊的話,用戶數據就很難取回。所以對於有用數據,用戶還是要選擇多個礦工存儲。

而Storj的數據是以碎片分散存儲,只要80個節點中的29個節點能正常在線,就能完整取回文件。相對來說,可靠性會比Filecoin高很多。

11、對社區支持程度:胡安啊,你該多招幾個社區經理了

這是我很不想提起的一個點,只是Filecoin在這方面做的實在是在太差了,所以想藉著這麼一個機會,希望能引起官方重視。

Filecoin的主要社區是Slack,在Slack中諮詢關於目前機制問題以及系統bug、更新問題或者是礦工挖礦疑問的信息,得到回复的速度較慢,基本集中在一個時間點,而且很多時候甚至是沒人回复,根據回复情況,目前看來只有一個社區負責人主要回復社區中的疑問,大多時候是在聊天室的同韭出來回答問題,但是有些問題不經過官方確認,我們也不敢隨便信啊!我想說Filecoin也募了不少錢了,聽說光開發團隊就有上百人。怎麼也不多招幾個人來好好回復社區的問題?這無形中勸退了很多想了解Filecoin的人。自己看也看不懂,去社區問也問不著。

Storj除了每季度定期市政會議之外,有推特,有論壇,有Support平台提交問題,頭等倉在測試Storj網絡的過程中,碰到了一些問題,在這些平台上諮詢官方,幾乎所有問題都會在隔天有人回复,從回复的情況來看,有好幾個人員分別在回复各種不同領域的問題,基本能夠做到有問必答,並且對各種細節提問表現得比較友好,也願意公開大部分數據。

12、財務透明:這個雙方差不多

Storj會按季度對代幣支出和鎖定情況進行公佈,鏈上也可以查詢到其代幣鎖定情況,但沒有公佈其法幣募資資金的去向。它屬於比較透明的項目。按目前官方公佈的季度財務報告,團隊手上的幣,還夠他花十幾年。

Filecoin博客沒有公佈資金使用情況,ICO總額為2.57億美元。我們並不清楚目前團隊手上還有多少資金,如果有人有相關數據,歡迎提供。

Filecoin的話,那暫時就只能是一路下跌了,目前FIL還能維持一個高價格是因為質押的機制設計,強迫礦工去市場接盤來增加算力。但這肯定是不健康的,沒有充分的,自由的市場博弈,沒有充分的籌碼交換,光靠質押,鎖倉,來鎖定流通性,以鎖定高價格高市值,這是不科學的,這樣的機制,如果讓FIL一路維持數百億美元的整體市值,那就沒有投資機會,同韭們看戲就好。只是隨著挖礦的幣不斷釋放,整個流通量不斷增加,我們認為價格還是會慢慢往下走的,它最終還是要達到一個平衡,那就是礦工買幣質押的意願,以及持幣者賣出套現之間的平衡,重點可以關注代幣釋放速度和質押速度的對比,借貸市場上線後需要關注借貸市場的利率和借貸量。長線來說,我們還是看好Filecoin會有機會解決現有的存儲領域的一些問題,但如果今天的Filecoin市值600億刀,5年後的Filecoin市值1200億刀,那於你我而言,又有何意義。買大餅不香嗎?

二級標題

二級標題

二級標題

二、核心業務的PK:誰能提供更好的雲存儲

要回答誰能提供更好的雲存儲這個問題,首先我們需要先理解雲存儲的服務標準SLA,它是目前全球商用雲存儲的黃金標準。我們以目前亞馬遜S3雲存儲的SLA服務標準為標準線,以此來衡量雙方在雲存儲核心業務上的表現(不過具體的亞馬遜SLA的內容,我們就不羅列了。大家有興趣可以去亞馬遜官方查看)。亞馬遜S3 SLA主要包含幾個維度:

14、存儲的耐用性與可用性:Storj更勝

Storj主要採用了糾刪碼技術來解決耐用性與可用性方面的問題,糾刪碼技術主要是會把文件以2.67倍的冗餘,切分成80等份, 分散到網絡上的80個節點上,只需要其中29個節點在線,便可恢復完整文件。通過這樣的機制,Storj實現了99.99999%的文件耐用性,目前存儲了1.7億個文件,丟失文件數為0。因為Storj V3網絡設計之初就對標亞馬遜S3雲存儲的SLA服務標準而設計,因此在這部分的能力,Storj相對會更勝一籌。

Filecoin目前在文件耐用性與可用性方面,主要依賴對礦工有嚴厲的懲罰機制來實現,礦工每封裝一個扇區,要質押大量的FIL代幣在扇區上,如果扇區損壞,丟失,則礦工的質押的代幣將被罰沒,以此來激勵礦工提供高耐用性、高可用性的存儲服務,但目前來看,仍然避免不了礦工存儲的扇區損壞,數據丟失。除此之外,Filecoin設計的機制裡面,只要用戶把文件分多個礦工,分別存儲一份,那隻要數據產生丟失,那這些礦工之間就能夠互相修復文件,但前提仍然要用戶多倍冗餘存儲,因此我們認為Filecoin 目前在文件耐用性與可用性方面是沒有保障的。用戶存儲高價值數據量,需要由用戶自行進行多倍冗餘,而這直接造成存儲成本成倍上升。而且多倍冗餘的效果也不如Storj 這種分散80個碎片分別存儲來的更安全。

15、存儲定價與機制:肯定是Filecoin更便宜拉

Storj 的定價是對標亞馬遜S3存儲的服務價格,再結合其網絡主要組成為閒置的硬件資源,以及由於糾刪碼的原因,Storj對存儲的內容自動會有2.7倍的冗餘,綜上來說,Storj的存儲服務定價為亞馬遜的一半,存儲1TB的數據價格為10美元/月,數據流量費為45美元/TB ,而Storj支付給礦工的價格為1TB的數據為1.5美元/月, 流量費為20美元/TB. 由於Storj 的主要目標是To B的用戶,所以採用中心化的定價方式,以法幣定價,避免代幣價格波動,提供一個統一的市場價格。

Filecoin的定價是由市場因素決定的,由礦工和存儲服務分別提供報價,最終由gossip 對雙方進行交易撮合,撮合後的存儲用戶和礦工則自動對接,用戶上傳數據,礦工進行存儲。計價方式用FIL 來定價,這樣的方式優點是以市場供需來決定最終存儲服務的價格,從目前來看,價格是存儲1TB數據為0.67美元/月,價格是亞馬遜價格的30分之一,在價格是上極具競爭力的。但是缺點是由於使用了FIL定價,而且定價規則是由市場供需關係決定,因此,在目前Filecoin 上線還不夠久的情況下,代幣價格波動大,而且存儲供需市場博弈不充份,所以存儲服務的價格波動較大,暫時只適合做一些存儲測試,還不太適合B端用戶進行實際大規模存儲。而且筆者實測,每個礦工的定價天差地別,多的甚至差了一百倍,這樣的機制,只是理論可行,現實情況不禁讓人打了一排問號!

另外,從二者的模式來對比,Storj主打的是使用閒置資源,化廢為寶的方式,通過糾刪碼及存儲節點的管理規則來提供高SLA標準的雲存儲產品,Storj還是以一個比較傳統的做生意的邏輯來提供雲存儲服務,生意邏輯就是:假設Storj向存儲礦工以1.5美元/TB的成本每月採購了2700TB的容量,提供給有存儲需求的用戶,以10美元/TB的價格賣出1000 TB(糾刪碼生成2.7倍冗餘),中間的利差就是團隊掙到的錢。我們認為,低價批發,加價賣出,賺利差的方式,讓Storj看起來很傳統。

而Filecoin通過系統發行代幣,由代幣來支付給礦工費用,最終由代幣交易市場為代幣價格買單的方式,讓羊毛出在豬身上,由二級市場投資者花錢購買代幣,來支付礦工高昂的挖礦設備成本,因而礦工即可提供不計設備成本的雲存儲服務報價,我們稱之為補貼,由系統發行代幣補貼礦工以提供低成本的存儲,最終由市場投資者買單。這樣的代幣經濟模型設計的很巧妙,有效的轉移了成本,提高了存儲服務產品的價格競爭力。但是我們認為FIL還是有風險點的,一是目前Filecoin的存儲節點硬件門檻高,導致硬件成本極高,同單位的存儲容量的硬件成本是亞馬遜的十倍以上,其主要成本是用於“挖礦”這件事情,而不是用於更好的提供存儲,這明顯是不合理的,這部分最終是由投資者來買單,但是我們認為不可持續。協議實驗室最終應該要找到平衡硬件成本與挖礦安全性的方法,否則Filecoin的價格優勢很難持續。

16、存儲上傳下載速度:不得不說,還是Storj勝出

從機制上來說,Storj使用了糾刪碼技術,文件的下載過程,是從80個存儲節點中選擇35個速度最快的節點進行競爭傳輸,最終客戶端從29個最快的節點取回數據碎片。 Storj快,首先是多點傳輸比單點傳輸要快,中心化雲存儲的一個問題,就是下載時從單個點往客戶端傳文件,傳輸速度非常受限於帶寬,而Storj採用多點傳輸分散帶寬需求的方式解決了單點帶寬受限的問題——由29個節點的帶寬去分擔傳輸流量。而Filecoin的機制允許用戶選擇單個或者多個節點儲存,但實際下載時還是從單個節點下載,因此其速度會受限於單個節點的帶寬。

第二則是節點競爭,由於節點競爭的存在,Storj的節點都“被迫”保持高帶寬來保證自己的高上傳下載速度。每次用戶上傳數據,都有130個節點競爭存儲數據碎片,其中80個較快完成存儲的節點能夠獲得這部分數據和後續收入,另外50個什麼都得不到。用戶下載數據時也一樣會有部分較慢節點一無所獲。因此,節點的上傳下載速度越快,越能夠保證自己獲得存儲數據碎片/傳輸數據碎片的機會,獲得收入。這就保證了網絡整體的上傳下載速度。

以下是頭等倉為了取得Filecoin和Storj的真實上傳下載速度,我們對其網絡進行實測,首先必須強調我們只需要了解雙方的速度大概量級,對於實驗的數據精準程度,我們是不做要求的。測試過程分兩部分,一部分是在國內,以家庭帶寬為主進行的測試,第二部分是租用國外的服務器,以國外網絡條件為主進行的測試,為了讓大家更好的感受兩個網絡在存儲能力上的差異,所以我們盡可能還原測試過程的每一個細節,同時也留下的測試文件CID等信息,大家可以在區塊瀏覽器去查證,整個測試過程如下:

1)本地測試

筆者坐標中國廈門(因為頭等倉就在廈門), 使用家庭200Mb 電信寬帶,測試文件大小為1006MB。

Filecoin測試:

導入Lotus後生成文件指紋CID:bafykbzaceb7jcjsnozpv45wpqyqrzilmehqgzin5ozhfwfvfbu7rn7oon3iu2

從Slate.host 隨機選取了幾個條件合適的礦工f08157、f03488、f09675

第一次選取礦工f09675 提交存儲訂單(Deal)

30秒後生成訂單CID:bafyreiheedhw7veoryrux6pznhrpagl32v5sb26gelhcpozwqwgits3dwq

但是大概6分鐘後,發現Deal 消失, 可能的說法是礦工f09675拒絕交易。

所以第一次提交失敗。

第二次選取礦工f08157 提交存儲訂單(Deal)

從提交存儲訂單(Deal) 到最終StorageDealTransferring(文件傳輸完成給礦工)總共用時17分19秒,具體步驟如下:

第一步:提交存儲訂單(Deal) ,到生成Deal CID的用時為1分14秒,生成的訂單CID(DEAL CID):bafyreidk5lzgtagrromd3qs4rk7akd57keaz7jlj5bibu7jhiy3wguf6sm

第二步:訂單狀態轉為StorageDealClientFunding,這個意思貌似是礦工在核對餘額,核對訂單之類的。用時4分48秒

第三步:文件傳輸,用時11分14秒

第四步:生成了Deal id:961927, Deal狀態顯示為StorageDealSealing(正在封裝中)

單獨只取第三步文件傳輸的時間來計算文件上傳速度的話,平均速度應該是1.49MB/S

如果取從Deal提交到文件傳輸完成的時間的話,平均速度是0.97MB/S

覺得哪個速度更能代表本次測試的上傳速度,就看大家自己選擇。不得不提醒一點,Filecoin單點(用戶)對單點(礦工)傳輸的機制決定了影響速度的不是Filecoin網絡牛叉不牛叉,而是存儲用戶跟其選擇的礦工的網絡連接是否通暢、高速,因此本測試只能代表筆者自身的網絡情況與本人隨機選擇的礦工的網絡連通程度,無法代表Filecoin 網絡牛叉不牛叉,每個人測試的速度都有可能不一樣,從官方Slack 論壇了解到的信息,有的人速度快到十幾MB,也有人速度慢到250KB。大家理性看待。

剩下就是等待礦工封裝到扇區,預期時間為幾個小時到幾天,這段時間就不統計了。

(等了兩天了,仍然沒有被封裝到扇區。)

等了兩天了,礦工f08157 仍然未把文件封裝成功,因此無法直接測試該礦工節點的下載速度,所以不得不從其它已封裝成功的礦工那裡來下載同一個文件進行測試。目前選擇礦工f01782已經完成封裝,如下測試從該礦工的節點取回(下載)文件。

第一次運行取回命令,只成功取回1.05MB數據,然後卡了10分鐘,取回失敗

第二次運行取回命令,顯示Recv: 0 B,卡了十多分鐘,取回失敗

第三次運行取回命令,結果同上,卡住了,取回失敗,了解了一下原因,原來是我本機Lotus的區塊同步卡住了,沒有同步到最新區塊

折騰了一整個晚上,區塊高度始終同步不上去,區塊同步速度明顯低於新塊的產生速度,從這看來,測試網的區塊同步問題還是沒能很好的解決。明明昨天還同步的好好的,明明國內節點也不少,怎麼今天就是同步速度這麼慢,怎麼搞都不行。而只要區塊不同步,文件就下載不了。上官方論壇查找解決辦法,得到的結果是,換電腦,改用AMD的CPU+NVMe固態硬盤(我這麼窮,沒辦法)。最後,逼不得已,全部重裝一遍,幾個小時後,終於順利的同步到了最新區塊,並成功進行了第四次的下載測試。

第四次運行取回命令,在DealStatusCreatingChannel 這個環節卡了3分13秒,我以為可能是牆擋住了,所以試著開了VPN 20秒,然後又關閉VPN, 然後就順利進入下一步,開始傳輸文件,傳輸文件這個環節總共用時3分28秒,平均速度為4.83MB/S,為了讓我自己看起來更嚴謹一點,所以我又重新下載測試了一遍,結果下載環節用時9分11秒,平均速度1.82MB/S, 為了給Filecoin留點面子,我還是取4.83MB/S 作為本次下載測試的結果吧,到此,經曆三次失敗,第四次成功,本次下載測試總算是完成了。

Storj速度測試:(同等硬件與網絡條件下)

Storj的上傳測試相對簡單,我選用了https://asia-east-1.tardigrade.io/ 亞洲的衛星。在上面註冊完後,獲取到了API,然後下載Filezilla,使用Filezilla 可以直接連接Storj 的Tardigrade網絡,操作也比較簡單。

上傳過程就是配置好Filezilla ,選擇要上傳的文件,直接點擊上傳,上傳的是跟Filecoin測試同樣1006MB大小的文件,上傳時間是14分27秒,平均速度1.16MB/S ,不過在上傳過程中,文件每上傳64MB會停頓大概1分鐘,主要原因是Storj 需要對文件切成64MB的段,然後再進行糾刪碼冗餘並分割成80小份。這些時間拖慢了Storj 的上傳速度。所以用時14分鐘多。

另外,可能由於亞洲節點太少的原因,在國內上傳大文件時,Storj的上傳並不穩定,本人上傳了5次才成功一次。大部分是上傳到60%-80%的時候卡住,然後反饋超時失敗。

下載過程比較簡單,直接選擇文件,點擊下載,下載用時2分21秒,平均速度為7.13MB/S,而且下載也比較穩定,試了幾次都直接下載成功。

2)國外服務器測試

國外服務器使用的是Vultr的最高配的Bare Metal ,地理位置在新加坡,4核8線CPU,32GB內存。文件還是同樣的文件,大小1006MB,文件CID不變。

Filecoin測試:

第一次從Slate.host隨機選取了一名合適的礦工f020904 提交存儲訂單(Deal)

大概4分30秒後,訂單狀態轉為StorageDealFundsEnsured 後,訂單莫名消失。事實證明,訂單提交失敗!

第一步:大概28秒生成了Deal CID

第二次隨機選取礦工f09569

第一步:大概28秒生成了Deal CID

第二步:一閃即過,太快了沒看清楚,姑且認為它只有一秒

第三步:Deal進入StorageDealTransferring 狀態,開始傳輸數據,但是這個環節使用了32分15秒(震驚)

第四步:文件傳輸完成後,生成了Deal id:962551 Deal狀態顯示為StorageDealSealing(正在封裝中)

按本次測試文件傳輸32分鐘的時間來計算,文件上傳速度為0.52MB/S,我感覺我可能碰到了一個辣雞礦工,或者我跟這礦工緣分不夠,為了不冤枉Filecoin,所以我決定重新選一個礦工再測一遍。

第三次我實在受不了了,我決定選個有頭有臉的大礦工,我用query-ask命令詢價了算力排名前五的礦工,只有f01782 能詢到價,其它的幾個礦工不管是用國內客戶端,還是用國外的客戶端,詢價時都沒反應,難道是大家都不開門迎接用戶數據嗎?身為Filecoin礦工,如果你的硬盤只是為了挖礦而服務,那你和BHD有什麼區別?先鄙視一遍!

第一步:提交存儲訂單(Deal)

27秒後生成訂單CID:bafyreiczimrrwlhv2v2csn7bqmnq7yivtq4st4i3eyybkpiun3esxejnhy

第二步:一閃即過,太快了沒看清楚,姑且認為它只有一秒

第三步:Deal進入StorageDealTransferring(數據傳輸中) 狀態,開始傳輸數據,整個環節使用了2分31秒

第四步:文件傳輸完成後,生成了Deal id:962675 訂單狀態顯示為StorageDealSealing(封裝中)

(隔天起床後,Deal 狀態已經是StorageDealActive,封裝成功)

從第三次的測試結果來計算,上傳時長如果以2分31秒來計算,平均上傳速度為6.66MB/S,如果上傳時長從提交Deal時開始計算,時長是2分59秒,平均上傳速度為5.62MB/S。

下載文件是運行retrieve命令,從礦工f01782取回文件

第一次文件取回只取回了10MB的文件後,報錯超時,取回失敗

第二次文件取回用時3分53秒。平均速度4.32MB/S

  • 筆者從礦工f020904的節點上下載了另一個1.03GB的文件,是先前傳上去做測試的,下載文件用時1分34秒,平均速度11.21MB/S, 我想這應該也是Filecoin的問題之一,就是不同礦工之間提供的存儲性能、帶寬不一致。有較大的差別。

  • Storj速度測試:(同等硬件與網絡條件下)

採用國外的服務器來上傳文件到Storj,這上傳速度就明顯快多了,我仍然選用了https://asia-east-1.tardigrade.io/ 亞洲的衛星,直接配置uplink到服務器上。開始速度測試:

上傳測試:選擇同樣的文件,大小1006MB,上傳時間58秒,平均速度17.34MB/S

下載測試:將同樣的文件下載到服務器上,大小1006MB,下載時間1分45秒,平均速度9.58MB/S

最後歸納測試結果如下:

國內環境:Filecoin 上傳速度:1.49MB/S,下載速度:4.83MB/S

從以上的測試過程來看,Filecoin的性能明顯不穩定,時好時壞,上傳下載速度取決於你選了個什麼礦工,Storj相對來說,整體較為穩定。但是Storj在國內的穩定性也較差,特別是大文件國內上傳容易失敗,不過除了國內上傳速度較慢之外,其它三項均勝過Filecoin。 Filecoin從整個操作的體驗來說,讓我感覺它對標的應該不是亞馬遜雲存儲,它是比亞馬遜雲存儲更低一層的存儲層,專注的就是“去中心化”這件事情,因為亞馬遜雲存儲重點不只考慮存儲,還要考慮用戶體驗。而Filecoin是專注去做更好的去中心化,不關心存儲體驗這件事情,在我們理解,Filecoin應該是寄希望於生態參與者通過鏈下的方式去搭建面向用戶更友好的存儲服務體驗平台,比如官方推出的Slate, Fleek Space等應用,但是具體成效如何,以及開發者是否買單,就看後續的業務發展情況了。以目前Filecoin的存儲特性,我們想像不到開發者能如何採用Filecoin網絡作為存儲層,比如文件存儲要選擇礦工;提交存儲訂單限制至少要存儲180天;內容上傳後無法刪除;任何人可以獲取文件;等等。

二級標題

二級標題

二級標題

全篇深度PK完成之後,我們回過頭來思考主題,誰是更好的去中心化雲存儲平台?

我們認為這個問題應該分成兩部分來看是比較合適的,第一部分是誰能更去中心化,第二部分是誰是更好的雲存儲平台。

头等仓-区块链研究院
作者文库