【TokenGazer深度研究】Lambda:主鏈落地存疑,有一定風(fēng)險(1)區(qū)塊鏈
1. 投資要點 云存儲是目前增長很快的行業(yè),大多采用中心化解決方案,去中心化目前沒有大規(guī)模應(yīng)用。 現(xiàn)有區(qū)塊鏈存儲項目SiaCoin已經(jīng)落地...
1. 投資要點
2. 產(chǎn)業(yè)背景
2.1 云存儲行業(yè)
近年云基礎(chǔ)設(shè)施服務(wù)(IaaS)發(fā)展迅速,其中云主機(jī)、云存儲是需求最大的兩個領(lǐng)域。云存儲通常采用中心化解決方案,大企業(yè)有亞馬遜,微軟,阿里等。
數(shù)據(jù)來源:Gartner
2.2 去中心化存儲
提到去中心化存儲,可能會想到eMule和BT,兩者都是利用P2P網(wǎng)絡(luò)進(jìn)行文件傳輸,eMule有客戶端軟件能夠搜索文件;BT僅是一個協(xié)議,通過BT種子和文件資源建立鏈接。eMule和BT價值在于利用用戶的閑置帶寬,需要一個文件在多人電腦上存儲,作用是分享資源,主要用于視頻資源。而個人網(wǎng)盤,企業(yè)網(wǎng)盤,數(shù)據(jù)庫等資源沒有其他用戶愿意備份在自己設(shè)備上,不適合采用BT、eMule等去中心化模式,目前以中心化解決方案為主。
2.3 區(qū)塊鏈去中心化存儲項目對比
目前區(qū)塊鏈存儲項目有Sia、Storj、FileCoin、Lambda等
表:區(qū)塊鏈存儲項目特點
Sia無眾籌,為挖礦幣種,總量無上限,目前供應(yīng)量360億,進(jìn)入緩慢挖礦階段。Storj為眾籌幣種,是Storj項目的以太坊代幣,流通量1.35億,總量4.25億。
數(shù)據(jù)來源:CoinMarketCap,2018.8.29
3. 技術(shù)分析
3.1 多層鏈結(jié)構(gòu)
Lambda采用多層鏈設(shè)計,包括一條主鏈,多條同構(gòu)工作鏈。多層鏈設(shè)計主要目的是方便完成數(shù)據(jù)庫設(shè)計,主鏈(MainChain)實現(xiàn)基本功能作為總賬本,WorkChain(虛擬層,WorkChain0到 WorkChainN)實現(xiàn)特定功能,多層鏈設(shè)計的目的是讓數(shù)據(jù)庫設(shè)計更容易,數(shù)據(jù)庫的更新升級只需要調(diào)整工作鏈,無需變動主鏈。任意一條WorkChain都是由MainChain指派的驗證人節(jié)點負(fù)責(zé)交易的打包和出塊。
工作鏈根據(jù)需求進(jìn)行分片,例如驗證子鏈節(jié)點不能所有節(jié)點(幾千個)同時去驗證一個文件,這是極大的資源浪費。為了使Lambda中主賬本與分片賬本相互驗證形成網(wǎng)狀的互驗證結(jié)構(gòu),每個MainChain的新區(qū)塊中包含了ShardChain所有新區(qū)塊的哈希(除非部分Shard-Chain在超時時間內(nèi)未出區(qū)塊),ShardChain的新區(qū)塊包含了上一個MainChain的區(qū)塊的Hash。
3.2 共識機(jī)制
Lambda三個角色的設(shè)計分別是提名人、驗證人和釣魚人:
3.2.1 驗證人:
– 負(fù)責(zé)打包出塊;
– 抵押token可推舉驗證人;
– 硬件環(huán)境必須符合要求;
– 驗證節(jié)點被隨機(jī)分配到不同的WorkChain和ShardChain;
– 主鏈和子鏈都是每間隔5秒出一個塊,每過1024個節(jié)點輪換;
– WorkChain,ShardChain節(jié)點驗證存儲證明,訪問控制等是否合法;主鏈節(jié)點驗證子鏈簽名是否合法。
3.2.2 提名人:
提名人是一個擁有權(quán)益的群體,推舉驗證人,將安全性押金委托給驗證人。
3.2.3 釣魚人:
釣魚人和區(qū)塊打包的過程并不相關(guān),他們的角色類似于現(xiàn)實世界中的“賞金獵人”,發(fā)現(xiàn)并舉報有存在非法行為的參與方(有抵押的參與方),舉報后會進(jìn)行更嚴(yán)格的驗證,成功舉報非法行為可以獲得獎勵。
3.3 區(qū)塊鏈存儲項目如何完成文件去中心化驗證
區(qū)塊鏈存儲項目涉及去中心化文件系統(tǒng)和去中心化數(shù)據(jù)庫。去中心化文件系統(tǒng)是去中心化數(shù)據(jù)庫基礎(chǔ)。現(xiàn)有區(qū)塊鏈項目大多只實現(xiàn)了去中心化文件系統(tǒng),本質(zhì)上是去中心化網(wǎng)盤。
表:區(qū)塊鏈存儲項目涉及的關(guān)鍵問題
數(shù)據(jù)持有證明(PDP)需要做到:1)文件無備份認(rèn)證,在保存少量認(rèn)證元數(shù)據(jù)的情況下驗證數(shù)據(jù)是否完好無損;2)文件公開認(rèn)證,認(rèn)證元數(shù)據(jù)公開的情況下完成數(shù)據(jù)認(rèn)證。
復(fù)制證明(PORep):確保文件被存儲多個副本。
3.3.1 Storj通過Merkle tree實現(xiàn)無備份認(rèn)證
Storj用戶將要存儲的文件分成若干塊[m1 ,m2 …mn ],以Merkle Tree的形式建立文件索引,將本地保留Merkle Tree,文件塊的Hash值作為認(rèn)證元數(shù)據(jù)集(Key),文件[m1 ,m2 …mn ]上傳到遠(yuǎn)程服務(wù)商(證明者)。用戶定期向服務(wù)商提交驗證請求,要求服務(wù)商返回指定數(shù)據(jù)塊[mi ],用戶比對:
H[mi ]=?Key
由于Hash能夠?qū)⒖勺冮L度數(shù)據(jù)轉(zhuǎn)化為固定長度數(shù)據(jù),用戶存儲少量證據(jù)可以完成數(shù)據(jù)持有證明。
Storj是一個基于以太坊ERC20發(fā)行的token,嚴(yán)格說Storj不是區(qū)塊鏈項目。而是一個中心化的獎勵機(jī)制,即每個月storj官方根據(jù)各礦工每月的存儲量來發(fā)放獎勵。
Storj是一個基于以太坊ERC20發(fā)行的token,嚴(yán)格說Storj不是區(qū)塊鏈項目。而是一個中心化的獎勵機(jī)制,即每個月storj官方根據(jù)各礦工每月的存儲量來發(fā)放獎勵。
3.3.2 SiaCoin實現(xiàn)文件公開驗證
SiaCoin實現(xiàn)了文件公開驗證(實際上SiaCoin項目要早于Storj),區(qū)塊鏈網(wǎng)絡(luò)自動完成數(shù)據(jù)持有證明,任何礦工都可以驗證服務(wù)商是否存儲了文件F。用戶公開文件索引的Hash值作為證據(jù),礦工完成驗證,做法和本人驗證相同,最后對驗證結(jié)果數(shù)字簽名后放到鏈上。服務(wù)商需要提交原文件進(jìn)行驗證,由于Hash逆向計算是非常難的, 如果服務(wù)商知道Hash不知道原文件是無法通過驗證的。鏈上驗證解決兩個問題:1.用戶可能說謊,有可能驗證通過用戶聲稱未通過;2. 用戶不可能實時在線。
SiaCoin是一個早期區(qū)塊鏈項目,采用POW機(jī)制,10分鐘出一個塊,沒有考慮區(qū)塊鏈擴(kuò)容問題,客戶端同步很慢,TokenGazer在測試時用了2天時間完成同步。
3.3.3 FileCoin
FileCoin是基于IPFS的一激勵層,最主要特點是復(fù)制證明和時空證明,概念有點抽象,在此盡量通俗解釋。
復(fù)制證明:用戶要求服務(wù)商存儲一份文件F,為了安全要求存儲F的n個副本, 服務(wù)商存儲少于n個副本也難以發(fā)現(xiàn)。解決方案是對文件F進(jìn)行加密,形成n個不同的副本,分別要求服務(wù)商存儲,相當(dāng)于存儲了多個不同文件。
時空證明:服務(wù)商可能完成驗證后刪除文件,不斷進(jìn)行復(fù)制證明可以實現(xiàn)時空證明。FileCoin時空證明之所以復(fù)雜,是因為FileCoin計劃利用時空證明實現(xiàn)POW機(jī)制。
3.3.4 Lambda驗證方案BLS-PDP基于BLS同態(tài)簽名算法
Lambda驗證流程和SiaCoin相似:鏈上節(jié)點存儲認(rèn)證元信息(Key),每過一定時間向服務(wù)商發(fā)起挑戰(zhàn)。
圖:lambda驗證流程
每次驗證需要提交一部分文件數(shù)據(jù),通訊量仍然較高,容易泄露隱私。Lambda驗證方案中的BLS-PDP基于BLS同態(tài)簽名算法,由于BLS簽名機(jī)制具有同態(tài)特性,可以將多個簽名聚集成一個簽名。這兩點好的特性使得基于BLS簽名的PDP機(jī)制可以獲得更少的存儲代價和更低通信開銷來實。證明者可以將多個認(rèn)證數(shù)據(jù)塊相加產(chǎn)生一個數(shù)據(jù)塊返回給證明者(黃色標(biāo)記部分),通過這種方式大幅降低通訊量,并且有一定隱私保護(hù)功能。
缺點是要進(jìn)行umi 計算,計算上難以實現(xiàn)。項目方計劃將數(shù)據(jù)塊映射為大素數(shù),實現(xiàn)通訊量和計算量兩方面都可控,由于項目方?jīng)]有公布實施細(xì)節(jié),安全性和計算量方面TokenGazer團(tuán)隊目前還沒辦法評估。
另外Lambda采用POS和分片機(jī)制,預(yù)計TPS會遠(yuǎn)高于SiaCoin,能夠更頻繁進(jìn)行存儲驗證。
3.3.5 數(shù)據(jù)可恢復(fù)證明(POR)
Lambda和Storj都聲稱實現(xiàn)了數(shù)據(jù)可恢復(fù)證明(POR),數(shù)據(jù)可恢復(fù)證明(POR)不僅能識別數(shù)據(jù)是否損壞,而且能在數(shù)據(jù)損壞程度低于某一閾值的情況下恢復(fù)文件,認(rèn)證過程和PDP差別是,數(shù)據(jù)損壞低于某一閾值時通過認(rèn)證。
Storj白皮書POR章節(jié)偷換概念寫了數(shù)據(jù)持有證明(PDP),Lambda白皮書也沒有介紹POR如何實現(xiàn)。TG認(rèn)為POR是服務(wù)商自己考慮的問題,并且也有比較成熟的存儲協(xié)議來完成數(shù)據(jù)恢復(fù),鏈上只需要服務(wù)商證明數(shù)據(jù)的完整性。
3.4 數(shù)據(jù)布局算法
3.4.1 CCHDP異構(gòu)系統(tǒng)解決方案
數(shù)據(jù)布局算法解決如何將文件分配到不同的存儲節(jié)點,目前,大部分布局算法面對同構(gòu)系統(tǒng),而互聯(lián)網(wǎng)設(shè)備主要是異構(gòu)設(shè)備,為了便于理解,在此僅考慮磁盤大小,存儲項目需要根據(jù)調(diào)整不同設(shè)備寫入數(shù)據(jù)的規(guī)模,通常解決方案是運行虛擬機(jī),比如性能最差的設(shè)備運行一臺虛擬機(jī),性能好的運行多臺虛擬機(jī),這樣將異構(gòu)系統(tǒng)虛擬化成同構(gòu)系統(tǒng),但運行虛擬機(jī)越多浪費系統(tǒng)資源越高,這就要求集群中設(shè)備性能盡量相似。
Lambda使用的CCHDP(clustering-based and consistent hashing-aware data placement)算法。CCHDP的概念最早于2010年提出,由陳濤、肖儂、劉芳以及付長勝所撰寫的論文《基于聚類和一致Hash的數(shù)據(jù)布局算法》發(fā)布在軟件學(xué)報網(wǎng)站,大概思路是將異構(gòu)系統(tǒng)中性能相近的設(shè)備歸為一類,每個集群有性能相近的設(shè)備組成,達(dá)到同構(gòu)系統(tǒng)的效果,這種做法在中心化系統(tǒng)中是一個可行的方案,但白皮書沒有寫明去中心化系統(tǒng)如何實現(xiàn)CCHDP算法。
3.4.2 虛擬節(jié)點
每個集群內(nèi)部布局機(jī)制使用一致 hash 方法進(jìn)行數(shù)據(jù)的再次分配,將數(shù)據(jù)布局到具體的設(shè)備上。Lambda DB構(gòu)造了一個特殊的邏輯結(jié)構(gòu),所有組成單元連接在一起形成一個固定長度的環(huán),環(huán)的 最大值單元和最小值單元連到一起。節(jié)點加入一個數(shù)據(jù)庫集群時,根據(jù)Hash(key)值加入環(huán)中。
Lambda DB系統(tǒng)中的每一個節(jié)點在剛剛加入集群時,會被分配一個隨機(jī)的位置,由于算法的隨機(jī)性可能會導(dǎo)致不同節(jié)點處理的范圍有所不同,最終每一個節(jié)點的負(fù)載也并不同。為了解決這個問題,Lambda DB使用了一致性哈希算法的變種,將同一個物理節(jié)點分配到環(huán)中的多個位置,成為多個虛擬節(jié)點。
3.4.3 數(shù)據(jù)庫和區(qū)塊鏈關(guān)系
Lambda DB是一個分布式對等網(wǎng)絡(luò)節(jié)點系統(tǒng),每一個節(jié)點從邏輯上都含有一個ShardChain(WorkChain2)的賬本和一個數(shù)據(jù)庫系統(tǒng)的運行時系統(tǒng)。數(shù)據(jù)庫節(jié)點之間按照一定規(guī)則組成小網(wǎng)絡(luò)集群,集群的種子路由信息存在鏈上,路由表本身在存在P2P系統(tǒng)之上。客戶端在使用系統(tǒng)的時候,通過區(qū)塊鏈系統(tǒng)完成繳費,并獲得數(shù)據(jù)庫系統(tǒng)的訪問權(quán)限。由此,整個MainChain鏈本身是一個低頻交易系統(tǒng),WorkChain1是一個持續(xù)計費的高TPS系統(tǒng),數(shù)據(jù)庫是一個兼顧高頻和低頻的數(shù)據(jù)訪問系統(tǒng),數(shù)據(jù)庫本身通過WorkChain2對數(shù)據(jù)的響應(yīng)進(jìn)行統(tǒng)計,并在檢查點的時候?qū)φ埱蠛晚憫?yīng)信息進(jìn)行對賬。從思路來說,鏈提供的是類似于公有云的計費系統(tǒng),并提供了跨越多個物理IDC的信息連接能力。
3.4.4 哪些信息放到WorkChain鏈上
1. 節(jié)點信息
2. 路由信息
3. 底層文件哈希
4. 持有性驗證和完整性驗證
……
3.5 基于屬性加密的訪問控制
數(shù)據(jù)庫系統(tǒng)需要進(jìn)行訪問控制,然而區(qū)塊鏈上的數(shù)據(jù)都是公開可訪問的,這極大限制了數(shù)據(jù)的使用場景,為了擴(kuò)展使用場景,Lambda提供了基于多授權(quán)機(jī)構(gòu)屬性加密的訪問控制方案。屬性基加密(attribute-based encryption,簡稱ABE)機(jī)制以屬性為公鑰,將密文和用戶私鑰與屬性關(guān)聯(lián),滿足某些屬性的用戶可以訪問數(shù)據(jù)庫,能夠靈活地表示訪問控制策略,從而極大地降低了數(shù)據(jù)共享細(xì)粒度訪問控制帶來的網(wǎng)絡(luò)帶寬和發(fā)送結(jié)點的處理開銷。
項目方?jīng)]有披露ABE方案,但基于屬性的加密是非對稱加密算法的變種,計算開銷一般是對稱加密的N(密鑰長度)倍,1024位的密鑰就是對稱加密計算開銷的1024倍,并且隨屬性數(shù)量增加,因此ABE不適合長消息加密,也不適合頻繁加密解密。面對以上的挑戰(zhàn), Lambda采用了一個在線- 離線的多授權(quán)機(jī)構(gòu)屬性基加密(Online/Offline Multi-Authority Attribute BasedEncryption,簡稱OO-MA-ABE)方案,其主要思想是把用戶端在線計算代價轉(zhuǎn)移到離線階段或者云服務(wù)器上。
BLS-PDP數(shù)據(jù)持有證明,基于屬性加密的訪問控制(ABE),應(yīng)用CCHDP數(shù)據(jù)布局算法是項目的技術(shù)特色。BLS-PDP計算上難以實現(xiàn),ABE計算上可實現(xiàn)但計算量很大。白皮書沒有披露CCHDP數(shù)據(jù)布局算法如何上鏈。
4. 生態(tài)分析
4.1 代幣經(jīng)濟(jì)
Lambda的經(jīng)濟(jì)系統(tǒng)的角色由以下幾類組成:
鏈節(jié)點:
鏈節(jié)點上又分為驗證人、提名人和釣魚人,第三章已經(jīng)介紹;
存儲節(jié)點:
存儲節(jié)點,也是云服務(wù)商;
存儲節(jié)點的主要收入來自用戶支付的費用;
存儲節(jié)點需要預(yù)先質(zhì)押一部分資金,并獲得POS的分成受益;
存儲節(jié)點需要定期向驗證人發(fā)送心跳信息,其中的幸運者可以獲得一些獎勵,這個設(shè)計主要是為了激勵存儲節(jié)點的在線;
用戶:
用戶是采購并使用存儲節(jié)點的人,通常來說,會是其他應(yīng)用鏈和Dapp;
投資人:
投資人投資于Lambda項目,并分享LAMB上漲帶來的收益;
交易所:
數(shù)字貨幣交易所;
4.2 項目啟動
存儲節(jié)點:通過礦工招募可完成,目前設(shè)備和資源過剩,無存儲類合適幣種可挖礦
驗證節(jié)點:基金會孵化一部分,另外通過社區(qū)競選產(chǎn)生,驗證節(jié)點的收益比較客觀,社區(qū)成員有動力參加競選。
釣魚人:加入門檻低,加入規(guī)則公開。
SiaCoin項目存儲節(jié)點提供4.0PB容量,用戶只使用了1.77TB。同樣1TB數(shù)據(jù),亞馬遜需要需要6美元/月,SiaCoin只需要0.3美元/月,TokenGazer認(rèn)為無法應(yīng)用的一大原因是慢,TG團(tuán)隊嘗試使用了SiaCoin客戶端,10小時同步了45%。可以說目前區(qū)塊鏈存儲項目都沒有規(guī)模化應(yīng)用,Lambda后發(fā)優(yōu)勢比較明顯。
注:由于本篇報告篇幅較長,故分為兩篇報告上傳,其他內(nèi)容見下一篇內(nèi)容。
責(zé)任編輯:ToeknGazer
?本文為TokenGazer原創(chuàng)內(nèi)容,轉(zhuǎn)載請注明出處。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補充。