序言:自比特幣誕生以來,已經(jīng)過去了十年的時間,區(qū)塊鏈和數(shù)字貨幣的概念已經(jīng)被大家所熟知。如今,業(yè)內(nèi)開始頻繁提及Web 3.0的概念,但關(guān)于Web 3.0到底是什么,卻很少有人能說清楚。本文將帶您一覽Web 3.0的來龍去脈,并且對Web 3.0的各種說法進(jìn)行去偽存真,最后給出對Web 3.0的未來發(fā)展方向的思考。
1. 信息
“信息交流是人類的基本需求”
人類既是信息的生產(chǎn)者也是消費者。信息交流是生產(chǎn)和消費過程中必不可少的環(huán)節(jié)。
在沒有互聯(lián)網(wǎng)的時代,信息交流的手段十分有限。人們只能當(dāng)面走到一起,或者通過書信的方式進(jìn)行交流。
以獲取知識為例:教師教書、學(xué)生聽講、學(xué)生提問、老師解答。學(xué)生通過和老師信息交流,獲取了新知識。
以商品交易為例:貨比三家、討價還價、達(dá)成一致、一手交錢、一手交貨。買家和賣家通過信息交流,完成了交易。
在這樣的交流過程中,信息的持久、隱私、防篡改等特性都難以保證。
互聯(lián)網(wǎng)的出現(xiàn),大大提升了信息交流的效率和質(zhì)量。
人們獲取知識的方式,變成了搜索引擎、知乎、Wiki、在線課堂。任何問題,只要在電腦或手機上輕松點擊,答案就立即以圖片、文字、視頻的方式返回給你。
人們進(jìn)行交易的方式,也變成了淘寶瀏覽、支付寶支付、快遞送貨、確認(rèn)收貨的流程。足不出戶,遍覽天下商品,買東西變得十分便捷。
2. 互聯(lián)網(wǎng)進(jìn)化史
“生產(chǎn)力決定生產(chǎn)關(guān)系,生產(chǎn)關(guān)系會反作用于生產(chǎn)力”
· 單向流動的Web 1.0
互聯(lián)網(wǎng)的最早期是Web 1.0的模式。彼時,信息只能從Server向Client單向流動。網(wǎng)站對于所有用戶來說,是只讀的。
Web 1.0的典型應(yīng)用包括網(wǎng)址導(dǎo)航、門戶網(wǎng)站等。我們有幸找到了知名網(wǎng)址導(dǎo)航Hao123在2011年的頁面截圖來幫助我們回顧Web 1.0的歷史,如下圖??梢钥吹?,網(wǎng)站的所有信息都以靜態(tài)的方式呈現(xiàn)在網(wǎng)頁上供用戶瀏覽。當(dāng)時崛起的中國四大門戶網(wǎng)站,新浪、網(wǎng)易、搜狐、騰訊,都位于網(wǎng)頁上方的最顯眼位置。這也可以看出,在2011年,Web 1.0的應(yīng)用占據(jù)著市場的主導(dǎo)位置。
Web 1.0模式下,生產(chǎn)關(guān)系是簡單的生產(chǎn)者/消費者模式。Server負(fù)責(zé)生產(chǎn)信息:網(wǎng)址導(dǎo)航收集網(wǎng)址,門戶網(wǎng)站撰寫新聞,都是生產(chǎn)信息的過程。Client負(fù)責(zé)消費信息:點擊網(wǎng)站鏈接跳轉(zhuǎn),閱讀新聞,都是消費信息的過程。
· 雙向互動的Web 2.0
不過,單向的信息流動儼然無法滿足信息交流的需求。經(jīng)過PHP、Java等網(wǎng)站后端技術(shù)以及Ajax、JavaScript等網(wǎng)站前端技術(shù)的迅速發(fā)展,互聯(lián)網(wǎng)很快進(jìn)入了Web 2.0時代。這時,信息能在Server和Client之間雙向流動。網(wǎng)站對于用戶而言具有了可讀寫性。
Web 2.0就此產(chǎn)生了大量的應(yīng)用。時至今日,我們?nèi)粘J褂玫慕^大多數(shù)應(yīng)用都是工作在Web 2.0的模式下。其應(yīng)用主要包含兩大類,讓我們以今天Hao123的頁面截圖為例介紹如下:
1. Server提供工具,Client與Server進(jìn)行信息交互從而使用工具。典型的應(yīng)用有搜索引擎、聊天工具、支付工具、網(wǎng)絡(luò)游戲等。例如圖中的百度、百度地圖、12306都是屬于這一類。
2. Server提供平臺,Client可以通過平臺上傳信息、獲取信息、進(jìn)行用戶間的交流等。典型的應(yīng)用包括社交網(wǎng)絡(luò)、電商平臺等。例如圖中的淘寶網(wǎng)、京東商城、58同城、知乎都屬于這一類。
Web 2.0的生產(chǎn)關(guān)系和Web 1.0相比發(fā)生了巨大的改變:
首先,Server提供給Client的不再僅僅是信息,而是包括計算、存儲、交易甚至物流等在內(nèi)的各種服務(wù)。其次,Client必須和Server進(jìn)行信息的交互,才能使用Server提供的服務(wù)。最后,Server提供的信息不僅可以由自己生產(chǎn),還可以來自于Client的上傳。
Web 2.0的產(chǎn)生和發(fā)展很好地印證了歷史唯物主義中的兩個重要觀點:
1.生產(chǎn)力決定生產(chǎn)關(guān)系。隨著互聯(lián)網(wǎng)上生產(chǎn)的信息量不斷增加,Web 1.0已經(jīng)無法滿足生產(chǎn)力的需求,Web 2.0應(yīng)運而生。例如當(dāng)時,隨著網(wǎng)站的不斷增加,基礎(chǔ)的網(wǎng)址導(dǎo)航已經(jīng)無法滿足海量網(wǎng)站的檢索需求,所以才產(chǎn)生了搜索引擎。又譬如阿里巴巴最開始的模式是企業(yè)黃頁,但隨著企業(yè)和商品的不斷增加,其逐漸演化為了電商平臺。
2. 生產(chǎn)關(guān)系會反作用于生產(chǎn)力。Web 2.0改變了互聯(lián)網(wǎng)節(jié)點間的生產(chǎn)關(guān)系后,Client具備了信息生產(chǎn)者和消費者的雙重身份,這進(jìn)一步激發(fā)了Client生產(chǎn)信息的能力和意愿。在這樣的環(huán)境下,先是產(chǎn)生了BBS、社交網(wǎng)絡(luò)等以UGC(用戶生產(chǎn)內(nèi)容)為主的平臺,又迎來了直播、短視頻等以PGC(專業(yè)生產(chǎn)內(nèi)容)為主的應(yīng)用。互聯(lián)網(wǎng)上的信息量和信息種類進(jìn)一步得到提升。
但正是隨著信息量和信息種類的進(jìn)一步提升,Web 2.0的瓶頸也體現(xiàn)了出來——即Server的中心化問題。在Web 2.0這種Client/Server的模式下,Server成為了信息的“中介”:所有的信息都會經(jīng)過Server,部分會存儲在Server。那我們是否可以完全信任Server會正確地、合適地、如約地處理這些信息呢?
答案顯然是否定的,Server的中心化問題正是Web 2.0模式難以逾越的障礙。只有改變互聯(lián)網(wǎng)節(jié)點之間的生產(chǎn)關(guān)系,讓信息不再經(jīng)過中心化的Server,才能徹底解決這個問題。
· 去中心化的Web 3.0
在這樣的背景下,Web 3.0的概念逐漸顯露了出來。Web 3.0的核心思想是去中心化,也叫做P2P(Peer-To-Peer)。在Web 3.0的模式下,節(jié)點之間通過直接的連接來交流信息,而不再需要中心化的Server。所有節(jié)點都是對等的關(guān)系,不區(qū)分Client和Server,而是統(tǒng)一稱之為Peer。Peer需要遵守特定的計算、存儲、網(wǎng)絡(luò)等協(xié)議來連接其他Peer從而加入到去中心化應(yīng)用中,并提供一定的計算、存儲、帶寬等資源來維持應(yīng)用的運行。
誤區(qū)1:語義網(wǎng)絡(luò)(Semantic Web)、人工智能(AI)等技術(shù)是Web 3.0。
分析:這些技術(shù)可以看做是生產(chǎn)工具的進(jìn)步。它們提升了人們生產(chǎn)信息、交流信息的能力,但并沒有從本質(zhì)上改變生產(chǎn)關(guān)系,所以不能被認(rèn)為是Web 3.0。
3. Web 3.0
“不同的去中心化生產(chǎn)關(guān)系”
· 信息共享
大多數(shù)人可能沒注意到,最早的Web 3.0的嘗試實際上來自于一項沿用至今的技術(shù):BT(BitTorrent)。BT產(chǎn)生的動機是為了解決大型文件傳輸時帶寬不足的問題。在Client/Server的模式下,Server發(fā)布了大型的文件后(例如操作系統(tǒng)、視頻文件、游戲安裝包等),會面臨大量的Client同時下載。由于Server的帶寬有限,則會出現(xiàn)Client下載速度過慢的問題。這是一個典型的隨著生產(chǎn)力提升,生產(chǎn)關(guān)系無法滿足生產(chǎn)力的場景。
BT因此設(shè)計了一套去中心化的文件傳輸方案。當(dāng)Peer發(fā)布文件的時候,會把文件切分成許多小的數(shù)據(jù)塊,供其他Peer進(jìn)行下載,同時發(fā)布所有數(shù)據(jù)塊的哈希值供驗證。當(dāng)其他Peer下載了數(shù)據(jù)塊并進(jìn)行哈希值驗證后,會提供給更多的Peer下載。最終,文件會以數(shù)據(jù)塊的形式分布在多個Peer中。新的下載者下載文件的時候,實際上是同時從多個Peer下載文件的不同部分,并最終拼接成完整的文件。帶寬的壓力就變成由多個Peer共同承擔(dān),下載速度從而得到了提升。
在最初BT的設(shè)計中,除了Peer之外,還需要一個或多個Tracker節(jié)點來實時記錄每個文件分布在哪些Peer中。下載者會連接若干個Tracker來獲取文件的Peer信息,從而決定連接哪些Peer來獲取文件。Traker通常會由一些下載站來維護。后續(xù),BT加入了分布式哈希表(DHT,Distributed Hash Table)的設(shè)計,將文件和節(jié)點的映射關(guān)系分布式地記錄在多個Peer中,從而實現(xiàn)了完全對等的網(wǎng)絡(luò)。如今的BT網(wǎng)絡(luò)中,Tracker和DHT兩種模式是共存的。
BT還存在一個問題:缺乏對Peer的激勵機制。這造成了部分Peer只下載不上傳,影響了整個網(wǎng)絡(luò)的文件傳輸。后來出現(xiàn)了PT(Private Tracker)模式,即私有的Tracker。PT會讓每個連接自己的Peer上報自己的上傳量和下載量,從而給予“上傳下載比例”高的Peer更好的待遇:積分獎勵,更高的下載優(yōu)先級、帶寬等。
不過BT很好地解決了Server的中心化問題,見下表。
基于BT的思想,產(chǎn)生了很多類似的Web 3.0技術(shù),例如電驢(eMule)、PPTV等,也產(chǎn)生了迅雷、VeryCD等我們所熟知的互聯(lián)網(wǎng)產(chǎn)品。但后來,這些應(yīng)用都走向了沒落。因為隨著CDN、網(wǎng)盤等技術(shù)的出現(xiàn)和發(fā)展,BT主要解決的帶寬問題,在Web 2.0的模式下也得到了解決。而BT的Web 3.0特性,如隱私性、可信性等,對于用戶來說并不是特別重要。再加上各國對于盜版的嚴(yán)厲打擊,BT的市場份額相比其巔峰時期大大縮水。
事實上,由于BT可以工作在Tracker、PT、DHT這3中不同的模式下,所以對應(yīng)了3種不同的生產(chǎn)關(guān)系。它們之間的區(qū)別如下:
這些模式的嘗試給后來的Web 3.0系統(tǒng)設(shè)計帶來了一些啟發(fā):
1.給節(jié)點賦予多種不同的類型,更有利于激發(fā)用戶的活力。因為不同用戶使用系統(tǒng)的目的并不一致。在BT中,有的用戶是為了下載數(shù)據(jù)、有的是分享數(shù)據(jù)、有的是建立社區(qū)。用戶需要根據(jù)自己的需求選擇對應(yīng)類型的節(jié)點進(jìn)行運行,而完全對等的網(wǎng)絡(luò)是做不到這點的。
2.給貢獻(xiàn)服務(wù)的節(jié)點以適當(dāng)?shù)募?,更有利于促使用戶為系統(tǒng)作出貢獻(xiàn)。如果沒有激勵機制的存在,一些惡意的節(jié)點會不遵守協(xié)議,只使用系統(tǒng)但不作出貢獻(xiàn)。例如BT中的只下載不上傳的情況。
· 數(shù)字貨幣的誕生
2009年比特幣的產(chǎn)生給Web 3.0帶來了新的一類應(yīng)用——數(shù)字貨幣。比特幣提出的動機是為了建立一套全球化的貨幣體系和支付網(wǎng)絡(luò),這在Client/Server模式下是難以實現(xiàn)的。因為Server的中心化問題,包括數(shù)據(jù)丟失、隱私保護、可信計算,對于貨幣和支付應(yīng)用來說是非常致命的。另外,Server會面臨政府的監(jiān)管,單一中心建立的貨幣和支付系統(tǒng)很難被全世界所接受。
比特幣的設(shè)計充分吸取了BT的經(jīng)驗,賦予了節(jié)點不同的類型,且給貢獻(xiàn)服務(wù)的節(jié)點以獎勵。比特幣的節(jié)點分全節(jié)點和輕節(jié)點兩種。全節(jié)點負(fù)責(zé)維護服務(wù)也可以使用服務(wù)。輕節(jié)點則只能使用服務(wù)。其中全節(jié)點又分為普通全節(jié)點和礦工,礦工會額外提供算力以換取數(shù)字貨幣作為獎勵。
圖5:比特幣的網(wǎng)絡(luò)結(jié)構(gòu)(圖片來自Mastering Bitcoin)
比特幣通過以下方式解決了Server的中心化問題:
比特幣的生產(chǎn)關(guān)系可以總結(jié)為:部分節(jié)點提供服務(wù),所有節(jié)點使用服務(wù)。所有全節(jié)點是服務(wù)的提供者,負(fù)責(zé)同步信息、驗證信息。其中,礦工是有償?shù)姆?wù)提供者,即提供算力,獲得獎勵。其他是無償?shù)姆?wù)提供者。所有節(jié)點都是服務(wù)的使用者:從網(wǎng)絡(luò)同步交易信息,擁有數(shù)字貨幣后可以發(fā)起交易。
在比特幣使用日益普及的同時,也面臨著一些問題,但隨著技術(shù)的發(fā)展都得到了一定程度的解決。比如,PoW共識面臨著能源問題,于是后來PoS共識被提出,并應(yīng)用在了Qtum等新的區(qū)塊鏈系統(tǒng)中。又比如,交易的金額是以明文的形式存儲在區(qū)塊鏈上的,存在一定的隱私問題。于是zk-SNARK、MimbleWimble等隱私算法被提出,并應(yīng)用在了ZCash、Grin、Beam等新的區(qū)塊鏈系統(tǒng)中。
· 去中心化應(yīng)用平臺
以太坊在比特幣之后開啟了新的一種Web 3.0模式,我們稱之為去中心化應(yīng)用平臺。以太坊在區(qū)塊鏈上加入了虛擬機功能,允許用戶在鏈上創(chuàng)建去中心化的應(yīng)用,也叫做智能合約或DApp。以太坊上的虛擬機叫做EVM,可以使用對應(yīng)的Solidity語言編寫應(yīng)用。由此,以太坊上誕生了一大批DApp,包括鏈上代幣、收藏游戲、去中心化交易所、預(yù)測市場等。
以太坊的生產(chǎn)關(guān)系仍然是部分節(jié)點提供服務(wù),所有節(jié)點使用服務(wù)的模式。但是可以使用的服務(wù)除了數(shù)字貨幣的轉(zhuǎn)賬交易之外,還可以進(jìn)行DApp相關(guān)的操作。例如,開發(fā)者可以發(fā)布DApp,普通用戶可以交互式地使用DApp。這種模式賦予了Web 3.0更多的可能性,允許開發(fā)者靈活地構(gòu)建各種各樣的去中心化應(yīng)用,而不必關(guān)心底層的去中心化協(xié)議。
以太坊是去中心化應(yīng)用平臺的首次嘗試,存在著很多明顯的不足。其中最為主要的是性能問題。因為所有節(jié)點都會運行一遍鏈上的智能合約以驗證合約的正確性,所以合約的運算和存儲等資源受到了單個節(jié)點的CPU、內(nèi)存、硬盤的限制。EOS通過降低去中心化程度,將共識改為了dPoS,即合約只需要21個高性能的超級節(jié)點進(jìn)行驗證,從而提升了合約的性能。但這仍舊未能突破單個節(jié)點的資源限制,與Web 2.0模式下應(yīng)用的性能相差很遠(yuǎn)。
· 開發(fā)中的項目
從已有的信息共享、數(shù)字貨幣、去中心化應(yīng)用平臺三種Web 3.0的應(yīng)用模式可以看出兩點:
1. Web 3.0的底層技術(shù)尚未成熟。一方面表現(xiàn)為,當(dāng)前的底層技術(shù)所能提供的性能較弱,無法支撐大規(guī)模的應(yīng)用。另一方面,很多Web 2.0應(yīng)用依賴的底層技術(shù),在Web 3.0模式下都尚未出現(xiàn)解決方案,開發(fā)者開發(fā)一個新的Web 3.0應(yīng)用的時候,不得不重新進(jìn)行底層模塊(包括傳輸層、網(wǎng)絡(luò)層等)的設(shè)計和開發(fā)。
2. Web 3.0的應(yīng)用模式還有待探索。目前Web 3.0能夠應(yīng)用的場景過于狹窄,很多Web 2.0涉及的領(lǐng)域,例如社交網(wǎng)絡(luò)、電商平臺等,無法在Web 3.0的模式下落地。這些場景都會遇到Web 2.0中的Server中心化問題,但是目前并沒能通過Web 3.0的模式進(jìn)行解決。另外,Web 3.0也有望催生出更多新的應(yīng)用模式和生產(chǎn)關(guān)系。
對Web 3.0底層技術(shù)的探索一直進(jìn)行著,以下列舉一些項目供參考。其中去中心化應(yīng)用平臺主要是為解決DApp運行環(huán)境的性能問題。而文件存儲、消息通信、數(shù)據(jù)庫這3個分類,是為了提供一些常用的底層技術(shù)的解決方案。
目前對于Web 3.0應(yīng)用模式的探索還非常早期。從下圖中可以看出,Web 3.0的項目,大多數(shù)都在照搬Web 2.0中一些成功的模式,而沒有進(jìn)行太多的思考和創(chuàng)新。很多項目雖然使用了區(qū)塊鏈等去中心化技術(shù),但生產(chǎn)關(guān)系還是傳統(tǒng)的Client/Server模式,以至于往往陷入到了嚴(yán)重的誤區(qū)中。
誤區(qū)2:Web 3.0會取代2.0,所有應(yīng)用都可以去中心化。
分析:
1. Web 3.0會和2.0、1.0共存??梢钥吹絎eb 2.0的出現(xiàn)并未完全取代1.0,傳統(tǒng)的門戶網(wǎng)站仍然存在并且滿足部分用戶的需求。所以,Web 3.0并不會取代它的前輩們,這三者是共存的關(guān)系。
2.有些應(yīng)用通過Web 2.0的模式就能很好實現(xiàn),不需要Web 3.0。例如,有些項目想要實現(xiàn)去中心化的分布式計算(也叫Volunteer Computing或Grid Computing)平臺,包括Golem、Enigma、Sonm等。但實則用Client/Server的模式就能很好實現(xiàn),NiceHash、BOINC都是成功的例子。
3.Web 3.0能夠解決一部分Web 2.0解決不了的問題。就像Web 2.0解決了搜索引擎和電商中的交互問題一樣,Web 3.0目前也解決了文件傳輸?shù)膸拞栴}和貨幣的全球支付問題。
4.Web 3.0會誕生全新的應(yīng)用模式和生產(chǎn)關(guān)系。就像Web 2.0誕生了涉及網(wǎng)絡(luò)一樣,Web 3.0目前也誕生了信息共享、數(shù)字貨幣、去中心化應(yīng)用平臺這些以前沒有過的模式。
4. 對應(yīng)用平臺未來發(fā)展的思考
“ 應(yīng)用平臺的完善,才會帶來應(yīng)用的爆發(fā)”
曾經(jīng)Web 2.0的出現(xiàn),雖然從本質(zhì)上來看是互聯(lián)網(wǎng)信息量增加所催生的,但是直接因素還是依靠底層技術(shù)的完善,特別是應(yīng)用平臺的完善。
最初,開發(fā)者需要使用復(fù)雜的MFC、QT等技術(shù)開發(fā)客戶端程序和服務(wù)器進(jìn)行信息交互。隨著Chrome瀏覽器的出現(xiàn)和完善,以及JavaScript瀏覽器端編程語言的普及,大家才轉(zhuǎn)而構(gòu)建交互式的網(wǎng)頁應(yīng)用,或稱作Web App。最后,進(jìn)入了移動互聯(lián)網(wǎng)時代,iOS和Android兩大平臺占據(jù)了主流地位。直到今天,Web 2.0的應(yīng)用已經(jīng)穩(wěn)定地集中在Chrome、iOS、Android三大平臺上。
只有當(dāng)完善的、通用的應(yīng)用平臺出現(xiàn),而開發(fā)者不必再關(guān)注網(wǎng)絡(luò)通信、消息隊列等底層技術(shù)細(xì)節(jié)的時候,才能把更多的思考放在應(yīng)用的設(shè)計上,從而帶來應(yīng)用爆發(fā)式的出現(xiàn)。以下我們對比了正在開發(fā)中的Web 3.0應(yīng)用平臺:
可以看到,雖然Web 3.0應(yīng)用平臺還處于MFC、QT的時代,但眾多項目正在努力向著下一階段演進(jìn)。從開發(fā)環(huán)境而言,EVM和WASM等虛擬機的功能十分有限,缺乏IO、文件、進(jìn)程、線程、異步、Socket、定時任務(wù)等操作系統(tǒng)級別的接口,而Linux虛擬機和云的嘗試也許會帶來轉(zhuǎn)機。從計算性能而言,雖然跨鏈、側(cè)鏈技術(shù)能一定程度上帶來擴展,但是應(yīng)用仍然無法做到內(nèi)部并行,而且始終受到單節(jié)點性能的限制,因此鏈下擴容技術(shù)更有潛力。從存儲性能而言,全局可驗證的要求導(dǎo)致了所有的操作、中間狀態(tài)都記錄在區(qū)塊鏈上,存儲空間過大,正在探索的P2P存儲和鏈下存儲值得期待。
基于當(dāng)前技術(shù)發(fā)展的趨勢,我們認(rèn)為,去中心化應(yīng)用平臺至少要達(dá)到以下要求,才是發(fā)展更多Web 3.0應(yīng)用的基礎(chǔ):
1.既提供可靠的鏈上計算環(huán)境,又提供高性能的鏈下計算環(huán)境。
2.鏈上計算保證安全、可驗證。
3.鏈下計算允許應(yīng)用內(nèi)并發(fā),計算、存儲等資源可無限擴展。
其中的技術(shù)難度主要在鏈下計算部分,目前并沒有成熟的解決方案。但相信不久的將來,一定會出現(xiàn)。到那個時候,將會開啟互聯(lián)網(wǎng)、區(qū)塊鏈和數(shù)字貨幣的下個十年。
來源;?Qtum量子鏈?
評論
查看更多