
Axiom:填補 Web3 數據訪問的空白,賦予智能合約新能力
TechFlow Selected深潮精選

Axiom:填補 Web3 數據訪問的空白,賦予智能合約新能力
Axiom旨在解決由於缺乏不可靠的數據訪問和計算而導致的 Web3 應用程序乏善可陳的挑戰。
撰寫:camiinthisthang
編譯:深潮 TechFlow
“把所有東西都放在鏈上”對我來說一直感覺有點牽強。沒有理由把許多東西放在鏈上,因為除了永久存儲之外,你沒法對這些數據做太多事情。雖然 The Graph 和類似的協議通過 GraphQL 實現了查詢鏈上數據以用於前端集成的功能,包括全文搜索和過濾,但這些操作都是在客戶端層面完成的。這意味著你實際上無法在智能合約層面利用這些數據來基於這些數據編寫邏輯。這種限制導致 Web3 應用平面化和單一化——它們可以利用的唯一數據只是與用戶交互的實時數據,如賬戶餘額、當前區塊號等。
傳統應用程序通過利用用戶在線活動來策劃個性化和沉浸式的體驗而蓬勃發展。不幸的是,Web3 的體驗還沒有辦法做到這一點,這很大程度上導致了人們普遍認為 Web3 難以提供與用戶產生共鳴的有意義的應用程序。
塑造數字格局的著名應用程序——Instagram、TikTok、Spotify、YouTube 等在它們的用戶界面中展示用戶過去的活動,並利用這些數據制定推薦算法、投放個性化廣告以及將用戶與符合其偏好的創作者連接起來,這種動態的設計空間在 Web3 中明顯缺失。
之所以 Web3 做不到這一點,是因為我們沒有可以在智能合約層面信任地訪問鏈上數據的工具。雖然可能令人驚訝,智能合約沒有辦法從存檔節點讀取數據——比如特定區塊高度的歷史 NFT 所有權或賬戶餘額等信息——並利用這些數據驅動其操作中的條件邏輯。允許這種類型的數據在智能合約中被訪問有一系列涉及安全性和成本的不同折衷方案:
-
開發運行該應用程序的人以 EOA 或多籤的完全可信的方式將數據放在鏈上;
-
Chainlink 支持您需要的特定數據類型;
-
您在合約中緩存數據(支付額外的合約存儲)。
Axiom 提供無需信任的讀取和計算
最近幾個月,幾個高性能的 ZK 團隊的出現為以太坊生態系統開闢了新的可能性時代。其中包括 Axiom,這是一個 zk 項目,旨在解決由於缺乏不可靠的數據訪問和計算而導致的 web3 應用程序乏善可陳的挑戰。目前 alpha 版本已經在以太坊主網上線。
開發者可以向 Axiom 提交查詢,通過存儲證明信任地訪問以太坊整個歷史上的任何區塊頭、賬戶或存儲值。Axiom 使用 zk 為所有查詢結果生成有效性證明,並在鏈上進行驗證,這意味著智能合約可以直接對這些結果進行操作,而無需額外的信任假設。
Axiom 抽象了許多與 zk 相關的特定於數學的知識,這在歷史上一直是使用 zk 所必需的。關於 Axiom 最激動人心的事情是它允許開發者用 Solidity 編寫智能合約,通過查詢 Axiom 的合約然後開發者驗證它們收到的響應,在自己的智能合約中使用這些數據。
Axiom 為開發者提供了 TS SDK 和他們的 AxiomV1Query 智能合約,讓開發者可以在鏈上創建和提交查詢,然後在他們的智能合約中使用經過驗證的響應。交互如下所示:
-
發送鏈上查詢:使用 Axiom SDK 創建查詢並提交到 AxiomV1Query 智能合約。
-
等待查詢完成:鏈下證明者將索引該查詢,生成查詢結果,並用 ZK 證明其有效性。該證明在鏈上進行驗證,結果以 Merkle 化的形式寫入 AxiomV1Query 合約存儲。
-
讀取查詢結果:一旦結果在鏈上被驗證,使用 SDK 從合約存儲中獲取查詢結果,並在智能合約應用中信任地使用它們。
在我的心智模型中,使用 Axiom 有兩個主要組件:
-
構建查詢並將其發送到 Axiom 智能合約。
-
從 Axiom 智能合約中讀取和驗證響應。
構建和發送查詢
第一步是使用 TS SDK 從 Node/Nextjs 項目向 Axiom 合約發送查詢:

開發者可以使用四種方法創建併發送查詢:
-
newQueryBuilder - 創建查詢的新實例;
-
append - 傳入你想要證明的地址、存儲槽和/或區塊號;
-
build - 獲取 keccakQueryResponse 和序列化查詢;
-
sendQuery - 將查詢發送到 AxiomV1Query 合約。
讀取和驗證響應

一旦 Prover 生成 ZK 證明,它將寫出該查詢的“keccakQueryResponse”已被滿足,並會觸發“QueryFulfilled”事件。 開發者從 Axiom 合約存儲中讀取響應,並使用這些 SDK 方法在鏈上驗證結果:
-
getValidationWitness - 允許用戶證明他們聲稱的數據實際上提交到了 keccakQueryResponse 中;
-
areResponsesValid - 檢查你提供的數據與鏈上存儲的哈希是否匹配。
一旦你驗證響應有效,你就可以將此響應作為參數傳遞給任何智能合約函數,該函數將根據此過程對賬戶施加限制,並在函數調用中傳遞經過驗證的有效證明。
ZK 是否將使我們最終能夠構建普通用戶在意的應用?
你現在不僅可以生成存儲證明並在智能合約中使用它們根據歷史鏈上活動來編寫邏輯限制操作,而且你可以首次使用這些歷史數據創建豐富的體驗,類似於 Web2 中的體驗。
隨著越來越多的用戶、活動和數據上鍊,像 Axiom 這樣的工具將對在不犧牲安全性的前提下創建豐富的用戶體驗至關重要。
一些啟發項目的想法,摘自 Axiom 的博文:
-
通過智能合約根據鏈上活動進行的自治空投,而無需中心化機構。
-
基於可信參與度評分的鏈上忠誠度系統。
-
使用可證明的鏈下求解器來結算市場的求解器驅動型 DeFi 協議。
-
參考過去交易的 NFT 地板價格預言機,以支持 NFT 借貸和衍生品的承保。
-
利用隨機性挖礦的隨機性預言機。
-
用於調整 AMM 中的費用或借貸協議中的 LTV 的可信波動率預言機。
-
在 ZK 中被證明是從聲稱的算法生成的生成式 NFT。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














