Axiom: The first ZK coprocessor scaling data-rich applications on Ethereum
Announcing the release of the Axiom mainnet alpha on Ethereum.
As of January 22, 2024, Axiom V2 is live on Ethereum mainnet, and Axiom V1 has been deprecated. Read more about Axiom V2 here.
Axiom is a new way for developers to access on-chain data and compute on Ethereum with validity proven on-chain by zero-knowledge proofs. Smart contracts have severely limited data access today, making applications which require large amounts of data prohibitively expensive or impossible. With Axiom, smart contracts can request more data and more compute, which Axiom fulfills trustlessly by verifying a ZK proof on-chain that all results are correct.
Our goal is to empower developers to build a new class of data-rich applications combining the rich interactions of traditional webapps with the security of Ethereum. Imagine a governance platform combining gasless off-chain voting and trustless on-chain enforcement, trustless parameter adjustments for DeFi protocols based on historic data, or an on-chain reputation that takes your full on-chain social graph into account.
As a first step towards that vision, the alpha release of Axiom is live on mainnet today. This release allows smart contracts to access any block header, account, or storage value from any block in the history of Ethereum. To integrate Axiom into your application, check out the docs at docs.axiom.xyz and demos built with Axiom at demo.axiom.xyz. If you have an idea you’d like to discuss, fill out our early partner form or talk with other developers on Telegram.
Use Axiom on Mainnet Today
We have been working hard for the last year on the mainnet alpha launch of Axiom. Axiom is the first ZK coprocessor scaling data-rich applications on Ethereum. Today, developers can query Axiom to trustlessly access any block header, account, or storage value from the entire history of Ethereum. We use cutting edge ZK technology to generate validity proofs for all query results into Axiom and verify them on-chain, meaning smart contracts can directly operate on these results with no additional trust assumptions.
Start building with Axiom today at docs.axiom.xyz. Use the Axiom SDK to send an on-chain query and check its status on the Axiom Explorer. For examples of how to use Axiom in a live application, check out our demos at demo.axiom.xyz. Try out a query on Goerli with the Axiom SDK in only a few lines of code:
import { Axiom, AxiomConfig } from '@axiom-crypto/core';
import { ethers } from 'ethers';
const providerUri = 'https://eth-goerli.g.alchemy.com/v2/demo';
const config: AxiomConfig = {
providerUri,
version: 'v1',
chainId: 5, // Goerli; defaults to 1 (Ethereum Mainnet)
mock: true, // builds proofs without utilizing actual Prover resources
};
const ax = new Axiom(config);
const qb = ax.newQueryBuilder();
const UNI_V2_ADDR = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f';
await qb.append({ blockNumber: 9221524, address: UNI_V2_ADDR, slot: 0 });
await qb.append({ blockNumber: 9221524, address: UNI_V2_ADDR, slot: 1 });
const { keccakQueryResponse, query } = await qb.build();
const provider = new ethers.JsonRpcProvider(providerUri);
const wallet = new ethers.Wallet(<test private key>, provider);
const axiomV1Query = new ethers.Contract(
ax.getAxiomQueryAddress() as string,
ax.getAxiomQueryAbi(),
wallet
);
const txResult = await axiomV1Query.sendQuery(
keccakQueryResponse,
<test address>,
query,
{
value: ethers.parseEther('0.01'), // Goerli payment value
}
);
The first version of Axiom is fully open-source and permissively licensed, with repos and deployment commits documented here. It has been audited by Trail of Bits and Zellic, and we are setting up a bug bounty program through ImmuneFi. A detailed description of the Axiom architecture and design is here.
A few early partners are already integrating Axiom into their applications, and we have many more ideas below for apps to build on Axiom. If you have an idea you'd like to discuss, fill out our early partner form or talk with other developers on Telegram.
Why Axiom?
Surprisingly, there is no simple way for smart contracts to trustlessly access historic on-chain data. To maintain decentralization, smart contracts on Ethereum can only access the current state, which omits historic data as well as transactions, receipts, and consensus data. These are critical inputs to on-chain reputation, gas derivative settlement, or governance weights, but today they are simply unavailable to smart contracts.
These limitations force developers to make a painful tradeoff between paying more to keep additional data in state or trusting more centralized off-chain oracles. The first choice can increase costs so much that many applications are impractical. The second requires users to trust custom oracles run by small multisigs or by the protocol team itself.
Axiom breaks this tradeoff with a new way for smart contracts to access data and compute. ZK proofs allow Axiom to provide security cryptographically equivalent to Ethereum while scaling beyond the strict bounds of its compute limits. This opens the door to new classes of trust-minimized applications:
- On-chain derivatives markets trustlessly settled by oracles on Ethereum staking yields.
- Off-chain governance votes enforced and enacted on-chain without on-chain ratification or the intervention of a multisig.
- Airdrops promoting protocol-enhancing behavior like Blur which are not operated by a centralized entity.
Axiom unlocks Ethereum's rich on-chain history of DeFi transactions, governance votes, and user identities and makes it accessible to application-specific computations like machine learning models, cryptographic primitives, or data analytics made newly possible by ZK. We hope you will join us in exploring what's possible to build with these new capabilities!
Use Cases Unlocked by Axiom
We recently concluded the first Axiom Open-Source Program, where 12 participants from across the world developed new ZK circuits for primitives like ed25519 signatures, BLS signature verification, KZG batch multi-open, and fixed point arithmetic. We are excited to see the new applications these will enable and have a number of other ideas below we would be excited to see built on Axiom:
Identity and governance
Axiom allows on-chain applications to incorporate the full scope of historic on-chain data into user identities and governance decisions. Here are a few ideas along these lines:
- An autonomous airdrop system which rewards protocol users for on-chain activity via smart contract without a centralized authority. By allowing airdrops to depend on arbitrary historic on-chain data, Axiom allows protocols to customize criteria to reward actions beneficial to the protocol, not airdrop farmers.
- On-chain loyalty systems based on trustless engagement scores incorporating measures like volume transacted, past ownership of NFTs, or governance participation. We envision dapps offering volume-based fee discounts or special benefits to their most loyal users... or the most loyal users of their competitors.
- Protocol governance which weights votes based on more than a token balance. Imagine giving more votes to more engaged voters, longer tenured holders, or open-source contributors.
We are excited to enable on-chain identity and governance solutions to be both feature-rich and trust-minimized.
Customizable trustless oracles
Oracles like Chainlink today leverage trusted off-chain committees, but are often used to provide on-chain information to smart contracts. This introduces an unnecessary trusted component and also limits customization. Axiom allows applications to build customizable oracles based on on-chain data without additional trust assumptions. A few oracles this can enable are:
- A randomness oracle leveraging consensus-level randomness from the beacon chain.
- Gas price oracles reading from block headers and transactions to settle blockspace markets.
- NFT transacted floor price oracles to power underwriting for NFT lending and derivatives.
- Trust-minimized price and volatility oracles for arbitrary assets on top of Uniswap AMM liquidity. Customization will be important to make on-chain oracle manipulation more costly.
- Settlement for exotic barrier or Asian options based on full historic price trajectories.
We see these oracles enabling new types of DeFi protocols settling derivatives to customized oracle values, offering more sophisticated underwriting, or tailoring LTVs to historic data.
On-chain accountability
Axiom allows blockchain protocols to coordinate the actions of their participants based on their full on-chain track record. Protocols can then reward or punish and slash participants in a trustless way. A few ideas in this direction are:
- Proof of Sandwich: A MEV-prevention protocol where builders are slashed if a block they built includes harmful forms of MEV like sandwich attacks. Axiom can make this possible by allowing trustless access to the historic transaction record.
- Decentralized asset management protocols where managers are evaluated based on functions of the full portfolio trajectory like Sharpe ratio or max drawdown, not just the final PNL. By providing access to the full value trajectory, Axiom can enable these more nuanced evaluations.
- Trustlessly settled on-chain insurance where failures are determined by an objective function run on historic data provided trustlessly by Axiom.
Trustless on-chain async calls
On-chain applications can delegate data-rich computations to the Axiom ZK coprocessor. This allows smart contracts to perform more complex on-chain actions without compromising on trust. A few ideas in this direction are:
- Fully trustless ML-based parameter adjustments for DeFi protocols. Axiom allows zkML systems to trustlessly use historic on-chain data as inputs, thereby allowing smart contracts to adjust their parameters based on the outcome of machine learning models.
- A batch auction-based decentralized exchange where off-chain solvers compute order matchings and prove their optimality. Axiom empowers solvers to prove the validity of on-chain data accesses entering into their matchings.
Join our developer Telegram to discuss or fill out our early partner form if you are interested in building any of these.
What's Next?
We will have more to share soon about our roadmap and plans to continue scaling data-rich applications on Ethereum. As a sneak peak, trustless access to transaction, receipt, and consensus data is coming soon, and we are also working to enable permissionless access to trustless compute. Follow us on Twitter for updates.
In the meantime, start building with Axiom today using our developer docs at docs.axiom.xyz. If you have an idea you'd like to discuss, fill out our early partner form or talk with other developers on Telegram. We are excited to see what you will build!