New York, NY
Joined January 2023
smstack.eth retweeted
A few reflections on the lattice vs. hash-only debate that our recent Aerie post sparked: 1. Cryptographic ossification for blockchains was never safe. Until the day we know with certainty that P ≠ NP, that finding short vectors in lattices is intractable, that Keccak effectively behaves like a random oracle in deployed SNARKs, and that every single bug has been eliminated from our codebases, blockchains cannot ossify. That is simply not how safe systems are built. Issues will arise, and the system will have to respond. It’s a double standard to reject lattices because blockchains are hard to upgrade if lattices break, while counting on upgrades if AI breaks your hash function or finds a critical zkVM bug. The best counterargument is that hash-only designs are more agile: if your hash function breaks, just swap out the hash. But we must aspire to a higher level of agility than this. Indeed, as I cover next, if SNARK recursion itself turns out to degrade security, the proposed hash-only blockchain designs would need to be rethought from the ground up. 2. The real security debate is not lattices vs. hashes — it is lattices vs. building everything on SNARK recursion. That’s because “hash-only” is not really hash-only: it rests on hashes plus the soundness of deep SNARK recursion. Ethereum’s roadmap relies on exactly that: hash-based aggregation needs recursion to keep up with a slot’s worth of signatures, and EIP-8288 would send other signature schemes and users’ own proofs through the same recursive pipeline. In contrast, Aerie proves a slot’s worth of signatures on one laptop without any recursion. All deployed post-quantum SNARKs rely on the Random Oracle Methodology (via Fiat–Shamir) to establish their security. This is an idealization we know fails in the real world: we have explicit counterexamples where “SNARKs” coming out of this methodology are totally insecure when instantiated with any concrete hash function. We generally ignore these counterexamples in part because they only arise when proving contrived, self-referential statements about the very hash function used by the SNARK verifier. But proving statements about the verifier’s own hash function is the exact thing you do in SNARK recursion. That’s why the security of recursive SNARKs can’t be established even in the random oracle model. On top of that, the standard security proofs for recursion (in other models) suffer an “extractor runtime” blowup that is exponential in the recursion depth, suggesting that security may degrade as more recursion is applied. Yet Ethereum’s own EIP-8288 enables unlimited-depth recursion, even as it lists soundness of recursive SNARKs as a trust assumption. Proofs in more idealized models avoid the blowup, but they mainly tell us that an attack on SNARK recursion would have to exploit the concrete hash function, which is exactly what the Fiat–Shamir attacks above do. To be clear, we don’t know of any outright attacks on SNARK recursion, and I very much hope it is secure. But some of us who have studied the question have a lingering sense that an attack may be possible in some settings. And if AI is going to supercharge cryptanalysis, there is no reason to expect it to spare Fiat–Shamir for SNARKs, let alone SNARK recursion, both of which have had far less scrutiny than lattices. So, I do not concede that a “recursion everywhere” hash-only approach is clearly more conservative than one built on standard lattice assumptions. 3. “Just wrap everything in a hash-based SNARK” (like EIP-8288) faces challenges. Aggregating signatures and proofs off-chain into a single block-level proof is a powerful design independent of the hash-only vs. lattice debate, and I am not telling people to avoid it. But claiming, as Vitalik Buterin did this week, that users can run whatever cryptography they want locally and wrap it in a client-side leanVM proof glosses over major hurdles. For example, leanVM today is a minimal VM designed almost entirely to prove hash-based signatures and recursion, not general-purpose computation. And binary-field SNARKs like leanVM remain slow at proving the integer multiplications that lattice cryptography does en masse. I am optimistic that many of these zkVM challenges can be met (including via my own work, binary-field Twist and Shout, which are now implemented in Magnetar). But regardless, if lattices can make aggregation simpler and faster, then they should be leveraged. We need to be agile no matter what. 4. For chains whose reason for existence is privacy, I truly struggle to understand the pushback. Public-key encryption (and fast single-server PIR) cannot be built from hashes alone, at least not in any black-box way. If lattices break, it is going to be very, very hard for these chains to provide acceptable levels of privacy and functionality. For a project whose entire reason for existence is privacy, a loss of confidentiality is an existential failure. Next to that, a second signature upgrade (after the first one, from elliptic curves alone to, hopefully, a hybrid lattice scheme) is easy. Summary: We don’t know for sure what is secure and what isn’t. We are all weighing unquantifiable risks against each other, and we do not need to agree on a total order on them. But hash-only solutions face many open engineering challenges, and they are not more “conservative” in the way some have argued. Some of those challenges are entirely prosaic and have nothing to do with bugs or cryptography, like hardware support for custom schemes whose hash function is still undecided. I hope we can overcome those challenges within the appropriate timelines, but they must be acknowledged and portrayed realistically. Overall, cryptographic agility and defense in depth (e.g., hybrid signatures) are the answer, which is why we are building both lattice-Jolt and hash-Jolt. In practice, the positions are less polarized than social media discourse suggests: for example, StarkWare is working to make Falcon verification cheap (falcon.provably.fast/), which is great to see. Here is the (apparently) controversial take I am sticking to: Conditioned on agility, whenever lattices make systems simpler or more functional, we should embrace them rather than default to “hash-only” designs. Lattices are what the rest of the world will depend on, with decades of study and hardening behind them, and at the system level, less functional often means less secure. Where hash-only designs are just as simple and functional, by all means use them.
23
60
21
248
29,214
I made a visualization of EIP-8288 aka "recursive mempool aggregation," my new favorite EIP of all time because it perfectly encapsulates the thesis of the "cryptographic world computer" -- a system whose scalability *increases*, not decreases, with the level of decentralization. In a previous tweet I explained how EIP-8288 achieved this seemingly impossible feat, but one gif is worth a thousand words. Essentially, EIP-8288 leverages Ethereum's decentralized mempool as a parallel ZK proving cluster. Clients send signatures and proofs to the mempool, which over multiple rounds progressively aggregate them into fewer and fewer proofs, until the block builder finally aggregates them into one SINGLE proof. This design accomplishes five things at once: - The more nodes we add to the decentralized mempool, the more signatures/proofs Ethereum can process as a whole. This is obvious if you look at the animation and imagine more nodes in the mempool ring, which would "fan out" to more signatures/proofs. - By aggregating over multiple rounds (aka "recursive aggregation"), the bandwidth consumed by proofs remains constant for each node even as the network processes more proofs. As a result, the network stays decentralized even as capacity increases. - By aggregating proofs before one final aggregation by the builder, as opposed to requiring the builder to aggregate everything, the network can process more proofs without increasing hardware requirements for the builder. - By aggregating everything to a single block-level proof, validators can verify thousands of signatures/proofs by checking just one aggregated proof. Hardware requirements for validators can therefore stay low, keeping the network decentralized. - By aggregating not just native signatures but also STARKs, Ethereum can support any signature scheme by wrapping them in STARKs. So once again, this is how Ethereum will: - scale to process tens of thousands of PQ and private transactions per second - charge a tiny amount of gas to validate each txn, even though the original signature/proof may be huge (up to hundreds of KBs in size) - all while decentralizing even MORE. You are not bullish enough.
vitalik.eth
@VitalikButerinOct 19
Ultimately, precompiles and EVM are both the wrong place to put most cryptography support into Ethereum. The reason is that precompiles and EVM both operate on data that has to be included into the ethereum chain somehow, which realistically means included in a block as calldata. That space is limited - even with PeerDAS and blocks-in-blobs, there's a practical cap of ~8 MB/s before it starts getting uncomfortable. Remember: it's not a blockchain. It's a cryptographic world computer. Any data/computation that does not need to be in the "main thread" of data/execution should not be put into the main thread. Instead, the correct solution is... EIP-8288 maximalism. If you have any heavy computation that's self-contained, compute it and STARK it client-side (this is quickly getting faster and faster, even on phones), and push the STARK through the EIP-8288 recursive aggregation mechanism. The chain sees the fact that the computation was done and what the result is; it never needs to see the actual data and computation. This way everyone can use whatever cryptography they want, the Ethereum chain can be lean, and we never need to add more precompiles again.
21
64
13
311
18,432
smstack.eth retweeted
RISC-V is the answer. One very late puzzle piece that contributed to me walking away from EOF at great personal cost was the full-throated endorsement by V for ossifying the EVM as a RISC-V compiled program, and RISC-V guest programs becoming a valid target for smart contracts. I also think that the idea of banning precompiles and expecting people to EVMify things like PQ crypto schemes is bonkers and regressive. The EVM ISA is wrong for this. RISC-V is a real ISA for the kind of bit twiddling encryption requires, especially if they bring in the vector extensions. But I'm not holding my breath for anything other than the current schemes. This leaves open a more functional rule for "precompiles" in the zk era, in that precompiles are only considered when they have more efficient ZK circuit constructions than a simple RISC-V implementation, like the proposed FAEST encryption scheme. Otherwise you get charged based on RISC-V cycle count. This is the way.
Ethereum is about to make a decision it can never undo, and almost nobody is talking about it here. Which instruction set should post-quantum proofs run on? Sounds boring. It isn't. On Thursday, soispoke posted a breakdown on ethresear dot ch, and one number jumped out. The same hash, run through EVM code, took 78 to 163 times more cycles than plain RISC-V. So why does this even matter? EIP-8288 lets a transaction depend on post-quantum signatures and STARK proofs that are checked outside the EVM. Nodes verify them before passing the transaction along, and each block carries one recursive STARK that proves all of them at once. Take a privacy pool. Today it verifies a Groth16 proof using the BN254 precompile. A quantum computer that breaks BN254 could forge those proofs. With EIP-8288, the pool doesn't verify anything itself anymore. It just checks that the transaction depends on a valid proof for its program. Clean, right? Except EIP-8288 currently identifies proofs by a verification key hash, and that key changes whenever leanVM upgrades its proof system. Upgrade the prover, and every immutable pool pinned to the old key is dead. The proposed fix is to name the program, not the key. Each program gets an ID from a hash of the instruction set version and its bytes. Future provers then have to keep proving every old version forever, the same way clients carry every past fork. Which brings us back to the real question: which instruction set? The EVM is the obvious choice, because we already have it. But even compiled ahead of time to RISC-V, it's still 17 to 20 times slower, because everything is 256-bit words. RISC-V is fast and native to the prover. A custom Ethereum instruction set might beat both, but it doesn't exist yet. To be fair, the author says there isn't enough data to decide. And one reply pushes back hard, saying the EVM comparison is unfair and Ethereum should own its instruction set instead of handing RISC-V to users. Whatever we pick gets frozen into immutable contracts for decades.
3
1
18
907
smstack.eth retweeted
Introducing: Privacy Boost for @Morpho integrators Fintechs, neobanks and wallets building Earn products powered by Morpho can now shield their users' balances from public view with our SDK.
1
4
2
21
1,806
smstack.eth retweeted
announcing nativerollups.fyi, a closed devnet based on frames-devnet-0 running a (half mocked) native rollup on top a native rollup is an L2 that inherits L1's STF directly, greatly reducing complexity, governance and bug risks. here's how it works 🧵
15
27
6
182
8,751
smstack.eth retweeted
Our core engineer @StackDigest took the stage at Ethereum Korea One to walk through how Privacy Boost was built around the requirements institutions bring to onchain privacy. Thanks to @ethereumkoreaio for having us.
1
1
1
12
798
📋Withdrawing EIP-8363 from consideration for Hegotá. EIP-8363 rapidly became one of the most commented-on EIPs in the history of the Ethereum-Magicians forum, with 200+ comments in a few weeks. As we progressed through the Hegotà CFI (Consideration For Inclusion) process, several parties in the industry as well as core protocol and client contributors voiced that a fork scoping exercise was not the right venue to settle an issuance policy change. We agree and we'd rather acknowledge this now than carry on towards Hegotà in this context. The topic is too important and raised too many concerns that it deserves its own process. We commit to giving issuance its own process and we thank the entities such as @LidoFinance who offered to help steer such an initiative. We stand by the motivation of this EIP, in particular: “a very high staking ratio is undesirable for two distinct reasons (...), preserving Ethereum’s security, neutrality and resistance to capture, and protecting ETH’s role as money.” Not everybody immediately relates to both reasons and for others recognizing just one of these reasons is enough to justify a change. Nevertheless, we will all benefit from improving our understanding of the issue and what is at stake. The questions we have faced since we published EIP-8363 can be boiled down to 5 categories: ➡️Security: What does a lower ratio actually secure versus a higher ratio? ➡️Industry impact: What else is built on the yield and what will be the impact ? ➡️Curve specs and alternate tools: Is this curve even the right instrument? ➡️Composition: Who is left staking (the effect on the composition of the validator set) ? ➡️Decentralization: How will solo stakers be impacted by the reduction? We already argued a lot, conceded some and adjusted a few points in the very long Ethereum-Magicians thread mentioned supra. For a broader consensus to emerge and a better issuance policy for Ethereum to be designed and adopted, we need a dedicated process. We call for all willing hands to help and contribute to this, please do reach out. Here’s our start at what a multi-node process would look like (table attached). Onward and forward, let’s improve Ethereum.
🚨 New EIP: Tapered Issuance Burn We just submitted an EIP to ethereum/EIPs: a minimal, market-driven fix to Ethereum's issuance policy removing the incentive for stake growth beyond 50% of ETH supply. EIP-8361 by @pintail_xyz, @jdetychey, @dapplion, @pa7x1, @ladislaus0x & @drakefjustin 🧵
33
36
20
201
46,628
Ethereum Korea One Day 2 is live in Seongsu Today's highlights • ​15:00–15:30 Flash Boys or Superforecasters? | Danning Sui (Pantera Capital) • ​​16:30–17:00 Ethereum's Issuance Wars | Hyung-Kyu Choi (DSRV), Jerome de Tychey (EthCoordinate), Isidoros Passadis (Lido) • ​​​17:30–18:30 Are L2s Still Scaling Ethereum? | Harry Jeon (Sunnyside Labs), Ed Felten (Offchain Labs), Chris Andreola (Optimism), Ilia Volokh (StarkWare) Day 2 is a full day dedicated to the people actually shipping Ethereum is where capital and policy meet Ethereum. Full schedule and speaker lineup below 📍 luma.com/0a4zc5a6
1
7
10
41
11,962
smstack.eth retweeted
vitalik.eth
@VitalikButerinSep 27
The cryptographic world computer: vitalik.eth.limo/general/202… My attempt to express in somewhat concise terms the true meaning of basically everything planned to happen to Ethereum starting from the fork after Hegota. It's really not just a blockchain anymore. It's a hybrid architecture that combines together blockchains and modern cryptography, to enable much more powerful properties. FOCIL, EIP-8288, Lean consensus, state management, formal verification, advanced mempool improvements (including privacy), and the longer-term specter of obfuscation all mentioned.
588
1,001
507
5,725
1,498,712
smstack.eth retweeted
Toss, Korea's largest fintech, and KOMSCO, Korea's state minting corporation, just completed a PoC for onchain payment infrastructure. Privacy Boost was the privacy layer inside it. ↓
1
2
1
14
499
smstack.eth retweeted
[How Privacy Boost Works #4]: Portal, a Deposit Address for Your Private Account Why should funding a private account be harder than depositing into an exchange? With Portal, it isn't. Set up a reusable deposit address once, then send tokens to it from anywhere. Onchain records show tokens arriving at the Portal and entering the pool. They don't show which private account owns them. Full detail below ↓
1
3
1
9
412
smstack.eth retweeted
Sharing FrameTx Toolkit & vFrames, two ways to experiment with frame transactions today. Demo: vframes.taek.tech Code: github.com/leekt/FrameTx-too…
6
8
4
68
36,510
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.
68
74
45
573
111,574
smstack.eth retweeted
In 10 days since the Privacy Boost V2 launch, TVL has reached $1.5M. Turns out people really do need privacy. More chains, more wallets, more DeFi coming.
2
1
15
461
smstack.eth retweeted
[How Privacy Boost Works #3]: Using Private Assets in DeFi Without Leaving the Pool Private assets shouldn't have to sit idle. With External Gateway, swap via 1inch or deposit into 30+ Morpho vaults straight from your private balance. Output returns to the pool, and so does your input if the call fails. Full detail below ↓
2
2
1
21
525
Are L2s still scaling Ethereum? Harry Jeon - Core Engineer | @sunnyside_io Jacob Kim - Sales Engineer | @Optimism @EdFelten - Chief Scientist | @Offchain Ilya Volokh - Core Team Lead | @StarkWareLtd 📍 luma.com/0a4zc5a6
4
5
1
27
2,170
smstack.eth retweeted
Replying to @CEOAdam
What’s the concern?
1,844
942
833
9,692
3,741,854
smstack.eth retweeted
ethereum blobs hit record usage yesterday with 6.7 blobs/block on average
this week ethereum blob usage hit an all-time high: 3 day moving avg of 5.9 blobs/block & 6.7 daily avg!! but the ambition to keep scaling requires funding to client teams, which is increasingly scarce this is solvable - a $300b mcap chain should not have these problems
11
4
66
9,893
smstack.eth retweeted
V2 is out! Full DeFi support, full wallet support,and anonymous deposit addresses. Built for teams actually managing money onchain. Live on @base @Optimism and @soneium .
End-to-end onchain privacy is here. Introducing Privacy Boost V2, where we provide private DeFi, MPC/multisig support, and anonymous deposits via Portal. No partial privacy. Protect your full onchain activity from sleuths, competitors, and friends who care about you too much.
1
7
192