重新定義WEB架構:blockstack

區(qū)塊鏈技術發(fā)展至今,除了比特幣這個應用落地之外龙优。似乎鮮有其他可以落地的應用事秀。最近這個概念也越來越弱。
在17年時有家公司打算把區(qū)塊鏈的技術落地到一個叫blockchain 的項目宰衙。他提出了一個完全和過去設計web架構不一樣的理念睹欲。
同時他自己主要是作為一個命名系統而存在。
這個應用是個探索者窘疮,未來的路可能前途無量考余,也可能不是一條正確的方向。但我還是很樂意看到這樣的想法和嘗試楚堤。

首先他提出了一個理念。在過去各家科技公司擁有了絕對的數據衅胀。所有用戶的數據都托管在他們使用的APP的服務端∷煮荩現在的APP基本都是這個模式。我們稱之為中心化的APP掸掏。


image.png

那么他提出了去中心化的APP。也就是讓用戶對自己的數據有絕對的控制權募闲≡复科技公司只提供處理數據的APP代碼邏輯。在這種架構下要出,APP和用戶在一起农渊,數據被放在另一側。數據不再和APP綁定腿时。用戶可以自由的切換APP而不用理會數據沒有的問題批糟。就拿博客來說,自己寫的文章的數據不再放在某個具體博客網站的數據庫里徽鼎。而是存在一個公有云上,必須有自己的私鑰才有權利去讀到自己的數據悄但。隨后你可以用這份數據去配上不同網站的APP代碼石抡,來在不同網站上呈現的你的文章。


image.png

他的亮點在于嚎京,數據是用戶的隐解,而不是屬于某個APP的。所以就可以防止某些公司去做出販賣或窺探數據的問題帕涌。

這種設計看上去十分美好,但是世界沒有向這個方向走亲澡,也是因為他存在很多問題辟躏。
相比于用戶寫的裸數據,不夠架構化。在寫應用代碼的時候會非常困難裹匙,相比較于直接把數據存進數據庫。
如果要讓用戶自己去負責把數據結構化籽御。又對用戶提出了很高的要求惰匙。
同時只有用戶自己對自己的數據有最終解釋權。那么他們可以篡改自己的數據哑梳,就違背了一些應用依賴于一個SOURCE OF TRUTH的情況绘盟。比如競價系統,如果最后得標價是1000元龄毡。用戶發(fā)現自己中標失敗后,篡改自己的數據為得標價格沦零。來HACK應用是很難避免的。因為應用只有代碼邏輯疾渴。數據完全來自用戶寻拂。
同時也給開發(fā)人員帶來很多的麻煩。

從目前來看瞄沙,現在的架構雖然有隱私上的問題。但是利大于弊距境。

  • 易于編程
  • 對軟件和數據的集中控制使更改(和調試)變得容易
  • 性能,可靠性的良好解決方案
  • 易于實施特定于應用程序的安全性
  • 成功的收入模式(廣告)

Blockstack

blockstack立志于構建一個命名系統师幕。有了命名系統之后诬滩,可以做很多事情疼鸟。比如云盤是不可靠的,我們放在云盤上的數據必須是加密的空镜,那么我們就需要一個名字到PUBLIC KEY的映射。同時我這個名字OWN了哪些數據也是很重要的张抄。
這里的名字我覺得類似于一個域名或者你的手機號洼怔,他可以代表你的身份,需要搶注泽台,一旦一個名字被一人占用后矾缓,他就一直獨享,直到他把這個名字轉賣掉嗜闻。這里就和比特幣的思想很像蜕依。
所有人需要對這個名字的主人的所有權達成共識在P2P的環(huán)境下。

Zooko's triangle

Zooko Wilcox-O'Hearn曾推測琉雳,任何一種命名系統都無法同時滿足三種特性:可讀性(Human-meaningful)样眠,唯一性(Unique),和分散性(Decentralized)翠肘。也就是說檐束,任何一種命名系統都要至少像其中一種特性妥協。例如束倍,我們給小孩起名字被丧,可以滿足可讀性和分散性盟戏,但卻無法保證名字是唯一的;滿足可讀性和唯一性的傳統DNS甥桂,它是中心化的(不滿足分散性),同樣的例子還有EMAIL地址黄选;如果你用UUID來生成名字滿足安全性和分散性蝇摸,但域名確是隨機字符串(無法滿足可讀性)。類似的例子有你的公鑰办陷。

這里BLOCKSTACK利用區(qū)塊來存對名字的占有屬性锹雏。如果我能夠在一個區(qū)塊里寫下我擁有XXX的名字穆役,那么這個名字將屬于我害捕,并且全局唯一抛虏。其實這個名字雖然具備可讀性,但是你很難依靠他直接來區(qū)分某個人殃恒,因為任何一個人都可以對一個名字進行搶注。所以你還是要在線下和那個人取得聯系辱揭,得知屬于他的NAME离唐。這個類似于微信號的意義。

4層架構

