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