從 2009 年至今,十年間,區(qū)塊鏈整體的市值增長了數(shù)百萬倍,而區(qū)塊鏈的性能,卻僅僅完成了不到百倍的增長,相比起來實在懸殊。區(qū)塊鏈技術(shù)就像被《三體》中的智子鎖死了一般,大家都在低性能、弱隱私、難易用的“低光速泥潭”中苦苦掙扎。
懷著對新興技術(shù)的寬容,我們依然對區(qū)塊鏈滿懷希望。但腳踏實地的,從應(yīng)用落地的角度出發(fā),區(qū)塊鏈應(yīng)用的瓶頸是明顯的。
2018 一年,出現(xiàn)了很多試圖打破瓶頸的嘗試,ArcBlock 便是其中的代表。本期我們請來了 ArcBlock 的創(chuàng)始人冒志鴻,帶著剛發(fā)布的 DID 錢包,與我們分享鏈網(wǎng)思路下,區(qū)塊鏈應(yīng)用的破局的關(guān)鍵。
區(qū)塊鏈的未來是鏈網(wǎng)
ArcBlock 的核心想法,區(qū)塊鏈的未來是鏈網(wǎng)架構(gòu)的。未來的區(qū)塊鏈要有織“鏈”成“網(wǎng)”的能力,才能真正得到廣泛使用。
1. 什么是鏈網(wǎng)架構(gòu)?
所謂鏈網(wǎng),就是多個互相連接的區(qū)塊鏈形成的網(wǎng)絡(luò)。
用交通系統(tǒng)來類比區(qū)塊鏈世界,公鏈的思路,就是以一條能夠貫穿全世界的大路,理想情況下這條路上的車,能夠到達世界上任何一個地方。但如果所有人都在這條大路上駕駛,這條路一定會變得擁堵不堪,這就是公鏈的性能問題。
如何解決擁堵的問題?一種方法就是給汽車提速,原來跑 60 碼現(xiàn)在跑 120 碼(縮短出塊時間),但這樣容易出現(xiàn)安全隱患。另一種典型的想法就是擴容,擴寬原來的車道,但你不可能無休止的擴寬車道。
在現(xiàn)實生活中我們是如何解決交通問題的?現(xiàn)實生活的交通是很多道路與公共交通組成的綜合網(wǎng)絡(luò)。未來的信息社會也是如此,必然是鏈網(wǎng)架構(gòu)的,可以根據(jù)不同的場景,使用不同特點的區(qū)塊鏈,但必須得保證鏈間是互聯(lián)互通的。
2. 為什么要使用鏈網(wǎng)架構(gòu)?
目前最主流的區(qū)塊鏈方案是公鏈,數(shù)數(shù)鏈網(wǎng)方案的項目,其實就三家,Cosmos、Polkadot 還有我們 ArcBlock,ArcBlock 的鏈網(wǎng)已經(jīng)在 3 月份上線,跨鏈已經(jīng)實現(xiàn)了,歡迎廣大開發(fā)者來檢閱。
可能是因為 EOS 的營銷成功導(dǎo)致,從業(yè)者普遍認為,必須做一條很大很強的公鏈,解決所有的問題。
但從現(xiàn)實邏輯的角度出發(fā),公鏈的觀點是存在悖論的:
- 世界上所有的問題,是不可能靠一兩條鏈解決的。就算技術(shù)上能搞定,從現(xiàn)實出發(fā),中國和美國至少不可能用同一條鏈的吧?
- 因為場景領(lǐng)域的不同,必然會出現(xiàn)多條不同的公鏈,因此它們的互聯(lián)互通是個必然的結(jié)果。
這就是公鏈的悖論,他的愿景越有可能實現(xiàn),就越需要跨鏈互通的鏈網(wǎng)。
舉個例子,針對銀行的去中心化金融體系,安全性是放在第一位的,性能的要求就不高了。但是如果是一個去中心化的通訊軟件,就已經(jīng)需要很高的性能,能承載非常多的節(jié)點使用,而它對安全性的需求,就沒有金融體系那么高了。但我們可能在通訊過程中會進行轉(zhuǎn)賬等操作,所以這兩個鏈之間必須是打通的。
因此,根據(jù)需求各取所需,多鏈共存,再利用跨鏈技術(shù),織“鏈”成“網(wǎng)”,這才是區(qū)塊鏈的未來。
DID 是應(yīng)用的關(guān)鍵
DID(Decentralized ID),即為分布式身份體系,一直是我們非常重視的一項去中心化技術(shù),最近 ArcBlock 發(fā)布的錢包就主要搭載了 DID 功能。
1. 為什么使用區(qū)塊鏈實現(xiàn) DID?
去中心化 ID 這個技術(shù),本身不屬于區(qū)塊鏈的范疇,但它卻和區(qū)塊鏈有著非常緊密的聯(lián)系。實際上,一個用戶能自主創(chuàng)建管理的 ID,是遠早于區(qū)塊鏈的一個去中心化構(gòu)想。
在基于區(qū)塊鏈技術(shù)構(gòu)建 DID 之前,就已經(jīng)出現(xiàn)了多個解決方案。搞技術(shù)的朋友們可能知道過去的 OpenID 技術(shù)。但過去的 DID 技術(shù)都沒有取得成效,有一個永遠繞不開的點————沒有區(qū)塊鏈的時候,任何一種 DID 技術(shù),都需要一個“認證中心“。但一旦到達需要認證中心的時候,就會存在不夠去中心化的情況。這是與初衷相悖的,因為涉及到中心的認證,不僅存在隱私和安全問題,多個主體間的 DID 也是互相隔斷的。
我們常常討論一個系統(tǒng)究竟是去中心化還是中心化,其實你可以從不同的角度來看,程度是不同的。比特幣系統(tǒng)本身是去中心化運行的,這一點大家沒有爭議。而正是因為比特幣去中心化的特點,全世界就只有一個比特幣的共識,從這個角度來看,它又是非常中心化的。
這就恰恰解決了 DID 最大的問題。如果使用區(qū)塊鏈技術(shù)建立起一個 DID 系統(tǒng),隨著去中心共識的加深,就可以 實現(xiàn)唯一的,人人皆可信的身份系統(tǒng) ,而這個系統(tǒng)它本身的運作和維護,是非常去中心化的。這就是基于區(qū)塊鏈技術(shù)實現(xiàn) DID 的基礎(chǔ)。
2. DID 在區(qū)塊鏈上意味著什么?
我們一致認為,DID 是個非常重要的事情,ArcBlock 搭建鏈網(wǎng)體系時,就把去中心化 ID 作為一個非常重要的部件,從底層進行了支持。
這就意味著,在 ArcBlock 的鏈網(wǎng)中,任何一個身份證明,都是去中心化的。這里的 ID 不僅僅只是一個賬戶的身份,鏈網(wǎng)中的每一個賬戶、每一個節(jié)點、每一個服務(wù),乃至使用 DAPP 過程中的,甚至是未來的上鏈的物聯(lián)網(wǎng)設(shè)備,都可以使用 DID。
這就意味著,在 ArcBlock 的鏈網(wǎng)體系中,每一個交易的賬戶,不僅僅是一個沒有內(nèi)容意義的隨機地址,同時也是一個 DID,這大大降低了使用門檻。如果當你發(fā)某個 DAPP 時,這個應(yīng)用需要有證明自己的唯一可信性的證據(jù),證明它真的具備它描述的哪些功能和屬性,這個證明就可以使用 DID 實現(xiàn)。包括你在使用某個特定服務(wù)時,需要創(chuàng)建新的身份時,我們傳統(tǒng)的解決方案時單獨在中心服務(wù)器上注冊,這樣既不安全,也會因為賬戶過多難以管理,而在這里,我們就可以針對每一個應(yīng)用創(chuàng)建一個 DID,快捷方便的使用。
DID 技術(shù),降低了區(qū)塊鏈整體的使用門檻,提升了很多的用戶體驗,這對大范圍應(yīng)用是非常關(guān)鍵的。
迅捷開發(fā),ArcBlock 的區(qū)塊鏈應(yīng)用架構(gòu)
上圖是區(qū)塊鏈的應(yīng)用和互聯(lián)網(wǎng)的應(yīng)用的比較,可以看出來兩者其實有非常高的相似性,區(qū)塊鏈的應(yīng)用的架構(gòu)并沒有大家想象的那么復(fù)雜。
我一直認為,區(qū)塊鏈本身是計算機科學發(fā)展到一定程度的必然的結(jié)果,沒有什么非常難理的地方。只不過在過去的時間里,整個業(yè)界把區(qū)塊鏈搞得很神秘,創(chuàng)造了各種莫名其妙的名詞和概念,創(chuàng)造了認知障礙,最終大家好像都不知道該區(qū)塊鏈到底是什么樣子。
1. 傳統(tǒng)互聯(lián)網(wǎng)的應(yīng)用架構(gòu)
我們來回顧一下典型的 WEB 應(yīng)用的系統(tǒng),這是互聯(lián)網(wǎng)時代最成功的一種應(yīng)用的方式,應(yīng)用是基于互聯(lián)網(wǎng)搭建的,互聯(lián)網(wǎng)有標準的 TCP/IP 協(xié)議,因此各種各樣的應(yīng)用可以連接在一起,形成現(xiàn)在這樣龐大的網(wǎng)絡(luò)。這些 WEB 應(yīng)用有一個特點,很多都會用到標準的 WEB 應(yīng)用節(jié)點,比較典型比如 Apache、Nginx。
WEB 服務(wù)器它的特點是什么?首先可跨平臺部署,Apache、Nginx 既可以跑在 windows 上,也可以跑在 Unix 的不同版本上。其次服務(wù)器可以是你自己架設(shè)的機器,也可以建立在各種云服務(wù)上。一旦建立了標準化的服務(wù)器,對用戶來說使用起來沒有差別,我們所用的站點服務(wù),都是這個基礎(chǔ)之上建立的。
直接基于服務(wù)器來做的話有一定的復(fù)雜性,所以大家本著不重復(fù)造輪子的想法,建立了一堆應(yīng)用框架。這些框架都是為了讓開發(fā)者能更簡單的開發(fā)應(yīng)用,好的框架是能解放開發(fā)者的,讓大家能更專注于自己要做的事情。
所以在今天你要想開發(fā)一個 WEB 應(yīng)用,相對來講就比較簡單了。正是因為能比較容易的進行開發(fā),才造就了今天的整個互聯(lián)網(wǎng)生態(tài)的巨大的繁榮。
2. ArcBlock 的區(qū)塊鏈應(yīng)用架構(gòu)
在 ArcBlock 的鏈網(wǎng)世界里面是什么樣子呢?上面右邊的圖里,我們設(shè)想應(yīng)用整體是基于區(qū)塊鏈網(wǎng)絡(luò)的,而不是單獨哪一條公鏈。在這個區(qū)塊鏈網(wǎng)絡(luò)里,ArcBlock 提供的就是 ABT Network 的標準協(xié)議,如果還有其他的鏈網(wǎng)架構(gòu)的公司,也可以連接上它的鏈網(wǎng)協(xié)議,比如 Cosmos Hub,共同組合成為應(yīng)用的最底層。
在這個區(qū)塊鏈網(wǎng)絡(luò)之上,需要建立一個非常標準的部件,稱為區(qū)塊鏈節(jié)點。ArcBlock 提供了 ABT Node,它對應(yīng)是 WEB 應(yīng)用里 Apach、Nginx 服務(wù)器這類的東西。ABT Node 要成為一個標準件,這個標準件可以部署在不同的硬件上。可以是云服務(wù)上,也可以是在自建礦機上,一旦部署好 ABT Node 的節(jié)點,在節(jié)點之上看來都是沒有差別的,標準化的。
在這之上,ArcBlock 還提供了一個區(qū)塊鏈的應(yīng)用框架,讓開發(fā)者更簡單的使用區(qū)塊鏈節(jié)點的特性與功能,這就不需要自己造輪子了,從底層到上層的東西已經(jīng)給開發(fā)者搞定了。
有了這些相對清晰的架構(gòu),我相信在不久的未來,區(qū)塊鏈的開發(fā)不會再那么神秘。未來的區(qū)塊鏈開發(fā)者,可以使用自己熟悉的框架,使用自己熟悉標準化區(qū)塊鏈節(jié)點,快速的搭建自己 DAPP,甚至是一整條寫入邏輯的區(qū)塊鏈。 同時這些區(qū)塊鏈可以非常容易的互聯(lián)互通。
這就減少了很多的學習成本,讓大家術(shù)業(yè)有專攻,ArcBlock 來專注于底層的技術(shù)和框架的實現(xiàn),讓廣大的開發(fā)者,更好的專注于商業(yè)與應(yīng)用。
3. 未來的展望
互聯(lián)網(wǎng)剛開始出現(xiàn)的時候,只是電信網(wǎng)上的一個增值業(yè)務(wù),但在今天來看,互聯(lián)網(wǎng)已經(jīng)是一個比電信網(wǎng)更大更重要的這樣網(wǎng)絡(luò)了。
今天看起來,區(qū)塊鏈應(yīng)用還只是互聯(lián)網(wǎng)上一種 P2P 類型的新協(xié)議,但是我們相信,區(qū)塊鏈有一個相當大的未來,未來的區(qū)塊鏈網(wǎng)絡(luò)可能與現(xiàn)在的互聯(lián)網(wǎng)一樣龐大,甚至是遠超互聯(lián)網(wǎng)的體量。