Divergence was inevitable for L2s. Market pressure forces them to ship features at a pace that L1 cannot match, so incompatibilities accumulate. Time will tell whether that is a strength or weakness.
I'm sad to report that the AA collab between 8130 and 8141 (Frames) broke down last week, and Base and Ethereum are now going separate ways to implement different AA standards. I want to share some reflections on this collab and on the future of the EVM. For a long time, the EVM has been a unifying force between L1 and L2s. Thanks to a standard account model (EOA) and a standard transaction type (EIP-1559), users have been able to enjoy their wallets working seamlessly across EVM chains. Similarly, a AA standard shared across L1 and L2s would ensure a consistent multi-chain UX for smart accounts, including post-quantum (PQ) accounts which we will eventually all use. As the crypto industry matures, however, L1 and L2s are starting to diverge in the values they provide and the use cases they target: - For the L1, it's all about CROPS -- censorship-and-capture resistance, open source, privacy, and security. In short, Ethereum L1 wants to be the most decentralized programmable settlement layer of the world, which is what makes it a good base layer for L2s in the first place. - For L2s, it's all about scaling, customization, and compliance -- things that commercial and enterprise use cases demand, and that the L1 does not provide. These diverging needs have pushed the shared layer -- the EVM -- to its limit, and AA proved to be the breaking point. While L1 and L2s both value core AA use cases such as gasless transactions and passkey wallets, they differ sharply in what these features must comply with: - For the L1, AA transactions must be uncensorable, private, and quantum-resistant, which call for a transaction type optimized for PQ signature aggregation and privacy protocols, and an account model that can be freely programmed and extended by developers without permissions from the chain. These needs lead to AA standards such as ERC-4337, EIP-7701, and now EIP-8141 aka Frame Transactions. - For L2s, AA transactions must work at high scale, and they must be legible such that the protocol can enforce clear rules about what kinds of accounts/transactions are permitted vs not. These needs lead to AA standards such as Tempo Transactions and now EIP-8130 by Base. With the AA collab, the authors of 8130 and 8141 tried to define a shared standard that can work for both L1 and L2s. While we identified a number of technical solutions, they all required one side or the other to compromise at least a little bit on their core goals. But ultimately, Ethereum wanted to be the best version of Ethereum, and Base wanted to be the best version of Base, and while both sides acknowledged the benefits of ecosystem interoperability, it was ultimately secondary to the need for each chain to achieve their core goals. So separate ways we went, putting the burden on wallets to deal with the fragmentation that ensues. Now, just because we ended up with fragmentation doesn't necessarily mean it was a bad outcome. If reducing fragmentation comes at the cost of homogenizing chains to the point that they fail to solve problems for the users they care about, that would not be a price worth paying. While I was initially sad that the collab did not come to a successful conclusion, I took solace in the fact that both Ethereum and Base are now free to innovate on AA to the maximal extent in accordance with their own visions, unshackled from the need to accommodate the other side. If they execute well, and if the wallet community can bridge over the fragmentation, we may well end up with the best possible UX for the end users. So where does that leave us -- the broader Ethereum community including Ethlabs -- if we want to continue pushing for a consistent UX across EVM chains? I see two paths forward: - We can establish a coordination mechanism that encompasses more stakeholders than ACD itself (where only L1 client devs have voting powers), to govern shared L1<>L2 resources such as the EVM. That way, L2s can participate in shaping the EVM, as opposed to having to accept whatever the ACD decides, or being forced to fork if they don't like the decision (such as in this case with Base). - We can accept that fragmentation of the EVM and wallet UX across L1 and L2s is inevitable due to their conflicting needs, and dedicate our resources to building wallets and applications that can abstract over the differences. Indeed, the collab was an exercise in the first path -- we invited Base, Arbitrum, and other stakeholders to directly influence how native AA shapes up for the L1. While it ultimately failed in this case, I feel a better outcome could've been achieved if we had established a dialog between both sides way earlier, as opposed to well after L1 core devs had rallied around Frames. On the other hand, I also learned from this exercise that some differences are unavoidable, and indeed it would be counterproductive to overly pursue interoperability at the cost of differentiation. In other words, we sometimes just gotta let the chains cook. For that reason, I've also become more bullish about the second path -- building wallets and applications that can speak the native transaction types of each chain, and hide the complexity from users through UX abstractions. This puts a lot of onus on the wallet/application developers of course, but on the bright side, it's also an opportunity for wallets/applications to stand out and differentiate, by competing to provide great UX across chains despite the underlying fragmentation. Ethereum is the art of staying together while remaining different. We must accept that chains will succeed by innovating, and innovations will naturally result in differences. On the other hand, we must never give up on dialogue when we can achieve interoperability without compromising core product goals. As Ethereum and crypto grow to eat the world, the push and pull between innovation and collaboration will only intensify, and it's up to all of us -- builders across L1 and L2s, applications and wallets -- to determine whether diverse innovations will split Ethereum apart, or make it thrive as one.
11
4
79
4,786
To become a strength, there needs to be a critical mass which follows. L1 is committed to frames, so there is already tension in this decision for other chains: do they believe Base dominate sufficiently to make the adoption of their standard worthwhile in the long run?
3
9
532
Or do they take the safer bet and stay compatible with L1 while Base potentially has an advantage in the meantime while others wait for L1 specs to finalize?
1
9
447
Geth's Hegotá tier list: notes.ethereum.org/@lightcli…
4
13
84
2,696
Solidity compilation just got up to 5× faster! Today we’re releasing hardhat-slang-solx, a Hardhat plugin powered by Nomic Foundation’s new LLVM-based compiler backend: slang-solx. - 1.7× faster than solc in legacy mode - 5× faster than solc --via-ir 🧵
6
23
82
31,287
ً retweeted
Programmable money needs programmable accounts. Excited to see the Ethereum protocol turn account abstraction into a native feature.
One positive consequence of all the recent detailed thinking about transaction formats - not just 8141, also "future of state" discussions eg. UTXOs, PBT, keyed nonces, and also recursive STARK mempool - is that we have a much more explicit understanding of how transactions have "actions" and "dependencies", and we can engineer around optimizing the two separately. An action is an effect that a transaction has. A dependency is a fact about the transaction and/or the state that must be true for the transaction to be valid. eg. a signature is a dependency, a Merkle proof of a UTXO is a dependency, a ZK-SNARK (or STARK) is a dependency, a call that sends ETH is an action Dependencies can be processed in parallel. Dependencies that involve state can be reasoned about by a mempool, especially if the specific state accessed is statically declared. Dependencies that are pure (no state calling allowed) can be processed once at the mempool layer and never need to be processed again - and potentially even replaced with a STARK verifying them, allowing not just execution but also data to be elided. In principle, dependencies and actions can all be expressed as calls (if needed, calls to precompiles). This would make the transaction format itself very bare-bones and minimalist (a list of calls, flags for the type of each call eg. dependencies would be static or pure calls, and origin, nonce, etc) and allows maximum cross-compatibility even if different EVM chains have different features. In 2015-era Ethereum, thinking explicitly about these differences was not very important: execution was execution, there were few enough transactions that we could process them all serially, and single-key ECDSA accounts were good enough for everyone. Ethereum's current scaling strategy, however, requires moving beyond that paradigm. Ethereum is beloved by many developers because the execution and state model is so dynamic and flexible. But dynamic and flexible is not friendly to scaling. Fortunately, >90% of Ethereum's activity by volume does not require anything dynamic and flexible. So, we require contracts, accounts and transactions to more explicitly specify what is dynamic and flexible and what is more statically-analyzable but more restrictive, and more statically-analyzable things get the lowest gas cost and thus scale the most. Effectively, learning from the best of both the 2015-era Ethereum model and a more Bitcoin-like model (reminder: Bitcoin has had what I call account abstraction since the beginning), and making a mixture of both (really, the full spectrum between both) available, with gas costs appropriate for the level of scale involved. New state types, the recursive STARK mempool, keyed nonces, etc all go in this direction. This all relates to transaction types, because a general-purpose transaction type is a very natural interface layer on top of which all of this can be implemented, and the current thinking around the EIP-8141 transaction type is going in this exact direction that is friendly to these kinds of future generalizations. So in that sense, 8141 done well is not just a culmination of 10 years of account abstraction work, it's also preparation for the next few years of responsible decentralization-friendly hyper-scaling.
7
8
103
6,937
Frames can be hard to grasp at first because they build on a decade of work to bring native account abstraction to programmable blockchains. But they are the stepping stone we need to build a private, secure, post-quantum future on Ethereum. To me it boils down to focus on shipping a few key EIPs in Hegota: - EIP-8141: Frame Transactions, the core, already scheduled for inclusion - EIP-8250 and EIP-8272: Enable native, trustless private transactions - EIP-7906: Helps protect users against wallet drainers and malicious transactions Frames are also about scaling. It’s often overlooked, but they unlock signature and STARK aggregation (e.g., EIP-8288), reducing the bandwidth and verification costs that make post-quantum transactions so heavy. Security, UX, and scaling in one EIP Hard to beat
20
23
191
82,958
Frame transactions, or native Account Abstraction, improve Ethereum in so many ways: - users choose their signature scheme - passkeys, post-quantum, etc - signature aggregation - key rotation - atomic batching - gas payments in ERC-20s - no bundlers or relayers required - contracts can sponsor transactions - safer (tx assertions)
5
14
104
6,943
frames are all you need
1
2
15
1,921
ً retweeted
built the frame family in nethermind, 8141/8250/8272/7906. several of the examples in this post are ones we already shipped.
2
9
1,022
Frames are all you need.
1
2
13
1,441
my arguments as to why I believe EIP-8141 provides the all the needed flexibility for the foreseeable future and could be Ethereum's last transaction type
1
2
39
3,714
Rollups emerged because we realized data availability sampling was the best way to scale blockchains without regressing on other properties. The original eth2 shards were essentially enshrined rollups. When we saw the enshrined system would be too difficult, we abandoned it.
It's funny watching CT singing praises of L2s after years of bashing the rollup-centric roadmap, but to me the very framing of L2s being a result of the rollup-centric roadmap is misleading. L2s exist not because of any top-down roadmap -- they emerged naturally due to a combination of 1) Ethereum's core technical properties, and 2) market demand. In other words, short of ceasing to be itself, Ethereum could not have stopped L2s from existing even if it wanted to. Credits must go to the EF for accelerating the success of rollups by pursuing the rollup-centric roadmap, but we must not get the cause and effect wrong -- the rollup-centric roadmap was a reaction to the emergence of rollups, not the cause of it. (note that I will be using the terms "rollup" and "L2" interchangeably for readability, even though they are not technically the same thing) At its core, a rollup is an off-chain program that posts its input data and commits its state to the L1, alongside a smart contract "verifier" that can verify the state transitions. If you examine this definition, you can derive the core technical properties that a L1 must have for L2s to exist: - L1 must allow for posting data, so that input data and state commitments can be posted. - L1 must support a general programming environment, so that verifiers can be implemented. But most L1s, including alt L1s like Solana and Sui, have these technical properties, so it's worth asking why we don't see rollups flourishing in those ecosystems. This is because Ethereum also has a set of other properties that no other L1s have: - Ethereum is maximally decentralized, which makes its block space 1) credibly persistent (i.e. you can believe that Ethereum will last forever), and 2) widely accessible. This enables rollups built on Ethereum to inherit its persistence and accessibility, giving credence to the idea that rollup users can enjoy high-performance execution without giving up the benefits of decentralization. - To achieve maximal decentralization, Ethereum runs a very large validator set, which makes Ethereum blocks expensive and slow to produce. The high gas price and latency of Ethereum blocks therefore lead to market demand for cheap and fast block space, a void that rollups are perfectly positioned to fill. - As a direct result of the decentralization, Ethereum has become the best home for on-chain liquidity, simply because people want their liquidity to sit where it can 1) last forever, and 2) be maximally accessible. Therefore, L2s building on Ethereum do not have to bootstrap their liquidity from scratch, but rather can funnel Ethereum's liquidity into the rollup via trustless canonical bridges. - As another consequence of decentralization, Ethereum is capture-and-censorship-resistant. But sometimes, capture and censorship are actually desired features, in which case they are known as regulation and compliance. So market also demands L2s because they can be regulated, since Ethereum itself cannot be. In short, for as long as Ethereum keeps embracing decentralization, it will be the best home for L2s. As Ethereum builders, our job is to preserve and enforce Ethereum's core decentralization properties, while creating and improving technologies such as blobs and interop to facilitate the growth of highly scalable L2s. Ethereum and L2s will help each other win. Let's build towards it.
4
1
51
5,032
The complexity was ensuring shard committees stayed decentralized. Rollups of today basically skipped over that and settled on enshrined sequencers. The core protocol wasn’t willing to do so.
2
20
897
Without DAS, I wonder if the execution compression would have been sufficiently motivating for rollups to emerge anywhere near the form we see today.
1
13
487
If you're coming to @EFDevcon this year, check out my guide with tips to make your journey easier! parithosh.com/2026-08-26-dev… Feel free to reach out if you're worried about anything or just need travel recommendations 😄 Looking forward to seeing a lot of you in Mumbai!
I'm actually pretty excited for @EFDevcon. I've never been to Mumbai despite having been to the South of India about half a dozen times. Ahead of the event, I'd love to connect with local builders interested in @ethlabs_org, either to chat about what you are building or what we are building. Feel free to DM here, and I'd also appreciate any intro!
2
15
63
3,991
Transactions assertions will be one of those features that we look back on and wonder how we used Ethereum without them.
An EIP I think will be a game-changer: EIP-7906 eip7906.forshtat.com/
13
16
116
8,454
ً retweeted
EIP-8141 (Frame Transactions) was SFI'd in the last ACDE. We've been frames-pilled since it was first proposed as a headliner, and we started building a reference implementation on ethrex back then. Adoption grew with time: other clients picked frames up, there are now execution spec tests (our implementation matches the latest release), and an official EthPandaOps-hosted frames devnet is getting close. We didn't want to make anyone wait for it, so we're already hosting a public testnet for frame transactions, built on top of Glamsterdam. Validator entry is permissioned; everything else on the chain is not. Anyone can sync, peer, and transact, and the faucet funds test accounts. If your client team is working on frames and wants to validate, reach out and we'll set you up with deposit tokens. RPC, explorer, and frame tooling, including a CLI that builds and submits frame transactions: faucet.frames.ethrex.xyz/
AA update: The Frame Transactions EIP was moved today to Scheduled status for the Hegotá upgrade. It was proposed as a headliner and moved in March of this year to Considered status. There was strong consensus that it was important to ship Account Abstraction in Hegotá even if the specific implementation was still up for debate. There's been a lot of progress in the past few weeks as another implementation, EIP-8130, became a contender. This EIP is scheduled to be shipped on @base in September. It spurred productive conversation async and in a breakout this past Tuesday about the best way to not fracture standards across the ecosystem by shipping two incompatible Account Abstraction implementations between the L1 and L2s. The crux of the issue is arriving at a shared transaction type that both preserves flexibility and future-proofness for the L1 and allows L2s to statically analyze transactions for performance and DoS-resistance reasons. At a minimum, we should make sure that the AA scheme we adopt for the L1 is flexible enough that 8130, or any future account system, can be built on top of it so that from the user's perspective the same account can work across L1 and L2s. Authors of both EIPs, core devs, researchers, and testing teams have been working toward a solution that respects the imperative to get Account Abstraction in the next fork without delay but avoids fracturing ecosystem standards. That said - Account Abstraction _will_ ship in Hegotá, so core devs decided today to move EIP-8141 from Considered to Scheduled today. This was made with the caveat that the version of Account Abstraction that ships in Hegotá may significantly change from what's on the Hegotá Meta EIP right now: potentially the EIP number, the transaction type, etc. The move to Scheduled doesn't materially change the conversation that's been happening over the past few weeks or enshrine the current spec. When an EIP is proposed as a headliner and moved to Scheduled, it just signals an intention to make the fork schedule dependent on that feature being shipped. It's more common than not for the implementation to change significantly between being Scheduled and shipping. Big appreciation to @_chunter of @base, @Offchain, @EthLabs_org, and client teams for moving the conversation forward. Progress is ongoing and can be followed at the AA breakouts on Tuesdays at 14:00 UTC or asynchronously on Forkcast.
5
12
56
8,583
after discovering that all top websites are wrong, i'm announcing ethsupply.fyi, the most accurate (or at least the most auditable) tracker of the ETH supply 🧵
23
45
312
18,929