區(qū)塊鏈分層“Layering“解析
分層(Layering)是互聯(lián)網(wǎng)的中心概念之一。網(wǎng)絡(luò)堆棧中的每個協(xié)議都直接與上下層進(jìn)行會話——只要使用相應(yīng)層的語言,新的協(xié)議就可以添加到那個層上。只要不會破環(huán)與上下層的兼容性,就可以升級某一層的協(xié)議。這一架構(gòu)能夠?qū)⒒ゲ僮餍宰畲蠡⑶以试S很高程度的靈活性。各層的形狀可以說是一個沙漏,如下圖:
除了協(xié)議層之外,我們又繼續(xù)搭建了基礎(chǔ)設(shè)施層和應(yīng)用層。基礎(chǔ)設(shè)施包括 AWS 和 Cloudflare 等,軟件庫包括 Node、Rails 和 jQuery 等,服務(wù)包括 Twilio 和 Stripe 等?,F(xiàn)如今,要構(gòu)建一個應(yīng)用程序,你不需要建立一個(或多個)數(shù)據(jù)中心、考慮如何手動處理 HTTP 請求,或是針對支付或通信系統(tǒng)編寫裸機(jī)適配器。
在密碼學(xué)/區(qū)塊鏈領(lǐng)域,我們尚處于搭建分層的起步階段。我想我可以肯定地說,如今的區(qū)塊鏈景觀更像早期的 AOL、Prodigy 和 Compuserve(不聯(lián)通的獨(dú)立網(wǎng)絡(luò)),而不是開放的互聯(lián)網(wǎng)。一個主要原因是加密貨幣和代幣的引入,對于構(gòu)建新的網(wǎng)絡(luò)并實(shí)現(xiàn)現(xiàn)有網(wǎng)絡(luò)價值的最大化有很強(qiáng)的激勵作用,至少目前看來是這樣。然而,隨著團(tuán)隊(duì)繼續(xù)構(gòu)建且不斷重復(fù)構(gòu)建相同的事物,分層似乎是必然且必需的。
區(qū)塊鏈內(nèi)分為網(wǎng)絡(luò)層(以 libp2p 為主要工具)、共識層(tendermint、hashcash 等)、應(yīng)用程序/智能合約層,可能還有索引/搜索層(這是每個人都在做的事,不過 thegraph 正試圖通過分層解決)。
也許最有趣的問題是,如何將不同的區(qū)塊鏈系統(tǒng)層疊起來。Cosmos 和 Polkadot 正通過輪輻式模型(hub-and-spoke model)為具有互操作性的區(qū)塊鏈搭建系統(tǒng),影子資產(chǎn)與外鏈掛鉤實(shí)現(xiàn)互操作性。Interledger 正試圖成為一個更通用的跨賬本(此處的賬本指的是區(qū)塊鏈等)協(xié)議,類似于核心網(wǎng)絡(luò)堆棧的 TCP/IP 。
隨著我們從推測階段進(jìn)入功能階段,如何將這些系統(tǒng)相互連接并層疊起來似乎是一大基本問題。我們才剛開始關(guān)注這個問題。