區塊鏈技術資源分享
追尋中本聰先生的腳步
?

分布式存儲網絡Genaro_未來DApp數據生態系統奠定基礎_Genaro吳為龍_碳鏈價值

Genaro的設計目的是為了讓數據擁有分布式存儲的媒介,該媒介能為鏈上DApp提供數據的分布式存儲,同時令每一個用戶擁有對自身數據的所有權。

希望讀者可以通過這篇文章了解Genaro,更希望讀者可以藉由此篇文章,了解數據的分布式存儲這一概念以及它的實現原理和實現過程。

Genaro團隊-分布式存儲網絡_未來DApp數據生態系統奠定基礎

 

“你想要一個分布式的賬本嗎?”如果向用戶提出這樣的問題,他們十之八九會陷入疑惑,并反問,“什么是分布式賬本?”即使是區塊鏈從業者,恐怕也很難用簡單的句子回答出什么是分布式賬本,以及用戶為什么需要這樣一個賬本。

但如果換一個問題,“你想要一個分布式的應用,或者說分布式的App嗎”?被問者可能會有一些好奇,并詢問“分布式的App和我現在使用的App有什么不同?”

這個問題的答案是清晰的,易于理解的。分布式的App可以消減中心化機構作惡的便利性,可以讓用戶擁有對自身數據的所有權,可以讓交易過程變得更加可信,可以讓用戶獲得經濟上的收益……

而這也許是互聯網用戶們想要的一些“功能”。他們需要分布式的應用,但不理解也不需要一個分布式的賬本。

從賬本到應用,面臨著挑戰。有的挑戰顯而易見,比如系統能否支持應用“跑”起來。這個問題最被詬病同時也最被重視,不少技術方案和嶄新項目的出現都是為了解決這一短板。

有的挑戰卻隱蔽得多,比如分布式應用保持了真正徹底的分布式嗎?還是僅僅是分布式的賬本加上各種中心化的解決方案?

目前的狀況是后者,尤其在至關重要的數據存儲方面。包括Ethereum和EOS在內,大部分公鏈能夠承載的只是一個分布式賬本,因為鏈上數據大小受限,DApp運行所需要的大量數據不得不存儲在中心化的服務器上,這讓DApp在很大程度上喪失了分布式和分布式能夠帶來的優勢,同時面臨著包括DDoS攻擊在內的各種威脅。

該如何解決這一問題?該如何設計和實現區塊鏈數據的分布式存儲?

碳鏈價值采訪了Genaro項目CTO吳為龍,一個典型的crypto guy。他講述了自己對這一問題的理解以及Genaro對此的解決方案。Genaro的設計目的是為了讓數據擁有分布式存儲的媒介,該媒介能為鏈上DApp提供數據的分布式存儲,同時令每一個用戶擁有對自身數據的所有權。

希望讀者可以通過這篇文章了解Genaro,更希望讀者可以藉由此篇文章,了解數據的分布式存儲這一概念以及它的實現原理和實現過程。

基于Kademlia的分布式存儲網絡

首先,為了保證用戶對數據的所有權和隱私權,也就是說數據對于非授權用戶是不可見、不可用的,在存儲數據前,先要對數據進行加密。

Genaro采用了兩步走的加密方法:先用對稱加密的方法使用密鑰對明文數據加密,再用非對稱加密的方法加密密鑰。這種組合的加密方法可以在實現加密的基礎上有效地提高加密效率。

在完成數據加密后,緊接著是做數據切片,也就是把一份文件數據切割成一個個小的數據片段,而這些數據片段將會被存儲到分布式系統中不同的存儲空間中去。數據的分布式存儲的存儲顆粒度不是文件,是小的數據片段。

有了需要被存儲的數據片段,如何實現這些數據片段的分布式存儲?Genaro采用的是實行Kademlia協議的DHT(Distributed Hash Table,分布式哈希表)網絡。

