0.中間件安全性問題
現有的Indexing協議和Keeper網絡都不是完全trustless的,而是trusted,或者看似trustless.開發者和用戶需要以“Trust,NotVerify”的方式來信任這些產品不會作惡.
它們都是上一代的基礎設施,在當時可能確實沒有太好的解決方案,所以用了Fisherman機制或者DAO治理(SocialConsensus…),來保證數據的可信和協議的安全運行.
在當前,各個zk方案已經進入性能優化的收尾階段,這些前朝的劍,就不能再來斬本朝的官了.通過zk,可以實現Web3中間件的所有革新,確保安全性,去中心化,和性能被同時滿足,就如同OptimisticRollup在未來很可能會被zkRollup搶走Layer2的主導地位一樣.
1.Web3Indexing
a)Web3索引
我們首先需要了解為什么需要Web3特制的索引協議:
Web3是地址模型,智能合約數據以交易形式存在,需要索引來讓數據結構更加易用;Web2的數據結構開發者自己處理.Web3的很多數據都是交易相關數據;Web2被索引的數據很大一部分都是搜索引擎索引的網頁或者圖片等數據.Web3需要通用索引協議來發揮可組合性;Web2開發者自己根據自己的中心化應用搭建索引服務.對于這幾點,如果你在DApp的開發中,硬是要自己來進行索引,那么每當去提取合約中的特定數據,需要非常大的前端代碼量,以下是一個例子,真的要建立一套服務的話需要無數個不同的函數:
Binance.US上多個幣種出現溢價,BTC超過28000美元:6月8日消息,在SEC尋求法院下令凍結Binance.US資產后,該平臺上多個幣種出現大幅溢價。其中,BTC價格最高飆升至28800美元,目前暫報28025美元,而BTC市場均價為26400USDT,差價近1600美元;ETH價格最高飆升至1998美元,目前暫報1952美元,市場均價為1840USDT;穩定幣USDT以及USDC分別溢價約6%以及4%。[2023/6/8 21:22:56]
于是在我們之前的DApp架構圖中,前端要使用和獲取智能合約的數據時,就必備一個通用的Indexing協議作為中間層,來讓智能合約的數據能被前端所輕松使用.
b)GraphQL索引
我們需要一個Indexing協議作為中間層,那么這個協議該如何選型呢(TheGraph19年有講過Web3為什么要用GraphQL,但是感覺說得不太清楚)?我們有四個潛在選擇.
首先,排除SOAP.因為它的采用率非常少,學習曲線也非常陡峭.甚至有人說“RESTisking,andSOAPistrash”.
Paradigm研究員:Tornado.cash治理已不復存在:金色財經報道,Paradigm研究員Samczsun在推特發文表示,Tornado.cash治理實際上已不復存在。攻擊者通過惡意提案授予自己 120萬票。超過了約70萬張合法選票,他們現在擁有完全控制權。金色財經此前報道,Paradigm研究員Samczsun在社交媒體上表示,Tornado.Cash遭治理攻擊,攻擊者已提取出售約1萬枚TORN[2023/5/21 15:16:55]
其次,排除RPC.RPC是客戶端對區塊鏈,或者Web2服務與服務之間的常用調用規范,以操作(動詞)為核心,接口的更新更加麻煩一些,適合客戶端與區塊鏈網絡的通信.但對于我們的智能合約開發場景來說,太重,不是最適合,性能也因為請求數量多,和需要依賴正在運行的程序,而導致不太好.
接著,排除REST.REST風格算是以資源(名詞)為核心來操作的規范.但是Web3應用中,對任何資源進行更新操作的動作都需要用戶或者其他方授權觸發,我們在索引協議中的請求全部是GET請求,那就沒必要REST了.
最后,選擇了GraphQL:
GraphQL協議本身的構建工作量相比其他標準更小,更不需要變化,更容易搭建通用的協議.GraphQL的交互形式給了前端更多的自由度,由前端定義結果,符合DApp結構中的無后端思想.GraphQL非常適合區塊鏈中完全開放且不易變,同時有非常多樹狀結構數據的智能合約場景,性能上也會因此更好.GraphQL在區塊鏈中已經有TheGraph針對單個智能合約的索引制定了成熟標準,也早就有對整條鏈的GraphQL接口(ethql,Clear),成熟度高,開發者生態也被培養得很好.除此之外,我并不認為我們需要花非常多的時間去開發新的存儲網絡的GraphQL協議和Query協議(當然這些索引的聚合是有意義的):
Coinbase客戶拒絕提供賬戶信息并指控其損害用戶利益:金色財經報道,Coinbase的客戶拒絕提供他們的賬戶信息,繼續起訴該公司未經授權的加密貨幣轉賬。它還指責Coinbase在經濟上傷害用戶,將他們的賬戶永久或暫時封鎖,并在其交易平臺上列出證券,沒有遵守聯邦法規。
聯邦法院最近提交了一項動議,要求原告交出所要求的信息,以換取保護令。[2022/12/29 22:14:47]
存儲網絡大多都自帶可用的索引協議,如Arweave的GraphQL服務,開發新的協議是在重復造輪子.存儲網絡上的數據相對于合約數據或者Web2數據量都非常小,同時所承載的價值也相對來說更小.Web2已經有更加成熟的協議和方案來進行這些數據的索引,開發新的協議依然類似是重復造輪子.當我們討論索引協議的時候,默認的都是從前端直接獲取區塊鏈智能合約的數據,這是因為我們在前文中就闡述過,消除后端服務器對Web3Crypto-native可信DApp的意義.
硬要加上針對智能合約鏈的后端的話反而徒增架構復雜度和暴露更多的不可信因素(目前有zk-sql等項目在專注于相關問題,但無法完全解決;也有Sqlidity這樣有趣的鏈上SQLite方案),當然對于基于存儲協議的DApp來說,SQL化的語句對開發熟悉度和流程來說是有必要的.
索引協議需要關注的結構應該是前端能直接使用的GraphQL結構.
CZ:Binance并非中國公司,與中國毫無關聯:11月24日消息,Binance 創始人 CZ 在接受彭博社直播采訪中表示:Binance 并非一家中國公司,與中國毫無關聯。Binance 一直被誤認為是中國公司,是因為我長得像中國人,但其實我作為加拿大公民已有 30 年時間。[2022/11/24 8:03:55]
c)現有Web3GraphQL索引協議問題
現有的IndexingProtocol的龍頭必然是去中心化的TheGraph和PocketNetwork和中心化的Alchemy.無論是中心化還是去中心化,它們都各有各的問題:
中心化IndexingProtocol問題:無法抗審查無法保證服務高可用性現有去中心化IndexingProtocol問題:信任模型和安全性依舊差(攻擊Subgraph的成本非常低,機制和Chainlink2.0一樣,是靠“更可信”的Fisherman來舉報)性能無法滿足需求對于安全性的問題,Fisherman機制在OptimisticRollup中的體現與IndexingProtocol所不同,OptimisticRollup的數據是鏈上的,更大的群體可以通過執行輕松驗證,而Indexing的過程是鏈下的,如果并非Subgraph的indexer的話,很難去對錯誤數據進行挑戰.這就導致信任模型更不穩固.
這幾個缺陷結合在一起,就導致了大的DeFi應用因為性能和安全性而很少使用這些索引協議,這個市場有著巨大的空缺.
CryptoPunks系列NFT24小時成交額超200萬美元:金色財經報道,據NFTGo.io數據顯示,CryptoPunks系列NFT24小時成交額達201.4萬美元,增幅達381.52%。截止目前,該系列NFT地板價為66ETH,24小時漲幅3.21%。[2022/6/26 1:32:35]
d)ZK解決智能合約索引協議問題
ZK其實是個非常好的解決方案,任何的Optimistic機制的問題都可以通過轉為ZK來解決,比如Rollup這個最顯著的領域.
ZK化之后的索引協議兼具了中心化和去中心化協議的所有優點,包括高可用性和抗審查(多個節點保證uptime),性能極佳(因為ZK的存在所以可以選用中心化高性能節點),安全性(ZK的數學密碼學很好地保證安全性)
對于一個索引協議來說,ZK的方案:
不需要EVM兼容性.注重整體性能,需要保證VerifiableQuery的速率.TheGraph自己也意識到了自己的機制安全性的不足,正在琢磨Shellproof.
但是我認為TheGraph目前的研究和開發進度還是慢,不知道Shellproofs是否能支持全部subgraph的運行.而且TheGraph已經在現有的機制上花了這么多功夫,去替換這個機制的難度甚至比重新建立一套還要高.
一個真正實現了zk化的TheGraph的應用可以構建出新的應用與開發范式:
任何DeFi應用都可以信任這個索引協議的數據,大大簡化了開發流程.多鏈應用可以同時可信使用多鏈和多協議的數據,用戶體驗上會得到巨大提升(+StandardizedSubgraph).通過這樣的思路,我們可以理解zk化的TheGraph實際上是一個去中心化RPC,這遠比TheGraph的敘事宏大,而是真正能實現Infura所在追求的去中心化.
2.Web3KeeperNetwork
在之前Crypto-Native應用架構的文章中,我們提到過Keeper.
它本質上就是,一個鏈下定時器到了特定時間就觸發智能合約的某個功能,類似:
Linux里的CronJobWebAPI(不是JS)里的setTimeout和setInterval它的用處具體包括:
鏈上預言機價格更新(之前提到的UniswapV2TWAP)交易,投票,清算機器人自動化挖提賣然而,和我們之前提到的TheGraph類似,它的安全性機制是很落后的,甚至還不是TheGraph這樣的鏈上治理,而是鏈下通過DAO和SocialConsensus的舉報機制人工檢舉揭發非法節點.比如下圖中,Gelato的架構圖,整體功能很清晰,但每個組件都沒有體現出有任何安全性的保證.
以兩個典型的KeeperNetwork為例,它們的安全性機制是:
Gelato:目前的Keeper服務執行節點不是Permissionless的,而是在白名單上的節點才可以參與.Gelato預計在未來去中心化之后,通過StakeandSlash機制和DAO來保證網絡安全性.但是去通過DAO來懲罰一個非法節點需要一周,這樣緩慢的決策對一個需要高頻運轉的服務來說,我認為是完全沒法接受的.Keep3rNetwork:和Gelato類似,也是Watcher監督,發現非法行為則舉報給DAO.但機制闡述得更加詳細,雖然依舊是很差的機制,需要大量的人工交流和漫長的步驟.就像我們剛才提到的Indexing協議一樣,Keeper也完全可以通過zk化來解決安全性的問題,同時甚至可以Gelato的off-chainresolver也是用GraphQL定義的一個subgraph,但和TheGraph沒有安全性保證.這兩個問題就可以被一起解決了.
這樣一個帶可信off-chainresolver的zk化Keeper可以解鎖無數新的應用場景:
復雜策略的交易機器人跨Cluster/跨鏈/跨區塊/跨DEX的套利/做市機器人ProgrammableLiquidity(調整區間,JIT,復投,Rebalance)3.Crypto-NativeZKInfra
在zkEVM和通用zkVM的最底層infra成熟的過程中,我們已經可以嘗試去基于和使用它們來建立開發者可以直接使用的infra,包括我們構想中的這些zk化中間件.
ZK作為一個典型方案,是像AMM一樣的創新驅動重要因素.ZK和AMM分別解鎖了比Optimistic和OrderBook機制更自動化和更可信的應用運轉,讓安全性在鏈上完全透明公開可驗證,同時也分別解鎖了證明外包和Swap聚合器的額外賽道,解鎖了無數新的應用.
除了擴容/跨鏈輕節點/隱私/機器學習以外,ZK作為完全適合區塊鏈場景(網絡全體做驗證,極其自動化,甚至比網絡共識更強的安全性)的密碼學方案,在Indexing協議與Keeper網絡這些中間件賽道中也大有可為.我們也將持續關注ZK在更多領域中的應用.
責任編輯:MK
Tags:RAPGraphAPHGRAPCoinbase Wrapped Staked ETHGraphLinq ProtocolCryptographic Ultra MoneyGRAPE
ArtGobblers是最近看的最有意思的項目之一,最大的亮點在于應用了Paradigm提出的NFT發行售賣定價方式GDAs、VRGDA以及Token質押分發模式GOO.
1900/1/1 0:00:00加密市場雖然處于熊市,但Web3增長工具市場正在不斷升溫,這里有一份Web3增長工具清單請查收.
1900/1/1 0:00:00剛剛結束的Devcon上,賬戶抽象算是是最熱的幾個話題之一,最近可以經常看到AA/EOA/SCW/4337等縮寫和代號在各種talk、panel和信息流里出現.
1900/1/1 0:00:00距離以太坊執行層與共識層合并升級已經過去了一個月,新的共識機制PoS也已經取代舊的PoW機制運行了一個月.
1900/1/1 0:00:00今天TP錢包上面transit閃兌服務鬧得沸沸揚揚,黑客已盜上億資金,我們在web3傲游的同時如何保障資金和隱私安全?看完本篇你應該不會再被盜了吧!一、你所有的操作都有泄露隱私的風險網絡世界的安.
1900/1/1 0:00:009月份NFT的交易量較1月份的歷史新高下降了97%。根據分析公司DuneAnalytics的數據,這些交易的價值自2022年初以來從9月份的170億美元降至4.66億美元.
1900/1/1 0:00:00