## 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

---
<!-- .slide: style="text-align: middle" -->
## Client Architecture

---
<!-- .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}]"}