時(shí)間:2023-06-23|瀏覽:260
來源:W3.Hitchhiker
原文標(biāo)題:Web3.0架構(gòu)不僅是去中心化的,更是模塊化的
一、Web2.0架構(gòu) Web2.0應(yīng)用以去中心交易所Binance為例,Binance允許用戶去交易各種代幣。
Binance是一個(gè)Web2.0應(yīng)用程序,架構(gòu)聽起來很簡(jiǎn)單,但實(shí)際上在開發(fā)中,需要進(jìn)行大量的工作。
用戶需要通過網(wǎng)絡(luò)運(yùn)營(yíng)商來使設(shè)備聯(lián)網(wǎng),然后打開瀏覽器,輸入幣安的域名,通過http協(xié)議去訪問幣安的網(wǎng)站。
Binance需要用戶通過手機(jī)或者郵箱來進(jìn)行注冊(cè)并登錄該平臺(tái)。
然后幣安自己需要一個(gè)地方來存儲(chǔ)像用戶注冊(cè)信息,交易額度,成交歷史,掛單等的基礎(chǔ)數(shù)據(jù)。而這些都需要搭建一個(gè)數(shù)據(jù)庫用來存儲(chǔ),并且要不斷地更新。
其次,后端代碼語言(像Node.js,Java,orGo)決定了Binance的所有的業(yè)務(wù)邏輯。需要一個(gè)搭建服務(wù)器部署后端跑后端的邏輯。例如,當(dāng)新用戶注冊(cè)、交易,掛單會(huì)發(fā)生什么情況?
還有,像前端代碼語言(JavaScript,HTML,andCSS)決定了Binance的UI邏輯。需要一個(gè)搭建服務(wù)器部署到前端跑前端的交互邏輯。例如,網(wǎng)站是什么樣子的?當(dāng)用戶與頁面上的每個(gè)按鍵交互時(shí)會(huì)發(fā)生什么?
當(dāng)你在Binance上寫交易時(shí),這些所有的東西都會(huì)整合起來進(jìn)行聯(lián)動(dòng)。你與它的前端互動(dòng),前端和后端交互,后端再與它的數(shù)據(jù)庫交互。所有這些代碼都托管在中心化服務(wù)器上,并通過互聯(lián)網(wǎng)瀏覽器反饋給用戶,而中心化服務(wù)器的所有控制權(quán)在Binance的手上。
這是對(duì)當(dāng)今大多數(shù)Web2.0應(yīng)用程序的工作原理的一個(gè)簡(jiǎn)單總結(jié),當(dāng)然實(shí)際會(huì)更為復(fù)雜。
二、Web3.0架構(gòu) Web3.0應(yīng)用以Uniswap為例,Uniswap是去中心交易所,允許自由添加并交易各種代幣。
Uniswap是一個(gè)Web3.0應(yīng)用程序,架構(gòu)聽起來很復(fù)雜,但實(shí)際開發(fā)實(shí)現(xiàn)很簡(jiǎn)單。
首先,用戶要通過設(shè)備來進(jìn)行聯(lián)網(wǎng),需要通過網(wǎng)絡(luò)服務(wù)商,類似電信,移動(dòng)之類。(去中心化的網(wǎng)絡(luò)服務(wù)商,物聯(lián)網(wǎng):Helium)
然后,用戶訪問程序要通過瀏覽器或者操作系統(tǒng)(去中心化的瀏覽器或操作系統(tǒng):Brave)
用戶訪問程序要通過瀏覽器與服務(wù)端交互,這一操作需要通過協(xié)議來支持(傳統(tǒng)是http,新的可由IPFS來替代,通過內(nèi)容尋址)
Uniswap需要用戶通過私鑰,錢包去登錄(類似插件,錢包等:Metamask、Tokenpocket、Math、Brave錢包),此外統(tǒng)一的DID也是未來的一個(gè)方向(類似ENS等)
錢包需要連接區(qū)塊鏈的節(jié)點(diǎn),這時(shí)會(huì)需要節(jié)點(diǎn)的服務(wù)器來提供,這也就需要對(duì)應(yīng)區(qū)塊鏈的節(jié)點(diǎn),或者由Infura/Alchemy這種專業(yè)的節(jié)點(diǎn)服務(wù)提供商來進(jìn)行。(去中心化的節(jié)點(diǎn)服務(wù)提供商也是一個(gè)趨勢(shì):Pocket)
Uniswap網(wǎng)站是什么樣子的,當(dāng)用戶與頁面上的每個(gè)按鍵交互時(shí)會(huì)發(fā)生什么?還是JavaScript,HTML和CSS之類的前端代碼語言實(shí)現(xiàn)Uniswap的UI邏輯。
但Web3可以不需要自己搭建服務(wù)器部署跑前端的交互邏輯。這些前端的數(shù)據(jù)可以保存在去中心化的存儲(chǔ)網(wǎng)絡(luò)中。(如Filcoin、SWARM、AR等)
IPNS、ENS等)
當(dāng)然IPFS也只支持兼容Http的網(wǎng)關(guān)去訪問。
當(dāng)網(wǎng)站訪問量高的時(shí)候,需要更加靈活的帶寬市場(chǎng)——CDN加速網(wǎng)絡(luò)。(CDN服務(wù)、IPFS、Filecoin檢索市場(chǎng))
Uniswap通過區(qū)塊鏈智能合約語言solidity等實(shí)現(xiàn),決定了Uniswap的所有的業(yè)務(wù)邏輯。因?yàn)槭桥茉贓VM環(huán)境內(nèi),所以Uni不需要自己搭建服務(wù)器部署后端跑業(yè)務(wù)邏輯(支持智能合約的區(qū)塊鏈、ETH等)。
但交易所需要展示的,肯定不只是業(yè)務(wù)邏輯,也需要展示幣價(jià)的歷史價(jià)格曲線,交易額度等。這些歷史數(shù)據(jù)并不能通過智能合約獲取。假設(shè)項(xiàng)目方需要展示的話,仍然需要自己搭建服務(wù)器,跑一個(gè)節(jié)點(diǎn),通過鏈上的數(shù)據(jù),篩選出來保存到Uni自己的數(shù)據(jù)庫。所以Web3需要一個(gè)鏈數(shù)據(jù)索引的解決方案。(鏈數(shù)據(jù)索引平臺(tái)Graph)
TheGraph就提供了一個(gè)鏈數(shù)據(jù)索引方案,可以方便用戶查詢數(shù)據(jù)。在TheGraph中,你可以定義哪些智能合約需要索引、