「中心化」還是「去中心化」?你真的了解這些詞的定義嗎?
鏈捕手/冒志鴻/潘宇波/張詠晴編譯
2019-01-24 17:39


「去中心化應用」(也被稱為DApps)成為當前區塊鏈產業的熱點,但當你去研究卻發現目前DApps都是各類的菠菜、資金盤。更讓人擔憂的是DApps也許是繼「區塊鏈」之後又一個定義不明,令人費解的詞彙,對它的認識市面上存在了各種誤解。此次,應鏈捕手約稿,ArcBlock創辦人兼CEO冒志鴻撰寫了本文,他從去中心化與中心化發展的歷史來理解DApps的現狀、破局的關鍵及方法。相信冒志鴻精彩的分享,應該能給你帶來啟發。

 

「中心化」與「去中心化」的此消彼長

 

電腦軟體應用的過程是一個「中心化 - 去中心化 - 再中心化 - 再去中心化」的演變過程。Internet的誕生,源自美國國防部的研究項目ARPANET,其設計之初考慮如果僅有一個集中的軍事指揮中心,萬一這個中心被蘇聯的核武器摧毀,全國的軍事指揮將處於癱瘓狀態,因此有必要設計一個分散的、共享數據的網路系統。所以Internet將去中心化的思想根植於設計理念之中,很多早期的互聯網協議,包括TCP/IP都是以去中心化思想為基礎來設計的。

 

隨後逐漸發展出有字符終端,顧名思義就是只有輸入輸出字符的功能,沒有處理器或硬碟,透過串行接口聯接主機,一切工作都要交給主機來做;後面還伴隨有分時操作系統的出現,也就是多個用戶共享主機中的資源。因為字符終端、分時操作系統等一旦離開主機什麼也不能做,軟體完全運行在中心化電腦上,這使得我們進入到了中心化時期。

 

直到個人電腦(PC)時代的降臨,我們才迎來了第一批真正意義的去中心化應用。是的,不必驚訝,我們曾經熟悉的各種PC「單機版」軟體某種意義上全是去中心化的應用。因為互聯網時代最重要的協議是「文件」,有了「文件」這樣的協議,分散在無數個人電腦上的應用也就有了共同的溝通「語言」,透過「文件」可以安裝新的應用, 而應用產生的結果也必須透過「文件」來傳播給其它的應用。因此我們又進入到不必依靠一個中心化主機才能運轉的去中心化時期。

 

當用「文件」交換這種方式出現局限、越來越不能滿足需求時, 一種稱為「客戶機-伺服器架構(C/S架構)」的網路應用模式開始流行,這出現在前互聯網時代,以企業應用為主,而且這種架構至今仍沒有過時。C/S是從去中心變得更中心化一些的演進,但每個C/S架構的系統,客戶機和伺服器之間基本都講著不同的「語言」(協議)。

 

當瀏覽器流行之後,人們開始意識到,瀏覽器就是一種能理解、更普遍標準「語言」(HTML)的通用客戶機,這使得應用可以更加中心化,從而更容易開發、部署、維護,於是「瀏覽器/伺服器架構(B/S架構)」這樣一個更為中心化傾向的模式又開始流行起來。

 

往近的來看,2005年湧現的「Web 2.0」運動是桌面互聯網時代離去中心化最接近的一次。Blog是去中心化的出版和媒體,採用的是RSS這樣一個簡單、開放的協議。當時以個人為節點的社交網路蓬勃興起,FOAF協議、Microformat、OpenID、OAuth等這些都是在那個時代興起的開發標準。

 

所以「協議」是去中心化應用的關鍵,互聯網時代最重要的協議是TCP/IP協議族以及構建在其上的更多應用協議,這些開放的協議使得全世界的開發者一起構建了今天的互聯網。

 

然而不幸的是,當時和後來的產業巨頭Google與Facebook策略性地撲滅了「Web 2.0」這場去中心化運動,反而把互聯網的中心化推向了極致。而中國的巨頭們也建立起壟斷封閉的勢力,助推中心化達到極致。如果說當年的瀏覽器大戰中,微軟利用壟斷地位擊垮了網景是天下皆知的陽謀,那麼後來以Google和Facebook帶頭絞殺「Web 2.0」則是被完美陽光掩蓋的陰謀,數據可攜帶、去中心化內容與社交死於他們之手,而如今我們卻一直覺得他們創新、開放、貢獻。

 

當然,我們必須要承認Google、Facebook貢獻了不少開源的產品,有很多到了區塊鏈時代成了可以被使用的利器。比如Bitcoin用的Level DB是Google的作品,以太坊和ArcBlock採用的RockDB是Facebook的作品。科技的命運有時就是這樣反覆輪回迭代的過程。

 

如果說中心化與去中心化是此消彼長的,那它們也是相對的。以比特幣為例,從它的網路拓撲結構來看,比特幣的節點非常多且分散,PoW的挖礦機制導致攻擊比特幣需要有超過全網51%的算力,少數節點的崩潰、被關閉、被攻擊,都不會影響整個比特幣網路的安全和正確運行_這說明比特幣網路是去中心化的。

 

然而從比特幣的軟體開發和發行角度而言,只有Bitcoin Core團隊可以發布比特幣的新版本代碼,雖然他們最近公布了如何採用一系列的手段確保代碼發布的流程安全可靠,並採用開源的方式實現人人可以參與貢獻,人人可以分叉後修改,但從軟體發行升級角度來看,這仍屬於比較中心化的表現。

 

從比特幣作為一個應用來看,它被設計為一個點對點電子現金,比特幣的錢包地址是用戶自主產生的,不需要任何人發放和批准,沒有私鑰任何人和組織都無法奪取用戶的比特幣;同時比特幣的轉帳不需要任何第三方的介入,其他任何人和組織無法禁止或篡改交易;比特幣的交易記錄在比特幣的區塊鏈上永久保存,沒有人能夠篡改、刪除、隱藏。這些足夠說明比特幣就是一個真正去中心化的應用。

 

而另一個耐人尋味的事實是,正因為大眾認可比特幣網路的高度去中心化,作為一個應用也高度去中心化,最終大家都認可比特幣這個網路服務_全世界只有一個比特幣。從這個角度來看,比特幣又是高度中心化的。

 

這就非常有趣,當一個系統從某個角度高度去中心化後,從另一個角度看可能正是單一表現的去中心化使其更中心化了。因此任何中心化與去中心化的劃分與定義都不是絕對的,而是相對的,甚至是不斷演變的、錯綜交織的。

 

本文為巴比特資訊授權刊登,原文標題為「多數人只知道去中心化,卻並不真正理解DApps