How I would like to scale Ethereum with Singletons

April 15, 2025

There are many discussions lately about "scaling the L1". Which means making mainnet Ethereum transactions cheaper and more accessible to people. zkVMs seem to be an offered technical upgrade. L2s are also the presumed offloading zone for retail transactions. The idea being, the L1 will enshrine certain important security functions and be paid by L2s to settle their state and offer exit guarantees. As well the story goes, certain "high-value" users will just prefer to use just the L1 and pay higher rates in order to more immediately access this security (think nation-states and big corporations). Seems like a win-win, right?

Often in working in software, especially the distributed and open-source kind, expectations and reality don't often meet in their collision with markets. Incentives also dictate outcomes that strictly rely on coordination to achieve. When Vitalik writes, "The technical project and the social project are inherently intertwined", he really means it. Everyone with eyes to see working on Ethereum can see right now that gas prices have consistently been under 1 gwei lately. Meanwhile, the demand for ETH as an asset to stake and provide security is similarly low while the number of L2s is very high (150 and counting).

ETH, the asset, has struggled to reach levels visited in 2021 when DeFi and NFTs created organic demand for L1 blockspace. These use cases have largely moved to L2s like Arbitrum and Base, which do not currently have fully functional exit windows. Consumers do not care so much about security and decentralization as we might think. Was Ethereum just lucky to have these use cases spawn in its experimental lab, but now is shouldering the burden of many innovators, to have their work mercilessly ported and copied to arguably inferior products and competitors? If we scale the L1, technically, will anyone even care or move activity back?

Ethereum Average Gas Price Chart
Ethereum Average Gas Price Chart (Source: Etherscan.io)

First off, it would appear that despite the price of ETH, things are going very well.

From a cypherpunk perspective, who cares about the price of ETH if the most secure and decentralized chain is now affordable to use for even retail users again. Even if L2s are "parasitic", underpaying for security while reaping the benefits of the Ethereum brand and mindshare (and more importantly, users), anyone can create any kind of server or pseudo-crypto product on top of a bridge (which is just a lockup smart contract). And Ethereum would not nor should not care as a technology or community (IMO). This because if the principal reason to launch an asset or security scheme on Ethereum is its credible neutrality, the golden goose will be cooked if we look too hard at its eggs (so they say).

What I mean is that if L1 mainstays start deciding winners and losers based on aesthetics or ETH price, then it will become increasingly hard to convince the space that the L1 will ultimately be safe and secure for their intended use case. This kind of agnosticism, paired with a zealous mindset to prioritize the L1 will make the blockchain more friendly and receptive to L2s. Even as we evangelize that people should only use the L1.

Ethereum Architecture Diagram

Let's all just use the L1

But I do think cypherpunks should still consider their immediate social reality. Bad ETH price means it's harder to pay people that improve the network. It also makes it cheaper to attack. As much as people love to hate the Ethereum foundation, to ignore its leadership role and presence in funding researchers who actually have achieved hard things (like migrating from PoW to PoS without nuking billions of dollars in secured assets) would be suicidal. These things are so untrivial that Bitcoin religiously avoids them (as it should, I believe).

We shouldn't let the EF run out of money. We should make immutable programming safe. And to this end: We also should socially slash the fragmentation of liquidity and attention among Ethereum users that has been split by L2s and other opportunistic elements in our little society.

By rigorously promoting users return to the L1 and create assets there and experimental protocols again. And we should do it clean and simply this time before it is too late with better protocol design so that it can conceivably handle high traffic without much issue at all if we succeed.

Can we do this in time and without waiting for hard forks or other more deliberate changes to Ethereum?

Yes, we can.

OK so how?

While gas prices are so low (quick!), there isn't a real reason to not launch your new token or DeFi contracts on L1. Liquidity is supremely there. And a ten-year brand with tons of developer and wallet support.

No user wants to be told, you are using 18 different chains but it is ok they are abstracted. They want to be told they are using something supremely united to achieve their satisfaction.

Won't gas prices just go up a lot again?

Maybe not! One of my favorite pastimes is gas optimization. This is my sudoku. This means making smart contract operations cost less gas. I contribute to Solady, the most intelligently optimized smart contract system, and also make my own off-the-rack items in Zolidity.

Singleton all the things!

Singleton Architecture Diagram

A big optimization ticket right now is reducing asset creation costs and also reducing the amount of calls necessary to do normal workflows like sending and swapping.

BentoBox, something I worked on in a past life as a humble (ok maybe not so humble) SushiSwap developer was the brainchild of Boring, a fellow obsessive who saw an opportunity to say "put all your token state into a big box and build apps on top".

This reduced gas and also made it much simpler to iterate with things like Kashi, the first isolated lending pool system. As much as people love to hate SushiSwap, too, our ideas basically became very popular even while we fought amongst ourselves (so it goes).

