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的開發中,硬是要自己來進行索引,那么每當去提取合約中的特定數據,需要非常大的前端代碼量,以下是一個例子,真的要建立一套服務的話需要無數個不同的函數:
9000萬枚USDC在Binance被銷毀:11月12日消息,Whale Alert數據顯示,9000萬枚USDC在Binance被銷毀。
交易哈希:0x0409a4a4f4920e95515dc45251ebfaeaf41b9108bd81f53385f90d85444919ab,交易地址:0x55fe002aeff02f77364de339a1292923a15844b8。[2022/11/12 12:55:04]
于是在我們之前的DApp架構圖中,前端要使用和獲取智能合約的數據時,就必備一個通用的Indexing協議作為中間層,來讓智能合約的數據能被前端所輕松使用.
b)GraphQL索引
我們需要一個Indexing協議作為中間層,那么這個協議該如何選型呢(TheGraph19年有講過Web3為什么要用GraphQL,但是感覺說得不太清楚)?我們有四個潛在選擇.
首先,排除SOAP.因為它的采用率非常少,學習曲線也非常陡峭.甚至有人說“RESTisking,andSOAPistrash”.
數據:持有1000枚以上BTC的地址在近5日共增持價值約2.7億美元的比特幣:金色財經報道,數據顯示,在過去5天里,比特幣鯨魚(持有1000枚以上BTC)的增持情緒持續增強,期間這些鯨魚累計增持了14,049.94枚比特幣,按當前BTC價格折算,價值近2.7億美元。截止發稿,這些鯨魚共計持有786.224萬枚BTC,占流通供應量的41%。[2022/10/23 16:35:56]
其次,排除RPC.RPC是客戶端對區塊鏈,或者Web2服務與服務之間的常用調用規范,以操作(動詞)為核心,接口的更新更加麻煩一些,適合客戶端與區塊鏈網絡的通信.但對于我們的智能合約開發場景來說,太重,不是最適合,性能也因為請求數量多,和需要依賴正在運行的程序,而導致不太好.
接著,排除REST.REST風格算是以資源(名詞)為核心來操作的規范.但是Web3應用中,對任何資源進行更新操作的動作都需要用戶或者其他方授權觸發,我們在索引協議中的請求全部是GET請求,那就沒必要REST了.
最后,選擇了GraphQL:
GraphQL協議本身的構建工作量相比其他標準更小,更不需要變化,更容易搭建通用的協議.GraphQL的交互形式給了前端更多的自由度,由前端定義結果,符合DApp結構中的無后端思想.GraphQL非常適合區塊鏈中完全開放且不易變,同時有非常多樹狀結構數據的智能合約場景,性能上也會因此更好.GraphQL在區塊鏈中已經有TheGraph針對單個智能合約的索引制定了成熟標準,也早就有對整條鏈的GraphQL接口(ethql,Clear),成熟度高,開發者生態也被培養得很好.除此之外,我并不認為我們需要花非常多的時間去開發新的存儲網絡的GraphQL協議和Query協議(當然這些索引的聚合是有意義的):
彭博分析師:比特幣將跑贏美股大盤:金色財經報道,Bloomberg Intelligence高級商品策略師Mike McGlone在社交媒體上稱,相比于彭博商品指數(BCOM),比特幣波動率處于有史以來的最低位置,這可能預示著比特幣將會跑贏美股大盤。根據Mike McGlone分享的比特幣260天波動率和BCOM對比圖顯示,相對于大宗商品而言,比特幣260 天波動性跌至新低,這可能暗示下一步有可能朝新高的方向發展。據CMC數據顯示,本文撰寫時BTC約為19084美元,24小時漲幅0.4%。[2022/9/25 7:20:05]
存儲網絡大多都自帶可用的索引協議,如Arweave的GraphQL服務,開發新的協議是在重復造輪子.存儲網絡上的數據相對于合約數據或者Web2數據量都非常小,同時所承載的價值也相對來說更小.Web2已經有更加成熟的協議和方案來進行這些數據的索引,開發新的協議依然類似是重復造輪子.當我們討論索引協議的時候,默認的都是從前端直接獲取區塊鏈智能合約的數據,這是因為我們在前文中就闡述過,消除后端服務器對Web3Crypto-native可信DApp的意義.
硬要加上針對智能合約鏈的后端的話反而徒增架構復雜度和暴露更多的不可信因素(目前有zk-sql等項目在專注于相關問題,但無法完全解決;也有Sqlidity這樣有趣的鏈上SQLite方案),當然對于基于存儲協議的DApp來說,SQL化的語句對開發熟悉度和流程來說是有必要的.
蒂芙尼NFT“NFTiff”已連續兩周無任何交易:金色財經報道,據最新NFT交易數據顯示,蒂芙尼NFT“NFTiff”已連續兩周無任何交易,最近一次交易發生在8月13日。當前蒂芙尼NFT“NFTiff”地板價為59ETH,市值達到2232萬美元,交易總額為356萬美元。[2022/8/27 12:52:14]
索引協議需要關注的結構應該是前端能直接使用的GraphQL結構.
c)現有Web3GraphQL索引協議問題
現有的IndexingProtocol的龍頭必然是去中心化的TheGraph和PocketNetwork和中心化的Alchemy.無論是中心化還是去中心化,它們都各有各的問題:
中心化IndexingProtocol問題:無法抗審查無法保證服務高可用性現有去中心化IndexingProtocol問題:信任模型和安全性依舊差(攻擊Subgraph的成本非常低,機制和Chainlink2.0一樣,是靠“更可信”的Fisherman來舉報)性能無法滿足需求對于安全性的問題,Fisherman機制在OptimisticRollup中的體現與IndexingProtocol所不同,OptimisticRollup的數據是鏈上的,更大的群體可以通過執行輕松驗證,而Indexing的過程是鏈下的,如果并非Subgraph的indexer的話,很難去對錯誤數據進行挑戰.這就導致信任模型更不穩固.
數據:6月份OpenSea以太坊上NFT交易量環比下降七成至7億美元:7月3日消息,DuneAnalytics數據顯示,6月份,OpenSea上基于以太坊的NFT交易量為近6.97億美元,較5月份(25.96億美元)下降逾70%。不過6月份NFT成交筆數超154萬筆,與5月份的148萬筆相比增長約4%,月活用戶數為39.37萬,與5月份月活用戶數42.23萬相比下降不到7%。
此外,OpenSea上基于Polygon的NFT交易量從5月份的2665萬美元減少到6月份的885萬美元,減少幅度達約67%,月活用戶數也減少到近5.5萬,環比減少50%。[2022/7/3 1:47:09]
這幾個缺陷結合在一起,就導致了大的DeFi應用因為性能和安全性而很少使用這些索引協議,這個市場有著巨大的空缺.
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:GraphGRAPRAPAPHHyperGraphethnographersWrapped Celoethnographyofspeaking
來源:HaunVentures編譯:比推BitpushNewsMaryLiu在HaunVentures,我們認為新事物需要新規則是我們倡導Web3的核心.
1900/1/1 0:00:00本報告將從整體行情、市場情緒和融資情況投資布局三個方面回溯9月GameFi的市場走勢和重要信息。報告中的數據皆由MyMetaData提供.
1900/1/1 0:00:00吳說作者:劉全凱 邁入9月以來,關于NFT版稅及其相關改革措施的討論之熱,甚至掩蓋了這成交日漸低迷的市場.
1900/1/1 0:00:002022年10月28日,由北京創業科創科技中心主辦、數藏藝術館協辦的第十屆中國創業者大會暨全球數字藏品博覽會將于鄭州舉行.
1900/1/1 0:00:00XENCrypto,一場突然在加密世界爆火的社會實驗,引起了以太坊又一場gaswar。在XENCrypto的背后是谷歌21號員工JackKevin,10月9日做客CryptoKindness頻道.
1900/1/1 0:00:00今天集中回復大家近期提出的一些問題。1、我在直播中提到的CC0那個青蛙項目是哪個?那個青蛙項目是:CrypToadzbyGREMPLIN.
1900/1/1 0:00:00