Gaia: BlockStack 去中心化存儲服務(wù)

原文: https://medium.com/coinmonks/gaia-df6b86a17d50

?我們先理解傳統(tǒng)的web或移動app如何與存儲交互。每當(dāng)用戶登錄到app時集漾,app從遠(yuǎn)程存儲器中獲取用戶數(shù)據(jù)并將其顯示給用戶搀捷。所有復(fù)雜的計(jì)算都運(yùn)行在云服務(wù)器上滔金,而不是客戶端上塘砸,客戶端充當(dāng)一個簡易的顯示終端互躬。

下面是兩個虛構(gòu)角色Alice和Bob與傳統(tǒng)web/移動app交互的例子捺萌。

傳統(tǒng)App如何工作
傳統(tǒng)App如何工作

假設(shè)我們有兩個用戶Alice和Bob庐氮。他們都有 App:Whatsapp,F(xiàn)acebook 或者 Snapshot漆弄。他們與App的提供者交互睦裳。這些App基本上運(yùn)行SQL或者其他數(shù)據(jù)庫為用戶提供服務(wù)。
當(dāng)Alice想要使用即時通訊應(yīng)用與Bob交互時撼唾,Alice將消息發(fā)送給服務(wù)提供者廉邑,而服務(wù)提供者將消息發(fā)送給Bob。

在傳統(tǒng)應(yīng)用程序中倒谷,兩個用戶之間如何通信
在傳統(tǒng)應(yīng)用程序中蛛蒙,兩個用戶之間如何通信

例如,Alice首先向存儲服務(wù)器發(fā)送信息“Hi”渤愁,然后存儲服務(wù)器將信息發(fā)送給Bob牵祟。交互路徑是 Alice→存儲服務(wù)器→Bob,Alice←→Bob之間沒有直接路徑抖格。這是個中心化的過程诺苹,服務(wù)提供者代表Alice和Bob傳遞數(shù)據(jù),并控制如何共享數(shù)據(jù)他挎。Alice和Bob都是通過查詢中新心服務(wù)器來查找彼此的消息筝尾。服務(wù)提供者總是信任的唯一來源。

中心化存儲帶來的問題

  1. 讀取寫入數(shù)據(jù)與用戶身份標(biāo)識沒有嚴(yán)格關(guān)聯(lián)办桨。
    不能保證Bob收到的消息確實(shí)來自于Alice筹淫,或者消息是篡改的。而且,這些大公司也并不是免費(fèi)提供服務(wù)的损姜。他們向廣告商出售用戶數(shù)據(jù)饰剥,從用戶數(shù)據(jù)中牟利。這樣摧阅,他們可以更好地鎖定潛在客戶汰蓉。在某些情況下,他們的做法是違法的:德國一家法院本月剛剛裁定棒卷,F(xiàn)acebook非法收集數(shù)據(jù)顾孽,違反了消費(fèi)者相關(guān)的法律。

  2. 用戶不能選擇不同的存儲提供者 比规,
    只有app才能選擇存儲器以及把用戶數(shù)據(jù)保存在什么位置

  3. 用戶無法控制誰查看他們的數(shù)據(jù)若厚,
    存儲器總是可以查看他們的數(shù)據(jù)

Blockstack 如何解決中心化存儲問題

以便使用戶能夠控制自己的數(shù)據(jù),并嚴(yán)格地將自己的數(shù)據(jù)與用戶身份標(biāo)識關(guān)聯(lián)起來蜒什。Blockstack提供了去中心化存儲系統(tǒng)(Gaia)和區(qū)塊鏈命名系統(tǒng)(blockchain naming system即BNS)测秸。
用戶可以使用BNS提供的數(shù)字身份登錄到blockstack App。用戶數(shù)據(jù)將與用戶公鑰強(qiáng)關(guān)聯(lián)灾常。App將代表用戶讀寫數(shù)據(jù)到Gaia hub(當(dāng)且僅當(dāng)用戶允許時)霎冯。所有用戶數(shù)據(jù)將被傳輸?shù)剿麄兊腉aia hub。
Gaia hub可以由用戶自己擁有钞瀑,也可以使用blockstack提供的默認(rèn)存儲空間沈撞。blockstack 在默認(rèn)情況下,hub用于存儲由用戶的公鑰加密的用戶數(shù)據(jù)仔戈。這樣关串,存儲器只能看到加密好的數(shù)據(jù)塊拧廊。

