From aad0735887cb596e672ed537c88dfae197a721a7 Mon Sep 17 00:00:00 2001 From: gorondan Date: Tue, 23 Apr 2024 21:32:25 +0300 Subject: [PATCH 01/12] better content in expected effect collumn; added archive mirror to resources links;switched to footnotes; miscellanous; FINAL:MERGE, SURGE --- docs/wiki/research/roadmap.md | 121 +++++++++++++++++++++++++++++++++- 1 file changed, 119 insertions(+), 2 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 81f39f2d..68ece412 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -1,3 +1,120 @@ -# Roadmap +# Ethereum Protocol Roadmap +--- +## The Infinite Garden -Overview of the research landscape. Check week 5 presentation. \ No newline at end of file +*Ethereum is NOT a zero sum game, but rather a game that we want to play continuously. For that to be a reality, the Infinite Garden needs to upgrade regularly, on topics like its security, scalability or sustainability, until it reaches ossification. After that point there will probably be, just some trims - here and there.* + +## Ethereum evolution + +The philosophy of Ethereum is open to certain risk aversion and the protocol design keeps evolving. As our knowledge and experience of Ethereum grows, researchers and developers are crafting ideas on how to tackle challenges and limitations of the network. There has been [many changes](/wiki/protocol/history.md) to the core protocol over many years of its existence. Most of these changes are part of some common goals we could call a roadmap. + +Even though there is no official roadmap and no authority which could dictate it, there are wide community discussions steering the protocol development in certain ways. By agreeing on some goals and reaching consensus about current state of the development, the community, dev and research teams work together to progress in this abstract roadmap. + +## Core R&D + +The discussion, resources and all research and development on the core protocol is fully open, free and public. Anyone can learn about it (as you are probably doing in this wiki) and further more, anyone can participate. There is no set of individuals which could push core protocol changes, the Ethereum community can raise the voice to help steer the discussion. To learn more about the core R&D shaping the protocol, read the [wiki page about it](/wiki/dev/core-development.md). + +## Roadmap overview + +While there is not a single roadmap that Ethereum development follows, we can track the current R&D efforts to map what changes are happening and might happen in the future. +A great overview mapping many domains of the core development is Vitalik's view on how the roadmap looks like at December 2023 level: + +![Ethereum roadmap updated by V.B. Dec2023](/docs/wiki/research/img/full_roadmap2024_1600x1596.webp) + +In this overview, different domains are coupled to related categories forming various 'urges'. Here is what those mean: + +### the Merge + +Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge was successfully achieved at Thu Sep 15 06:42:42 2022 UTC, reducing the network's annualized electricity consumption by more than 99.988%. However, this category also tracks subsequent upgrades which can be done to improve the consensus mechanism and smooth issues we encounter after The Merge. + +**IMPLEMENTED** +| Upgrade | Description | Effect | State of the art | +| :----------------------------------- | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------- | +| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | +| Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | +| Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | + +**TODO** +| Upgrade | Description | Expected effect | State of the art | +| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------- | +| Single slot finality (SSF) | Blocks could be proposed and finalized in the same slot | (i) more convenient for apps (transactions finalization time improved by an order of magnitude, i.e. 12 seconds instead of 12 minutes means better UX for all), (ii) much more difficult to attack (multi block MEV re-orgs can be eliminated and the complexity in consensus mechanism, reduced) | in research
(i) VB's SSF notes[^4]
(ii) 8192 signatures post-SSF[^5]
(iii) simple SSF protocol[^6] | +| Single Secret Leader Election (SSLE) | Allow elected block proposers to remain private until block publishing, to prevent DoS attacks | Only the selected validator knows it has been selected to propose a block. | in research
EIP-7441[^7] | +| Enable more Validators | The technical challenge of efficiently coordinating an ever increasing number of validators to achieve SSF with the best trade-offs possible | Greater redundancy, a broader range of proposers, a wider array of attesters, and overall increased resilience | in research
(i) EIP-7514[^8]
(ii) EIP-7251[^9]
(iii) 8192 signatures[^5] | +| Quantum-safe signatures | Proactive research and integration of quantum-resistant cryptographic algorithms | Quantum-safe, aggregation-friendly signatures will enhance protocol security against quantum attacks | in research
(i) lattice-based[^10]
(ii) STARK-based [^11] systems | +### the Surge +Upgrades related to scalability by Roll-ups and Data Sharding. + +**IMPLEMENTED** +| Upgrade | Description | Expected effect | State of the art | +| :----------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------: | :------------------------- | +| Proto-danksharding | We can stop storing Rollup data permanently on Ethereum and move the data into a temporary 'blob' storage that gets deleted from Ethereum once is no longer needed | Reduced transaction costs | shipped
EIP-4844[^12] | + +**TODO** +| Upgrade | Description | Expected effect | State of the art | +| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------- | +| Danksharding | Danksharding is the full realization of the rollup scaling that began with Proto-Danksharding | Massive amounts of space on Ethereum for rollups to dump their compressed transaction data | in research
| +| Data Availability Sampling (DAS) | Data Availability Sampling is a way for the network to check that data is available without putting too much strain on any individual node | (i) ensure rollup operators make their transaction data available after EIP-4844 (ii) ensure block producers are making all their data available to secure light clients (iii) under proposer-builder separation, only the block builder would be required to process an entire block, other validators would verify using data availability sampling | in research
EIP-7594[^13] | +| Removing Rollup Training Wheels | (i) Optimistic Rollup Fault Provers
(ii) ZK-EVMs
(iii) Rollup interoperability | (i) Optimistic rollups having live proof systems will address the L2's censorship risk
(ii) Massive improvements to Ethereum's scalability and privacy without sacrificing the security and decentralization aspects of the chain via zkEVMs (EVM-compatible virtual machines that supports zero-knowledge proof computation)
(iii) L1 Sequencers, or Ethereum L1 proposers with given rollup sequencing rights will bring better credible-neutrality and security, and offer roll-ups L1 compatibility | in research
(i)Arbitrum BoLD[^14]
Optimism Cannon[^15]
(ii) ZK-EVMs [^16] [^17] [^18]
(iii) Based preconfs[^19]
ET[^20] | +| Quantum-safe and Trusted-Setup-Free Commitments | replace KZG commitments with commitments that don't require a trusted setup and are quantum safe | Quantum-safe Commitments | in research
| + + +### the Scourge +Upgrades related to censorship resistance, decentralization and mitigating protocol risks from MEV. + +### the Verge +Upgrades related to verifying blocks more easily + +### the Purge +Upgrades related to reducing the computational costs of running nodes and simplifying the protocol + +### the Splurge +Other upgrades that don't fit well into the previous categories. + +## Resources: + +[^1]: EIP-2982: Serenity Phase 0 https://eips.ethereum.org/EIPS/eip-2982, [[archived]](https://web.archive.org/web/20230928204358/https://eips.ethereum.org/EIPS/eip-2982) + +[^2]: EIP-4895: Beacon chain push withdrawals https://eips.ethereum.org/EIPS/eip-4895, [[archived]](https://web.archive.org/web/20240415201815/https://eips.ethereum.org/EIPS/eip-4895) + + +[^4]: VB's SSF notes https://notes.ethereum.org/@vbuterin/single_slot_finality, [[archived]](https://web.archive.org/web/20240330010706/https://notes.ethereum.org/@vbuterin/single_slot_finality) + +[^5]: Sticking to 8192 signatures per slot post-SSF https://ethresear.ch/t/sticking-to-8192-signatures-per-slot-post-ssf-how-and-why/17989. [[archived]](https://web.archive.org/web/20240105131126/https://ethresear.ch/t/sticking-to-8192-signatures-per-slot-post-ssf-how-and-why/17989) + +[^6]: A simple Single Slot Finality protocol https://ethresear.ch/t/a-simple-single-slot-finality-protocol/14920, [[archived]](https://web.archive.org/web/20231214080806/https://ethresear.ch/t/a-simple-single-slot-finality-protocol/14920) + +[^7]: EIP-7441: Upgrade BPE to Whisk https://eips.ethereum.org/EIPS/eip-7441, [[archived]](https://web.archive.org/web/20231001031437/https://eips.ethereum.org/EIPS/eip-7441) + +[^8]: EIP-7514: Add Max Epoch Churn Limit https://eips.ethereum.org/EIPS/eip-7514, [[archived]](https://web.archive.org/web/20240309191714/https://eips.ethereum.org/EIPS/eip-7514) + +[^9]: EIP-7251:Increase the MAX_EFFECTIVE_BALANCE https://eips.ethereum.org/EIPS/eip-7251, [[archived]](https://web.archive.org/web/20240324072459/https://eips.ethereum.org/EIPS/eip-7251) + +[^10]: Medium post on lattice encryption https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175, [[archived]](https://web.archive.org/web/20230623222155/https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) + +[^11]: VB's hackmd post on STARK signature aggregation https://hackmd.io/@vbuterin/stark_aggregation, [[archived]](https://web.archive.org/web/20240313124147/https://hackmd.io/@vbuterin/stark_aggregation) + +[^12]: EIP-4844: Shard Blob Transactions https://eips.ethereum.org/EIPS/eip-4844, [[archived]](https://web.archive.org/web/20240326205709/https://eips.ethereum.org/EIPS/eip-4844) + +[^13]: EIP-7594: PeerDAS https://github.com/ethereum/EIPs/pull/8105 + +[^14]: BoLd: dispute resolution protocol https://github.com/OffchainLabs/bold/blob/e00b1c86124c3ca8c70a2cc50d9296e7a8e818ce/docs/research-specs/BOLDChallengeProtocol.pdf + +[^15]: Fault proofs bring permissionless validation to the OP Sepolia testnet https://blog.oplabs.co/open-source-and-feature-complete-fault-proofs-bring-permissionless-validation-to-the-op-sepolia-testnet/ + +[^16]: Parallel Zero-knowledge Virtual Machine https://eprint.iacr.org/2024/387, [[archived]](https://web.archive.org/web/20240415180222/https://eprint.iacr.org/2024/387) + +[^17]: What is zkEVM https://www.alchemy.com/overviews/zkevm, [[archived]](https://web.archive.org/web/20240129204732/https://www.alchemy.com/overviews/zkevm) + +[^18]: Types of ZK-EVMs https://vitalik.eth.limo/general/2022/08/04/zkevm.html, [[archived]](https://web.archive.org/web/20240329112600/https://vitalik.eth.limo/general/2022/08/04/zkevm.html) + +[^19]: Based preconfirmations https://ethresear.ch/t/based-preconfirmations/17353, [[archived]](https://ethresear.ch/t/based-preconfirmations/17353) + +[^20]: Execution Tickets research page https://ethresear.ch/t/execution-tickets/17944, [[archived]](https://web.archive.org/web/20240401205945/https://ethresear.ch/t/execution-tickets/17944) + +[^21]: Inclusion lists https://eips.ethereum.org/EIPS/eip-7547, [[archived]](https://web.archive.org/web/20240309191147/https://eips.ethereum.org/EIPS/eip-7547) + +[ethereum/EIPs github repository](https://github.com/ethereum/EIPs/tree/master#ethereum-improvement-proposals-eips) + +[Roadmap on Ethereum.org](https://ethereum.org/en/roadmap/) + +[ethroadmap.com](https://ethroadmap.com/) \ No newline at end of file From 2eff7824cd2339d072802158533d8e72f10efe27 Mon Sep 17 00:00:00 2001 From: gorondan Date: Tue, 23 Apr 2024 21:50:50 +0300 Subject: [PATCH 02/12] added high-res_1600x1596 roadmap img --- .../img/full_roadmap2024_1600x1596.webp | Bin 0 -> 139168 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/wiki/research/img/full_roadmap2024_1600x1596.webp diff --git a/docs/wiki/research/img/full_roadmap2024_1600x1596.webp b/docs/wiki/research/img/full_roadmap2024_1600x1596.webp new file mode 100644 index 0000000000000000000000000000000000000000..409cbeb5a98377f8058fbb8584ed23ba2f020d1b GIT binary patch literal 139168 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 z009610096102%=W0096107?J=02=`X0096108#(|04M Date: Wed, 24 Apr 2024 09:46:55 +0300 Subject: [PATCH 03/12] updated wordlist.txt after spell check --- wordlist.txt | 663 ++++++++++++++++++++++++++------------------------- 1 file changed, 341 insertions(+), 322 deletions(-) diff --git a/wordlist.txt b/wordlist.txt index 9ccd7625..cebac598 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -1,124 +1,69 @@ personal_ws-1.1 en 10000 utf-8 -aantop ABI -accelerometer ACD -addons -allowfullscreen -amidst -Andreas -Antonopoulos API -api's APIs -Aritra -ary ASE +Aleth +Andreas +Antonopoulos +Arbitrum +Aritra Assche Assertoor -assignees -atomicity Attacknet -attesters -attestors -autoplay -backfill +BDN +BFT +BIP +BLOBHASH +BLS +BPE Bankless Baranabé's Barnabe Barnabé -BDN Beiko Bertoni Besu -BFT -bidpool -BIP -bitrate -bitwise -BLOBHASH -blockchain -blockchain's -blockchains -blockquotes -blocksize -bloXroute -bloXroute's -BLS +Bezout’s Boneh -bool -borderless -broadcasted Buterin Buterin's -bypassability -bytecode -calldata +CODECOPY +CPUs +CRS Carb -cartelization Casper -cdots -centralisation -centric -chainId Challanges -cli -cmd +Charmes CoC -codebase -codebases -CODECOPY -config -congestions Consensys Corbellini Crypto -cryptocurrencies -cryptocurrency -cryptoeconomic -cryptoeconomically -cryptoeconomics -cryptographic -cryptographically Cryptopedia -cryptosystem -cybersecurity Cypherpunks -Daemen D'Amato +DAS +DEX +DILITHIUM +DSA +DVT +Daemen Dankrad -danksharding Danno Dany -dapp -dapps -DAS -dataset DeFi Degatchi -delegator -delegators -deliverables Dencun -deployer Desmos -dev Devcon -devnet -devnets Devops -devp Devs Diffie -DILITHIUM -discv -distro -docsify Domothy +Dracorn Dragan Driscoll -DSA -DVT EB ECADD ECC @@ -127,310 +72,454 @@ ECDSA's ECMUL ECPAIRING ECRECOVER -Edgington -Edgington's EF -efd -eg -eigenlayer EIP EIPs -eK EL -Elmore ELs -Encodings -env EOA EOAs EOF EOY -eP -ePBS EPF EPFsg -Ephemery EPS -epubs ERC ERCs +EVM +EVM's +EVMONE +EVMs +Edgington +Edgington's +EigenLayer's +Elmore +Encodings +Ephemery Erigon -estimateGas -eth Ethereum Ethereum's -ethers -ethresear -ethresearch -EVM -evmlab -EVMONE -EVM's -excalidraw -exchangeTransitionConfigurationV Explainer Extractable +FOSS Feist Femboy Ferrin -finalise Flashbot's Flashbots Flashboys Flashloans Forkchoice -forkchoiceUpdatedV Forky -FOSS -frameborder Francesco -frontend -fullscreen Fullstack -func -fuzzer FuzzyVM GasLimit Gasper -gasPrice -gasUsed Georgios -geth -getPayloadBodiesByHashV -getPayloadV -getters -ghost Gilles +Golang +Goldwasser Goomy Goron Gorondan -gpg Grafana +Grandine Guillaume -hoc +HSP Holesky Hsiao -HSP Hulsing Hyperledger -ics -iframe -ify -impera -implementers -incentivize -inevitableeth -infrastracture -Infura -init -InsertCoin -interop +Hyperplonk +IOP IPC ISA -Jitsi -js +Infura +InsertCoin JSON JUMPDEST JVM +Jitsi +KEM +KYBER +KZG +KZGCommitment +KZGProof Karapetsas Katex -keccak Keccak's -keecak -KEM Kira Kleppmann Koblitz Kurtosis -KYBER -KZG -KZGCommitment -KZGProof +LLM +LLMs +LMD +LST Lamport Lamport's Lefteris -libp -lifecycle Lightclient Lightclient's -liveness -LLM -LLMs -lmd -LMD Longrightarrow -LST +Lookahead Lua LuaVM Lyubashevsky -mainnet -Mário -mathbb MDS -meldsun -mem -Mempool -Menezes -Merkle -Merkleization -Merkleize MEV -mevboost -Michaël -mload MMPTs MODEXP -modularity -Monnot -mortem +MPC MPT MSIZE -mstore MUL MVE -mvepbs -Nagu -namespace -namespaces -Nand -natively -neuder -newPayloadV -Nethermind +Mana +Mempool +Menezes +Merkle +Merkleization +Merkleize +Michaël +Monnot +Murr +Mário NFT NIST NIST's NOXX -n't -Occhipinti +Nagu +Nand +Nethermind +Nim OFAC -offsites -onboarding -onchain -Oorschot -OpenRPC -OpenZeppelin OQS -orderflows OSI OSI's -Parametrizing -params -Pari -Parithosh -Pectra -PeerDAS -Peeters -pepc -pepc's -permissionless -permissionlessness -PGA -Pilipovic -Playdate -pmod +Occhipinti +Offchain +Oorschot +OpenRPC +OpenZeppelin +PGA POC POS -Potuz's +POV PQ PQC PQCA +PRs +PSE +PSE's +PUSHX +Parallelization +Parametrizing +Pari +Parithosh +Pectra +PeerDAS +Peeters +Pilipovic +Playdate +Potuz's +Preconfers +Prest +Prover's +Provers +Prysm +Prysmatic +Pyspec +RANDAO +README +RIPEMD +RLP +RPC +RPCs +RSA +RSA's +Rareskills +Reth +Ritchie +SECG +SELFDESTRUCT +SHA +SLOAD +SNARKify +SPHINCS +SSF +SSLE +SSTORE +SSZ +Schocken +Schwabe +Sepolia +Shafu +ShareAlike +Shead +Shimon +Shor +Shor's +Siddharth +Silkwarm +Silverman +Sipser +Stallman +StateDB +StreamEth +Summa +TODO +TPS +TSTORE +Takenobu +Tani +Teku +Tetris +TrustLook +UX +Unbundling +Unformatted +VB's +VDFs +VM +Vadim +Vanstone +Verkle +Victorio +Vitalik +Vitalik's +Vyper +WIP +WSS +WebRTC +Whitepaper +XMSS +XORed +Xatu +Yellowpaper +ZKSNARK +ZKSNARKs +Zaverucha +Zksync +aantop +accelerometer +addons +allowfullscreen +amidst +api's +ary +assignees +atomicity +attesters +attestors +autoplay +backfill +bidpool +bilinear +bilinearity +bitrate +bitwise +bloXroute +bloXroute's +blockchain +blockchain's +blockchains +blockquotes +blocksize +bool +borderless +broadcasted +bypassability +bytecode +calldata +cartelization +cdot +cdots +centralisation +centric +chainId +cli +cmd +codebase +codebases +config +congestions +cryptocurrencies +cryptocurrency +cryptoeconomic +cryptoeconomically +cryptoeconomics +cryptographic +cryptographically +cryptosystem +cybersecurity +danksharding +dapp +dapps +dataset +delegator +delegators +deliverables +deployer +dev +devnet +devnets +devp +discv +distro +docsify +dotnet +dx +eK +eP +ePBS +efd +eg +eigenlayer +env +epubs +estimateGas +eth +ethers +ethresear +ethresearch +ethroadmap +evmlab +excalidraw +exchangeTransitionConfigurationV +finalise +forkchoiceUpdatedV +frac +frameborder +frontend +fullscreen +func +fuzzer +gasPrice +gasUsed +getPayloadBodiesByHashV +getPayloadV +geth +getters +ghost +gpg +hackmd +hoc +homomorphic +ics +iframe +ify +impera +implementers +incentivize +incentivized +incentivizes +inevitableeth +infrastracture +init +intermediation +interop +js +keccak +keecak +ldots +libp +lifecycle +liveness +lmd +lookahead +mainnet +mathbb +meldsun +mem +mevboost +mload +modularity +moduli +mortem +mstore +mvepbs +n't +namespace +namespaces +natively +neq +neuder +newPayloadV +offsites +onboarding +onchain +orderflows +orgs +params +pepc +pepc's +permissionless +permissionlessness +pmod pre precompile precompiled precompiles +preconf +preconfed +preconfer +preconfer's +preconfers +preconfirm +preconfirmation preconfirmations +preconfirmed +preconfirms +preconfs preimage -Prest privateKey probabilistically programmability proto -PRs -Prysm +prover ptc -PUSHX py -Pyspec pytest qubits +rK radix rahul -RANDAO -Rareskills -README referrerpolicy repo responder restaking retesteth -Reth revm -RIPEMD -Ritchie -rK -RLP +rightarrow roadmap rollup rollup's rollups -RPC -RPCs -RSA -RSA's runtime scalability scalable schemas -Schocken -Schwabe -SECG secp -SELFDESTRUCT sexualized -SHA shadowfork -Shafu sharding -ShareAlike -Shead -Shimon -Shor -Shor's -Siddharth -Silverman -Sipser -SLOAD smlXL -SNARKify socio solvm -SPHINCS -SSF -SSLE -SSTORE sstorge -SSZ stakers -Stallman -StateDB -stateful stateRoot +stateful stf -StreamEth suboptimal systemd -Takenobu -Tani tbhl -Teku testnet -Tetris textnormal timeframe tldr -TODO -TPS tracoor tradeoff tradeoffs @@ -441,89 +530,19 @@ trilemma trustless trustlessly trustlessness -TrustLook -TSTORE txpool txs -Unbundling underbrace -Unformatted +unguessable upstreamed utils -Vadim validator validators -Vanstone -VDFs -Verkle +verifier +verifiers verkled -Victorio -Vitalik -VM -Vyper walkthrough webkit -WebRTC -Whitepaper -WIP -WSS -Xatu -XMSS -XORed xy -Yellowpaper zk -Lookahead -Zksync -incentivized -lookahead -preconf -preconfer -preconfirm -preconfirmation -preconfirmed -preconfirms -DEX -EigenLayer's -Preconfers -incentivizes -intermediation -preconfed -preconfer's -preconfers -preconfirmation -preconfirmed -preconfs -Bezout’s -CPUs -CRS -Dracorn -Goldwasser -Hyperplonk -IOP -MPC -POV -PSE -PSE's -Prover's -Provers -Summa -ZKSNARK -ZKSNARKs -Zaverucha -bilinear -bilinearity -cdot -dx -frac -homomorphic -ldots -moduli -neq -prover -rightarrow -unguessable -verifier -verifiers -Parallelization -Murr +zkEVMs \ No newline at end of file From 6e7e615d8f83831cc5f646366cb1dd9c28ec22fa Mon Sep 17 00:00:00 2001 From: gorondan Date: Mon, 29 Apr 2024 10:53:29 +0300 Subject: [PATCH 04/12] added track&topic collumns ; added Scourge implemented; Scourge ePBS --- docs/wiki/research/roadmap.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 68ece412..ca49c220 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -57,13 +57,27 @@ Upgrades related to scalability by Roll-ups and Data Sharding. | Removing Rollup Training Wheels | (i) Optimistic Rollup Fault Provers
(ii) ZK-EVMs
(iii) Rollup interoperability | (i) Optimistic rollups having live proof systems will address the L2's censorship risk
(ii) Massive improvements to Ethereum's scalability and privacy without sacrificing the security and decentralization aspects of the chain via zkEVMs (EVM-compatible virtual machines that supports zero-knowledge proof computation)
(iii) L1 Sequencers, or Ethereum L1 proposers with given rollup sequencing rights will bring better credible-neutrality and security, and offer roll-ups L1 compatibility | in research
(i)Arbitrum BoLD[^14]
Optimism Cannon[^15]
(ii) ZK-EVMs [^16] [^17] [^18]
(iii) Based preconfs[^19]
ET[^20] | | Quantum-safe and Trusted-Setup-Free Commitments | replace KZG commitments with commitments that don't require a trusted setup and are quantum safe | Quantum-safe Commitments | in research
| - ### the Scourge -Upgrades related to censorship resistance, decentralization and mitigating protocol risks from MEV. +Upgrades related to censorship resistance, decentralization and mitigating protocol risks from MEV and liquid staking/pooling. + +**IMPLEMENTED** +| Upgrade | Track | Topic | Description | Effect | State of the art | +| :-------- | :-------: | :-------------------------------: | :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------- | +| MEV-Boost | MEV-Track | Endgame Block Production Pipeline | Extra-protocol MEV markets | Ethereum community successfully commoditized MEV (partially), via an extra-protocol market. The majority of MEV goes now to Validators. | [shipped](/wiki/research/PBS/mev-boost.md)
| + +**TODO** + +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :------ | :-------: | :-------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | +| ePBS | MEV-Track | Endgame Block Production Pipeline | Enshrinement of block Proposer and block Builder separation at protocol level, because of anti-censorship and MEV risk mitigation reasons | (i) creates opportunities to prevent transaction censorship at the protocol level
(ii) prevents hobbyist validators from being out-competed by institutional players that can better optimize the profitability of their block building
(iii) helps with scaling Ethereum by enabling the Danksharding upgrades | [in research](/wiki/research/PBS/ePBS.md)[^21]
| ### the Verge Upgrades related to verifying blocks more easily +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :------ | :---: | :---: | :---------: | :-------------: | :--------------- | +| | | | | | | + ### the Purge Upgrades related to reducing the computational costs of running nodes and simplifying the protocol @@ -111,10 +125,14 @@ Other upgrades that don't fit well into the previous categories. [^20]: Execution Tickets research page https://ethresear.ch/t/execution-tickets/17944, [[archived]](https://web.archive.org/web/20240401205945/https://ethresear.ch/t/execution-tickets/17944) -[^21]: Inclusion lists https://eips.ethereum.org/EIPS/eip-7547, [[archived]](https://web.archive.org/web/20240309191147/https://eips.ethereum.org/EIPS/eip-7547) +[^21]: Barnabe - More pictures about proposers and builders https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ, [[archived]](https://web.archive.org/web/20240424010902/https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ) + +[^200]: Inclusion lists https://eips.ethereum.org/EIPS/eip-7547, [[archived]](https://web.archive.org/web/20240309191147/https://eips.ethereum.org/EIPS/eip-7547) [ethereum/EIPs github repository](https://github.com/ethereum/EIPs/tree/master#ethereum-improvement-proposals-eips) [Roadmap on Ethereum.org](https://ethereum.org/en/roadmap/) -[ethroadmap.com](https://ethroadmap.com/) \ No newline at end of file +[ethroadmap.com](https://ethroadmap.com/) + +[Herc’s substack article on Ethereum roadmap](https://herccc.substack.com/p/the-ethereum-roadmap#%C2%A7relevant-researchproposals) \ No newline at end of file From 678b95a084a34ae667593b627eb6089374041c95 Mon Sep 17 00:00:00 2001 From: gorondan Date: Fri, 3 May 2024 22:43:15 +0300 Subject: [PATCH 05/12] fixed links for correct epf.wiki file route --- docs/wiki/research/roadmap.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 00abec53..99c2e2c3 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -10,16 +10,16 @@ Even though there is no official roadmap and no authority which could dictate it ## Core R&D -The discussion, resources and all research and development on the core protocol is fully open, free and public. Anyone can learn about it (as you are probably doing in this wiki) and further more, anyone can participate. There is no set of individuals which could push core protocol changes, the Ethereum community can raise the voice to help steer the discussion. To learn more about the core R&D shaping the protocol, read the [wiki page about it](/wiki/dev/core-development.md). +The discussion, resources and all research and development on the core protocol is fully open, free and public. Anyone can learn about it (as you are probably doing in this wiki) and further more, anyone can participate. There is no set of individuals which could push core protocol changes, the Ethereum community can raise the voice to help steer the discussion. To learn more about the core R&D shaping the protocol, read the [wiki page about it](../dev/core-development.md). ## Roadmap overview While there is not a single roadmap that Ethereum development follows, we can track the current R&D efforts to map what changes are happening and might happen in the future. A popular overview mapping many domains of the current core research and development is Vitalik's chart (December 2023): -![Ethereum roadmap updated by V.B. Dec2023](/docs/wiki/research/img/full_roadmap2024_1600x1596.webp) +![Ethereum roadmap updated by V.B. Dec2023](./img/full_roadmap2024_1600x1596.webp) -In this overview, different domains are coupled to related categories forming various 'urges'. Many of these boxes are have their own page on this wiki where you can study more. +In this overview, different domains are coupled to related categories forming various 'urges'. Many of these boxes have their own page on this wiki where you can study more. ### The Merge From 824aab8da44fe1911d2ef7fae2be50331f7b3166 Mon Sep 17 00:00:00 2001 From: gorondan Date: Sun, 5 May 2024 21:25:07 +0300 Subject: [PATCH 06/12] fixed epf.wiki file routing; Scourge-MEV Track final --- docs/wiki/research/roadmap.md | 57 ++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 99c2e2c3..e8343d11 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -10,14 +10,14 @@ Even though there is no official roadmap and no authority which could dictate it ## Core R&D -The discussion, resources and all research and development on the core protocol is fully open, free and public. Anyone can learn about it (as you are probably doing in this wiki) and further more, anyone can participate. There is no set of individuals which could push core protocol changes, the Ethereum community can raise the voice to help steer the discussion. To learn more about the core R&D shaping the protocol, read the [wiki page about it](../dev/core-development.md). +The discussion, resources and all research and development on the core protocol is fully open, free and public. Anyone can learn about it (as you are probably doing in this wiki) and further more, anyone can participate. There is no set of individuals which could push core protocol changes, the Ethereum community can raise the voice to help steer the discussion. To learn more about the core R&D shaping the protocol, read the [wiki page about it](/wiki/dev/core-development.md). ## Roadmap overview While there is not a single roadmap that Ethereum development follows, we can track the current R&D efforts to map what changes are happening and might happen in the future. A popular overview mapping many domains of the current core research and development is Vitalik's chart (December 2023): -![Ethereum roadmap updated by V.B. Dec2023](./img/full_roadmap2024_1600x1596.webp) +![Ethereum roadmap updated by V.B. Dec2023](/wiki/research/img/full_roadmap2024_1600x1596.webp) In this overview, different domains are coupled to related categories forming various 'urges'. Many of these boxes have their own page on this wiki where you can study more. @@ -26,11 +26,11 @@ In this overview, different domains are coupled to related categories forming va Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge was successfully achieved at Thu Sep 15 06:42:42 2022 UTC, reducing the network's annualized electricity consumption by more than 99.988%. However, this category also tracks subsequent upgrades which can be done to improve the consensus mechanism and smooth issues we encounter after The Merge. **IMPLEMENTED** -| Upgrade | Description | Effect | State of the art | -| :----------------------------------- | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------- | -| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | -| Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | -| Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | +| Upgrade | Description | Effect | State of the art | +| :----------------------------------- | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | +| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | +| Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | +| Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | **TODO** | Upgrade | Description | Expected effect | State of the art | @@ -48,12 +48,12 @@ Upgrades related to scalability by Roll-ups and Data Sharding. | Proto-danksharding | We can stop storing Rollup data permanently on Ethereum and move the data into a temporary 'blob' storage that gets deleted from Ethereum once is no longer needed | Reduced transaction costs | shipped
EIP-4844[^12] | **TODO** -| Upgrade | Description | Expected effect | State of the art | -| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------- | -| Danksharding | Danksharding is the full realization of the rollup scaling that began with Proto-Danksharding | Massive amounts of space on Ethereum for rollups to dump their compressed transaction data | in research
| -| Data Availability Sampling (DAS) | Data Availability Sampling is a way for the network to check that data is available without putting too much strain on any individual node | (i) ensure rollup operators make their transaction data available after EIP-4844 (ii) ensure block producers are making all their data available to secure light clients (iii) under proposer-builder separation, only the block builder would be required to process an entire block, other validators would verify using data availability sampling | in research
EIP-7594[^13] | -| Removing Rollup Training Wheels | (i) Optimistic Rollup Fault Provers
(ii) ZK-EVMs
(iii) Rollup interoperability | (i) Optimistic rollups having live proof systems will address the L2's censorship risk
(ii) Massive improvements to Ethereum's scalability and privacy without sacrificing the security and decentralization aspects of the chain via zkEVMs (EVM-compatible virtual machines that supports zero-knowledge proof computation)
(iii) L1 Sequencers, or Ethereum L1 proposers with given rollup sequencing rights will bring better credible-neutrality and security, and offer roll-ups L1 compatibility | in research
(i)Arbitrum BoLD[^14]
Optimism Cannon[^15]
(ii) ZK-EVMs [^16] [^17] [^18]
(iii) Based preconfs[^19]
ET[^20] | -| Quantum-safe and Trusted-Setup-Free Commitments | replace KZG commitments with commitments that don't require a trusted setup and are quantum safe | Quantum-safe Commitments | in research
| +| Upgrade | Description | Expected effect | State of the art | +| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Danksharding | Danksharding is the full realization of the rollup scaling that began with Proto-Danksharding | Massive amounts of space on Ethereum for rollups to dump their compressed transaction data | in research
| +| Data Availability Sampling (DAS) | Data Availability Sampling is a way for the network to check that data is available without putting too much strain on any individual node | (i) ensure rollup operators make their transaction data available after EIP-4844 (ii) ensure block producers are making all their data available to secure light clients (iii) under proposer-builder separation, only the block builder would be required to process an entire block, other validators would verify using data availability sampling | in research
EIP-7594[^13] | +| Removing Rollup Training Wheels | (i) Optimistic Rollup Fault Provers
(ii) ZK-EVMs
(iii) Rollup interoperability | (i) Optimistic rollups having live proof systems will address the L2's censorship risk
(ii) Massive improvements to Ethereum's scalability and privacy without sacrificing the security and decentralization aspects of the chain via zkEVMs (EVM-compatible virtual machines that supports zero-knowledge proof computation)
(iii) L1 Sequencers, or Ethereum L1 proposers with given rollup sequencing rights will bring better credible-neutrality and security, and offer roll-ups L1 compatibility | in research
(i)Arbitrum BoLD[^14]
Optimism Cannon[^15]
(ii) ZK-EVMs [^16] [^17] [^18]
(iii) [ET](/wiki/research/PBS/ET.md),
[Based Sequencing with Preconfirmations](/wiki/research/Preconfirmations/BasedSequencingPreconfs.md) | +| Quantum-safe and Trusted-Setup-Free Commitments | replace KZG commitments with commitments that don't require a trusted setup and are quantum safe | Quantum-safe Commitments | in research
| ### the Scourge Upgrades related to censorship resistance, decentralization and mitigating protocol risks from MEV and liquid staking/pooling. @@ -65,9 +65,15 @@ Upgrades related to censorship resistance, decentralization and mitigating proto **TODO** -| Upgrade | Track | Topic | Description | Expected effect | State of the art | -| :------ | :-------: | :-------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | -| ePBS | MEV-Track | Endgame Block Production Pipeline | Enshrinement of block Proposer and block Builder separation at protocol level, because of anti-censorship and MEV risk mitigation reasons | (i) creates opportunities to prevent transaction censorship at the protocol level
(ii) prevents hobbyist validators from being out-competed by institutional players that can better optimize the profitability of their block building
(iii) helps with scaling Ethereum by enabling the Danksharding upgrades | [in research](/wiki/research/PBS/ePBS.md)[^21]
| +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :--------------------------------- | :-------: | :-------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------- | +| ePBS | MEV-Track | Endgame Block Production Pipeline | Enshrinement of block Proposer and block Builder separation at protocol level, because of anti-censorship and MEV risk mitigation reasons | (i) creates opportunities to prevent transaction censorship at the protocol level
(ii) prevents hobbyist validators from being out-competed by institutional players that can better optimize the profitability of their block building
(iii) helps with scaling Ethereum by enabling the Danksharding upgrades | [in research](/wiki/research/PBS/ePBS.md)[^19]
| +| MEV - Burn | MEV-Track | Endgame Block Production Pipeline | A simple enshrined PBS add-on to smooth and redistribute MEV spikes | The extracted ETH would be burned, therefore benefiting all ETH holders, rather than only those running validators. | [in research](/wiki/research/PBS/ePBS.md#mev-burn)[^20] | +| ET | MEV-Track | Endgame Block Production Pipeline | A permissionless market allowing buyers to purchase the right to propose execution payloads. | Attester - Proposer separation: the beacon proposer is unconcerned with execution proposer. Execution proposer is selected from the permissionless execution tickets market and has the option to transfer the execution building right to a third party.
Since ET market will be a protocol gadget, the protocol will have introspection over who comes to market and how much they are willing to pay | [ET](/wiki/research/PBS/ET.md),
APS-Burn[^21] | +| IL | MEV-Track | Endgame Block Production Pipeline | Inclusion lists - a way for the most decentralized set of Ethereum to fight censorship by inputing their preferences onto the construction of the chain | Prevents block builders from censoring blocks. Allow Proposers to retain some authority by providing a mechanism by which transactions can be forcibly included, avoiding the current situation, when without any forced transaction inclusion mechanism, the proposer is faced with the choice of either having to say no, on the transactions that get included, or they build the block locally (having the final say on transactions) and sacrifice some MEV rewards | [in research](/wiki/research/inclusion-lists.md)[^22]
Multiplicity gadgets [^23]
COMIS [^24] | +| Distributed Block Building | MEV-Track | Endgame Block Production Pipeline | Decentralize the block building process, by distributing it | Decentralize different parts of the Builder:
(i) the algorithms for choosing transactions (the block building transaction ordering)
(ii) resources for block construction, especially under full Danksharding (split-up big blocks)
(iii) add extra builder services (e.g.Preconfirmations) | in research
[Preconfirmations](/wiki/research/Preconfirmations/Preconfirmations.md),
SUAVE[^25] | +| Application Layer MEV Minimization | MEV-Track | - | App layer effort to minimize harmful MEV | The minimization techniques target:
(i) frontrunning, and
(ii) sandwich attacks | Examples[^26] | +| Preconfirmations | MEV-Track | - | Users preconfirmations on transaction execution, for a competitive user experience in Ethereum interactions | Block builders could publicly agree to include transactions with a priority fee over a certain amount, and send users a receipt indicating their intent to include the transaction in a specific block | [in research](/wiki/research/Preconfirmations/Preconfirmations.md)[^27] | ### the Verge Upgrades related to verifying blocks more easily @@ -119,13 +125,23 @@ Other upgrades that don't fit well into the previous categories. [^18]: Types of ZK-EVMs https://vitalik.eth.limo/general/2022/08/04/zkevm.html, [[archived]](https://web.archive.org/web/20240329112600/https://vitalik.eth.limo/general/2022/08/04/zkevm.html) -[^19]: Based preconfirmations https://ethresear.ch/t/based-preconfirmations/17353, [[archived]](https://ethresear.ch/t/based-preconfirmations/17353) +[^19]: Barnabe - More pictures about proposers and builders https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ, [[archived]](https://web.archive.org/web/20240424010902/https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ) -[^20]: Execution Tickets research page https://ethresear.ch/t/execution-tickets/17944, [[archived]](https://web.archive.org/web/20240401205945/https://ethresear.ch/t/execution-tickets/17944) +[^20]: MEV burn—a simple design https://ethresear.ch/t/mev-burn-a-simple-design/15590, [[archived]](https://ethresear.ch/t/mev-burn-a-simple-design/15590) -[^21]: Barnabe - More pictures about proposers and builders https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ, [[archived]](https://web.archive.org/web/20240424010902/https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ) +[^21]: APS-Burn https://mirror.xyz/barnabe.eth/QJ6W0mmyOwjec-2zuH6lZb0iEI2aYFB9gE-LHWIMzjQ#heading-aps-burn -[^200]: Inclusion lists https://eips.ethereum.org/EIPS/eip-7547, [[archived]](https://web.archive.org/web/20240309191147/https://eips.ethereum.org/EIPS/eip-7547) +[^22]: Inclusion lists https://eips.ethereum.org/EIPS/eip-7547, [[archived]](https://web.archive.org/web/20240309191147/https://eips.ethereum.org/EIPS/eip-7547) + +[^23]: ROP-9: Multiplicity gadgets https://efdn.notion.site/ROP-9-Multiplicity-gadgets-for-censorship-resistance-7def9d354f8a4ed5a0722f4eb04ca73b + +[^24]: Committee-enforced inclusion sets (COMIS) https://ethresear.ch/t/the-more-the-less-censored-introducing-committee-enforced-inclusion-sets-comis-on-ethereum/18835, [[archived]](https://web.archive.org/web/20240310000045/https://ethresear.ch/t/the-more-the-less-censored-introducing-committee-enforced-inclusion-sets-comis-on-ethereum/18835) + +[^25]: SUAVE https://writings.flashbots.net/the-future-of-mev-is-suave, [[archived]](https://writings.flashbots.net/the-future-of-mev-is-suave) + +[^26]: Examples of app layer MEV minimization https://herccc.substack.com/i/142947825/examples-of-the-defensive-side-of-mev + +[^27]: Based preconfirmations https://ethresear.ch/t/based-preconfirmations/17353, [[archived]](https://ethresear.ch/t/based-preconfirmations/17353) [ethereum/EIPs github repository](https://github.com/ethereum/EIPs/tree/master#ethereum-improvement-proposals-eips) @@ -133,4 +149,3 @@ Other upgrades that don't fit well into the previous categories. [ethroadmap.com](https://ethroadmap.com/) -[Herc’s substack article on Ethereum roadmap](https://herccc.substack.com/p/the-ethereum-roadmap#%C2%A7relevant-researchproposals) From 1615dd0105475a3461bb442d8a8c9934a8db1208 Mon Sep 17 00:00:00 2001 From: gorondan Date: Sun, 5 May 2024 22:17:20 +0300 Subject: [PATCH 07/12] added Track & Topic collumns retroactively to all URGES --- docs/wiki/research/roadmap.md | 41 ++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index e8343d11..8e70ed96 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -26,34 +26,35 @@ In this overview, different domains are coupled to related categories forming va Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge was successfully achieved at Thu Sep 15 06:42:42 2022 UTC, reducing the network's annualized electricity consumption by more than 99.988%. However, this category also tracks subsequent upgrades which can be done to improve the consensus mechanism and smooth issues we encounter after The Merge. **IMPLEMENTED** -| Upgrade | Description | Effect | State of the art | -| :----------------------------------- | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | -| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | -| Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | -| Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :----------------------------------- | :---: | :---------: | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | +| Launch the Beacon Chain | - | Merge | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | +| Merge Execution and Consensus Layers | - | Merge | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | +| Enable Withdrawals | - | Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | **TODO** -| Upgrade | Description | Expected effect | State of the art | -| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------- | -| Single slot finality (SSF) | Blocks could be proposed and finalized in the same slot | (i) more convenient for apps (transactions finalization time improved by an order of magnitude, i.e. 12 seconds instead of 12 minutes means better UX for all), (ii) much more difficult to attack (multi block MEV re-orgs can be eliminated and the complexity in consensus mechanism, reduced) | in research
(i) VB's SSF notes[^4]
(ii) 8192 signatures post-SSF[^5]
(iii) simple SSF protocol[^6] | -| Single Secret Leader Election (SSLE) | Allow elected block proposers to remain private until block publishing, to prevent DoS attacks | Only the selected validator knows it has been selected to propose a block. | in research
EIP-7441[^7] | -| Enable more Validators | The technical challenge of efficiently coordinating an ever increasing number of validators to achieve SSF with the best trade-offs possible | Greater redundancy, a broader range of proposers, a wider array of attesters, and overall increased resilience | in research
(i) EIP-7514[^8]
(ii) EIP-7251[^9]
(iii) 8192 signatures[^5] | -| Quantum-safe signatures | Proactive research and integration of quantum-resistant cryptographic algorithms | Quantum-safe, aggregation-friendly signatures will enhance protocol security against quantum attacks | in research
(i) lattice-based[^10]
(ii) STARK-based [^11] systems | +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :----------------------------------- | :---: | :----------------------: | :------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------- | +| | | | | | +| Single slot finality (SSF) | - | Increase validator count | Blocks could be proposed and finalized in the same slot | (i) more convenient for apps (transactions finalization time improved by an order of magnitude, i.e. 12 seconds instead of 12 minutes means better UX for all), (ii) much more difficult to attack (multi block MEV re-orgs can be eliminated and the complexity in consensus mechanism, reduced) | in research
(i) VB's SSF notes[^4]
(ii) 8192 signatures post-SSF[^5]
(iii) simple SSF protocol[^6] | +| Single Secret Leader Election (SSLE) | - | - | Allow elected block proposers to remain private until block publishing, to prevent DoS attacks | Only the selected validator knows it has been selected to propose a block. | in research
EIP-7441[^7] | +| Enable more Validators | - | Increase validator count | The technical challenge of efficiently coordinating an ever increasing number of validators to achieve SSF with the best trade-offs possible | Greater redundancy, a broader range of proposers, a wider array of attesters, and overall increased resilience | in research
(i) EIP-7514[^8]
(ii) EIP-7251[^9]
(iii) 8192 signatures[^5] | +| Quantum-safe signatures | - | - | Proactive research and integration of quantum-resistant cryptographic algorithms | Quantum-safe, aggregation-friendly signatures will enhance protocol security against quantum attacks | in research
(i) lattice-based[^10]
(ii) STARK-based [^11] systems | ### the Surge Upgrades related to scalability by Roll-ups and Data Sharding. **IMPLEMENTED** -| Upgrade | Description | Expected effect | State of the art | -| :----------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------: | :------------------------- | -| Proto-danksharding | We can stop storing Rollup data permanently on Ethereum and move the data into a temporary 'blob' storage that gets deleted from Ethereum once is no longer needed | Reduced transaction costs | shipped
EIP-4844[^12] | +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :----------------- | :---: | :------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------: | :------------------------- | +| Proto-danksharding | - | Basic rollup scaling | We can stop storing Rollup data permanently on Ethereum and move the data into a temporary 'blob' storage that gets deleted from Ethereum once is no longer needed | Reduced transaction costs | shipped
EIP-4844[^12] | **TODO** -| Upgrade | Description | Expected effect | State of the art | -| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Danksharding | Danksharding is the full realization of the rollup scaling that began with Proto-Danksharding | Massive amounts of space on Ethereum for rollups to dump their compressed transaction data | in research
| -| Data Availability Sampling (DAS) | Data Availability Sampling is a way for the network to check that data is available without putting too much strain on any individual node | (i) ensure rollup operators make their transaction data available after EIP-4844 (ii) ensure block producers are making all their data available to secure light clients (iii) under proposer-builder separation, only the block builder would be required to process an entire block, other validators would verify using data availability sampling | in research
EIP-7594[^13] | -| Removing Rollup Training Wheels | (i) Optimistic Rollup Fault Provers
(ii) ZK-EVMs
(iii) Rollup interoperability | (i) Optimistic rollups having live proof systems will address the L2's censorship risk
(ii) Massive improvements to Ethereum's scalability and privacy without sacrificing the security and decentralization aspects of the chain via zkEVMs (EVM-compatible virtual machines that supports zero-knowledge proof computation)
(iii) L1 Sequencers, or Ethereum L1 proposers with given rollup sequencing rights will bring better credible-neutrality and security, and offer roll-ups L1 compatibility | in research
(i)Arbitrum BoLD[^14]
Optimism Cannon[^15]
(ii) ZK-EVMs [^16] [^17] [^18]
(iii) [ET](/wiki/research/PBS/ET.md),
[Based Sequencing with Preconfirmations](/wiki/research/Preconfirmations/BasedSequencingPreconfs.md) | -| Quantum-safe and Trusted-Setup-Free Commitments | replace KZG commitments with commitments that don't require a trusted setup and are quantum safe | Quantum-safe Commitments | in research
| +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :---------------------------------------------- | :---: | :-------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Danksharding | - | Full rollup scaling | Danksharding is the full realization of the rollup scaling that began with Proto-Danksharding | Massive amounts of space on Ethereum for rollups to dump their compressed transaction data | in research
| +| Data Availability Sampling (DAS) | - | Full rollup scaling | Data Availability Sampling is a way for the network to check that data is available without putting too much strain on any individual node | (i) ensure rollup operators make their transaction data available after EIP-4844 (ii) ensure block producers are making all their data available to secure light clients (iii) under proposer-builder separation, only the block builder would be required to process an entire block, other validators would verify using data availability sampling | in research
EIP-7594[^13] | +| Removing Rollup Training Wheels | - | Basic & Full rollup scaling | (i) Optimistic Rollup Fault Provers
(ii) ZK-EVMs
(iii) Rollup interoperability | (i) Optimistic rollups having live proof systems will address the L2's censorship risk
(ii) Massive improvements to Ethereum's scalability and privacy without sacrificing the security and decentralization aspects of the chain via zkEVMs (EVM-compatible virtual machines that supports zero-knowledge proof computation)
(iii) L1 Sequencers, or Ethereum L1 proposers with given rollup sequencing rights will bring better credible-neutrality and security, and offer roll-ups L1 compatibility | in research
(i)Arbitrum BoLD[^14]
Optimism Cannon[^15]
(ii) ZK-EVMs [^16] [^17] [^18]
(iii) [ET](/wiki/research/PBS/ET.md),
[Based Sequencing with Preconfirmations](/wiki/research/Preconfirmations/BasedSequencingPreconfs.md) | +| Quantum-safe and Trusted-Setup-Free Commitments | - | - | replace KZG commitments with commitments that don't require a trusted setup and are quantum safe | Quantum-safe Commitments | in research
| ### the Scourge Upgrades related to censorship resistance, decentralization and mitigating protocol risks from MEV and liquid staking/pooling. From 9b3ba6264300839c32640b73648685248604cfc5 Mon Sep 17 00:00:00 2001 From: gorondan Date: Sun, 5 May 2024 22:26:15 +0300 Subject: [PATCH 08/12] fixed typos; updated wordlist --- docs/wiki/research/roadmap.md | 2 +- wordlist.txt | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 8e70ed96..8f5f2430 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -71,7 +71,7 @@ Upgrades related to censorship resistance, decentralization and mitigating proto | ePBS | MEV-Track | Endgame Block Production Pipeline | Enshrinement of block Proposer and block Builder separation at protocol level, because of anti-censorship and MEV risk mitigation reasons | (i) creates opportunities to prevent transaction censorship at the protocol level
(ii) prevents hobbyist validators from being out-competed by institutional players that can better optimize the profitability of their block building
(iii) helps with scaling Ethereum by enabling the Danksharding upgrades | [in research](/wiki/research/PBS/ePBS.md)[^19]
| | MEV - Burn | MEV-Track | Endgame Block Production Pipeline | A simple enshrined PBS add-on to smooth and redistribute MEV spikes | The extracted ETH would be burned, therefore benefiting all ETH holders, rather than only those running validators. | [in research](/wiki/research/PBS/ePBS.md#mev-burn)[^20] | | ET | MEV-Track | Endgame Block Production Pipeline | A permissionless market allowing buyers to purchase the right to propose execution payloads. | Attester - Proposer separation: the beacon proposer is unconcerned with execution proposer. Execution proposer is selected from the permissionless execution tickets market and has the option to transfer the execution building right to a third party.
Since ET market will be a protocol gadget, the protocol will have introspection over who comes to market and how much they are willing to pay | [ET](/wiki/research/PBS/ET.md),
APS-Burn[^21] | -| IL | MEV-Track | Endgame Block Production Pipeline | Inclusion lists - a way for the most decentralized set of Ethereum to fight censorship by inputing their preferences onto the construction of the chain | Prevents block builders from censoring blocks. Allow Proposers to retain some authority by providing a mechanism by which transactions can be forcibly included, avoiding the current situation, when without any forced transaction inclusion mechanism, the proposer is faced with the choice of either having to say no, on the transactions that get included, or they build the block locally (having the final say on transactions) and sacrifice some MEV rewards | [in research](/wiki/research/inclusion-lists.md)[^22]
Multiplicity gadgets [^23]
COMIS [^24] | +| IL | MEV-Track | Endgame Block Production Pipeline | Inclusion lists - a way for the most decentralized set of Ethereum to fight censorship by inputting their preferences onto the construction of the chain | Prevents block builders from censoring blocks. Allow Proposers to retain some authority by providing a mechanism by which transactions can be forcibly included, avoiding the current situation, when without any forced transaction inclusion mechanism, the proposer is faced with the choice of either having to say no, on the transactions that get included, or they build the block locally (having the final say on transactions) and sacrifice some MEV rewards | [in research](/wiki/research/inclusion-lists.md)[^22]
Multiplicity gadgets [^23]
COMIS [^24] | | Distributed Block Building | MEV-Track | Endgame Block Production Pipeline | Decentralize the block building process, by distributing it | Decentralize different parts of the Builder:
(i) the algorithms for choosing transactions (the block building transaction ordering)
(ii) resources for block construction, especially under full Danksharding (split-up big blocks)
(iii) add extra builder services (e.g.Preconfirmations) | in research
[Preconfirmations](/wiki/research/Preconfirmations/Preconfirmations.md),
SUAVE[^25] | | Application Layer MEV Minimization | MEV-Track | - | App layer effort to minimize harmful MEV | The minimization techniques target:
(i) frontrunning, and
(ii) sandwich attacks | Examples[^26] | | Preconfirmations | MEV-Track | - | Users preconfirmations on transaction execution, for a competitive user experience in Ethereum interactions | Block builders could publicly agree to include transactions with a priority fee over a certain amount, and send users a receipt indicating their intent to include the transaction in a specific block | [in research](/wiki/research/Preconfirmations/Preconfirmations.md)[^27] | diff --git a/wordlist.txt b/wordlist.txt index 4c965c6a..92a883a4 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -14,6 +14,7 @@ Antonopoulos API api's APIs +APS Arbitrum Aritra ary @@ -35,6 +36,7 @@ Bankless Baranabé's Barnabe Barnabé +BDN Beiko Bertoni Besu @@ -95,6 +97,7 @@ codec CODECOPY codecs coinbase +COMIS commoditized Composability composable @@ -408,6 +411,7 @@ RANDAO README RIPEMD RLP +ROP RPC RPCs RSA @@ -596,6 +600,7 @@ interop js keccak keecak +KZG ldots libp lifecycle @@ -606,6 +611,8 @@ mainnet mathbb meldsun mem +mev +MEV mevboost mload modularity From 919fcaa744646a89b27e6c2b798ee943868835ae Mon Sep 17 00:00:00 2001 From: gorondan <97026899+gorondan@users.noreply.github.com> Date: Tue, 7 May 2024 12:25:02 +0300 Subject: [PATCH 09/12] Update docs/wiki/research/roadmap.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit rephrased enable withdrawals Co-authored-by: Mário Havel <61149543+taxmeifyoucan@users.noreply.github.com> --- docs/wiki/research/roadmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 8f5f2430..65348478 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -30,7 +30,7 @@ Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge | :----------------------------------- | :---: | :---------: | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | | Launch the Beacon Chain | - | Merge | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | | Merge Execution and Consensus Layers | - | Merge | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | -| Enable Withdrawals | - | Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | +| Enable Withdrawals | - | Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can add their withdrawal credentials and protocol continuously sweeps inactive capital from the validator set | shipped
EIP-4895[^2] | **TODO** | Upgrade | Track | Topic | Description | Expected effect | State of the art | From 4a6035a88f61d342049844d5eeb30aac318ba76b Mon Sep 17 00:00:00 2001 From: gorondan Date: Tue, 7 May 2024 13:52:42 +0300 Subject: [PATCH 10/12] updated roadmap after reviews --- docs/wiki/research/roadmap.md | 43 +++++++++++++++++------------------ 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 8f5f2430..ba1fc977 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -26,25 +26,24 @@ In this overview, different domains are coupled to related categories forming va Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge was successfully achieved at Thu Sep 15 06:42:42 2022 UTC, reducing the network's annualized electricity consumption by more than 99.988%. However, this category also tracks subsequent upgrades which can be done to improve the consensus mechanism and smooth issues we encounter after The Merge. **IMPLEMENTED** -| Upgrade | Track | Topic | Description | Expected effect | State of the art | -| :----------------------------------- | :---: | :---------: | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | -| Launch the Beacon Chain | - | Merge | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | -| Merge Execution and Consensus Layers | - | Merge | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | -| Enable Withdrawals | - | Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | +| Upgrade | Description | Effect | State of the art | +| :----------------------------------- | :-------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | +| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain was launched as an independent network connected to Ethereum, bootstraping validators in preparation for the Merge. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | +| Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | +| Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | **TODO** -| Upgrade | Track | Topic | Description | Expected effect | State of the art | -| :----------------------------------- | :---: | :----------------------: | :------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------- | -| | | | | | -| Single slot finality (SSF) | - | Increase validator count | Blocks could be proposed and finalized in the same slot | (i) more convenient for apps (transactions finalization time improved by an order of magnitude, i.e. 12 seconds instead of 12 minutes means better UX for all), (ii) much more difficult to attack (multi block MEV re-orgs can be eliminated and the complexity in consensus mechanism, reduced) | in research
(i) VB's SSF notes[^4]
(ii) 8192 signatures post-SSF[^5]
(iii) simple SSF protocol[^6] | -| Single Secret Leader Election (SSLE) | - | - | Allow elected block proposers to remain private until block publishing, to prevent DoS attacks | Only the selected validator knows it has been selected to propose a block. | in research
EIP-7441[^7] | -| Enable more Validators | - | Increase validator count | The technical challenge of efficiently coordinating an ever increasing number of validators to achieve SSF with the best trade-offs possible | Greater redundancy, a broader range of proposers, a wider array of attesters, and overall increased resilience | in research
(i) EIP-7514[^8]
(ii) EIP-7251[^9]
(iii) 8192 signatures[^5] | -| Quantum-safe signatures | - | - | Proactive research and integration of quantum-resistant cryptographic algorithms | Quantum-safe, aggregation-friendly signatures will enhance protocol security against quantum attacks | in research
(i) lattice-based[^10]
(ii) STARK-based [^11] systems | +| Upgrade | Description | Expected effect | State of the art | +| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------- | +| Single slot finality (SSF) | Blocks could be proposed and finalized in the same slot | (i) More convenient for apps (transactions finalization time improved by an order of magnitude, i.e. 12 seconds instead of 12 minutes means better UX for all. Under [full rollup scaling](#the-surge), with real-time SNARK proofs implemented, single slot finality would also mean faster bridging for L2s ), (ii) Much more difficult to attack (multi block MEV re-orgs can be eliminated and the complexity in consensus mechanism, reduced) | in research
(i) VB's SSF notes[^4]
(ii) 8192 signatures post-SSF[^5]
(iii) simple SSF protocol[^6] | +| Single Secret Leader Election (SSLE) | Allow elected block proposers to remain private until block publishing, to prevent DoS attacks | Only the selected validator knows it has been selected to propose a block. | in research
EIP-7441[^7] | +| Enable more Validators | The technical challenge of efficiently coordinating an ever increasing number of validators to achieve SSF with the best trade-offs possible | Greater redundancy, a broader range of proposers, a wider array of attesters, and overall increased resilience | in research
(i) EIP-7514[^8]
(ii) EIP-7251[^9]
(iii) 8192 signatures[^5] | +| Quantum-safe signatures | Proactive research and integration of quantum-resistant cryptographic algorithms | Quantum-safe, aggregation-friendly signatures will enhance protocol security against quantum attacks | in research
(i) lattice-based[^10]
(ii) STARK-based [^11] systems | ### the Surge Upgrades related to scalability by Roll-ups and Data Sharding. **IMPLEMENTED** -| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| Upgrade | Track | Topic | Description | Effect | State of the art | | :----------------- | :---: | :------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------: | :------------------------- | | Proto-danksharding | - | Basic rollup scaling | We can stop storing Rollup data permanently on Ethereum and move the data into a temporary 'blob' storage that gets deleted from Ethereum once is no longer needed | Reduced transaction costs | shipped
EIP-4844[^12] | @@ -66,15 +65,15 @@ Upgrades related to censorship resistance, decentralization and mitigating proto **TODO** -| Upgrade | Track | Topic | Description | Expected effect | State of the art | -| :--------------------------------- | :-------: | :-------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------- | -| ePBS | MEV-Track | Endgame Block Production Pipeline | Enshrinement of block Proposer and block Builder separation at protocol level, because of anti-censorship and MEV risk mitigation reasons | (i) creates opportunities to prevent transaction censorship at the protocol level
(ii) prevents hobbyist validators from being out-competed by institutional players that can better optimize the profitability of their block building
(iii) helps with scaling Ethereum by enabling the Danksharding upgrades | [in research](/wiki/research/PBS/ePBS.md)[^19]
| -| MEV - Burn | MEV-Track | Endgame Block Production Pipeline | A simple enshrined PBS add-on to smooth and redistribute MEV spikes | The extracted ETH would be burned, therefore benefiting all ETH holders, rather than only those running validators. | [in research](/wiki/research/PBS/ePBS.md#mev-burn)[^20] | -| ET | MEV-Track | Endgame Block Production Pipeline | A permissionless market allowing buyers to purchase the right to propose execution payloads. | Attester - Proposer separation: the beacon proposer is unconcerned with execution proposer. Execution proposer is selected from the permissionless execution tickets market and has the option to transfer the execution building right to a third party.
Since ET market will be a protocol gadget, the protocol will have introspection over who comes to market and how much they are willing to pay | [ET](/wiki/research/PBS/ET.md),
APS-Burn[^21] | +| Upgrade | Track | Topic | Description | Expected effect | State of the art | +| :--------------------------------- | :-------: | :-------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------- | +| ePBS | MEV-Track | Endgame Block Production Pipeline | Enshrinement of block Proposer and block Builder separation at protocol level, because of anti-censorship and MEV risk mitigation reasons | (i) creates opportunities to prevent transaction censorship at the protocol level
(ii) prevents hobbyist validators from being out-competed by institutional players that can better optimize the profitability of their block building
(iii) helps with scaling Ethereum by enabling the Danksharding upgrades | [in research](/wiki/research/PBS/ePBS.md)[^19]
| +| MEV - Burn | MEV-Track | Endgame Block Production Pipeline | A simple enshrined PBS add-on to smooth and redistribute MEV spikes | The extracted ETH would be burned, therefore benefiting all ETH holders, rather than only those running validators. | [in research](/wiki/research/PBS/ePBS.md#mev-burn)[^20] | +| ET | MEV-Track | Endgame Block Production Pipeline | A permissionless market allowing buyers to purchase the right to propose execution payloads. | Attester - Proposer separation: the beacon proposer is unconcerned with execution proposer. Execution proposer is selected from the permissionless execution tickets market and has the option to transfer the execution building right to a third party.
Since ET market will be a protocol gadget, the protocol will have introspection over who comes to market and how much they are willing to pay | [ET](/wiki/research/PBS/ET.md),
APS-Burn[^21] | | IL | MEV-Track | Endgame Block Production Pipeline | Inclusion lists - a way for the most decentralized set of Ethereum to fight censorship by inputting their preferences onto the construction of the chain | Prevents block builders from censoring blocks. Allow Proposers to retain some authority by providing a mechanism by which transactions can be forcibly included, avoiding the current situation, when without any forced transaction inclusion mechanism, the proposer is faced with the choice of either having to say no, on the transactions that get included, or they build the block locally (having the final say on transactions) and sacrifice some MEV rewards | [in research](/wiki/research/inclusion-lists.md)[^22]
Multiplicity gadgets [^23]
COMIS [^24] | -| Distributed Block Building | MEV-Track | Endgame Block Production Pipeline | Decentralize the block building process, by distributing it | Decentralize different parts of the Builder:
(i) the algorithms for choosing transactions (the block building transaction ordering)
(ii) resources for block construction, especially under full Danksharding (split-up big blocks)
(iii) add extra builder services (e.g.Preconfirmations) | in research
[Preconfirmations](/wiki/research/Preconfirmations/Preconfirmations.md),
SUAVE[^25] | -| Application Layer MEV Minimization | MEV-Track | - | App layer effort to minimize harmful MEV | The minimization techniques target:
(i) frontrunning, and
(ii) sandwich attacks | Examples[^26] | -| Preconfirmations | MEV-Track | - | Users preconfirmations on transaction execution, for a competitive user experience in Ethereum interactions | Block builders could publicly agree to include transactions with a priority fee over a certain amount, and send users a receipt indicating their intent to include the transaction in a specific block | [in research](/wiki/research/Preconfirmations/Preconfirmations.md)[^27] | +| Distributed Block Building | MEV-Track | Endgame Block Production Pipeline | Decentralize the block building process, by distributing it | Decentralize different parts of the Builder:
(i) the algorithms for choosing transactions (the block building transaction ordering)
(ii) resources for block construction, especially under full Danksharding (split-up big blocks)
(iii) add extra builder services (e.g.Preconfirmations) | in research
[Preconfirmations](/wiki/research/Preconfirmations/Preconfirmations.md),
SUAVE[^25] | +| Application Layer MEV Minimization | MEV-Track | - | App layer effort to minimize harmful MEV | The minimization techniques target:
(i) frontrunning, and
(ii) sandwich attacks | Examples[^26] | +| Preconfirmations | MEV-Track | - | Users preconfirmations on transaction execution, for a competitive user experience in Ethereum interactions | Block builders could publicly agree to include transactions with a priority fee over a certain amount, and send users a receipt indicating their intent to include the transaction in a specific block | [in research](/wiki/research/Preconfirmations/Preconfirmations.md)[^27] | ### the Verge Upgrades related to verifying blocks more easily @@ -89,7 +88,7 @@ Upgrades related to reducing the computational costs of running nodes and simpli ### the Splurge Other upgrades that don't fit well into the previous categories. -## Resources: +## Resources [^1]: EIP-2982: Serenity Phase 0 https://eips.ethereum.org/EIPS/eip-2982, [[archived]](https://web.archive.org/web/20230928204358/https://eips.ethereum.org/EIPS/eip-2982) From 9f5d56e7ed26ce56a4613e0ec409a646ec4ac139 Mon Sep 17 00:00:00 2001 From: gorondan Date: Tue, 7 May 2024 14:00:21 +0300 Subject: [PATCH 11/12] updated roadmap after reviews --- docs/wiki/research/roadmap.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 67719c6e..ba1fc977 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -31,11 +31,6 @@ Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge | Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain was launched as an independent network connected to Ethereum, bootstraping validators in preparation for the Merge. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | | Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | | Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | -| Upgrade | Track | Topic | Description | Expected effect | State of the art | -| :----------------------------------- | :---: | :---------: | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | -| Launch the Beacon Chain | - | Merge | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain becomes the engine of block production, replacing mining. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | -| Merge Execution and Consensus Layers | - | Merge | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | -| Enable Withdrawals | - | Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can add their withdrawal credentials and protocol continuously sweeps inactive capital from the validator set | shipped
EIP-4895[^2] | **TODO** | Upgrade | Description | Expected effect | State of the art | From c43e51312a68002cf4f91403260547a91e2bb7a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rio=20Havel?= <61149543+taxmeifyoucan@users.noreply.github.com> Date: Tue, 7 May 2024 13:32:06 +0200 Subject: [PATCH 12/12] update Merge table --- docs/wiki/research/roadmap.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index ba1fc977..96c3893e 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -26,11 +26,11 @@ In this overview, different domains are coupled to related categories forming va Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge was successfully achieved at Thu Sep 15 06:42:42 2022 UTC, reducing the network's annualized electricity consumption by more than 99.988%. However, this category also tracks subsequent upgrades which can be done to improve the consensus mechanism and smooth issues we encounter after The Merge. **IMPLEMENTED** -| Upgrade | Description | Effect | State of the art | -| :----------------------------------- | :-------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------- | -| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof of stake consensus mechanism | Beacon Chain was launched as an independent network connected to Ethereum, bootstraping validators in preparation for the Merge. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped
EIP-2982[^1] | -| Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof of work activities ceased and the network's consensus mechanism shifted to proof of stake | shipped | -| Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof of stake consensus mechanism | Validators can push withdrawals from the Beacon chain to the EVM via a new "system-level" operation type | shipped
EIP-4895[^2] | +| Upgrade | Description | Effect | State of the art | +|:------------------------------------ |:---------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------- | +| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof-of-stake consensus mechanism | Beacon Chain was launched as an independent network connected to Ethereum, bootstraping validators in preparation for the Merge. | shipped
EIP-2982[^1] | +| Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof-of-work activities ceased and the network's consensus mechanism shifted to proof-of-stake. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped | +| Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof-of-stake consensus mechanism | Validators can add their withdrawal credentials and Beacon Chain sweeps all inactive ETH | shipped
EIP-4895[^2] | **TODO** | Upgrade | Description | Expected effect | State of the art |