
Java performance engineer | @hyperledgerbesu (Besu Execution Client) | Ethereum Core Developer
Joined June 2013
- Tweets167
- Following336
- Followers90
- Likes349
Améziane Hamlat retweeted
Ethereum is preparing to move its state from the Merkle Patricia Trie to the Partitioned Binary Tree: smaller proofs, easier proving.
The fork just went live on glamsterdam-pbt-1, a mainnet shadowfork by @ethPandaOps, tested by @kt2am1990, one of our Besu maintainers.
Our @Besu_eth nodes switched to the PBT with no missed slot, and no issues so far.
Before the fork, Besu built its PBT from its own database in 2h41.
Full results in the video below. ↓
Améziane Hamlat retweeted
Besu successfully caught up with PBT root in our state-tree migration devnet!!
(A mainnet shadowfork)
Congrats to Karim for such a nice work and help during all the process!👏👏👏
We launched a 4-client mainnet shadow fork to prepare for PBT.
@Besu_eth migrated in 5h with zero missed slots. Tested on 32 GB RAM (primary) and 16 GB, both with 8 cores.
Next: the MPT → PBT state root fork.
Améziane Hamlat retweeted
EIP-8037 is scheduled for Glamsterdam and will increase the gas cost of creating new accounts and writing to new storage slots by 5-8x.
What protocols have hard-coded expectations about state gas costs? What is at risk of breaking?
Last week, Ethereum core contributors gathered in Svalbard for the Soldøgn interop: a week long event focused on hardening Glamsterdam implementations to scale Ethereum securely ☀️
Read the full recap, including their candidate post-fork gas limit, below:
Our new blog post on parallel state root calculation is out. It shows up to 40% performance improvement on block processing on certain hardware.
Check it out : lfdecentralizedtrust.org/blo…
Améziane Hamlat retweeted
Replying to @llamaonthebrink
We have a whole program with 5 courses from beginner to advanced. All open and contributions welcomed!
study.epf.wiki
github.com/eth-protocol-fell…
Améziane Hamlat retweeted
Now, scaling.
There are two buckets here: short-term and long-term.
Short term scaling I've written about elsewhere. Basically:
* Block level access lists (coming in Glamsterdam) allow blocks to be verified in parallel.
* ePBS (coming in Glamsterdam) has many features, of which one is that it becomes safe to use a large fraction of each slot (instead of just a few hundred milliseconds) to verify a block
* Gas repricings ensure that gas costs of operations are aligned with the actual time it takes to execute them (plus other costs they impose). We're also taking early forays into multidimensional gas, which ensures that different resources are capped differently. Both allow us to take larger fractions of a slot to verify blocks, without fear of exceptional cases.
There is a multi-stage roadmap for multidimensional gas.
First, in Glamsterdam, we separate out "state creation" costs from "execution and calldata" costs. Today, an SSTORE that changes a slot from nonzero -> nonzero costs 5000 gas, an SSTORE that changes zero -> nonzero costs 20000. One of the Glamsterdam repricings greatly increases that extra amount (eg. to 60000); our goal doing this + gas limit increases is to scale execution capacity much more than we scale state size capacity, for reasons I've written before ( ethresear.ch/t/hyper-scaling… ). So in Glamsterdam, that SSTORE will charge 5000 "regular" gas and (eg.) 55000 "state creation gas".
State creation gas will NOT count toward the ~16 million tx gas cap, so creating large contracts (larger than today) will be possible.
One challenge is: how does this work in the EVM? The EVM opcodes (GAS, CALL...) all assume one dimension. Here is our approach. We maintain two invariants:
* If you make a call with X gas, that call will have X gas that's usable for "regular" OR "state creation" OR other future dimensions
* If you call the GAS opcode, it tells you you have Y gas, then you make a call with X gas, you still have at least Y-X gas, usable for any function, _after_ the call to do any post-operations
What we do is, we create N+1 "dimensions" of gas, where by default N=1 (state creation), and the extra dimension we call "reservoir". EVM execution by default consumes the "specialized" dimensions if it can, and otherwise it consumes from reservoir. So eg. if you have (100000 state creation gas, 100000 reservoir), then if you use SSTORE to create new state three times, your remaining gas goes (100000, 100000) -> (45000, 95000) -> (0, 80000) -> (0, 20000). GAS returns reservoir. CALL passes along the specified gas amount from the reservoir, plus _all_ non-reservoir gas.
Later, we switch to multi-dimensional *pricing*, where different dimensions can have different floating gas prices. This gives us long-term economic sustainability and optimality (see vitalik.eth.limo/general/202… ). The reservoir mechanism solves the sub-call problem at the end of that article.
Now, for long-term scaling, there are two parts: ZK-EVM, and blobs.
For blobs, the plan is to continue to iterate on PeerDAS, and get it to an eventual end-state where it can ideally handle ~8 MB/sec of data. Enough for Ethereum's needs, not attempting to be some kind of global data layer. Today, blobs are for L2s. In the future, the plan is for Ethereum block data to directly go into blobs. This is necessary to enable someone to validate a hyperscaled Ethereum chain without personally downloading and re-executing it: ZK-SNARKs remove the need to re-execute, and PeerDAS on blobs lets you verify availability without personally downloading.
For ZK-EVM, the goal is to step up our "comfort" relying on it in stages:
* Clients that let you participate as an attester with ZK-EVMs will exist in 2026. They will not be safe enough to allow the network to run on them, but eg. 5% of the network relying on them will be ok. (If the ZK-EVM breaks, you *will not* be slashed, you'll just have a risk of building on an invalid block and losing revenue)
* In 2027, we'll start recommending for a larger minority of the network to run on ZK-EVMs, and at the same time full focus will be on formally verifying, maximizing their security, etc. Even 20% of the network running ZK-EVMs will let us greatly increase the gaslimit, because it allows gas limits to greatly increase while having a cheap path for solo stakers, who are under 20% anyway.
* When ready, we move to 3-of-5 mandatory proving. For a block to be valid, it would need to contain 3 of 5 types of proofs from different proof systems. By this point, we would expect that all nodes (except nodes that need to do indexing) will rely on ZK-EVM proofs.
* Keep improving the ZK-EVM, and make it as robust, formally verified, etc as possible. This will also start to involve any VM change efforts (eg. RISC-V)
firefly.social/post/lens/104…
Améziane Hamlat retweeted
Glamsterdam Gas Repricing is around the corner. ⛽️
If you’re building dapps or running infrastructure, your service might be affected.
Core developers want to hear how this impacts you. 👇
1/2
Améziane Hamlat retweeted
Native lock profiling, latency filter, stronger crash protection, and more in async-profiler 4.3: github.com/async-profiler/as…
Améziane Hamlat retweeted
I left paid work almost a year ago saying that only something spectacular would drag me out of retirement.
Well, it happened - I am now with @ethereumfndn helping to shepherd fast finality to Mainnet.
It's going to be quite the journey, but I am very excited! 🚀
Améziane Hamlat retweeted
New feature now available in The Lab slot deep dive 🚢🚢
Trace the timings of a slot from all the Xatu nodes. Includes MEV bids, block arrivals, execution times (where available), and data availability time.
Link in next tweet.
Améziane Hamlat retweeted
Interestingly last night’s degradation caused fail safe mode local building as all builders were timed out - so we did get to see how network performed on 100% local building
Améziane Hamlat retweeted
Besu Fleet: Reactive RPC Scaling: architecture, benchmarks, lessons - and it’s now open source! Try it out. Talk here: youtube.com/watch?v=HDxa8yKw… #HyperledgerBesu #Ethereum #EthStaker #EFDevcon
Améziane Hamlat retweeted
Loved the Ethereum London event last night where we explored a wide range of topics on the Fusaka upgrade.
Super high quality event with deep knowledge and insights thanks to our panel members;
@kevaundray from @ethereumfndn,
@SiLaDu and @A_HAMLAT from Besu,
@ben_a_adams and @marchhill1 from @Nethermind, and Mark Holt from @ErigonEth.
Room fully immersed from start to finish 🔥
Made possible thanks to all the co-organisers; @ETHLDN @encodeclub @EFetheverywhere & @Nethermind.
Améziane Hamlat retweeted
Pulled up to the ETHLDN Fusaka upgrade deep-dive today at @encodeclub
@ant_sabado from @Nethermind hosted it and the panel was stacked core contributors from @Nethermind , @HyperledgerBesu , @ErigonEth , and even @zksync breaking down what’s coming next for Ethereum.
Main stuff they covered:
• PeerDAS (the big one)
• Block gas limit bump
• EOF
• New opcodes (EIP-7742)
• secp256r1 (EIP-7212)
Crazy insights, good nerd energy, and always cool to hear things straight from the client teams
Améziane Hamlat retweeted
What you are seeing live, is client diversity keeping Ethereum afloat during network degradation. This is why we're built different. This is why we run multi-node implementations and this is why there are 11+ client teams that Build on Ethereum.
Améziane Hamlat retweeted
fusaka has finalized 🦓!
huge congrats to everyone who worked on the upgrade, massively expanding Ethereum's capacity and feature set, without compromising on security ❤️🔥
Améziane Hamlat retweeted
1/ Fusaka is coming December 3rd.
Ethereum’s next major upgrade shows that the network can grow to meet global demand, without compromising on decentralization or permissionlessness.
Whether you’re a user, builder, institution, or operator, here’s how Fusaka will impact you.
