介紹 Gaia

Gaia是由完全由用戶擁有的存儲监徘,用戶決定誰能看到它,并將其寫入存儲吧碾。他們可以隨時更改存儲器凰盔。它是基于驅(qū)動程序模型構(gòu)建的分布式高性能存儲系統(tǒng),支持許多存儲服務(wù)倦春。它是基于驅(qū)動程序模型構(gòu)建的分布式高性能存儲系統(tǒng)户敬,支持許多存儲服務(wù)。只需做很少的工作睁本,開發(fā)人員就可以通過Gaia為Dropbox尿庐、azure、S3 實(shí)現(xiàn)存儲呢堰。

Gaia vs IPFS:Gaia和IPFS的主要區(qū)別在于抄瑟,Gaia用戶對他們的數(shù)據(jù)的控制權(quán),但在IPFS中有一個開放的網(wǎng)絡(luò)枉疼,你的數(shù)據(jù)被放置在不同的人的設(shè)備上皮假。

Blockstack app 如何存儲數(shù)據(jù)以及用戶如何控制自己的數(shù)據(jù)鞋拟?

客戶端如何與gaia存儲交互
客戶端如何與gaia存儲交互

假設(shè)現(xiàn)在Alice正在使用一個blockstack 消息App。她使用自己的Gaia服務(wù)和她自己的公鑰進(jìn)行交互惹资。Bob有相同的App贺纲。Alice和Bob都想和對方交流。為了相互通信褪测,Alice 的 Gaia服務(wù)和Bob 的Gaia服務(wù)之間必須有讀/寫路徑猴誊。

問題出現(xiàn)了,Blockstack App如何與Gaia存儲交互侮措,以及Gaia如何為用戶提供全面控制?

Blockstack App與Gaia服務(wù)之間的交互
Blockstack App與Gaia服務(wù)之間的交互

用戶和存儲后端都定義了URL稠肘。Blockstack App定義了用戶存儲的URL路徑。它根據(jù)用戶從不同的存儲器進(jìn)行讀寫萝毛,這種方式允許用戶對數(shù)據(jù)的控制项阴。查找路徑允許用戶控制和存儲他們的數(shù)據(jù)。

Blockstack App 如何在 Gaia 中查找數(shù)據(jù)?

image.png
image.png

這個過程分 3 步:

  1. 在虛擬鏈中查找名稱以獲得(名稱笆包、散列)對

  2. 將用戶名解析為數(shù)據(jù)(通過BNS和Atlas網(wǎng)絡(luò)控制)环揽,以獲得相應(yīng)的區(qū)域文件

  3. 從zonefile中發(fā)現(xiàn)存儲后端URI,并查找連接到存儲后端的URI

  4. 從Gaia服務(wù)中獲取數(shù)據(jù)

解釋

App將給定的用戶名解析為某些數(shù)據(jù)庵佣。假設(shè)我們有一個用戶sidra.id歉胶。App將使用blockstack.js 程序庫中的Blockstack BNS。Atlas網(wǎng)絡(luò)獲取根文件(區(qū)域文件)巴粪,這個文件定義很多關(guān)于名稱的信息通今。它還將提供存儲 App數(shù)據(jù)的URL。

一旦App完成了對 App根文件 的查找肛根。申請者將能夠獲得更具體的數(shù)據(jù)辫塌。假設(shè)想查找文件foo.json。然后派哲,唯一的要求是執(zhí)行一個正常的URL獲取臼氨。最后的設(shè)置是在Gaia規(guī)范中定義的。