BLOCK STACK 架構分為4層问窃。
首先用戶需要安裝一個客戶端亥鬓,里面含有一個瀏覽器,可以展示不同的APP域庇,以及用戶的私鑰也是保存在客戶端嵌戈。當瀏覽器去SERVER端拿到數據后,需要用戶的私鑰進行解密展示听皿。

緊接著與客戶端打交道的就是BNS熟呛, BLOCK NAMING SERVICE。 這里面會從區(qū)塊里面找到所有用戶注冊的NAME信息和對應的ZONE+PUBLIC KEY尉姨。當用戶需要去讀自己或是其他用戶的數據的時候庵朝,首先就是要向BNS去發(fā)送自己的NAME。然后BNS會在區(qū)塊中找到對應的pub key + zone hash. 然后把請求轉發(fā)給下一層又厉。

第三層是叫ATLAS SERVER.他的職責是存儲ZONE RECORD九府。因為ZONE RECORD過于龐大,如果直接存進區(qū)塊這樣對資源已經性能都有很大的不利覆致。所以我們只在區(qū)塊中存放ZONE的HASH侄旬。而其對應的ZONE RECORD會放在ALTAS SERVER上。ZONE RECORD 定義了數據在第四層的具體位置煌妈。是不可變的儡羔。

第四層是GAIA SERVER宣羊。 他是對所有存儲設備的一個抽象,即統一GET,PUT接口笔链。背后可以是Amazon S3, 或者是Dropbox段只。 上面存放的數據都是通過公鑰加密的,只有用戶自己的私鑰可以解密鉴扫。

這背后就牽涉到私鑰該如何保管赞枕,因為你的設備的APP里必須包含私鑰。如果你的手機不小心丟在咖啡店坪创,被他人使用就可以冒充你做一些事情炕婶。所以可能未來私鑰還需要結合指紋?這個我也不知道莱预。

另外在區(qū)塊中搶注一個NAMING 是需要消耗比特幣為代價的柠掂,也就是說你必須為你的數據存儲支付費用。因為如果不這么做依沮,就會有很多壞人搶注掉非常多的名字涯贞。

image.png

總結

這篇文章自己其實讀的不是非常深入。收獲如下
區(qū)塊鏈的核心是共識危喉,而里面完成共識的步驟本質上是挖礦宋渔。所以我們必須基于MINING來保持事件的順序性。
區(qū)塊是昂貴資源辜限,里面存的信息越精簡越好皇拣。這樣APP才可以有足夠的性能和存儲去使用。
分布式的存儲設計十分具有吸引力薄嫡。如果你只是在聊中心化的存儲氧急,現有的系統已經很強大了。
公鑰基礎設施如果能夠被非中心化的構建出來-此處的任何進展都將是巨大的毫深,從所有用戶到其公共密鑰的通用映射將非常有用吩坝。因為每個人都可以有自己的唯一簽名和加密方案。
BLOCKSTACK除了這一點還為我們提供了NAMING 的可讀性费什。
應用程序和數據分離钾恢,聽起來是個好主意; 但是前提必須是對開發(fā)人員需要足夠友好鸳址。另外存儲付費不知道用戶是否會為此買單瘩蚪。
對隱私數據進行端到端加密是一個好主意,但是私鑰管理既痛苦又脆弱稿黍, 同時加密使共享和訪問控制非常尷尬

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末疹瘦,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子巡球,更是在濱河造成了極大的恐慌言沐,老刑警劉巖邓嘹,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異险胰,居然都是意外死亡汹押,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門起便,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棚贾,“玉大人,你說我怎么就攤上這事榆综∶畋裕” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵鼻疮,是天一觀的道長怯伊。 經常有香客問我,道長判沟,這世上最難降的妖魔是什么耿芹? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮挪哄,結果婚禮上猩系,老公的妹妹穿的比我還像新娘。我一直安慰自己中燥,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布塘偎。 她就那樣靜靜地躺著疗涉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吟秩。 梳的紋絲不亂的頭發(fā)上咱扣,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音涵防,去河邊找鬼闹伪。 笑死,一個胖子當著我的面吹牛壮池,可吹牛的內容都是我干的偏瓤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼椰憋,長吁一口氣:“原來是場噩夢啊……” “哼厅克!你這毒婦竟也來了?” 一聲冷哼從身側響起橙依,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤证舟,失蹤者是張志新(化名)和其女友劉穎硕旗,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體女责,經...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡漆枚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了抵知。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墙基。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖辛藻,靈堂內的尸體忽然破棺而出碘橘,到底是詐尸還是另有隱情,我是刑警寧澤吱肌,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布痘拆,位于F島的核電站,受9級特大地震影響氮墨,放射性物質發(fā)生泄漏纺蛆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一规揪、第九天 我趴在偏房一處隱蔽的房頂上張望桥氏。 院中可真熱鬧,春花似錦猛铅、人聲如沸字支。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堕伪。三九已至,卻和暖如春栗菜,著一層夾襖步出監(jiān)牢的瞬間欠雌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工疙筹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留富俄,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓而咆,卻偏偏與公主長得像霍比,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子翘盖,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355