Original title: Beyond Transactions
Author: BRIDGET HARRIS
Original source: Blueprints by Bridget Harris
Compile: MarsBit, MK
Intents and their impact on account abstraction, proof-of-storage, rollups, and more are creating interesting new dynamics for cryptocurrencies. As these key components emerge, they are uniquely reshaping user experience (UX), transaction efficiency and design, and the balance between centralization and decentralization.
interpret intent
A transaction is a highly specific action that a user wishes to perform, while an intent specifies what the user wishes to achieve within certain parameters. Often, the intent is to outsource the task at hand to the user and have access to multiple environments so that the user does not have to manually manipulate fragmented protocols. By not coding every aspect of each transaction, more transaction expressiveness and efficiency can be achieved, and UX can be improved.
As Paradigm puts it: "By signing and sharing intents, users effectively empower recipients to choose computation paths on their behalf."
Users just want to trade at the best price, and generally, they don't care which platforms need to be involved (the success of 1inch and the launch of 1inch Fusion as an early example of intent is one reason for the success). Furthermore, intents can often be fulfilled in many different ways, while transactions have a highly specific execution path. This is depicted graphically below:
Source: Paradigm
In some intent infrastructure designs, once a user specifies an intent, it will be broadcast to gossip nodes in the p2p network layer. We then delegate the computational responsibility to entities called solvers (also known as searchers/matches), which in a fully intent-centric protocol are also builders (required for PBS). The solver operates to execute the user's intent specification and generate valid transactions. They compete with each other to satisfy intents in the most efficient way, then relayers do validation, and finally validators on the intent network commit to fulfilling. The process here is: the user sends the intent to the intent pool → the gossip node broadcasts in the intent pool → the solver competes to execute the transaction in the mempool.
The intent is an open problem space, and we're not entirely sure what the UX will look like yet, but the general goal is to make cryptographic applications easier, more flexible, and efficient for users. A recent episode of Bankless in conversation with Dan Robinson highlighted how the new design will be structured from a high-level user flow perspective. Users will see a similar interface as usual on the web app, but instead of signing an eth transaction, they are signing an offline message, which is then routed to the MEV "black box", which eventually turns the intent into a full transaction, and then included on the chain. Intents are a more general format for users than eth transactions, as it only specifies the origin and destination, rather than via gas, slippage, using only one DEX/AMM, etc. like what we have today, thus resulting in a better user experience. Once the intent is expressed, it is offloaded to the system that finds the best price; the user just broadcasts a message without creating the transaction themselves. From there, any solver is free to satisfy the intent, as long as they can demonstrate that they solved it in the most competitive way (e.g., highest satisfaction gradient), users get the most Good "price". In this sense, intents are more attractive and flexible to end users than traditional on-chain transactions, as they can be resolved in a variety of ways, often resulting in a faster and cheaper process with fewer manual steps.
An example application of intent can be seen in UniswapX. In UniswapX, Dutch auctions are used for intents, where the price is set high and gradually decreases, with orders being filled as soon as someone finds it profitable. As Dan pointed out, the benefit of this in a competitive market is reduced slippage, providing a better basis for order flow auctions.
Uma Roy of Succinct gave a great concrete example of transactions vs. intents in her presentation on intents, SUAVE, AA, and cross-chain bridging:
Source: Uma Roy
Intentions in practice, and what they mean for cross-category
Intents can have wide-ranging effects on the following categories:
Bridges and rollups : Dan covered this issue in more detail on a recent episode of Bankless, but how UniswapX might handle the need for bridge intent is this: a user can just indicate intent to, for example, have USDC on Arbitrum instead of Ethereum on ETH. Proof of fulfillment of intent can then be passed to the destination chain via the messaging bridge.
- Another element that Dan mentioned is that in the future market makers may be more profitable in terms of satisfying intent (e.g. someone trying to exit because the market makers are rebalancing)
- In many classic cross-chain bridge designs, funds reside in the bridge contract (for example, the bridge keeps funds on rollup), which is often highly vulnerable to hacker attacks. However, with the advent of UniswapX, as Dan articulates, the only funds at risk are “swaps in transit” or active exchanges. For example, a swapper expresses intent to transfer funds across chains → filler on chain commits to fulfill order [bridge risk] → filler fulfills order on destination chain. This is a huge advance for the entire cross-chain space, as the exposure time is limited to the moment the exchange is in transit, significantly reducing the amount of funds at risk in the event of an attack.
- The intent mechanism reduces cross-chain complexity because users do not need to manually bridge assets (a lengthy and expensive process). Instead, they simply specify the type of token they want to own and which rollup/chain they want to own. Everything else is abstracted away, constituting a huge UX improvement for swappers. Ultimately, if we're using intents to alleviate cryptocurrency's massive UX problem, users need to be able to more effectively satisfy their intents by leveraging more fluidity and different technology stacks to access cross-domain environments.
Zero-knowledge Proof of Storage: Zero-knowledge proof of storage is a new mechanism for transferring blockchain state between L1s/L2s/L3s in a trustless manner. With the emergence of L2 and L3 ecosystems, the problem of delay in transmitting state information has become more and more urgent, and the work of proof of storage is to solve this problem in a fast and lightweight way.
- Proofs of storage might work with intent in interesting ways. As mentioned above, when a user specifies an intent to acquire an asset on a rollup, bridging occurs, and the state of the destination chain is sent back via proof of storage to verify that the intent was fulfilled correctly/the chain is in the expected state. Thus, Proofs of Storage can be generated for trustlessly bridging assets across supporting infrastructure.
- Perhaps in the future, we'll see fulfilled intents aggregated into verifiable proofs of storage, or the opposite - aggregated proofs of storage of different states as part of a computation flow to fulfill intents.
At the EthCC Modular Summit, Vitalik talked about Proof Aggregation in an L2 environment. In the design below, the proof at the end is just the signature/privacy protocol, the proof in the middle is the aggregated proof, then the second layer proof aggregates the aggregated proof, and finally there is an overall master proof that is transmitted to L1. Through proof aggregation, we can greatly reduce the cost and optimize the proof process.
Source: Builders and Higher Forms of Aggregation - Vitalik Buterin
Recursive proofs have also been explored with zkTree, originally introduced by the Polymer Labs team, which may in the future help enable zkEVMs, zkRollups, zkBridges, and zk proofs of storage.
Account abstraction: Essentially, account abstraction acts to upgrade EOAs (externally owned accounts, the current standard for transaction generation) so that they can be managed by smart contract wallets, or alternatively, enable smart contracts to initiate transactions directly. For intents, this new paradigm means that the intent layer may move from dapps directly to users’ smart contract wallets, as intents become more mature and sophisticated. Stanley He makes this argument here, pointing out that in order for AA to work with intents, there may be an intent → userOp → packager flow (the intent first flows through the wallet front):
Source: Stanley He
Although AA greatly improves user experience, users still have to actually manually discover the best/most efficient platform for switching/bridging/LP'ing etc. The goal of intents is to further remove this layer of discovery so that the user is only responsible for specifying the starting state and desired ending state.
ERC-4337 proposes some designs to maintain decentralization, such as a unified ERC-4337 mempool. This section highlights that fragmented/smaller pools (packers with different policies) are inherently more vulnerable to censorship and attack. Reducing this surface area can be achieved by enforcing an implementation standard on each packager, thus ensuring their compatibility.
Great projects like Zerodev, Fun, Stackup, and Rhinestone are building in this space.
Some have expressed concern about the concentration of intent. David Ma from the Alliance: "The point is, intentions are difficult to decentralize and are therefore increasingly siled in centralized servers with permissioned reads and writes."
Efficiency and decentralization is a classic problem in this field. Given that cryptocurrency adoption is severely hampered by poor user experience, leaning toward a centralized solution seems tempting. Furthermore, since some elements of intent rely on off-chain actors/infrastructure, computational costs are extremely low, especially lower than regular transactions. Computational costs from clearing orders don't have to run on-chain (this will be reflected in gas fees), just on the market maker's servers. Naturally, moving some parts of the transaction flow off-chain increases centralization, and there are also concerns around resolver centralization (which we use to coordinate intent volumes).
Intents are also explored in the context of compliance, where users can choose the most "compliant" path to satisfy the intent. The trade-off here will be cost and speed/efficiency, but in the end it will shift the regulatory burden more on users/liquidity providers than on the protocol.
project
A number of interesting projects are leveraging intent with components of AA, bridging, and multi-chain infrastructure in unique ways in an effort to enable access to various deployments and ecosystems, reaching out to greater liquidity, and providing end-users with A more efficient and convenient experience.
Here are some interesting projects:
Essential
Essential is building a comprehensive intent architecture. They have three main projects: a constraint-based programming language for intent expression (more on DSL), EIP for intent-based account abstractions on Ethereum, and intent-based protocol. The difference between Essential and SUAVE is as follows:
- Essential uses a purpose-built DSL in Rust for expressing intent. SUAVE uses mEVM (Solidity), which has a built-in syntax for preference expression, block construction, and more. Also, the intent is never implemented in Essential 's architecture. Instead, they are resolved, and then an execution trace of the resolved intent is generated, which is executed on-chain. This is in contrast to SUAVE, which generates EVM opcodes as part of the intent.
- SUAVE is addressing the cryptographic execution space, while Essential 's protocol does not use cryptographic execution for intent privacy. The underlying intent is included on-chain before decryption and execution.
Essential 's consensus mechanism forces solvers to compete on objective satisfaction (0-1 satisfaction gradient), thus competitively encouraging high satisfaction of end users. First, Essential is looking at intents in the Ethereum ecosystem, as well as building its own intent-based protocol.
Anoma
Anoma is creating an "intent-centric architecture" where anyone can implement fractal instances of the protocols that collectively make up the Anoma ecosystem. For the intent itself, Anoma creates signed partial transactions for users expressing the desired end state. As Jon Charbonneau pointed out, Anoma's market makers can even periodically update their intent: "For example, 'I am willing to buy X at price Y, but this order is only valid at block height Z.'"
Source: Anoma
Like the base, Anoma differs from SUAVE. SUAVE is chain agnostic and serves as an independent middle layer in the stack to help serve intent, while Anoma identifies itself as an "architecture that can be deployed as L1, L1.5 or L2" rather than a function in the stack/ layer.
Source: Anoma
SUAVE
Flashbots’ SUAVE is itself a blockchain that can “act as a plug-and-play mempool and decentralized block builder for any blockchain.” It is customized to facilitate expression and enforcement of preferences (same as intent at a high level). SUAVE's stack is as follows: a memory pool where users can specify their preferences, an execution network where solvers compete to execute user preferences, and a block building environment where solvers actually create blocks - which can then be accepted by other networks.
SUAVE tries to be a mempool and block builder for all blockchains. Source: Flashbots
Propeller Heads
PropellerHeads is refining a specific element of the intent architecture - the solver. By using PropellerSDK, especially their Solver API and Private RPC, users are more protected by MEV and get better prices in transactions. The Solver API returns the best route by plugging in many liquidity sources and running an optimization algorithm to find the best route for the best price. An example of a routing combination where 4 orders completed by a solver enter 1 route:
Source: PropellerHeads
OK contract
OKcontract focuses on the concept of "low-level intent" by creating a standard to specify smart contract interactions, generating a transaction interface from the specification, and then allowing developers to embed the automated interface into any web page. This architecture is similar to Uniswap widgets that can be embedded in other sites - OKcontract hopes to do the same for each contract, but also in an automated way.
CoW Swap
CoW Swap built an early example of intent, enabling p2p settlement orders on a trading interface based on the CoW protocol. Currently, CoW Swap can settle orders on Uniswap, Sushiswap, 1inch, and Paraswap, and realize user transactions through signed messages (a process that does not require gas fees). Instead of owning LPs on the platform, CoW Swap can plug into existing on-chain liquidity and leverage liquidity from other AMMs when there are not enough CoWs on the platform (coincidence of will).
Batch auction, matching orders from multiple users to settle transactions. Source: EtherscanEtherscan
Skip
Within the IBC ecosystem, the Skip protocol is not generally seen as satisfying intent, but can be understood as satisfying intent in this context. Skip operates in Cosmos and holds block space futures to help stakeholders earn more and protect users from harmful MEV. Skip's API routing solution finds the most efficient path for end users to experience across chains, ultimately creating an intent-based user flow.
future direction
In the crypto space, the future is coming fast. Intent is still at the beginning of the discovery and implementation phase, but it will be exciting to watch new companies emerge and what the category evolves into. Technology iterates rapidly in this space, so we'll no doubt see interesting new designs and implementations of these types of architectures in the near future. Abstracting as much as possible from the user while remaining decentralized and driving transactional efficiency and expressiveness is the primary consideration in the intent space. Hopefully it will eventually drive cryptocurrency adoption and increase efficiency. The dynamics between intent, AA, proof of storage, and bridging are still being explored, and how these parts work together will be key to the maturation of the crypto ecosystem.