## Ethereum Consensus Upgrades (2024) **Terence Tsao** _Core Developer, Offchain Labs_ --- <!-- .slide: style="text-align: left" --> ## Agenda - Understanding upgrades - **Capella** (Past) - Withdrawals - **Cancun** (Present) - Proto-danksharding (EIP-4844) - **Electra** (Future) - Wat do?? --- <!-- .slide: style="text-align: left" --> ## Understanding Hard Forks' Naming Convention - **Consensus Layer** adopts star names: Altair → Bellatrix → Capella → Electra - **Execution Layer** goes with cities: Paris → Shanghai → Cancun → Prague --- <!-- .slide: style="text-align: middle" --> ## Consensus VS Execution Layer ![](https://hackmd.io/_uploads/BJUDt9fJa.png) --- <!-- .slide: style="text-align: middle" --> ## Client Architecture ![](https://hackmd.io/_uploads/H1ZoFqGyp.png) --- <!-- .slide: style="text-align: left" --> ## Capella Highlights - Epoch: 194048 (April 12, 10:27pm UTC) - Marked the third consensus layer upgrade - Featured both full & partial withdrawals - Introduced: Automatic account sweeping - Changes to beacon state's historical data - Refinement of the fork choice rule in spec --- <!-- .slide: style="text-align: left" --> ## Deneb: What's Coming? - Epoch: TBD (Expected Q1/2024) - Data publishing enhancements: - Introduction of "Blob" - a new data type - Retention on nodes for 18 days - Enhancements to scale rollups and related apps that uses short term data - New: Beacon block root in execution layer - Cap chain churn and manage validator growth --- <!-- .slide: style="text-align: middle" --> ## Gazing at Electra <img src="https://hackmd.io/_uploads/BJGpOviA3.png" width="450" /> https://en.wikipedia.org/wiki/Electra_%28star%29 --- <!-- .slide: style="text-align: middle" --> ## Post-Deneb: The Road Ahead <img src="https://hackmd.io/_uploads/HyNIxts0h.png" width="500" /> --- <!-- .slide: style="text-align: left" --> ## Proposing Max EB Increase (EIP-7251) - Proposal: Enhance validator effective balance to 2048eth (from current default of 32eth) - **Benefits**: - Potential reduction in p2p bandwidth usage - Laying groundwork for future upgrades like ePBS and SSF - Maintained structures: Rewards, penalties, and queues - Note: Possible modifications to slashing penalties --- <!-- .slide: style="text-align: left" --> ## Dependencies for Max EB Increase - Execution layer with triggerable exits (EIP-7002) - Reusing validator indices (EIP-6974) --- <!-- .slide: style="text-align: left" --> ## Inclusion List Insights (EIP-???) - Mechanism: Proposer at slot `N` can mandate txs inclusion at slot `N+1` - Requirement: `N+1` block must encapsulate txs in state transition - **Advantages**: - Enhances censorship resistance - Paves the way for upgrades, notably ePBS - Variants to explore: - Separate vs. reused block gas limits - Open Question: Dynamics of the Nash equilibrium? --- <!-- .slide: style="text-align: left" --> ## Delving Deeper: Inclusion List Tradeoffs - [No free lunch – a new inclusion list paradigm](https://ethresear.ch/t/no-free-lunch-a-new-inclusion-list-design/16389/2) - [Cumulative, Non-Expiring Inclusion Strategies](https://ethresear.ch/t/cumulative-non-expiring-inclusion-lists/16520) - [Fun and games with inclusion lists](https://ethresear.ch/t/fun-and-games-with-inclusion-lists/16557) --- <!-- .slide: style="text-align: left" --> ## ePBS: Challenges and Questions - **Issue**: Relayers present complications - Proposal: Enshrine relayer responsibilities within the protocol - Questions to address: - Will relayers become obsolete? - Should builders be staked? - Would increasing slot duration from 12s to 16s present issues? --- <!-- .slide: style="text-align: left" --> ## ePBS: Pproposed Design * Max EB * Execution layer triggered withdrawal * Forced inclusion list (own gas limit) * [PTC committee](https://ethresear.ch/t/payload-timeliness-committee-ptc-an-epbs-design/16054) with slot time of 16s * Getting close to implementations! * [Beacon chain spec, fork choice spec](https://github.com/potuz/consensus-specs/pull/1) * [Network spec, validator spec, builder spec](https://github.com/terencechain/consensus-specs/pull/1) * [Execution API](https://github.com/naviechan/execution-apis/pull/1/) * Running into hard problem like validator transfer attack but we'll get there soon! --- <!-- .slide: style="text-align: left" --> ## General Enhancements: Fork Choice - Late block reorg (as seen in LH & Prysm) - Update to (block, slot) voting - Initiatives like Goldfish and view merge - RLMD-GHOST (Recent Latest Message Driven GHOST) - Balancing act between: - Economic security - Committee size and P2P constraints - The necessity of an additional voting round --- <!-- .slide: style="text-align: left" --> ## Deep Dive: RLMD-GHOST - [Exploring Single Slot Finality](https://ethresear.ch/t/a-simple-single-slot-finality-protocol/) - [A Journey into Streamlined Fast Finality](https://ethresear.ch/t/streamlining-fast-finality/16591) --- <!-- .slide: style="text-align: left" --> ## Reimagining Validator Economics - Current Scenario: An unbounded validator set - Pondering: Is there an optimized reward/penalty curve if the majority of ETH is staked? - Interactions with LST? - Implications for upgrades such as SSF? --- <!-- .slide: style="text-align: left" --> ## SSLE Advancements (EIP-7441) - Transition block proposer election to Whisk algorithm - **Benefits**: Known proposer assignments in advance. Mitigation against sequential DoS attacks (MEV) - **Implementation**: - Register tracks and unique commitments - Shuffle based on both public and private randomness - Conclude w/ an ordered list of proposers, selected by RANDAO --- <!-- .slide: style="text-align: left" --> ## EIP4844+: What's New? - Elevate blob sidecar count from 3 to 6 - Testing phases for erasure codes and blob reconstruction - Introducing a new, opt-in sampling network - Compatibility: Fully backwards integrated - Avenues to explore with different node types: High capacity nodes and super full nodes - Utilizing the mainnet as a sandbox --- <!-- .slide: style="text-align: left" --> ## DAS - Data restructuring: Rows and columns - Sampling strategy: Each node samples select points - Prerequisite: Robust erasure coding - Considering additional fork choice dynamics - **Advantage**: Enhanced data throughput capabilities - Reference: [PeerDAS - A Simplified Approach](https://ethresear.ch/t/peerdas-a-simpler-das-approach-using-battle-tested-p2p-components/16541) --- <!-- .slide: style="text-align: left" --> ## Addressing Technical Debts - Potentially a divisive perspective - Proposing a feature-free interval to: - Rectify technical debts - Elevate code quality standards - Championing long-term platform stability - Multitasking complexities (working on new features and cleaning up old debt is hard!) --- <!-- .slide: style="text-align: middle" --> ## Visualizing Technical Debts <img src="https://hackmd.io/_uploads/Hy5oluR0h.png" width="500" /> --- <!-- .slide: style="text-align: left" --> ## My Roadmap - Immediate Focus: Ensure Electra's consensus stability - Prioritize Max EB, Inclusion list, and Fork choice enhancements - Long-term Vision: Features for the "D" star-named fork - Emphasizing ePBS and Danksharding --- <!-- .slide: style="text-align: middle" --> ## Thank you EthChicago 🙏 @terencechain <img src="https://hackmd.io/_uploads/HkLO__716.png" width="400" /> ---
{"title":"Ethereum Consensus in 2024","slideOptions":"{\"theme\":\"solarized\"}","contributors":"[{\"id\":\"be26a7ab-c8e0-4a30-bd7e-266f9e3700bf\",\"add\":11490,\"del\":10649}]"}
    566 views