網際網路之父釋出的去中心化平臺 Solid 是什麼
上週出了一條訊息,網際網路之父 Tim Lee 釋出了一個去中心化的平臺,叫 Solid。 這條訊息在區塊鏈圈子內,廣為傳播,訊息是這樣的:

很多人就會問, Solid 是一種區塊鏈嗎? 大家一看到 “去中心化”,便直接關聯上區塊鏈,可見前一陣子區塊鏈科普力度之大。
首先,Solid 不是區塊鏈,這毋庸置疑。
其次,這條新聞的標題有兩個錯誤:1. Tim Lee 老人家不是網際網路的爹,他是 Web 全球資訊網的爹。網際網路的爹是好多人,其受孕、懷胎及生產過程極為曲折,要列出爹來有一長串。2. Solid 不是一個平臺,而是一套技術規範。
Solid 是一套基於 W3C 的去中心化技術規範。
按虛歲來說,Tim Berners-Lee 老人家已經 64 了今年。1989 年他設計 HTTP 的時候,目的是發明一個人們協作和交換思想的平臺,原本就是要搞去中心化的。但兒大不由爺,Web 後來瘋狂生長,早已不是老爺子期望的那樣純潔。
老爺子的不滿,主要是針對那些網際網路巨頭們,比如 Google、Facebook 之流。Tim 認為他們擾亂了網際網路的平等,他期待的那個 “人人皆能發聲,人人都被聽到” 的 Web 理想國,並未實現。 這就好像一個英明君主打下了江山後,給子民們平均了地權,人人有飯吃,過了一陣子再一看,冒出一堆大地主來,還有無數的無地流民,君主就不大爽。
所以多年來,Tim 老爺子一直在努力推動網際網路平權。
2017 年,Tim 就行動了,成立了一個創業公司叫 Inrupt,公司在波士頓,看來他從英國搬到美國來了。公司所研發的技術,就叫 Solid。
Solid 是 Social Linked Data 幾個字的首字母縮寫,從這可以看出, Solid 其實是針對社交網站的技術。
現在,人們用微博,用 Facebook,都需要一遍遍的註冊,將自己 Profile 資訊錄入網站。之後,在使用過程中,自己的喜好、習慣、日程、朋友就都進入了微博與 Facebook 的資料庫。這些社交網站,近乎壟斷了個人網際網路的天下。
這讓 Tim 感到憤怒 - 我的資料,憑什麼給你 Facebook 啊? 我在設計 HTTP、HTML 的時候,沒想養虎為患啊。
而 Solid 就要改變這一切,其思路是,人人都可以擁有一個數據 POD,這個 POD 可以架設在自家的伺服器上,也可以由第三方網站託管。
當用戶訪問網站,比如 Facebook 網站的時候,就不用註冊了,只需通過 Facebook 呼叫自家伺服器上 POD 的 URI。 當然需要 Facebook 支援 Solid 協議。這就有點象 OPENID 了,今天我們也可以用 Facebook 的 ID 去登入其它網站啊。是的,有點類似 OPENID, 但 Solid 所用的技術,叫 Webid,是 2000 年 TIM 就設計出來的。webid 不僅提供訪問認證,還提供許可權控制,控制 Facebook 所能夠訪問的資料內容。
Webid 協議,基於非對稱加密技術,這是 Solid 技術與區塊鏈技術略有些像的地方。
不僅如此,更顛覆的是,當你用自己的 POD 登入了 Facebook 後,你所留下的內容,包括帖子、評論、照片什麼什麼的,一概不存在 Facebook 伺服器上,而是直接送回到自己的 POD 上儲存。 每次要看內容, Facebook 都要到你的 POD 去調取資訊。
網際網路的資料與應用,徹底分開了。這就是 Solid 被稱為去中心化的原因。
但這個去中心化與區塊鏈完全不一樣。 Solid 只是將網際網路應用與資料的統一中心給拆分了,Solid 並不負責資料的一致性問題。
Solid 所構建的網路,並非 P2P 網路,P2P 的精要在於眾多機器們,平等的共享各種資源。而 Solid 只是資料的互聯協議,實現了資料的去中心化儲存。但這種去中心化儲存,與分散式儲存並不是一個概念,分散式儲存追求的是一致性。
Solid 的去中心化儲存,可理解為,各人的資料,各人自己儲存去,不必一箇中心的伺服器來統一儲存,和包產到戶是一個概念。
Solid 規範中,舉了一個例子,你在社交網站上對一張照片做評論,那麼評論資料就存在了你自己家伺服器的 POD 上,這個評論有一個 URI,而且還指定了這個 URI 的 Target URI,也就是評論針對照片的 URI。 程式碼如下:

這樣,當你開啟微博後,若是你關注了 100 個博主,100 個博主新發了 100 條訊息,那麼微博伺服器就要去 100 個不同的伺服器,去取這 100 條訊息。若是 100 條訊息下,各自跟了 10 條評論,那麼你瀏覽完畢所有訊息與評論,就要去 1100 個伺服器取 1100 條資訊。這就是所謂 Linked Data,互聯的資料。
所以,現在的網路條件是否支援,是個問題。
所以,對於電商網站這樣需要做交易的,需要處理事務,依賴關係型資料庫的,Solid 就未必適用了。
無論如何拭目以待吧,Tim 老人家要搞的是 Facebook 的巨頭們。 而網際網路技術也是一個 “去中心化” 的生態,祖師爺出來未必好使,Facebook 之所以做大成為巨頭,那也是群眾們的選擇。Tim 老人家要為群眾平權,但群眾未必買賬,這種故事在歷史上,一遍遍的重演。