0.Web2App架構
當我們開發一個現代化toC應用程序的時候,無論是WebApp還是MobileApp還是DesktopApp,他們的基本架構都可以用以下三端來概括:
從左到右分別是:前端:也叫客戶端.應用的前端是用戶在瀏覽器內看到的頁面,或者移動設備里使用的App.前端掌控了視圖和展示.后端:也叫服務器端.應用的后端存在的意義主要就是為前端提供接口和數據,通常應用的主要業務邏輯會在后端中.數據庫:數據庫顧名思義,專門存儲數據的.后端會讀取或者修改數據庫的內容.為什么軟件都需要這三端?為什么前端不直接連數據庫呢?中間為什么還要有一個后端?這其實有很多方面的原因:a)工程化
開發者角度:現代化應用的前端沒有精力同時處理復雜的數據模型以及視圖的狀態管理.工程化的角度而言,讓每個工程師都全知全能地維護一套臃腫的系統是不好的.除此之外很多的邏輯是不需要前端參與展示的,比如電商平臺的庫存等.架構角度:每個端都有自己的一套規則和語言去描述數據.前端用人類能理解的思路來構建頁面,后端用面向對象的語言來操作數據,數據庫使用關系代數語言來訪問物理存儲.沒有辦法規定一套萬金油的規則來統一三端.同時由于語言各司其職,所以性能側重點也不同.b)通信
協議角度:觀察圖中,可以看到連接三端的兩個連接方式是不一樣的.通常toC的應用程序前端和后端溝通使用HTTP協議,而后端和數據庫則有不同的協議,如MySQL就和MongoDB有著不同的協議.我們可以通過一層很薄的后端(GraphQL+Hasura)或者規定新的協議(OData)來達到類似前端直連數據庫的效果,也有CouchDB這樣為這樣的通信而生的協議,但依然沒有解決其他的缺點.數據映射角度:前端處理UI,后端處理對象,數據庫處理數據.前端與后端的連接使用了UI與對象的映射,后端與數據庫的連接需要使用對象關系進行映射.c)安全性
數據角度:因為在目前,我們所使用的應用越來越多是基于Web的應用,所以如果讓前端直連數據庫,那么在瀏覽器這個不安全且開放的環境下,很難防住數據泄露和黑客攻擊.數據庫理論上可以通過各種鑒權等手段控制數據可見度,但是后端存在的另一個巨大意義就是確保在可信的環境中,以設計好的方式運行,并排除已知的安全性問題.d)Web2應用架構給DApp的啟示
隱私性DeFi借貸協議Forlend今日上線流動性挖礦功能:據官方消息,今日Forlend正式上線質押FLD-FRA LP流動性挖礦活動。據悉,Forlend是建立在Findora鏈上的首個隱私借貸協議,在PST時間8月28日上線。Forlend將提供FLD總量的50%供用戶進行質押挖礦。該活動旨在支持Forlend的第一批用戶。[2022/9/6 13:10:58]
從以上三個角度,我們分析了為什么Web2應用是三端架構,而這也帶給了我們對區塊鏈DApp的一些思考:工程化:對應了區塊鏈中的模塊化思想.各個組件各司其職,存儲則可以用存儲鏈,用戶數據則用傳統的公鏈存儲.開發者無需太高的開發心智負擔.通信:對應了區塊鏈網絡不同的共識機制.這些不同的機制也讓區塊鏈的互通變成難題,但也有諸如Cosmos和Polkadot的互通協議,嘗試去鏈接整個網絡.但從Web2應用的角度來說,這并不意味著是最佳的解決方案.數據映射則可以對應面向賬戶或者UTXO的設計模式,兩者在性能,隱私,和開發復雜度上各有優劣.安全性:對應了區塊鏈的去中心化與Verify,NotTrust思想.安全性在區塊鏈領域中更為重要,因此需要可驗證,甚至完全透明公開的方式來對數據的處理和數據的可見度進行調整,從而實現透明和Permissionless的DeFi,公開且具有所有權的NFT,以及DApp最重要的可組合性.Web3DApp架構
大多數的Web3DApp都遵循了如下的架構:簡單應用(純鏈上數據且交互并不復雜),例如:Uniswap以及純鏈上存儲的NFT項目.前端與Web2App沒有區別.無后端(鏈上智能合約作為后端).區塊鏈作為數據庫.大多數的Web3DApp都遵循了如下的架構:a)Web3DApp細化組件
更細化地來說,完整的Web3DApp的工作流程涉及到更多的組件:前端:瀏覽器,錢包,頁面.前后端通信:節點Provider,索引協議.概念上的后端:區塊鏈網絡上的智能合約.后端數據庫通信:節點Provider,存儲網絡網關.數據庫:智能合約狀態和去中心化存儲網絡.
派盾:Fortress Protocol疑似遭遇攻擊,已有1048枚ETH和40萬枚DAI被盜:5月9日消息,派盾(PeckShield)預警顯示,BNB Chain 上借貸協議 Fortress Protocol 疑似遭攻擊,代幣 FTS 短時下跌 42%,目前已有 1048 枚以太坊和 40 萬枚 DAI 轉入 Tornado.cash。[2022/5/9 3:00:00]
b)Web3DApp如何做到無后端?
區塊鏈網絡上的圖靈完備的智能合約的存在,讓區塊鏈能成為最好的Serverless平臺,或者說是可以被視作Trustware的WorldComputer.應用的數據和后端邏輯都可以在智能合約中實現.
和Serverless函數相比,智能合約更加優秀,也造就了比Web2應用更加優秀的架構和模式:付費方式:Serverless函數通常是開發者支付費用,而智能合約大部分交互費用都是由用戶來支付,且用戶也會心甘情愿地為鏈上空間而付費.執行環境:Serverless函數有非常靈活的執行環境,而智能合約的執行環境雖然選擇很少,但非常輕量級.部署環境:Serverless函數部署在中心化云服務平臺,而智能合約部署在去中心化和無需許可的去中心化網絡上.除此之外,網絡的運營成本也是從中心化平臺轉嫁到了礦工,經濟系統會更加具有自主性.但是,對于一個真正完整的應用來說,只通過智能合約作為后端,是無法實現完整的功能的,因此會需要有Keeper網絡或預言機等其他組件.2.Web3Crypto-nativeDApp架構Web3DApp指的是通過智能合約作為后端實現的,簡單的去中心化應用.要完成一個復雜應用,可能或多或少會引入中心化的服務,真正要實現一個Crypto-native且trustless的DApp,則需要在架構上加入新的變化.Web2的復雜應用其實也遠遠不止是我們之前所概括的三端了,需要非常多模塊化,中間層以及水平拓展的架構拆分.
a)前端?開源+Self-hosted前端
Web3前端的觸發邏輯其實和Web2本身就不太一樣.Web3的操作都是用戶進行通過和確認的,且以鏈上地址為核心,而不是Web2中,客戶端直接發送到服務器和數據庫觸發數據更新.
FORM上線KuCoin(庫幣) ,開盤上漲450%:據KuCoin(庫幣)消息,KuCoin已上線Formation Fi (FORM)項目并支持FORM/USDT 交易對。FORM開盤價為0.03USDT,當前報價0.165USDT,上線漲幅450%。
Formation Fi 將跨鏈風險平價協議引入 DeFi,通過重新配置 DeFi 投資組合結構,幫助用戶更好地管理風險并獲得更高回報。
KuCoin(庫幣)旨在發掘優質區塊鏈項目,為來自207個國家的800萬用戶提供現貨、杠桿、合約、Staking 、借貸等一站式服務。[2021/6/18 23:48:27]
對于Web3前端的發展,我認為有兩個大的趨勢:框架的選擇:前端的兩大框架React與Vue中,React占了Web3的主導地位,主要就是因為生態與各種組件的積累,比如web3-react與Center.dev.但是我個人感覺React項目的主導權始終還是在Meta手里的,開源協議的更改也多次引起爭議,所以如果有機會使用Vue框架搭配一些依賴盡量少的第三方庫來進行前端開發的話,還是比React更加好的.前端的Hosting:前端是DApp被黑(惡意劫持或腳本注入)以及被censor(Uniswap和Flashbots的源碼中都有OFAC的黑名單)的重災區.YearnFinance很早就鼓勵用戶自己托管DApp的前端;在Arweave這樣的永久存儲網絡上托管前端也能保證每個版本的前端都不會被刪除,永久可訪問;Trustless.fi也提出了前端Marketplace的概念,讓用戶在多個社區托管的前端中選擇,這也能保證中立性和“前端多樣性”;Etherscan等其他區塊鏈瀏覽器其實也算是中立的前端,用戶可以通過它來直接進行交互,或者也有專門的應用給合約生成前端,如okcontract;最近Tornado被censor,也有很多社區(比如codeisspeech和theshake)在自發托管它的前端.
這兩個點的發展會讓DApp的前端有censorshipresistence,大大地提升DApp整體的安全性和去中心化程度.
Bitfinex已上線Ampleforth治理代幣FORTH:Bitfinex發推表示,現已上線Ampleforth治理代幣FORTH,支持FORTH(ERC-20代幣)交易,提供FORTH/USD和FORTH/USDT交易對。[2021/5/17 22:12:23]
b)后端?ZKP+智能合約
App架構的演進過程會是這樣的:Web2應用:前端?后端?數據庫Web3簡單應用:前端?智能合約Web3復雜應用:前端?ZKP?智能合約
智能合約雖然讓整個應用變得去中心化,但用一個公開網絡上的智能合約去處理應用的邏輯是一把雙刃劍.數據與代碼公開了,保證了透明可查與可組合性,但也把隱私和安全風險完全暴露,同時鏈上空間與計算的成本非常高.ZKP會成為Web3時代的RSA,消除應用的通信安全性短板,和去中心化短板,真正實現trusted且trustless的DApp.ZKP的加入作為一個前后端之間的中間層與通信方式,又一次非常好地發揮了它的兩大優點:隱私:Web2應用中,隱私一直算是默認選項,但區塊鏈網絡的性質讓DApp一直擁有著形同虛設的“隱私”,ZKP作為中間層,可以將敏感數據在鏈下處理,從而解決這一個問題.擴容:鏈上空間有限,因此很多Web2應用中的復雜算法無法實現,ZKP能在保證計算可信的情況下,將算法在鏈下執行,鏈上驗證.有無數項目正在朝著這兩個方向努力,這里就不列舉了.主要需要攻克兩個難點:計算可行性:ZKP的計算種類是受限制的,并非所有的計算可以通過ZKP來解決.優化:當操作的復雜度提高時,計算時間和空間會顯著提高,這就需要非常多的軟硬件優化.同時很多情況下只能在吞吐量上進行顯著提升,整體Proving的overhead很難削減.c)數據庫?去中心化節點服務
我們之前講述了DApp如何用區塊鏈來作為后端與數據庫.要讓DApp連接上區塊鏈網絡,就需要節點服務.目前來說,DApp常用的都是中心化的NaaS,比如Alchemy與Infura,未來在我的構想里有三個更好的方向:去中心化NaaS,協議化Infura,但是這個其實沒有特別大的必要和可行性,NaaS去中心化的目的主要是為了抗審查而已,不用其他的需求.多中心NaaS,使用多個中心化NaaS作為備選(類似Chainlink+Uniswap的預言機組合).這是一個更加可行且靠譜的方案,能保證抗審查和uptime.自托管NaaS.終極方案,不僅可以保證“數據庫”連接的可信與各種數據的隱私和抗審查,也可以增加網絡的去中心化程度.搭配上自托管前端,整個DApp就會無比去中心化.
Force DAO 代幣增發漏洞簡析:據慢霧區消息,DeFi 量化對沖基金 Force DAO 項目的 FORCE 代幣被大量增發。經慢霧安全團隊分析發現: 在用戶進行 deposit 操縱時,Force DAO 會為用戶鑄造 xFORCE 代幣,并通過 FORCE 代幣合約的 transferFrom 函數將 FORCE 代幣轉入 ForceProfitSharing 合約中。但 FORCE 代幣合約的 transferFrom 函數使用了 if-else 邏輯來檢查用戶的授權額度,當用戶的授權額度不足時 transferFrom 函數返回 false,而 ForceProfitSharing 合約并未對其返回值進行檢查。導致了 deposit 的邏輯正常執行,xFORCE 代幣被順利鑄造給用戶,但由于 transferFrom 函數執行失敗 FORCE 代幣并未被真正充值進 ForceProfitSharing 合約中。最終造成 FORCE 代幣被非預期的大量鑄造的問題。 此漏洞發生的主要原因在于 FORCE 代幣的 transferFrom 函數使用了`假充值`寫法,但外部合約在對其進行調用時并未嚴格的判斷其返回值,最終導致這一慘劇的發生。慢霧安全團隊建議在對接此類寫法的代幣時使用 require 對其返回值進行檢查,以避免此問題的發生。[2021/4/4 19:45:30]
d)Crypto-nativeDApp實例
最近剛被制裁的Tornado.cash(尤其是老板本)是一個非常Crypto-native的DApp,它滿足了我們很多的定義:前端使用了NuxtJS的Vue框架,而不是常用的React框架.完全使用前端代碼中的ZK電路和智能合約實現,沒有任何服務器端代碼.代碼完全開源,托管在IPFS中.舊版本無私鑰或多簽控制.我相信未來會有更多應用以Tornado.cash的范式來進行架構的打造,這是目前我心目中最完美的去中心化的Web3應用架構.3.Web3Infra
上述只是簡化版的架構,以下是較為具體的一個實際DeFi應用的架構:
其中包含了除了節點服務以外的幾個補充的基礎設施:Indexer:左側的TheGraph.鏈上數據沒有辦法方便地查詢,所以需要indexer對合約相關數據進行組裝.Oracle:右下角的Chainlink.鏈上需要拿到合約或者網絡以外的價格等數據,因此需要鏈上(UniswapTWAP)或者鏈下預言機(Chainlink)喂價.Keeper:右下角的Keep3rNetwork.智能合約本身沒有自動觸發執行任務能力,因此需要外部觸發器進行協助.這幾個基礎設施在一個DApp的搭建中至關重要,我們會在未來的文章中詳細介紹Oracle與Indexer的問題與革新機會.
為什么只有這幾個基礎設施被納入考量中,而諸如NFT創作工具,No-Code合約生成工具,和合約前端生成器沒有被考慮到呢?因為我個人認為,一個好的Web3基礎設施需要有不斷的價值捕獲的能力,持續和使用它的應用一起增長,而不是一次付費就結束了,這也是Web2SaaS和Web3Protocol中得出的經驗.熊市是一個非常好的搭建和提升基礎設施的機會.我相信這些革新的FatInfra會撐起下一輪DApp的創新,并且作為BaseLayer捕獲到巨大的價值.在未來的文章中,我們會詳細討論這些基礎設施的最佳潛在優化方案.關于ForesightVentures
ForesightVentures押注加密貨幣未來幾十年的創新歷程,旗下管理多支基金:VC基金、二級主動管理基金、多策略FOF、特殊目的S基金「ForesightSecondaryFundl」,總資產管理規模超過4億美元。ForesightVentures堅持“Unique,Independent,Aggressive,Long-term”的理念,通過強大的生態力量為項目提供廣泛的支持。其團隊來自包括紅杉中國,中金公司,谷歌,比特大陸等頂級金融和技術公司的資深人士。Website:https://www.foresightventures.com/Twitter:https://twitter.com/ForesightVenMedium:https://medium.com/@foresightventures-zhSubstack:https://foresightventures.substack.comDiscord:https://discord.com/invite/jYtyfxfBLinktree:https://linktr.ee/foresightventuresRelatedLinks
0:https://learnblockchain.cn/article/4338https://www.zhihu.com/question/4570870980a:https://www.zhihu.com/question/457087098/answer/1864992254https://www.zhihu.com/question/457087098/answer/18636658070b:https://www.zhihu.com/question/457087098/answer/19111731540c:https://www.zhihu.com/question/457087098/answer/1864258142https://www.zhihu.com/question/457087098/answer/19108525801:https://medium.com/iearn/self-hosting-web3-services-299306b706ee1a:https://twitter.com/suhailkakar/status/15558942075705139201b:https://www.informit.com/articles/article.aspx?p=30068282:https://mp.weixin.qq.com/s/1h6yqCWyzYLM8WPGlGdtVA2a:https://twitter.com/ChainLinkGod/status/1562125152506195969https://github.com/Uniswap/web3-reacthttps://center.devhttps://www.codemag.com/article/1701041/Legal-Notes-What’s-the-Deal-with-ReactJS’s-Licensing-Schemehttps://twitter.com/paulmillr/status/1558578060940791809https://github.com/Nemusonaneko/projects-with-restrictions/https://medium.com/iearn/self-hosting-web3-services-299306b706eehttps://twitter.com/samecwilliams/status/1561127191106158592http://Trustless.fihttps://twitter.com/forgivenever/status/1556820240993882112https://okcontract.com/whitelisthttps://twitter.com/lickitungxbt/status/1558477975292715016https://twitter.com/DotTheShake/status/1557703404574707717https://twitter.com/mallowsxyz/status/15606554676131430402b:https://twitter.com/LeopoldSayous/status/15159823666359664662c:https://ethereum.org/en/developers/docs/nodes-and-clients/nodes-as-a-service/2d:https://mp.weixin.qq.com/s/USa7y6IZRjYXa8mWK4t2Lghttps://ipfs.io/ipfs/QmTFnDJbfZLbopwjowmwNE9LFvK599sxhktAArQUvH7Tex3:https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-applicationhttps://mp.weixin.qq.com/s/ifaVkhdgmh41zxDKVE68Kwhttps://www.usv.com/writing/2018/10/the-myth-of-the-infrastructure-phase/https://www.usv.com/writing/2016/08/fat-protocols/
Tags:FORHTTWEBTPSAmpleforth Governance TokenHTT幣web3游戲平臺tps幣圈
Odaily星球日報譯者|念銀思唐眼下的加密市場中也不全是壞消息。就在加密行業在寒冬中瑟縮之際,風投資本家仍在向數字貨幣和區塊鏈初創公司投入大量資金,其速度有望超過去年的紀錄.
1900/1/1 0:00:00Odaily星球日報譯者|念銀思唐 摘要: -拉丁美洲電子商務公司MercadoLibre推出了自己的加密貨幣MercadoCoin.
1900/1/1 0:00:00DAO是以太坊創建者VitalikButerin發明的一個概念,并在該平臺的開創性白皮書中進行了詳細描述。因此,它是以太坊所要提供的一個重要部分.
1900/1/1 0:00:00幾周前,Aave治理論壇上提出了GHO穩定幣的概念,引發了整個DeFi行業的巨大關注。毫無疑問,作為Aave協議的下一步發展規劃,推出這樣一個去中心化、有抵押品支持、且與美元掛鉤的AaveDAO.
1900/1/1 0:00:00周一,美國財政部將以太坊混幣器TornadoCash和一系列與該服務相關的地址添加到SDN列表中,這代表個人或者相關實體的財產和財產權益都將面臨被凍結的風險.
1900/1/1 0:00:00我是在2018年開始投資加密游戲的,我相信一旦開放,游戲經濟和虛擬世界就不會再關閉。在內容、創作工具、開放市場和技術的共同作用下,"主權個人"假說似乎成為了不可阻擋的現實.
1900/1/1 0:00:00