哈希表是一種數據結構,存儲KV對(Key/Value Pairs,鍵值對)。它使用hash()函數把key值映射到index上,即hash(KEY) = index,然后把與這個key值對應的value存儲到index所標記的存儲空間中。當要查找Key值對應的value值時,只需要做一次hash()運算即可。

哈希表的存儲空間在同一臺機器上,分布式哈希表(DHT)則把Key值的集合分散到分布式系統中的節點,并且可以有效地將消息轉送到擁有所查詢Key值的節點,實現數據的分布式存儲。

Kademlia是實現DHT的諸多技術中的一種,在Kademlia算法里, 每一臺加入Kademlia網絡的機器都擁有一個160位的NodeID,而每個數據片段的Key值也是一個160位的標識符,每組數據(以KV對的存儲形式)都存儲在160位鍵值空間中與自身Key值對應的機器節點上。
在獲取數據,也就是從機器節點取回數據時,Kademlia使用了“距離”這一概念來尋址,通過對兩個160位標識符的“異或(XOR)”,獲得系統二叉樹中兩者之間的距離。異或算法建立了一種全新的DHT拓撲結構,相比其他算法提高了路由查詢速度,能夠快速從分布式的機器節點中找到需要的數據。

通過上述技術,Genaro實現了加密數據的分布式存儲。用戶的數據文件被加密、切片、分散存儲到不同的機器節點上,并可通過Kademlia被檢索、重新組裝和使用。

以SPoR+PoS為共識的Genaro公鏈

如何用上述分布式存儲網絡來存儲區塊鏈的DApp數據,并保證數據的一致性和完整性?Genaro采用的方法是使用雙層架構,將區塊鏈與分布式存儲網絡集成。

Genaro I/O流協議(GSIOP)在分布式存儲網絡和區塊鏈間創建了一個數據通道,數據通過該協議傳輸,以同構的方式實現同步,從而保證數據在存儲網絡和區塊鏈上的一致性。

用戶在Genaro公鏈上完成數據初始化,文件數據存儲在分布式網絡中,區塊鏈上則存儲相應的存儲記錄。初始化會同時完成數據使用特性,比如對數據調用角色進行劃分,有數據的擁有者,也有數據的使用者,數據的每一次改動都能看到擁有者的commit。

假如用戶A、B、C和D與數據有關,他們會分別拿到不同權限的密鑰對,只有擁有數據更改權限密鑰的人,才能在與鏈上交互,獲得確認后再更改數據;而其他使用者雖然可以使用數據,但無法更改數據。在這種限定下,就不會出現多個用戶在鏈下隨意更改,導致數據的不可用、不一致。

在使用分布式網絡存儲數據時,另一個需要解決的問題是數據的完整性。Genaro需要保證當把數據存儲到網絡中后,被存儲的數據是可以被驗證存儲完整性的,也就是說文件數據是可用的,而不是存儲后無法找回的。

為了解決這一問題,Genaro選擇了SPoR算法,它基于Kevin D.Bowers和Ari Juels的論文《Proof of Retrievability》,PoR(Proof of Retrievability,可檢索證明)是證明目標文件存在且未被損壞的一種方式。

SPoR對PoR進行了改進,通過設立特定的文件指紋(sentinels)來偵測被存儲文件數據的可驗證性。

在建立階段,驗證節點對文件加密,并把文件指紋植入文件的隨機位置;在驗證階段,為了驗證存儲節點保有文件,驗證節點指定文件中含有部分指紋的位置,并要求存儲節點返回相應的指紋值;因為存儲節點無法區分開指紋和原文件,因此如果它修改了文件的一部分,有很大的概率也會修改掉相應部分的指紋。在這種情況下,當驗證節點驗證了足夠多的指紋后,就可以確定存儲節點是否修改了文件,從而可以保證文件的安全性和完整性。

在Genaro公鏈,SPoR承擔的功能不僅是驗證存儲的完整性,它也被用作共識的達成,與PoS一起組成Genaro的混合共識機制。

