Consensus and applied crypto. Researcher at @nethermind | prev @algorand | PhD @unisouthampton

Joined October 2011
Stefano De Angelis retweeted
Nethermind's @svlachakis_ co-authored Frame Transactions (EIP-8141) for the Hegotá upgrade, planned for 2027. What Frame Transactions change: An app can pay a user’s fee and get paid back in a stablecoin like USDC. Smart wallets can let users sign with a phone passkey or change their key without moving funds. Wallets do this today with extra offchain services. With Frame Transactions, Ethereum supports this directly. We’ve built them into the Nethermind Client. See how they work in the video below.
6
11
3
44
2,907
Stefano De Angelis retweeted
Over the past few months, the @Nethermind Client team has been focusing on almost everything BUT performance - authoring, supporting and reviewing EIPs for Glamsterdam, championing Hegota headliner - Frame Transactions, researching state bloat, and much more. That's not changing - we are still being heavily involved in Ethereum roadmap. But AI has unlocked a whole new level of productivity for us, and we're now pushing hard on several fronts: 1. zk guest program - coming soon to @eth_proofs. Very promising, very performant. 2. RPC refresh - Geth compatibility, major performance improvements, and more. Few projects already got a feeling of what we are shipping - and it is looking very good. 3. Client hardening with AI - Node MCP for users and our custom CoreMCP for developers, helping us ship faster and build a much more stable client. 4. Innovative node optimizations and advanced plugins - unlocking capabilities that could be extremely useful for many projects across the ecosystem, including support for new chains. And that's just the beginning. As a "side effect," we've also significantly improved the node's performance at the tip of the chain - before even getting into the Glamsterdam hard fork, which should unlock a whole new level of throughput. Nethermind is the fastest #Ethereum execution client, and the only one pushing beyond 1.5 GGas/s in p50 block throughput at the tip of the chain. With the next fork, we expect that ceiling to go even higher - based on Sepolia data, potentially around 3x higher. And we're definitely not done. We want to change the rules of the game. The AI-powered tools we've built in-house are giving us enormous leverage, and we're confident this advantage will only grow over time. Performance is good. 🚀
5
12
4
81
4,274
Stefano De Angelis retweeted
20 SIGNATURES. ONE PROOF. Daisugi v0.3 aggregates 20 transaction signatures using LeanSPHINCS and LeanVM. 20 SPHINCS signatures are verified through a single aggregate proof. For EL clients, verification requires the LeanVM verifier plus the LeanSPHINCS guest program. Post quantum signature aggregation is live on Daisugi. Kudos to @Nethermind @Gianluca_Felli
AND THEN THERE WERE FRAMES. Daisugi v0.2 now supports Frame Transactions. SPHINCS signed transactions can run as native frames, with per frame execution and verification, alongside the existing ERC 4337 flow. Same post quantum signatures. New transaction model. Next: signature aggregation via LeanSPHINCS. Believe in somETHing. Link and credits ⬇️
38
29
7
167
37,455
PQ on Ethereum is getting real! Our Nethermind node is now live and syncing with the Daisugi v0.3 PQ testnet Daisugi now runs 2 Nethermind clients with our EIP-8288 prototype activated. 20 SPHINCS signatures aggregated in one STARK (1-hop) with leanSPHINCS. Next: recursive proving.
6
8
29
886
Stefano De Angelis retweeted
There’s a risk AI breaks cryptography. Assessing the risk is hard, but assessing folks selling new crypto is not. Don’t fall for it. There’s no particular reason to think newer math (hash-based crypto, lattices, even QKD) is safer. If you’re worried, you want defense in depth. Things that make sense: for cryptocurrency, keep cold storage funds in a fresh, unused address. Since addresses, for most systems, are usually the hash of an ECDSA key, you’d need to break both a hash function and ECDSA. For encryption, use a hybrid scheme. What you shouldn’t do: switch to crypto that’s new in the past 10 years because someone tells you it’s more secure. Many of the folks now saying AI will break crypto were, 5 days ago, saying quantum will break crypto. And ironically, one of the bigger AI crypto breaks was of a post-quantum scheme.
16
44
4
214
11,221
Stefano De Angelis retweeted
Private, post-quantum secure transfers under EIP-8288
5
23
2
121
11,842
Decoupling data availability from ordering unlocks ultra-fast consensus with sub-second finality without paying the bandwidth extra costs The next step after PeerDAS is atomic broadcast where the ordering path stays fast even for very large blocks - data plane fully sharded - no replica needing to reconstruct the full payload - zero overhead on the consensus critical path. Stay tuned 👨‍🍳
It's an underappreciated triumph of Ethereum client developers that PeerDAS has now been running for nearly a year with basically no problems. PeerDAS was a complex task: it's the first large-scale instance of a blockchain that achieves consensus on the availability of data without needing any single node to download the entire block. Decentralized consensus without replication. And yet, it worked.
2
373
Stefano De Angelis retweeted
We paved the way for client diversity, and then showed that Ethereum doesn’t have to be stuck at a 30M gas limit. Our mission is not complete yet. Next priorities: 1. Help bring post-quantum cryptography to Ethereum 2. Support Gnosis @etheconomiczone - the future of the L2 space 3. Participate in the ZK-Guests program 4. Leverage our top-tier formal verification and client teams under one company to build a formally verified client 5. Accelerate Ethereum strawmap and node development with AI and adapt to all challenges related to the new speed of development 6. Make the RPC layer more trustless, performant, and robust 7. Keep pushing Ethereum toward a stronger performance culture.
Nethermind Client 2.0.0 is out. It changes how the node stores Ethereum's state: archive nodes drop from ~30 TB to ~2 TB, you choose the history you keep, and blocks process 2–3× faster than the previous release on a fresh node. Nine years since the first commit. The fastest execution software we've ever built. Breaking changes; read the notes before upgrading. Release: github.com/NethermindEth/net…
4
16
85
3,592
Stefano De Angelis retweeted
reed-slowomon? more like reed-fastomon 👀
5
1
40
2,122
I support EIP-8288 and believe it is extremely important for scaling Ethereum. Here is why 👇 Today, Ethereum transactions are authenticated in one specific way: - sender signs txn with ECDSA - Ethereum node verifies the signature to authorize the txn Frames (EIP-8141) change this paradigm. They bring native account abstraction to Ethereum, allowing transaction authentication to be expressed as programmable EVM logic. This enables things like: - post-quantum signatures - private transactions - other authentication schemes But there is a problem. Post-quantum signatures are LARGE and expensive to verify. If every PQ transaction carries a large signature and Ethereum independently verifies each one, the cost grows with the number of transactions. Validity proofs give us a different model. Instead of verifying the expensive operation directly, we prove that it was performed correctly. And STARKs have an extremely useful property: they can be recursively aggregated. - P1 proves statement 1 - P2 proves statement 2 → aggr(P1, P2) = P3, proving both statements are valid. Repeat this across thousands of proofs and Ethereum can eventually verify ONE aggregated proof P* instead of thousands of independent cryptographic statements. This is not about signatures. Ethereum transactions increasingly rely on very different cryptographic validity claims: → PQ authentication proofs → privacy proofs → custom authentication proofs → rollup state-transition proofs The really powerful idea is having an in-protocol heterogeneous proof aggregation machinery. Instead of mempool nodes handling many transaction objects -- each one carrying heavy authentication or authorization data -- validity claims can be recursively aggregated into a single STARK proving that the whole bundle is valid. For the execution layer, this is a massive scaling opportunity: N expensive validity objects → 1 recursive proof However, the proving work does not disappear, and how aggregation is performed matters. Proofs could be aggregated incrementally, in pairs, or through tree-like structures. Different strategies will create different tradeoffs across latency, parallelism, bandwidth, memory and proving cost. What excites me most is exploring how far 8288 can push EL scaling, and how networking design and heterogeneous proof aggregation strategies shape the efficiency/cost frontier.
A note on recursive STARK mempools (EIP-8288) eips.ethereum.org/EIPS/eip-8… This is an EIP that I am hoping we can get included in I-star (the fork after Hegota) that you can think of as the next step after Frames, that would unlock extreme amounts of power. Particularly: * Ultra-cheap quantum-safe signatures (SPHINCS-). Much of the cost savings comes from the fact that the signature data (~3 kB) does not have to go onchain * Ultra-cheap quantum-safe privacy protocols. Status quo minimum cost for private txs is ~300k if you engineer very well (no one does), status quo quantum-safe is ~10M gas, this could reduce it to low tens of thousands. * Universal support for your favorite new signature or proof scheme without needing EVM changes. Whatever you use (Falcon, ML-DSA, some other lattice-based thing, something code-based or isogeny-based or even more esoteric), you can just wrap it client-side in a STARK, onchain gas cost low tens of thousands just like privacy protocols. Hopefully, Ethereum will never need "please support my favorite cryptographic algo" politics again. * Private account abstraction: keep your account logic private, and in a private location onchain. Then you can make one transaction to change the ownership of all your onchain state - accounts, defi positions, privacy protocol notes, everything - without revealing which objects' ownership you're changing. Here's how it works. Your transaction can include a type of frame that we call a "dependency frame". The frame is a list of statements, asserting claims like "message hash M was signed by SPHINCS- public key P" and "data hash D was proven to satisfy a statement defined by verification key V". When you send your transaction, you send it in an envelope, which includes a signature or a STARK for each statement in a dependency frame. Once the transaction reaches the mempool, nodes aggregate them. Each node runs a loop: wait one tick (eg. 500ms), aggregate all new envelopes (either single-tx or multi-tx) that you've seen, remove any transactions that are expired, generate a STARK recursively proving all dependencies, and send a new multi-tx envelope containing that STARK. Hence, the bandwidth load is bounded: each node's outbound is one STARK (~100-300 kB) per tick, plus each transaction getting broadcasted through the network once (as happens already). The block builder acts as "yet another mempool node", receiving envelopes from the mempool (plus any side channels), generates its own STARK covering the subset of transactions it intends to include in the block, and adds that STARK to the block. Total onchain overhead: one STARK (100-300 kB), plus 96 bytes for each statement being proven. This is what I've called before ( youtube.com/watch?v=TSLUpOps… ) "The Proof Singularity". Today, we have all the ingredients to actually implement it. As a developer, this requires a somewhat different workflow than you are used to, but it is conceptually simple. Any signatures or STARKs, you put into a separate frame. Then the main logic that today is verifying a signature or STARK, you replace with checking for the existence of a frame that includes the correct statement as a dependency. Examples of useful statements: * [tx sighash] verifies against [the pubkey at sload(0)] * there exists a secret and a merkle branch such that hashing secret+0 and applying the merkle branch outputs (public) root R, and hashing secret+1 outputs (public) nullifier N * there exists a secret address A, salt S and signature Z such that sload(0) = hash(A, S) and a merkle proof of address A inside a recent ethereum state contains some pubkey D where [tx sighash] was signed by D [this is private account abstraction; all variables except [tx sighash] and sload(0) are private; you can also make D a STARK verification key] * there exists an ML-DSA signature signing [tx sighash], that verifies against an ML-DSA pubkey whose hash is sload(0) At the core, this is moving any compute and data other than bookkeeping "business logic" outside the core path of Ethereum execution, sharding and parallelizing it via the mempool. Notice also that this requires agreeing on a _language_ (aka. an ISA) for the recursive STARKs to define statements in. The current leading candidate is RISC-V. So this would also de-facto be Ethereum adding RISC-V (or something else we decide on) as a canonical ISA - a big decision that should be done carefully, but that I think will be necessary to drive Ethereum forward.
2
14
683
Stefano De Angelis retweeted
The role of Nethermind in driving Ethereum performance culture forward, and the impact of that shift, is probably still underrated
So what are we cooking so hard at @Nethermind ? 1. Nethermind 2.0 (and 2.1...) with super optimised archive node! 2. More optimizations of block processing, RPC (eth_call) 3. Hegota features 4. Super optimized guest client for zkVM's
4
15
1
97
8,961
Stefano De Angelis retweeted
Privacy is S-tier for @Nethermind 🔥 Keyed Nonces and Recent Roots ftw
5
1
34
1,765
AI revolution
I resigned from Anthropic today. I spent the last three years doing pretraining research at both OpenAI and Anthropic. Neither company is acting responsibly. They are racing straight to self-improving superintelligence and gambling with our lives. More thoughts below.
97
Stefano De Angelis retweeted
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.
290
316
58
1,724
326,428
Stefano De Angelis retweeted
Ethereum has come through four major stress events since 2022 with no permanent loss of finality, protected by mechanisms built into the protocol. Most risk frameworks can't assess resilience like that. Ours gives institutions eight dimensions that can: nethermind.io/blog/assessing…
5
16
1
93
9,338
Stefano De Angelis retweeted
Pluto, the DVT client written in Rust and developed by @Nethermind, is in the final stretch of becoming production-ready. Thanks, @OisinKyne, @Obol_Collective, for working together on this!
Two clients. One cluster. Pluto and Charon are validating side by side on the Hoodi testnet. 🧵⬇️
3
23
1,042
My Hegotá ranking: Frames Frames Frames …
my hegotá ranking 😎
3
25
2,914
Ethereum's second decade just started, and the roadmap is evolving fast. Exciting times for research: post-quantum security, privacy, and scaling the L1 without giving up Ethereum's core values. My latest article surveys the research agenda 👇
5
15
1
72
8,597