BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Foresight Ventures: Crypto-Native DApp架構

Foresight
特邀专栏作者
2022-08-25 03:28
本文約7192字,閱讀全文需要約11分鐘
從web2和web3初期的應用構建經驗中,我們可以展望真正的Crypto-native DApp架構的未來,從中我們也可以得到基礎設施創新方向的啟示。
AI總結
展開
從web2和web3初期的應用構建經驗中,我們可以展望真正的Crypto-native DApp架構的未來,從中我們也可以得到基礎設施創新方向的啟示。

原文作者: msfew@Foresight Ventures

原文作者: msfew@Foresight Ventures

一級標題

原文作者: msfew@Foresight Ventures

  • 一級標題

  • 原文作者: msfew@Foresight Ventures

  • 一級標題

當我們開發一個現代化toC 應用程序的時候, 無論是Web App 還是Mobile App 還是Desktop App, 他們的基本架構都可以用以下三端來概括:

數據庫: 數據庫顧名思義, 專門存儲數據的. 後端會讀取或者修改數據庫的內容.

二級標題

a) 工程化

二級標題

二級標題Hasurab) 通信ODataa) 工程化

架構角度: 每個端都有自己的一套規則和語言去描述數據. 前端用人類能理解的思路來構建頁面, 後端用面向對象的語言來操作數據, 數據庫使用關係代數語言來訪問物理存儲. 沒有辦法規定一套萬金油的規則來統一三端. 同時由於語言各司其職, 所以性能側重點也不同.

) 來達到類似前端直連數據庫的效果, 也有CouchDB 這樣為這樣的通信而生的協議, 但依然沒有解決其他的缺點.

c) 安全性

數據映射角度: 前端處理UI, 後端處理對象, 數據庫處理數據. 前端與後端的連接使用了UI 與對象的映射, 後端與數據庫的連接需要使用對象關係進行映射.

二級標題

  • c) 安全性

  • 二級標題

  • 二級標題

  1. 從以上三個角度, 我們分析了為什麼Web2 應用是三端架構, 而這也帶給了我們對區塊鏈DApp 的一些思考:

一級標題

  • 通信: 對應了區塊鍊網絡不同的共識機制. 這些不同的機制也讓區塊鏈的互通變成難題, 但也有諸如Cosmos 和Polkadot 的互通協議, 嘗試去鏈接整個網絡. 但從Web2 應用的角度來說, 這並不意味著是最佳的解決方案. 數據映射則可以對應面向賬戶或者UTXO 的設計模式, 兩者在性能, 隱私, 和開發複雜度上各有優劣.

  • 一級標題

  • 安全性: 對應了區塊鏈的去中心化與Verify, Not Trust 思想. 安全性在區塊鏈領域中更為重要, 因此需要可驗證, 甚至完全透明公開的方式來對數據的處理和數據的可見度進行調整, 從而實現透明和Permissionless 的DeFi, 公開且具有所有權的NFT, 以及DApp 最重要的可組合性.

  • 一級標題

  • 大多數的Web3 DApp都遵循瞭如下的架構:

前端與Web2 App 沒有區別.

二級標題區塊鏈作為數據庫.:

  • 二級標題

  • 大多數的Web3 DApp 都遵循瞭如下的架構:

  • 二級標題

  • a) Web3 DApp 細化組件

  • 更多的組件

前後端通信: 節點Provider, 索引協議.

二級標題後端數據庫通信: 節點Provider, 存儲網絡網關.,二級標題

數據庫: 智能合約狀態和去中心化存儲網絡.

  • 二級標題

  • b) Web3 DApp 如何做到無後端?

  • 區塊鍊網絡上的圖靈完備的智能合約的存在,

讓區塊鏈能成為最好的Serverless 平台

或者說是可以被視作Trustware 的World Computer. 應用的數據和後端邏輯都可以在智能合約中實現.

和Serverless 函數相比, 智能合約更加優秀, 也造就了比Web2 應用更加優秀的架構和模式:

付費方式: Serverless 函數通常是開發者支付費用, 而智能合約大部分交互費用都是由用戶來支付, 且用戶也會心甘情願地為鏈上空間而付費.部署環境: Serverless 函數部署在中心化雲服務平台, 而智能合約部署在去中心化和無需許可的去中心化網絡上. 除此之外, 網絡的運營成本也是從中心化平台轉嫁到了礦工, 經濟系統會更加具有自主性..

2. Web3 Crypto-native DApp 架構

二級標題

Web2 的複雜應用其實也遠遠不止是我們之前所概括的三端了, 需要非常多模塊化, 中間層以及水平拓展的

用戶可以通過它來直接進行交互, 或者也有專門的應用給合約生成前端, 如,; 最近Tornado 被censor, 也有很多社區(比如

) 在自發託管它的前端.

二級標題

  • 前端有censorship resistence

  • 二級標題

  • 大大地提升DApp 整體的安全性和去中心化程度.

二級標題

b) 後端⇒ ZKP + 智能合約

App 架構的演進過程會是這樣的:

  • Web2 應用: 前端⇒ 後端⇒ 數據庫

  • Web3 簡單應用: 前端⇒ 智能合約

Web3 複雜應用: 前端⇒ ZKP ⇒ 智能合約

  • 智能合約雖然讓整個應用變得去中心化, 但用一個公開網絡上的智能合約去處理應用的邏輯是一把雙刃劍. 數據與代碼公開了, 保證了透明可查與可組合性, 但也把隱私和安全風險完全暴露, 同時鏈上空間與計算的成本非常高.

  • ZKP 的加入作為一個前後端之間的中間層與通信方式, 又一次非常好地發揮了它的兩大優點:

擴容: 鏈上空間有限, 因此很多Web2 應用中的複雜算法無法實現, ZKP 能在保證計算可信的情況下, 將算法在鏈下執行, 鏈上驗證.

二級標題

計算可行性: ZKP 的計算種類是受限制的, 並非所有的計算可以通過ZKP 來解決.

  • 二級標題

  • 優化: 當操作的複雜度提高時, 計算時間和空間會顯著提高, 這就需要非常多的軟硬件優化. 同時很多情況下只能在吞吐量上進行顯著提升, 整體Proving 的overhead 很難削減.

  • c) 數據庫⇒ 去中心化節點服務

目前來說, DApp 常用的都是中心化的NaaS, 比如Alchemy 與Infura, 未來在我的構想裡有三個更好的方向:

二級標題Tornado.cash多中心NaaS, 使用多個中心化NaaS 作為備選(類似Chainlink + Uniswap 的預言機組合). 這是一個更加可行且靠譜的方案, 能保證抗審查和uptime.

  • 二級標題

  • 自託管NaaS. 終極方案, 不僅可以保證“數據庫” 連接的可信與各種數據的隱私和抗審查, 也可以增加網絡的去中心化程度. 搭配上自託管前端, 整個DApp 就會無比去中心化.

  • 二級標題d) Crypto-native DApp 實例.

  • 最近剛被制裁的

(尤其是老闆本) 是一個非常Crypto-native 的DApp, 它滿足了我們很多的定義:Tornado.cash完全使用前端代碼中的ZK 電路和智能合約實現, 沒有任何服務器端代碼.

3. Web3 Infra

託管在IPFS 中

一級標題我相信未來會有更多應用以:

  • 一級標題

  • 的範式來進行架構的打造, 這是目前我心目中最完美的去中心化的Web3 應用架構.

  • 一級標題

上述只是簡化版的架構, 以下是較為具體的一個實際DeFi 應用的架構:

其中包含了除了節點服務以外的幾個

關於Foresight Ventures

關於Foresight Ventures

關於Foresight Ventures

Foresight Ventures 押注加密貨幣未來幾十年的創新歷程,旗下管理多支基金:VC基金、二級主動管理基金、多策略FOF、特殊目的S基金「Foresight Secondary Fund l」, 總資產管理規模超過4億美元。 Foresight Ventures 堅持“Unique, Independent, Aggressive, Long-term”的理念,通過強大的生態力量為項目提供廣泛的支持。其團隊來自包括紅杉中國,中金公司,谷歌,比特大陸等頂級金融和技術公司的資深人士。

Website: https://www.foresightventures.com/

Twitter: https://twitter.com/ForesightVen

Medium: https://medium.com/@foresightventures-zh

Substack: https://foresightventures.substack.com

Discord: https://discord.com/invite/jYtyfxfB

Linktree: https://linktr.ee/foresightventures

Related Links

0:

https://learnblockchain.cn/article/4338

https://www.zhihu.com/question/457087098

0a:

https://www.zhihu.com/question/457087098/answer/1864992254

https://www.zhihu.com/question/457087098/answer/1863665807

0b:https://www.zhihu.com/question/457087098/answer/1911173154

0c:

https://www.zhihu.com/question/457087098/answer/1864258142

https://www.zhihu.com/question/457087098/answer/1910852580

1:

https://medium.com/iearn/self-hosting-web3-services-299306b706ee

1a:

https://twitter.com/suhailkakar/status/1555894207570513920

1b:

https://www.informit.com/articles/article.aspx?p=3006828

2:

https://mp.weixin.qq.com/s/1h6yqCWyzYLM8WPGlGdtVA

2a:

https://twitter.com/ChainLinkGod/status/1562125152506195969

https://github.com/Uniswap/web3-react

https://center.dev

https://www.codemag.com/article/1701041/Legal-Notes-What’s-the-Deal-with-ReactJS’s-Licensing-Scheme

https://twitter.com/paulmillr/status/1558578060940791809

https://github.com/Nemusonaneko/projects-with-restrictions/

https://medium.com/iearn/self-hosting-web3-services-299306b706ee

https://twitter.com/samecwilliams/status/1561127191106158592

http://Trustless.fi

https://twitter.com/forgivenever/status/1556820240993882112

https://okcontract.com/whitelist

https://twitter.com/lickitungxbt/status/1558477975292715016

https://twitter.com/DotTheShake/status/1557703404574707717

https://twitter.com/mallowsxyz/status/1560655467613143040

2b:

https://twitter.com/LeopoldSayous/status/1515982366635966466

2c:

https://ethereum.org/en/developers/docs/nodes-and-clients/nodes-as-a-service/

2d:

https://mp.weixin.qq.com/s/USa7y6IZRjYXa8mWK4t2Lg

https://ipfs.io/ipfs/QmTFnDJbfZLbopwjowmwNE9LFvK599sxhktAArQUvH7Tex

3:

https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application

https://mp.weixin.qq.com/s/ifaVkhdgmh41zxDKVE68Kw

https://www.usv.com/writing/2018/10/the-myth-of-the-infrastructure-phase/

https://www.usv.com/writing/2016/08/fat-protocols/

DApp
Foresight Ventures
歡迎加入Odaily官方社群