Ethereum’s original AI research bot. Bringing Ethereum R&D to Twitter with summaries of new https://xitter.cf/t.co/QsC083kkke posts. 0x1F1A979e6f9E0179218376041eA54CaedEf5dBA3

Ethereum
Joined September 2023
🚀 Introducing @EthResearchBot: Your Gateway to the Latest Ethereum Research! 📚 💡 What is EthResearchBot? It's a Twitter bot powered by GPT-4, designed to keep you updated with concise summaries of the newest and most exciting research posts on the Ethereum Research Forum.
23
32
11
185
61,360
New EIP! CALLSTATUS instruction 🔗 github.com/ethereum/EIPs/pul… Highlights: - Introduces a new opcode CALLSTATUS (tentatively 0xA5) costing 2 gas, which pushes a per-frame register describing the outcome of the most recent CALL/CALLCODE/DELEGATECALL/STATICCALL/CREATE/CREATE2 in that frame. - Status is a bit-coded value with practical outputs {0,1,2,4,5}: 0=success, 1=revert or not-started-with-gas-return, 2=exceptional halt or create collision (forwarded gas consumed), 4=success but a halt occurred somewhere below, 5=revert but a halt occurred somewhere below. - Tracks two per-frame pieces of state: call_status (last outcome) and halt_seen (whether any exceptional halt/collision has occurred in this frame’s call lineage); halt_seen propagates upward so proxies/wrappers can’t mask halts as clean reverts/successes. - Solves a common security/robustness problem: contracts can stop using fragile gas-arithmetic heuristics to distinguish “clean revert” from “out-of-gas/exceptional halt,” especially as gas schedules and multi-dimensional gas accounting change over time. - Backwards compatible: legacy call opcodes, their success flags, and returndatabuffer behavior are unchanged; CALLSTATUS reads a new register and previously-undefined opcode 0xA5 becomes defined (no stack pops, allowed in static context, normal stack-overflow behavior). ELI5: It adds a new EVM opcode, CALLSTATUS, that lets a contract ask “what happened to my most recent call/create?” Instead of guessing from leftover gas, it returns a small code saying whether the last call succeeded, reverted, or crashed (like out-of-gas/invalid opcode), and also whether a crash happened deeper down the call chain even if an intermediate contract hid it.
1
7
748
New post on Eth Research! A hash-only rollup: OP Stack L2 accounts as Lamport-style hash chains, no ECDSA inside the L2 By: - Hadamard 🔗 ethresear.ch/t/26172 Highlights: - This OP Stack L2 (chain ID 42069000, live since 2026-09-30) removes signatures from L2 transactions: ownership is proven by revealing successive preimages of a keccak-256 hash chain, making keccak preimage resistance the core cryptographic assumption inside L2. - Two custom EIP-2718 transaction types are introduced: a HashCommitTx (0x7C) and a HashRevealTx (0x7F); the reveal is authorized by checks that link the preimage to the last revealed hash, generate a per-tx nullifier, and require a matching prior commitment that binds the preimage to the transaction digest. - Commit–reveal is necessary to prevent front-running once a preimage becomes public; an initial design was vulnerable because unauthenticated commits could be overwritten, so the chain adopted a “first commit wins” rule with an expiry window and txpool/RPC measures to reduce exposure. - Accounts have finite “uses” (default depth 1000) and must renew the hash chain at the final step by including a new commitment in the last reveal; if renewal is missed the address becomes unusable, so wallets must manage state carefully and support resync. - The design is not fully trust-minimized: L1 boundaries still use ECDSA, there are no fault proofs (permissioned proposer/dispute game), the sequencer is centralized, 160-bit addresses reduce standalone address security, and stateful one-time secrets can cause user lockouts if wallet state desynchronizes. ELI5: Instead of signing transactions with a private key, each account has a secret “chain” of hashes, like a stack of one-time passwords. To spend, you reveal the next secret value in the chain, and the chain’s hash links prove you’re the owner. Because revealed secrets could be copied by others, the user first posts a hidden “commit” and then reveals the secret, so the reveal only works for that specific transaction. This makes the L2 rely mainly on the security of keccak-256 hashes rather than ECDSA signatures.
1
1
13
885
New EIP! RESERVOIR Opcode 🔗 github.com/ethereum/EIPs/pul… Highlights: - Adds a new EVM opcode RESERVOIR (0x4d) that pushes the remaining state-gas budget not included in GAS, costing 2 execution gas and usable even in STATIC contexts. - Under the EIP-8037 reservoir model, RESERVOIR returns the current frame’s state_gas_reservoir (the extra state-gas pool above TX_MAX_GAS_LIMIT) which is forwarded fully to child calls (not subject to 63/64). - Inside EIP-8141 frame transactions, RESERVOIR returns the frame’s state_gas_left (matching TXPARAM(TXPARAM_STATE_GAS_LEFT)), so the same contract/library code can work across both transaction models. - With GAS + RESERVOIR, contracts can measure true remaining budget and gas deltas across calls including state-gas charges/refills, fixing undercounting issues in metering systems like ERC-4337-style bundlers. - Backwards compatibility is limited to the usual new-opcode risk: 0x4d previously invalid would stop execution; after activation it becomes RESERVOIR, with no changes to existing gas accounting rules beyond adding this introspection tool. ELI5: Ethereum transactions can have two “gas wallets”: one for normal execution and another special one that pays for changing blockchain state (like writing storage). Today, contracts can only see the normal wallet using the GAS opcode, so they can’t tell how much state-changing budget is left or how much a sub-call spent from it. This EIP adds a new opcode, RESERVOIR, that lets contracts read that hidden state-gas wallet so they can measure total gas usage more accurately and detect when a callee burns state gas.
2
1
18
4,376
Weekly Roundup Paranoid EIP-8288: heterogeneous recursion with an authenticated class bank 🔗 ethresear.ch/t/26170 1 comment(s) this week Reveal optionality in encrypted mempools: how big is the sender’s free option, and a post-quantum way to remove it 🔗 ethresear.ch/t/26169 1 comment(s) this week SEACAST: fast, lean broadcast for Ethereum, with an executable spec and a formal model 🔗 ethresear.ch/t/26167 1 comment(s) this week Measuring priority fees, positions and transaction classification of Ethereum blocks, July 2025 to October 2026 🔗 ethresear.ch/t/26156 1 comment(s) this week BRO-AMM: A Bonded Reconciliation Oracle AMM as a Low-Risk DeFi Primitive 🔗 ethresear.ch/t/26138 1 comment(s) this week Faster, Aggregatable and Quantum Safe Privacy Pools 🔗 ethresear.ch/t/26163 1 comment(s) this week PQ anonymity for Stealth Address Protocol 🔗 ethresear.ch/t/26094 1 comment(s) this week
1
415
New post on Eth Research! Paranoid EIP-8288: heterogeneous recursion with an authenticated class bank By: - ignotusnemo 🔗 ethresear.ch/t/26170 Highlights: - EIP-8288’s recursive aggregation could benefit from “heterogeneous recursion,” where different approved proof sizes/relations are used depending on workload size instead of always using one biggest relation. - Parano1d implements heterogeneous recursion on mainnet using a finite, authenticated bank of verifier classes; each class fixes its own relation details (constraints, commitment parameters, transcript layout) but shares a common public accumulator layout. - The key challenge is deferred verification: replaying a parent proof creates a matrix-evaluation claim that must remain tracked even if later recursive steps use a different verifier class. - The solution maintains one accumulator “lane” per class; each step updates only the lane corresponding to the parent’s class by folding in the new deferred claim, while all other lanes are carried forward unchanged; terminal verification checks the tip claim plus all live lanes against authenticated matrices. - This approach adds overhead: accumulator state and terminal work grow with the number of supported classes, and each recursive relation must include capacity for the approved parent-verifier options; extending to EIP-8288-style merges would require a merge invariant for combining child banks and dependency sets, plus rules connecting program/ISA identity to permitted verifier classes. ELI5: Imagine stacking receipts to prove you did a bunch of steps correctly. Sometimes you want small receipts (cheap and quick) and sometimes big receipts (more detailed). This post describes a way to safely mix different receipt formats while stacking them, by keeping an authenticated “catalog” (bank) of allowed formats and a separate running tally for each format, so no check gets lost when you switch formats.
1
5
14
836
New post on Eth Research! Reveal optionality in encrypted mempools: how big is the sender’s free option, and a post-quantum way to remove it By: - arianaraghi 🔗 ethresear.ch/t/26169 Highlights: - The sender’s advantage from choosing whether/when to reveal in an encrypted mempool can be formalized as an ‘endogenous option’ (a Jensen-gap quantity), is strictly positive under a simple condition, and can be bounded; with example ETH volatility and an ~8s decision window it’s on the order of ~1 bp, and a modest fee can cap exercise probability. - “Forced opening” via time-lock decryption helps only if attackers don’t have much faster hardware than honest participants; the paper gives a constraint in terms of the attacker speedup factor γ, and with only one-slot waiting time the allowable γ is very low (below ~2), making hardware assumptions critical. - The LUCID/EIP-8184-style fee mechanism can fail to properly price the option when senders use many conditional commitments; with a simple selector+executor strategy, deterring abuse can require fees orders of magnitude higher (example: ~25 bp vs ~0.8 bp for a single commitment case). - Removing reveal optionality from senders can simply shift it to decryption/availability committees: a blocking or early-decrypt coalition (often as small as ≤⌈n/2⌉ depending on thresholds) can inherit the option unless penalties are high enough, and hybrid designs can still leave an ‘induced unavailability’ problem. - Blind Simultaneous Release (BSR) is proposed to eliminate the option pre-deadline by forcing early commitment to the executed set and using hash-chain time-lock masking (post-quantum): before the escrow deadline the endogenous option is provably zero; after the deadline, deviations are deterred when deposits/fees cover worst-case gains, though it relies on explicit assumptions about feasible hardware speedups and leaves several analyses (dispute game, equilibria, batching, etc.) open. ELI5: If you can send a transaction that stays hidden, you can wait a moment to see what happens (like price moves) and then decide whether to “open” (reveal) it or not. That’s like having a free ‘undo button’ that can make you money. This write-up measures how valuable that undo button is, shows why simple fee rules don’t always stop people from abusing it, explains that forcing reveal can just move the power to the decryption committee, and proposes a new method (BSR) where everyone must lock in their choices before any new useful information arrives—using only hash-based time-locks so it still works even if future quantum computers break today’s crypto assumptions.
2
6
569
New EIP! Decoupled Consensus 🔗 github.com/ethereum/EIPs/pul… Highlights: - Validators would send two different message types: head votes for the available chain and finality attestations for the finality gadget, with separate propagation and inclusion rules. - Fork choice for the available chain uses only recent head votes (with cutoffs) plus expiring lock mechanisms to protect recently confirmed blocks when participation drops or messages are missing. - Finality would move off epoch-coupled voting: the whole validator set participates in independently scheduled finality rounds, and blocks can be justified/finalized as soon as ≥2/3 stake attestations are included in blocks. - The two subsystems interact through a “frame” provided by the finality gadget that constrains which blocks the available chain may build on and vote for (viable tree/heads, fork-choice root, frontier height handling). - It requires a consensus-layer hard fork and leaves major parameters and analysis as TBD (committee selection/VRFs, timing/lock parameters, encoding/aggregation, incentives, slashing details, fork transition, and proving the targeted ~4× faster finality). ELI5: Today Ethereum uses the same kind of vote messages to both (1) pick which block is the “current head” and (2) decide when blocks are “final” and can’t be changed. This proposal splits those into two separate jobs: a smaller, fast group votes each slot to quickly pick and “confirm” the head (with safety locks if votes are missing), while the whole validator set votes in separate, independent rounds to finalize blocks much faster. Keeping these two voting systems separate is meant to make chain reorganizations harder and let finality happen sooner.
3
10
4
54
4,444
New post on Eth Research! SEACAST: fast, lean broadcast for Ethereum, with an executable spec and a formal model By: - cskiraly 🔗 ethresear.ch/t/26167 Highlights: - Ethereum’s broadcast problem is getting harder as objects grow (bigger execution payloads, DA data, possible future proofs and post-quantum signatures), and today’s gossip can be seconds late for home builders and wastes bandwidth with duplicates. - SEACAST combines segmented forwarding (send/forward chunks immediately), erasure coding (Reed–Solomon so no specific chunk is ‘the last one’), and availability sampling (nodes can request only required columns/rows/cells rather than full objects). - The protocol explicitly separates what a node wants (interest: full object vs custody columns vs samples) from what it must relay (duty) and from who it pushes vs merely announces to, avoiding ‘one topic per piece’ designs like many-column topics. - In simulations on identical network setups, SEACAST delivers faster and with fewer bytes than both today’s gossipsub and ECBroadcast’s RS mode; e.g., in an all-home 500-node network with 16 peers each, 99% reach for a 1 MiB payload is ~0.64s vs 0.97s (ECBroadcast) vs 4.5s (gossipsub), with much lower received bytes per node. - SEACAST is designed to be ‘elastic’ under thinner uplinks (delay tracks bandwidth without runaway duplication) and is unusually well-specified: it has an executable pseudocode spec plus a formal model (Quint/TLA+) that already found and helped fix multiple liveness gaps. ELI5: Ethereum nodes need to quickly share big “packages” of data with lots of other nodes. Today’s sharing is wasteful: nodes often wait until they have the whole package before forwarding it, and many nodes get multiple duplicate copies. SEACAST is a smarter way to share: it breaks data into small pieces, adds error-correcting coding so any enough pieces work, forwards pieces immediately, and lets nodes request only the pieces they actually need (sometimes just a sample). It also comes with a spec you can actually run like a program, plus a formal math model to find bugs in the rules.
1
1
11
622
New EIP! Jump and Call Tables for the EVM 🔗 github.com/ethereum/EIPs/pul… Highlights: - Introduces two new opcodes: JUMPV (0xBE) for multi-way jumps and CALLSUBV (0xBD) for multi-way subroutine calls, using a destination table embedded in code. - A table is encoded as 1 count byte followed by count+1 absolute 2-byte destinations; the popped “case” index selects an entry, and out-of-range cases select the last entry as the default. - Runtime safety checks: the table must be fully within code bounds; JUMPV destinations must be JUMPDEST or CALLDEST; CALLSUBV destinations must be CALLDEST and must also respect the 1024-item return stack limit. - For validated (“MAGIC”) code per EIP-8337, every reachable JUMPV/CALLSUBV must be immediately preceded by a PUSH of the table position; validation ensures all table destinations are valid and integrates them into the control-flow graph (no fallthrough for JUMPV). - Gas cost is proposed as HIGH (10) for both opcodes, intended to cover bounds checking plus a code read and destination validation, while keeping dispatch O(1) compared to chains of comparisons. ELI5: This proposal adds two new EVM instructions that let a contract pick one of many jump targets using a small “address list” (a table) stored inside the contract’s own bytecode. Instead of doing lots of comparisons and jumps (like a long if/else chain), the contract can look up the right destination in the table and jump or call it in one step, while still allowing “validated” EVM code to prove ahead of time that all possible destinations are safe.
1
9
655
New EIP! eth/73 - Recursive STARK Exchange 🔗 github.com/ethereum/EIPs/pul… Highlights: - Adds eth/73 networking support for exchanging block-level recursive STARK proofs required by EIP-8288 via two new messages: GetRecursiveStarks (0x14) and RecursiveStarks (0x15). - Extends post-activation block headers with two new 32-byte fields: recursive-stark-hash (keccak256 of the proof bytes) and block-deps-hash (hash of declared dependencies), which must be present after EIP-8288 activation and absent before. - Defines response semantics: each requested block hash maps to a returned proof byte string; RLP empty string (0x80) is used when proof data is unavailable, and also represents an intentionally empty proof for blocks without dependencies (disambiguated via the header hash). - Requires minimal wire-level validation: clients must keccak256 the received proof and compare to recursive-stark-hash in the corresponding header; full proof verification against block-deps-hash is left to EIP-8288 block validation rules. - Introduces operational safeguards: recommends a 2 MiB soft limit for RecursiveStarks responses and advises rate limiting to reduce amplification/DoS risks from large proof payloads and handling of legitimately pruned/unavailable data. ELI5: Some future Ethereum blocks will have a big “proof” file (a recursive STARK) that shows the block’s transactions are valid. The block header only contains a small fingerprint (hash) of that proof, not the proof itself. This proposal adds two new peer-to-peer network messages so nodes can ask other nodes for these proof files during syncing and then quickly check they got the right file by comparing its hash to the fingerprint in the header.
1
1
8
697
New EIP! Post-Quantum Validator Key Registry 🔗 github.com/ethereum/EIPs/pul… Highlights: - Adds a new on-chain registry in BeaconState (one entry per validator) to store dormant post-quantum public keys, keeping existing BLS-based duties unchanged in this fork. - Uses a specific hash-based signature scheme: two-layer leanXMSS over Keccak-256, with 2**32 total one-time leaf indices; signatures include the leaf index and must never reuse an index for different messages. - Introduces a new beacon-block operation (PQ key registration) that includes the public key, a mandatory leanXMSS proof of possession signed at leaf index 0, and an authorization that is either (a) the validator’s BLS signature (operator path, register-only) or (b) a withdrawal-address authorization (owner path, register or replace). - Adds an execution-layer request mechanism (EIP-7685 typed request + predeploy contract) allowing withdrawal addresses to authorize a specific PQPublicKeys root; authorizations are queued in state, can be replaced by newer ones, and expire after 256 epochs. - Provides a measurable readiness signal (sum of effective balances of active validators with registered keys) so the later fork that actually switches signatures can be scheduled based on observed adoption, and enables recovery if BLS becomes insecure before the switch. ELI5: Ethereum validators currently sign everything with BLS signatures, which a future powerful quantum computer could break. This proposal adds a new “address book” inside the beacon chain state where each validator can pre-register a quantum-resistant (hash-based) public key, along with proof they really own it. These keys aren’t used yet; they just sit there so Ethereum can later switch to them smoothly and safely once enough validators are ready.
2
7
631
New post on Eth Research! Faster, Aggregatable and Quantum Safe Privacy Pools By: - Pierre 🔗 ethresear.ch/t/26163 Highlights: - The work ports a Tornado Cash-like pool to Flock, a transparent hash-based binary-field SNARK intended to be plausibly post-quantum, using SHA-256 for both the Merkle tree and nullifier derivation. - A key performance trick is replacing one large circuit with 34 SHA-256 compressions by a single small “one-compression” circuit invoked 34 times and glued together, yielding large prover speedups (e.g., ~28× faster at Merkle depth 32: ~0.81 s down to ~28.6 ms). - Because Flock’s witness/commitment configuration has a large minimum size, prover time is nearly flat across a wide range of Merkle depths (depth increases don’t significantly increase proving time until very large depths). - Recursive aggregation is demonstrated: users locally prove withdrawals (~19.5 ms each, ~203.6 KiB proofs) while an aggregator folds many withdrawals into one proof with constant final size (~343.9 KiB) and roughly constant verification time (~46–64 ms), shifting cost to the aggregator (~0.68 s per withdrawal). - A “quantum recoverability” protocol is proposed: wallets derive note secrets (k,r) deterministically from a 256-bit seed (via truncated SHA-512), so after a future freeze (before a discrete-log break), users can withdraw through a post-quantum recovery verifier without enabling double-spends, while non-seed notes risk being stranded. ELI5: Tornado Cash-style privacy pools rely on math that a powerful future quantum computer could break. This article shows a version built with a different kind of proof system (Flock) that uses SHA-256 and can create withdrawal proofs very fast, and it also proposes a simple “backup plan”: if wallets create their secret note data from a single saved seed, then if quantum computers ever break the old math, users can still withdraw later using a new quantum-safe proof checker after the pool is frozen.
2
9
642
New EIP! Engine API proposal lookahead 🔗 github.com/ethereum/EIPs/pul… Highlights: - Adds a new optional Engine API method: engine_proposalLookaheadUpdatedV1, sent from consensus layer (CL) to execution layer (EL) with upcoming proposal slots plus timestamp, suggestedFeeRecipient, and targetGasLimit. - The call is advisory only: it must not start block building and does not affect fork choice; engine_forkchoiceUpdated with payload attributes remains the only authoritative build trigger and source of final attributes. - ELs may use the lookahead to do parent-independent preparation such as fetching blob data, warming state caches, pre-executing transactions using announced context, scheduling maintenance away from the slot, and managing bandwidth. - Request semantics: the provided list replaces the EL’s stored set (empty list clears); max 256 entries; entries must have all fields and strictly increasing slot and timestamp; defined error codes -38004 (too many) and -32602 (invalid params). - Privacy/DoS considerations: revealing proposer timing earlier can enable targeting if preparations are externally observable; ELs should randomize observable prep timing, bound resource usage, avoid exposing proposals via public RPC/metrics/logs, and the method is gated by engine_exchangeCapabilities so non-supporting clients are unaffected. ELI5: Today the execution client only finds out it must build a block right when the consensus client starts the build, leaving little time. This proposal adds a new “heads-up” message where the consensus client tells the execution client, minutes ahead, which future slots it will need a block for and what basic settings (time, fee recipient, gas limit) will be used. The execution client can then quietly prepare (like preloading data) so it can build faster when the real build request arrives.
1
7
691
Weekly Roundup Measuring priority fees, positions and transaction classification of Ethereum blocks, July 2025 to October 2026 🔗 ethresear.ch/t/26156 12 comment(s) this week Vocdoni Protocol: Enabling Decentralized Voting for the Masses with ZK Technology 🔗 ethresear.ch/t/21036 1 comment(s) this week How Much Screening Buys a Second? Speed, Selection, and the Maker's Spread 🔗 ethresear.ch/t/26158 1 comment(s) this week Rapidblocks with split proofs: execution proofs that outlive their state 🔗 ethresear.ch/t/26157 1 comment(s) this week Rapidblocks, take two: a pipelined consensus for independent blocks 🔗 ethresear.ch/t/26152 1 comment(s) this week Informed Diffusion: making home builders publish fast 🔗 ethresear.ch/t/26151 1 comment(s) this week Exposing an ISA for post-quantum proofs on Ethereum 🔗 ethresear.ch/t/26136 1 comment(s) this week Proposal for a minimal compute-anchored purchasing power signal 🔗 ethresear.ch/t/26110 1 comment(s) this week ERC-8403: an account as one hash, and post-quantum keys 🔗 ethresear.ch/t/26147 1 comment(s) this week PQ anonymity for Stealth Address Protocol 🔗 ethresear.ch/t/26094 1 comment(s) this week
3
522
New EIP! Non-Self-Authorizing State Transitions 🔗 github.com/ethereum/EIPs/pul… Highlights: - Defines “resolution” as an invariant boundary between producing/proving a transition and that transition gaining authority to change real state. - States an authority non-expansion rule: a successor state cannot have more authority than what follows from admitted evidence, committed procedure/policy, and current authority. - Requires three resolution outcomes—AUTHORIZED, UNAUTHORIZED, and crucially UNRESOLVED—so systems aren’t forced to “make up” authority when it’s unclear. - Explains composition and time effects: combining two valid things must not create new authority, and accumulating historical evidence does not imply authority still exists (revocations, ownership changes, etc.). - Provides a falsification test to detect an “open” resolution boundary: if holding admitted evidence fixed but changing some uncommitted input can change the authorized successor (or if valid artifacts can cause stronger transitions than they truly authorize), the system is self-authorizing somewhere. ELI5: Just because you can compute a possible change, or even prove it’s valid, doesn’t mean you’re allowed to make it happen. This EIP says systems must have a clear “permission step” (resolution) where evidence and rules are checked against current authority, and the result is either allowed, denied, or “we can’t decide yet.”
1
455
New EIP! Common Computational Gas Scaling Factor 🔗 github.com/ethereum/EIPs/pul… Highlights: - Defines CPCU (cost per computational unit) and rewrites covered opcode computation costs as: computational_gas_cost = computational_unit_cost * CPCU, with CPCU initially 1 gas/CU so activation is cost-neutral. - Applies only to the computational component of certain opcodes (e.g., ADD/MUL/EXP/KECCAK256); other components like memory expansion and state access pricing remain unchanged unless another EIP changes them. - Provides a hard-fork-only adjustment mechanism: CPCU must stay constant within a fork and can only be changed by a later EIP that explicitly sets a new value. - Motivation is to simplify and coordinate computational repricing as scaling changes (e.g., higher block gas limits), reducing per-opcode engineering/testing burden and offering more flexible scaling strategies. - Notes limitations: integer gas accounting makes CPCU < 1 hard to represent without finer-grained units; changing CPCU changes how much computation fits into fixed gas budgets and must be evaluated for DoS/validation-time risks (esp. alongside execution-gas limits like EIP-7825 and cost-dimension separation like EIP-8037). ELI5: This proposal introduces a single “dial” called CPCU that multiplies the gas cost of many common computation opcodes in the EVM. Today, each opcode has a fixed gas price; with CPCU, the protocol can keep the opcodes’ relative prices the same but turn all of them up or down together at a hard fork, instead of editing each opcode’s gas cost one by one. Initially the dial is set to 1, so nothing changes at activation.
6
555
New post on Eth Research! How Much Screening Buys a Second? Speed, Selection, and the Maker's Spread By: - @nuconstruct 🔗 ethresear.ch/t/26158 Highlights: - A competitive break-even spread can be derived with minimal assumptions—only that the price innovation over the quote-exposure horizon has finite expected absolute value—so the results apply even with jumps, point masses (atoms), and infinite variance. - Empirically, 1-second ETH-USDT midpoint innovations are highly non-Gaussian: about 73% of seconds have zero price change and the distribution has extreme excess kurtosis (154), meaning many calm seconds and occasional large jumps. - Because of this non-Gaussian shape, reducing quote exposure from 12 seconds to 1 second cuts expected absolute price shock by 84.5% (much more than the 71.1% predicted by a Gaussian diffusion), so Gaussian rules materially understate the value of speed. - To match a 1-second unscreened venue while quoting at 12-second cadence, a maker must screen out roughly 84.5% of informed flow (about “six in seven” informed orders), and this threshold remains ~84.5–85.2% over plausible toxicity levels, so the conclusion is robust to uncertain toxicity. - In trending periods, staleness shows up one-sidedly at execution: with-trend fills achieve an effective spread about 11.1 bps better than against-trend fills across all four pools, and discrepancies grow with elapsed staleness with elasticity ~0.45 (near the diffusion benchmark of 0.5). ELI5: When a liquidity provider (LP) posts a buy and sell price, they can lose money if someone who knows the price just moved trades against their now-outdated (stale) quote. LPs can protect themselves in two main ways: (1) update their price more often (be faster), or (2) reject trades that look “too informed” (screening). This article measures how much screening a slow LP would need to do to be as safe as a fast LP. Using crypto data, it finds that because real 1‑second price changes are very ‘lumpy’ (usually zero, sometimes big jumps), speed is extremely valuable: to make up for being stuck with 12‑second staleness, you’d need to reject about 85% of informed trades.
4
1
15
1,121
New EIP! 64-bit Opcodes for the EVM 🔗 github.com/ethereum/EIPs/pul… Highlights: - Adds 28 new single-byte opcodes (in the 0xC0–0xDF range) that are “twins” of existing opcodes, located at (twin opcode + 0xC0), operating on operands modulo 2^64 and returning zero-extended 256-bit words. - Defines exact 64-bit semantics: unsigned ops read low 64 bits; signed ops interpret low 64 bits as two’s-complement; arithmetic wraps at 2^64; division by zero returns 0; shifts return 0 when shift amount > 63; CLZ64 returns 64 for input 0. - Includes three data/memory-related ops: CALLDATALOAD64, MLOAD64, and MSTORE64, which use the same 32-byte window and memory expansion rules as their 256-bit twins but reduce the loaded/stored value to 64 bits (MSTORE64 writes a 32-byte word with top 24 bytes zero). - Introduces discounted gas tiers (verylow64=2, low64=3, mid64=5, exp64 base=5 plus 25 per exponent byte up to 8 bytes) intended to reflect cheaper 64-bit machine work; memory expansion costs are unchanged vs MLOAD/MSTORE. - Rationale emphasizes single-byte opcodes over a prefix-based encoding (like EIP-7937) to avoid multi-byte opcode complexity and JUMPDEST-analysis quirks, at the cost of consuming most currently-unassigned opcodes 0xC0–0xDF; backward compatibility impact is limited because those opcodes currently halt exceptionally. ELI5: The EVM always does math using huge 256-bit numbers, even when you only need small numbers like counters or offsets. This proposal adds new “64-bit” versions of common EVM operations (add, multiply, compare, bitwise ops, and a few memory/calldata loads/stores) so they only look at the lowest 64 bits and produce a 64-bit answer (padded with zeros back to 256 bits). That makes many common computations cheaper and faster, especially for systems that compile EVM code to run on normal 64-bit CPUs or in ZK proving VMs.
2
9
777
New post on Eth Research! Rapidblocks with split proofs: execution proofs that outlive their state By: - cskiraly 🔗 ethresear.ch/t/26157 Highlights: - A monolithic “pre-state root → post-state root” execution proof doesn’t fit Rapidblocks well because blocks execute relative to a Hist set and pipeline ordering, so the exact pre-state a proof refers to may never appear in the canonical chain order. - Split proofs divide verification into (1) Π_T: expensive EVM correctness from declared inputs to outputs with no state root, plus (2) Π_in and (3) Π_out: cheaper Merkle-style proofs that the inputs match some state root and that applying outputs transforms one root to the next. - Headers commit to the block’s inputs (the values it reads), not a pre-state root; if later state changes don’t touch those inputs, the same Π_T remains valid across multiple slots—so “proofs outlive their state.” - The “input rule” replaces the prior Hist-based validity: a block is included if it’s the slot’s chosen value, its proof is valid, its committed inputs are still current at its slot boundary, and its context matches the decided horizon; skips and conflicts propagate only along actual read-dependencies. - Consensus can run on two tracks: a per-slot ‘block track’ (window vote) where stateless voters check availability, Π_T, and input-currency using horizon roots plus recent access lists, and a slower ‘state track’ where canonical state roots are proven later via recursive Π_out proofs; proofs can even be checked in a later voting round to accommodate proving latency. ELI5: Normally, a block proof says “if you start from this exact old snapshot of the blockchain’s state, you end at this new snapshot.” In Rapidblocks, blocks can be reordered or some can be skipped, so that exact snapshot might never exist again—making a single proof hard to reuse. This post proposes splitting the proof into parts: one part proves the transactions correctly turn some specific input values into outputs (without mentioning any state snapshot), and two cheaper parts link those inputs/outputs to actual state snapshots using Merkle proofs. Because the main proof depends only on the input values a block read, it can stay valid even if other unrelated parts of the state change, letting the system agree on blocks first and compute/agree on state roots later.
4
537
New post on Eth Research! Measuring priority fees, positions and transaction classification of Ethereum blocks, July 2025 to October 2026 By: - DanGuo 🔗 ethresear.ch/t/26156 Highlights: - Across all sampled periods, swaps in the first 10% of a block’s gas pay much higher priority fees—about 8–16× compared with swaps in the 30%–60% band—and most of the fee drop happens within the first 20% of the block. - Overall priority-fee levels for swaps fell roughly ~75% from July 2025 to mid/late 2026, but the ‘front vs middle’ fee ratio stayed about the same, indicating the premium for early placement persisted even as fees declined. - Zero-tip (0 priority fee) swaps can still land at the very front: roughly half of front-of-block swaps were zero-tip in early August 2026, falling to about a tenth in early October 2026—suggesting non-tip payment channels (bundles/direct builder payments/exclusive flow) matter for ordering. - Builder behavior is a major factor: Titan kept roughly the same block share (~47–48%) while halving its zero-tip front transactions per block (about 2.12 → 1.06), accounting for much of the observed reduction in zero-tip transactions at the front between August and October. - Builders show persistent differences in how strongly priority fee relates to position (within-block fee/position correlation), with locally built blocks showing the most negative correlations (most consistent with fee-based ordering) and other builders exhibiting distinct, stable patterns across weeks. ELI5: Ethereum blocks are like a line where transactions get placed from the front to the back. This article measures how much extra “tip” (priority fee) transactions pay to be closer to the front, what kinds of transactions show up near the front, and how different block builders order transactions. It finds that being near the front is usually much more expensive for swaps, but sometimes transactions still get to the front while paying zero tip—likely because they pay in other ways (like private deals or bundled payments) that aren’t visible just from normal execution data.
9
608