如何更改 Gaia的儲存器?
在系統(tǒng)中芭届,如果用戶想要更改正在運(yùn)行的Gaia儲存器储矩。因?yàn)橛脩魮碛凶约旱挠脩裘运麄兛梢院苋菀椎貙⒉煌臄?shù)據(jù)與他們的用戶名相關(guān)聯(lián)褂乍,這允許他們選擇不同的App路由持隧。這最終允許他們更改App執(zhí)行這些查找的方式。查找定義了數(shù)據(jù)的控制逃片,只要用戶能夠控制數(shù)據(jù)的查找就控制了數(shù)據(jù)屡拨。

Gaia 接口

Gaia是一個存儲后端,它提供了一個簡單的接口。因此洁仗,App可以像普通的post层皱、get和put請求工作一樣進(jìn)行讀寫。Gaia定義了三種路徑:

Gaia
Gaia
  1. PUT/store/<public-key-hash>/<file-name> 通過App代表用戶向Gaia服務(wù)寫入數(shù)據(jù)

  2. GET/store/<public-key-hash>/<file-name>從公鑰哈希定義的用戶中讀取文件

寫一個 Gaia hub

Blockstack App代表用戶編寫赠潦,例如叫胖,app調(diào)用PUT請求將一些數(shù)據(jù)提交到Gaia服務(wù),并提供和驗(yàn)證頭她奥,就像公鑰簽名文本一樣瓮增。Gaia服務(wù)將驗(yàn)證此App實(shí)際上被授權(quán)向用戶Gaia寫入數(shù)據(jù)。

image
image

從 Gaia 中讀取數(shù)據(jù)

  1. 獲取zone文件和數(shù)據(jù)

  2. 驗(yàn)證zonefile hash 是否匹配用戶公鑰

結(jié)論

Gaia是Blokckstack App的存儲后端哩俭。它提供了用戶擁有自己數(shù)據(jù)的能力绷跑,但是存儲的數(shù)據(jù)仍然依賴于傳統(tǒng)的DNS服務(wù)和復(fù)雜的云存儲。它還將大多數(shù)用戶設(shè)備無法處理的計(jì)算負(fù)載強(qiáng)加給用戶凡资。對于去中心化的互聯(lián)網(wǎng)來說砸捏,用戶隱私還有很長的路要走。 大多數(shù)用戶還沒有為這種變化做好準(zhǔn)備隙赁。DApp需要對用戶友好垦藏,并使其他人做的工作更少才能成功。

參考

https://github.com/blockstack/gaia
https://blockstack.org/whitepaper.pdf
https://www.youtube.com/watch?v=aF4IGcwMgmM&t=503s
https://www.youtube.com/watch?v=e4xIGGv3Wpc

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伞访,一起剝皮案震驚了整個濱河市掂骏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厚掷,老刑警劉巖弟灼,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異冒黑,居然都是意外死亡田绑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門薛闪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辛馆,“玉大人俺陋,你說我怎么就攤上這事豁延。” “怎么了腊状?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵诱咏,是天一觀的道長。 經(jīng)常有香客問我缴挖,道長袋狞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮苟鸯,結(jié)果婚禮上同蜻,老公的妹妹穿的比我還像新娘。我一直安慰自己早处,他們只是感情好湾蔓,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著砌梆,像睡著了一般默责。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咸包,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天桃序,我揣著相機(jī)與錄音,去河邊找鬼烂瘫。 笑死媒熊,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坟比。 我是一名探鬼主播泛释,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼温算!你這毒婦竟也來了怜校?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤注竿,失蹤者是張志新(化名)和其女友劉穎茄茁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巩割,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裙顽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了宣谈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愈犹。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖闻丑,靈堂內(nèi)的尸體忽然破棺而出漩怎,到底是詐尸還是另有隱情,我是刑警寧澤嗦嗡,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布勋锤,位于F島的核電站,受9級特大地震影響侥祭,放射性物質(zhì)發(fā)生泄漏叁执。R本人自食惡果不足惜茄厘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谈宛。 院中可真熱鬧次哈,春花似錦、人聲如沸吆录。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽径筏。三九已至葛假,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間滋恬,已是汗流浹背聊训。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恢氯,地道東北人带斑。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像勋拟,于是被迫代替她去往敵國和親勋磕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345