An integrated DeFi ecosystem is not something one just casually forgets about. Even while there have been implementation and social challenges along the way.

Now is the perfect time to reinvigorate these concepts, and unite the app layer around an optimized singleton architecture.

Coins: The State Killer

Coins Architecture Diagram

Token factories (which power things like pump.fun, the most popular crypto app and Solana's bread & butter) essentially allow users to create duplicate copies of token contracts with certain customizations, like metadata and ownership.

They however are not super optimized for blockchain state or gas costs. Each token having its own address and duplicate bytecode creates pointless and redundant state bloat. This is like every dish having its own restaurant. You can easily imagine how land runs out under these circumstances and challenge consumer hardware to help secure Ethereum by validating state.

This is why I built the Coins singleton. It uses the minimalist multitoken standard, ERC6909, which is an improvement on previous attempts like ERC1155 by removing its reentrancy footguns in the ironically named "safeTransferFrom()" methods.

ERC6909 Code Comparison

A single ERC6909 instance could potentially become a canonical representation of tokenization itself. Coins is an example and code-simple attempt to convey this potential, using just 215 LOC. Where the majority of L1 state is simply token balances, it makes a lot of sense to design a system and approach the social layer to converge around this pattern. This will dramatically reduce gas costs around creating new tokens and using them in DeFi.

As well, with around 333k ERC20s that basically do the same thing, we could take the same amount of space of 2 ERC20s in utilizing Coins. I did the math, this is a lot less! Not to mention, ERC721 patterns (ownerOf(id)) with single amounts can also be managed. Namespace protocols like ENS could also conventionally occupy a given symbol and use this ownership lookup to resolve addresses, too.

ENS Integration Diagram Token State Comparison

ZAMM for Swap

We should also embrace simpler and more elegant DeFi using a similar architecture. Given that UniswapV2 is the most forked and successful pattern for swapping, the major blockchain activity for now, I have rewritten it using the ERC6909 standard as ZAMM (riffing on this being "V0" of the fungible swap primitive that could be precompiled one day perhaps).

I neither believe nor expect "one AMM to rule them all" will ever be successful or all too smart. But at the current moment, the best user experience for providing liquidity is passive or "lazy LP". Hence my deployment for my and others to enjoy. Who knows, maybe this will work out and we can not only vastly simplify tokenization, but trading too, while occupying minuscule blockspace and asking for little computation in return for Ethereum security.

Other protocols pursuing similar designs, like Uniswap V4 (also ERC6909) and Ekubo protocol offer highly advanced CLAMM services to LPs where "hooks" or "extensions" might end up delivering the BentoBox vision of a united DeFi app store around a single state machine and allow experiments in different fee mechanisms, like dynamic swap fees. This is cool, and may inform revisions on the journey towards unified app and protocol layer.

Dagon for DAO

I would be remiss to not also tilt at other windmills while at it. The most basic self-custody solution is the multi-signature wallet. Token-weighted governance, as well, is a modest extension to the concept, merely being that you want to collect multiple signatures to prove consensus around executing a transaction from a shared account or community treasury.

Dagon is (surprise) an ERC6909 contract that provides a signature proving function aligned with ERC1271 (and soon ERC7702) `isValidSignature()`. It is designed to be the ERC173 "owner" of smart accounts and treasuries and work out of the box for most.

External tokens or new can host their governance and choose between multisig or basic DAO governance as well as modules (through the extension path of `IAuth` inspired by DS-Auth.

Dagon Governance Architecture

Isn't this Authoritarian?

Why, yes, of course. That is why it will probably work. Let me be clear: Nobody has to use these particular deployments or similar singleton architecture. Coins, Dagon, and ZAMM are my personal heuristics or symbolic overtures that feel tidy for the task of convincing the current social layer of their merit. I would be more than happy to see them fail fast in the market of ideas and protocol design that makes Ethereum interesting as a canvas to sketch on.

Nonetheless, I have purposefully not attached them to any of my active projects so they can be viewed on their own merit as standalone public goods. They are not static. These three big category singletons might take different and more optimized forms, they represent merely a macro-optimization goal of simplifying the most common uses of blockspace. Who knows, maybe they can be made into a singular instance called "Ethereum" to be deployed onto Bitcoin in the future. But I would like to see a point in the near future where consumer hardware merely tracks big ticket contracts and their storage and you can contribute to security with just your phone (or something).

However, going forward, we should be more clear and concise. Ethereum has incubated many diverse use cases that can be serviced by convergent protocol design. This would improve ETH price, user experience and above all else, the state of the chain itself. All without introducing any new breaking changes or hair-pulling on hardforks with untested science.

This is how I would like to scale the L1 and help Ethereum win. 0x00.

Ethereum Scaling Vision