PoS共識有兩大問題:無利害關系(Nothing at Stack)和長程攻擊(Long-Rang Attack),Genaro混合共識依靠由SPoR提供的輔助信息解決這兩個問題。

Genaro公鏈將指紋校驗記錄引入區塊鏈共識操作中,校驗次數在鏈上同步,所以在多個分支上,只有主鏈才會同步到相對值較大的檢驗記錄總數,依靠這部分信息,就可以對錯誤分支押注的攻擊者進行懲罰,解決無利害關系問題;而同樣因為引入指紋校驗記錄,在相對久的區塊分支,即便一開始分支可以演進,當到達驗證點之后,就會因為指紋總數少于主鏈而停止,從而解決長程攻擊問題。

在工程實現中,Genaro使用了許多經典的技術和算法——比如PoR,它是整個云存儲的開端——再把區塊鏈思維加入其中,一步步迭代出嶄新的東西,最終帶來結合分布式存儲網絡的區塊鏈公鏈,實現了DApp數據的分布式存儲。

Genaro生態系統

采用雙層架構,將區塊鏈與分布式存儲網絡集成在一起的Genaro系統中,包含眾多的生態參與者。

這其中,有DApp開發者。他們可以基于Genaro公鏈一站式開發出實現數據分布式存儲的DApp。如果說共識機制是操作系統,存儲網絡就是硬盤,Genaro創建了一個功能齊全的整體,而這個整體是以分布式的形式存在的。

所有的原始數據都是安全加密、分布式存儲的,只能通過區塊鏈的數據“島”到達,而區塊鏈本身只能通過私鑰訪問,分布式賬本與分布式存儲結合,實現了真正的分布式DApp。

同時,分布式存儲也為DApp提供了更高的安全性,為DApp開發者帶來了更低的開發成本。

Genaro也為其他公鏈提供數據分布式存儲這一基礎設施的服務。

公鏈是一條高速公路,Genaro則可以為公路鋪設“數據存儲”那一層路基。公鏈項目可以專注于自我優勢領域的開發,而通過與Genaro的合作實現DApp數據的分布式存儲。

在Genaro生態系統中,還包括數據的擁有者(存儲者),他們不僅可以安全、私密、永久地存儲自己的數據,而且還擁有對自己數據的所有權,這一點在“數據就是價值”的未來會變得至關重要。

Genaro Ventures生態系統促進DAPPS開發的計劃

同時,基于Genaro可搜索加密和半同態加密,用戶可以在保護數據隱私的情況下分享數據、交易數據,從而實現數據價值,并可利用數據獲得收益。

為分布式存儲網絡貢獻硬盤空間的參與者也是Genaro生態的一員,Genaro在對存儲付費的同時,通過共識機制的設計給予參與者更多的激勵,鼓勵他們分享存儲空間,促進整個生態系統的發展。

雖然生態系統是龐大的,但對于DApp用戶來說,他們不需要知道系統內部的工作原理便可以輕松的使用它,并享有分布式DApp能帶來的種種優勢。

結束語

在區塊鏈領域有無限的方向,每個方向都可能開拓出嶄新的天地,Genaro做的是為未來DApp數據生態系統奠定基礎。

吳為龍說,所有的區塊鏈技術都不是“火箭技術”,是需要腳踏實地,一步步優化、一步步推進的技術。這大概也是團隊的共識,因為以工程化的邏輯去設計、去實現,保證可用的最大化,正是Genaro的節奏。

這段時期,行業內很多人士在提可信區塊鏈,可信存儲是可信區塊鏈最重要的組成部分之一,而數據的分布式存儲正是有效的值得期待的可信存儲解決方案。

團隊在做事不要看價格。

作者:李畫

編輯:秦晉

碳鏈價值

分享到:更多 ()
0
區塊鏈神吐槽
pi幣注冊流程教程圖解中文版

來評論吐槽 搶沙發

評論前必須登錄!

 

區塊鏈資源分享聯系我

區塊鏈資源分享聯系我首頁更多新聞
做滴滴代驾还是开滴滴那个赚钱