Web 3.0 架構不僅是去中心化的,更是模組化的
作者:Xiang,W3.Hitchhiker
一、Web 2.0 架構
Web2.0應用以去中心交易所 Binance 為例,Binance 允許用戶去交易各種代幣。
Binance是一個 Web 2.0 應用程序,架構聽起來很簡單,但實際上在開發中,需要進行大量的工作。
用戶需要透過網路運營商來使設備聯網,然後打開瀏覽器,輸入幣安的域名,透過 http 協議去訪問幣安的網站。
Binance 需要用戶透過手機或者郵箱來進行註冊並登錄該平台。
然後幣安自己需要一個地方來存儲像用戶註冊信息,交易額度,成交歷史,掛單等的基礎數據。而這些都需要搭建一個數據庫用來存儲,並且要不斷地更新。
其次,後端代碼語言(像 Node.js, Java, or Go)決定了 Binance 的所有的業務邏輯。需要一個搭建伺服器部署後端跑後端的邏輯。例如,當新用戶註冊、交易,掛單會發生什麼情況?
還有,像前端代碼語言(JavaScript, HTML, and CSS )決定了 Binance 的 UI 邏輯。需要一個搭建伺服器部署到前端跑前端的互動邏輯。例如,網站是什麼樣子的?當用戶與頁面上的每個按鍵互動時會發生什麼?
當你在 Binance 上寫交易時,這些所有的東西都會整合起來進行聯動。你與它的前端互動,前端和後端互動,後端再與它的數據庫互動。所有這些代碼都托管在中心化伺服器上,並透過互聯網瀏覽器反饋給用戶,而中心化伺服器的所有控制權在 Binance 的手上。
這是對當今大多數 Web 2.0 應用程序的工作原理的一個簡單總結,當然實際會更為複雜。
二、Web 3.0 架構
Web 3.0 應用以 Uniswap 為例,Uniswap 是去中心交易所,允許自由添加並交易各種代幣。
Uniswap是一個 Web 3.0 應用程序,架構聽起來很複雜,但實際開發實現很簡單。
首先,用戶要透過設備來進行聯網,需要透過網路服務商,類似電信,移動之類。(去中心化的網路服務商,物聯網:Helium)
然後,用戶訪問程序要透過瀏覽器或者操作系統(去中心化的瀏覽器或操作系統:Brave)
用戶訪問程序要透過瀏覽器與服務端互動,這一操作需要透過協議來支持(傳統是 http,新的可由 IPFS 來替代,透過內容尋址)
Uniswap需要用戶透過私鑰,錢包去登錄(類似插件,錢包等:Metamask、Tokenpocket、Math 、Brave錢包 ),此外統一的 DID 也是未來的一個方向(類似 ENS 等)
錢包需要連接區塊鏈的節點,這時會需要節點的伺服器來提供,這也就需要對應區塊鏈的節點,或者由 Infura/Alchemy 這種專業的節點服務提供商來進行。(去中心化的節點服務提供商也是一個趨勢:Pocket)
Uniswap 網站是什麼樣子的,當用戶與頁面上的每個按鍵互動時會發生什麼?還是JavaScript,HTML 和 CSS 之類的前端代碼語言實現 Uniswap 的 UI 邏輯。
但 Web3 可以不需要自己搭建伺服器部署跑前端的互動邏輯。這些前端的數據可以保存在去中心化的存儲網路中。(如 Filcoin、SWARM、AR 等)
以下是 Uniswap 的官方的 IPFS 鏈接,此方案不需要搭建前端伺服器,用戶同樣可以正常使用。
ipfs://bafybeiagkgmmhux6fswdoedmwqqsvt5arjivl35wuk25jljb2yqgn7njgu/#/swap
以上的鏈接,可以看到是由 ipfs:// 開頭的,所以需要支持解析ipfs的瀏覽器才能打開(Brave、Opera)
並且該鏈接不是人類可讀的,所以又需要域名服務,把對應的域名映射到該鏈接,例如uniswap.eth。(去中心化的域名服務:IPNS、ENS 等)
當然 IPFS 也只支持兼容 Http 的網關去訪問。
當網站訪問量高的時候,需要更加靈活的帶寬市場 ------ CDN 加速網路。(CDN 服務、IPFS 、Filecoin 檢索市場)
Uniswap 透過區塊鏈智能合約語言 solidity 等實現,決定了 Uniswap 的所有的業務邏輯。因為是跑在 EVM 環境內,所以 Uni 不需要自己搭建伺服器部署後端跑業務邏輯(支持智能合約的區塊鏈、ETH 等)。
但交易所需要展示的,肯定不只是業務邏輯,也需要展示幣價的歷史價格曲線,交易額度等。這些歷史數據並不能透過智能合約獲取。假設項目方需要展示的話,仍然需要自己搭建伺服器,跑一個節點,透過鏈上的數據,篩選出來保存到 Uni 自己的數據庫。所以 Web3 需要一個鏈數據索引的解決方案。(鏈數據索引平台 Graph )
The Graph 就提供了一個鏈數據索引方案,可以方便用戶查詢數據。在 The Graph 中,你可以定義哪些智能合約需要索引、哪些事件與函數調用需要監聽,包括調用時、產生時的狀態,也可以規定如何將傳入的事件轉化為前端邏輯可處理的。
鏈上數據的保存會由專門的 Graph 索引挖礦節點保存,該索引節點將提供 API 供用戶頁面端調用,項目方不需要搭建伺服器,只有索引節點需要搭建伺服器來跑索引數據挖礦節點。
透過索引區塊鏈數據,The Graph 可以讓我們在應用邏輯中查詢鏈上數據,並且幾乎不會出現延遲的情況。
例如 Uniswap 交易信息的呈現就是透過 The Graph 生成的。
如果 Uniswap 想呈現的更多,把鏈下的幣價數據也在鏈上呈現出來,這時就需要打通鏈下鏈上數據的橋梁(去中心化的預言機:chainlink)。
按照以上的開發邏輯,Uniswap 相當於發布了一個 Web 3.0 的應用,但實際實現的成本比開發幣安交易所的成本低非常多,因為:
- Uniswap 不需要用戶綁定郵箱,綁定手機,可以直接透過錢包登錄,Uni 自身也不需要保存
- Uniswap 可以不需要搭建前端伺服器,用戶可透過 IPFS 或 AR 存儲前端頁面進行訪問
- 不需要搭建後端伺服器。後端邏輯是跑在智能合約上
- 不需要搭建數據庫,歷史數據與數據庫操作透過 TheGraph 來實現
專業的人去做專業的事,Uniswap 只需做好、設計好自己的邏輯,其他邏輯由模組化 Web3 基礎設施去支撐。
這樣 Uniswap 不僅僅實現了完全的去中心化,也是 Web3 模組化的一個簡單的應用案例。
Web3 的核心是能去信任化交互價值,模組化的發展不僅能做到去信任化,還能提高運行的效率,模組化的趨勢會應用到各行各業。
前文所說的是 Web3 網路架構的模組化,提高了 Web3 的生成力效率,那怎麼提高 Web3 生產關係的效率(Web2 的生產關係主要以公司為主,Web3 的生成關係就是 DAO,DAO 的模組化也是未來的趨勢)。DAO 又依賴於區塊鏈,區塊鏈本身也正在走向模組化,同理元宇宙,遊戲等等都是如此。
模組化時代到來將帶來更高的效率,更好的服務,W3Hitchhiker 將持續跟進 crypto 的模組化之路。














