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