Introduction:
After seeing many tweets claiming that Ethereum's rollup-centric roadmap is broken due to liquidity fragmentation and its impact on user experience, thought about writing some lines on the topic (probably useless tho).
Current state Q4 2023 (can be skipped if you are an OG):
As you could see on my Twitter account, I recently tweeted that I went long leverage on ETH, “ok why am I reading this?” Because the thing is that I used GMX for that and the overall UX was like .. meh. I had a decent amount of USDC on Arbitrum (mid 2 figs) but when I wanted to open the position, it turns out I didn't have enough ETH to pay the fees. So, had to switch my wallet from the Arbitrum network to connect to Ethereum mainnet. To avoid scams, go on Twitter and search for the Arbitrum account, check who is following the account then click on the link that appears on the profile - land on the Arbitrum website and bridge some ETH. UX is so good that I have to wait 12 mins to get my funds. Switch back to the Arbitrum network and finally see the funds, during this time ETH pumped by almost 80 dollars so my entry becomes garbo (liq price is at 1764 for the MM reading this). So yeah, this overall took around 20 mins and it’s safe to say that most potential new users NGMI with this. In addition to that, we have recently observed an increasing number of rollups launching, which could make the situation even worse. One reason for this is that new rollups might introduce new tokens, requiring users to keep track of gas expenses across multiple chains. Consequently, this leads to the addition of more bridges, which doesn't seem very sustainable.. That being said, I would note some cool features e.g Metamask wallet where you can bridge directly from the wallet into different L2s, this is an improvement but definitely not the “endgame” (no idea what that means tho) for our dear normies.
The process of bridging should be made invisible to the user. Consider this sequence:
-A user decides to engage with a dapp.
-User signs a transaction, which includes the action and authorizes the required flow of funds.
-The funds are then “automatically” transferred or exchanged, as needed, to the intended destination in the chosen token.
-The user's intended action is executed.
-All these steps occur seamlessly and, ideally, with immediate effect.
That entry I would have had on my leveraged long on GMX if it had been like this tho.
3 buzzwords will now be discussed: A) Account Abstraction, B) Intents, and C) SUAVE.
1st step: ACCOUNT ABSTRACTION
One way to think about account abstraction is to consider a norm for smart contract wallets. Its objectives include:
-Facilitating intricate validation and execution processes that integrate seamlessly with user transactions, while also separating the responsibility for gas payments from the user initiating the transaction.
But that’s not all, let’s go through some examples:
-Good key management UX e.g in case you lose your private keys, you can do social recovery stuff by previously designing guardians (that name tho).
-No need to use another multisig wallet, you can just define that you need x signatures to send y amount of money.
-Gas abstraction e.g I'm a simple normie here only for the app (imagine if we get there), I'm not interested to hold ETH/don't wanna have it in my wallet so I can just hold USDC and cover the cost of my transactions without having to hold ETH.
For this third/last point, the way you achieve this is through a paymaster contract. Essentially, when a user initiates a transaction, the operation first interacts with the paymaster contract. This contract is responsible for confirming its commitment to cover the transaction's costs and then spends the appropriate amount of ETH needed for the refund.
Let’s think about a simple account abstraction design. In the past, a user would directly sign a transaction for an activity like a swap on Uniswap. Now, the process involves signing what's known as a “user op” - this is a signed message, not a traditional transaction. This “user op” is then processed by an entity referred to as “the executooorr” who submits it. Following this, the smart contract wallet performs a “validate op” function, so it’ll check there are the appropriate signers and that access controls are met before executing the user operation e.g execute swap, buy NFTs, transfer funds.
INTENTS:
We keep using the buzzwords, thought account abstraction would be enough? Intents + Account Abstraction be like:
I'm still not sure what an intent really means, but it's exactly what I'm going to talk about. The way I like to think about intents is first by considering that a transaction consists of specifying a specific action. Whereas an intent specifies a desired outcome/goal. This is probably boring, so let’s go through some examples:
Transaction: I'm swapping 2000 USDT for 1 ETH on Uniswap.
Intent: I want to swap 2000 USDT for as much ETH as possible on Uniswap.
Transaction: I hold 0.1 ETH and I lend it on Aave for 1.8% APY.
Intent: I hold 0.1 ETH and want the highest APY based on my favourite protocols (previously specified by me).
What's really great about account abstraction is that it allows users to set and apply streamlined intents through their smart contract wallets, provided these intents meet certain specific (and restrictive) criteria.
That being said, it’s worth noting that we already have examples of intent-specific apps that keep improving, such as Cowswap. So one could say that with AA + intent-specific apps, it’s enough to solve the UX problem but not really... because you would still have to find the best DEX aggregator across all rollups yourself. If you have ETH and want to buy as much PEPE as possible across all rollups, you would have to check each best DEX aggregator across all rollups, which doesn't seem to scale in my humble opinion.
Cross-domain intents, how do? Here comes SUAVE.
SUAVE is actually another very useful word to sound smart, so really worth spending some time on it to be able to tell a few things about it. “SUAVE is just a global bulletin board for preferences (i.e intents) that sophisticated actors who understand the risk can compete to fulfil user preferences across domains.” I’ll let you find who said this, it’s obviously not me but it’s a great mental model to think about SUAVE.
Behind the scenes, a multitude of user operations coming from various chains are directed to that alternative mempool (e.g SUAVE) → Then you have a group of executoors that are bundling (og word) these user operations across the different domains before landing them on-chain as blocks.
SUAVE can be viewed as a way to decentralize the builder market. Without delving too deeply into decentralized building, the concept involves searchers deploying their strategies through smart contracts on the MEVM to bundle user operations. Additionally, builders/bundle mergers are also implemented as smart contracts on the MEVM. This approach aims to make the market more accessible and potentially eliminates the need for integrated builder-relays (which leads to centralization).
As you can see, the integration of multichain account abstraction with intents, especially when combined with SUAVE, is fundamentally “interconnected”. In a PBS world, SUAVE could become the block builder of different L2s, it would be up to the L2 proposers to accept (or not) the blocks coming from SUAVE.
An interesting anecdote from Devconnect is when someone told me “You would never guess who I met.. a MEV searcher.”- It's funny because a decent amount of people believe that the searchers/MEV/transaction supply chain is something dedicated exclusively to sophisticated/power users. But seriously, these guys are working to make “your” life easier and even get you paid for transacting on-chain (here I place the rebate word) but you wouldn't believe it.
Conclusion:
The main criticism of the rollup centric roadmap/L2s (imo) is that UX becomes bad because of too many domains/liquidity fragmentation. However, would keep in mind that account abstraction + cross-domain intents with SUAVE can/will significantly improve the user experience and are crucial for “everyday” users (not only the sophisticated actors).
Sources:
https://dba.xyz/suave-anoma-shared-sequencers-super-builders/