From b3947cf85d73393ea7d8bd5d009742f335222f74 Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Mon, 15 Jul 2024 16:27:10 -0700 Subject: [PATCH 01/12] Week 5 update --- development-updates.md | 114 ++++++++++++++++++++--------------------- notes/Kira.md | 1 + 2 files changed, 58 insertions(+), 57 deletions(-) diff --git a/development-updates.md b/development-updates.md index b96cd5df..11e222c6 100644 --- a/development-updates.md +++ b/development-updates.md @@ -9,7 +9,7 @@ Add your name **alphabetically** and link your updates to the corresponding tabl Phase one is the very beginning of the cohort. The first few weeks are dedicated to general learning about the EPF program, the Ethereum protocol as a whole and its development. Use resources from [EPF Study group](https://epf.wiki) to get started. | Name/GH | Week 0 | Week 1 | Week 2 | -|--------------------------------------------------------------|-----------------------------------------------------------------|-----------------------------------------------------------------|-----------------------------------------------------------------| +| ------------------------------------------------------------ | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | | [0xpanicError](https://github.com/0xpanicError) | | [Update 1](https://hackmd.io/@0xpanicError/epf-update_1) | [Update 2](https://hackmd.io/@0xpanicError/epf-update_2) | | [0xSulpiride](https://github.com/0xSulpiride) | | [Update 1](https://hackmd.io/pIzQiv5AR8qBUApnveQy4A) | [Update 2](https://hackmd.io/@sulpiride/BJLYckU80) | | [Abhimanyu](https://github.com/ABresting) | | [Update 1](https://hackmd.io/@ZeQMEmPBRfGec_HhtjR59A/HyjJwWorR) | [Update 2](https://hackmd.io/@ABresting/ryhHqf8LA) | @@ -65,67 +65,67 @@ Phase one is the very beginning of the cohort. The first few weeks are dedicated With the gained insight into the protocol, the following weeks serve as a deep dive into a chosen topic. By the first month, you should finish the initial research about a specific problem and propose a project, including a roadmap. Get some ideas from the [project proposal template](projects/project-template.md). -| Name/GH | Week 3 | Week 4 | Week 5 | Project proposal | -| ------------------------------------------------------------ | --------------------------------------------------------------- | --------------------------------------------------------------- | ------ | ---------------- | -| [0xpanicError](https://github.com/0xpanicError) | [Update 3](https://hackmd.io/@0xpanicError/epf-update_3) | | | | -| [0xSulpiride](https://github.com/0xSulpiride) | [Update 3](https://hackmd.io/@sulpiride/rkfLFIw8A) | [Update 4](https://hackmd.io/@sulpiride/HkaTPOeDR) | [Update 5](https://hackmd.io/@sulpiride/By0potbuR) | | -| [Abhimanyu](https://github.com/ABresting) | | | | | -| [Aditya Gupta](https://github.com/1010adigupta) | [Update 3](https://hackmd.io/@adigupta/S1_Lq4-wR) | [Update 4](https://hackmd.io/@adigupta/rJ2y2koDR) | | | -| [AkshatGada](https://github.com/AkshatGada) | | | | | -| [Amin](github.com/amintalebi) | | [Update 4](https://hackmd.io/@amintalebi/HJt9O9lvC) | | | -| [Another Dev](https://github.com/Another-DevX) | [Update 3](https://hackmd.io/@btcZWytfSNOGdxJyufkirQ/Bk9f7MlvA) | | | | -| [Ashely Yan](https://github.com/AshliaYan) | [Update 3](https://hackmd.io/@Ashelyyan/Sk-DjQJDR) | [Update 4](https://hackmd.io/@Ashelyyan/rkfZvzsvR) | | | -| [Ashen](https://github.com/y1cunhui) | | | | | -| [Bastin](https://github.com/Inspector-Butters) | [Update 3](https://hackmd.io/@Bastin/By8UVwlPA) | | | | -| [BobLiu](https://github.com/Akagi201) | [Update 3](https://hackmd.io/@Akagi201/epf-cohort5-week3) | | | | -| [Boma Naps](https://github.com/bomanaps) | [Update 3](https://hackmd.io/@bomanaps/B1-vbGxv0) | [Update 4](https://hackmd.io/@bomanaps/rJMH3Pdw0) | | | -| [Caleb](https://github.com/Tomi-3-0) | [Update 3](https://hackmd.io/@tc3rGbpwSe6dJwI2nuYQsw/ByPQxR6LA) | [Update 4](https://hackmd.io/@tomi0x/caleb-epf5-week4) | | | -| [Chirag](https://github.com/chirag-parmar) | [Update 3](https://hackmd.io/@chirag-parmar/HJyYwEev0) | [Update 4](https://hackmd.io/@chirag-parmar/SJOk7wKDA) | | | -| [ChloeZhu](https://github.com/Chloezhu010) | | | | | -| [Cloud](https://github.com/0xClouds/) | | | | | -| [DanGoron](https://github.com/gorondan) | | [Update 4](https://hackmd.io/@kboomro/HyeZXZgxO0) | | | -| [Daniel Knopik](https://github.com/dknopik) | [Update 3](https://hackmd.io/@dknopik/epf-week3) | [Update 4](https://hackmd.io/@dknopik/epf-week4) | | | -| [Dirk Jäckel](https://github.com/biafra23) | | | | | -| [Dsorken](https://github.com/Dsorken) | [Update 3](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/HJ9rQ0kD0) | [Update 4](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/r1VWP5_wA) | | | -| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Update 3](https://hackmd.io/@katya-blockchain-dev/epf5-week-3) | [Update 4](https://hackmd.io/@katya-blockchain-dev/epf5-week-4) | [Update 5](https://hackmd.io/@katya-blockchain-dev/epf5-week-5) | | -| [georgesheth](https://github.com/georgesheth) | | | | | -| [ghili](https://github.com/ghiliweld) | | | | | -| [Glory Agatevure](https://github.com/gconnect) | [Update 3](https://hackmd.io/@gconnect/rJijgCI8C) | [Update 4](https://hackmd.io/@gconnect/r1TakB_wA) | [Update 5](https://hackmd.io/@gconnect/Skw5Z7f_A) | | -| [Hamid Bateni](https://github.com/irnb) | [Update 3](https://hackmd.io/@irnb/epf_week3) | | | | -| [Hangleang](https://github.com/hangleang) | [Update 3](https://hackmd.io/@hangleang/epf5-week3) | [Update 4](https://hackmd.io/@hangleang/epf5-week4) | [Update 5](https://hackmd.io/@hangleang/epf5-week5) | | -| [Hopinheimer](https://github.com/hopinheimer) | [Update 3](https://hackmd.io/@hopin232/HyIxzVgDA) | | | | -| [Ifeoluwa Oderinde](https://github.com/owanikin) | [Update 3](https://hackmd.io/@ZpBFaS-NSO-5Xkdm4jwolg/HJAO40qUC) | | | | -| [Jihoon Song](https://github.com/jihoonsong) | [Update 3](https://hackmd.io/@jihoonsong/SkUIKCLLR) | | | | -| [jsvisa](https://github.com/jsvisa) | [Update 3](https://hackmd.io/@jsvisa/epf5-week3) | [Update 4](https://hackmd.io/@jsvisa/epf5-week4) | [Update 5](https://hackmd.io/@jsvisa/epf5-week5) | | -| [kira](https://github.com/shyam-patel-kira) | [Update 3](https://hackmd.io/@kira50/BkH7kE-P0) | [Update 4](https://hackmd.io/@kira50/epf-week-4) | | | -| [Krishang](https://github.com/kamuik16) | | [Update 4](https://hackmd.io/@kamuik16/epf-week-4) | | | -| [Ktl_XV](https://github.com/ktl-xv) | | | | | -| [Léa Na](https://github.com/lean-apple) | [Update 3](https://hackmd.io/@leanapple/epf5-week3) | [Update 4](https://hackmd.io/@leanapple/epf5-week4) | | | -| [MaxDav](https://github.com/MaximeDavin) | [Update 3](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/BJC0tglDR) | [Update 4](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/SyeNEsFPR) | | | -| [MeldSun](https://github.com/meldsun0) | | | | | -| [mrk1tty](https://github.com/garv-aga) | | | | | -| [Nikhil](https://github.com/nikhilkumar1612) | | | | | -| [Nilav](https://github.com/gerceboss) | [Update 3](https://hackmd.io/@gerceboss/SkdMHQgDR) | [Update 4](https://hackmd.io/@gerceboss/SygXTUKDR) | [Update 5](https://hackmd.io/@gerceboss/r14_HdMuC) | | -| [Rahul](https://github.com/guha-rahul) | [Update 3](https://hackmd.io/@0xrguha/BJIrH-lPA) | [Update 4](https://hackmd.io/@0xrguha/ry5hgvKw0) | | | -| [raxhvl](https://github.com/raxhvl) | [Update 3](https://epf.raxhvl.com/week/3) | | | | -| [Richa](https://github.com/Richa-iitr) | [Update 3](https://hackmd.io/@iri/rJrPvd08C) | [Update 4](https://hackmd.io/@iri/rkbRsVtPA) | | | -| [Rodrigo Herrera](https://github.com/) | [Update 3](https://hackmd.io/@rodrigoh/update3) | | | | -| [RoryArredondo](https://github.com/arredr2) | [Update 3](https://hackmd.io/@arredr2/Bkehft2IR) | [Update 4](https://hackmd.io/@arredr2/BJ_GbXzDA) | | | -| [Rose Jethani](https://github.com/rose2221) | [Update 3](https://hackmd.io/@0xrosetteeee/Week3) | [Update 4](https://hackmd.io/@0xrosetteeee/Week4) | | | -| [Rupam Dey](https://github.com/rupam-04) | [Update 3](https://hackmd.io/@rupam-04/Week3) | [Update 4](https://hackmd.io/@rupam-04/Week4) | [Update 5](https://hackmd.io/@rupam-04/Week5) | | -| [Saeid](github.com/xm0onh) | | | | | -| [Sayan](https://github.com/threehrsleep) | [Update 3](https://hackmd.io/@threehrsleep/epf_week3) | | [Update 5](https://hackmd.io/@threehrsleep/epf_week5) | | -| [Scar Face](https://github.com/scarfacedotcom) | | | | | -| [Siddharth Vaderaa](https://github.com/SiddharthV1) | [Update 3](https://hackmd.io/@Xoznc0kESi6cRDnApMs5rQ/rkGyp1lDR) | | [Update 5](https://hackmd.io/@sidvdr/SJtOgPGOR) | | -| [Vaiz_07](https://github.com/07Vaishnavi-Singh) | | | | | -| [Zarathustra](https://github.com/Karrenbelt) | | | | | +| Name/GH | Week 3 | Week 4 | Week 5 | Project proposal | +| ------------------------------------------------------------ | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | ---------------- | +| [0xpanicError](https://github.com/0xpanicError) | [Update 3](https://hackmd.io/@0xpanicError/epf-update_3) | | | | +| [0xSulpiride](https://github.com/0xSulpiride) | [Update 3](https://hackmd.io/@sulpiride/rkfLFIw8A) | [Update 4](https://hackmd.io/@sulpiride/HkaTPOeDR) | [Update 5](https://hackmd.io/@sulpiride/By0potbuR) | | +| [Abhimanyu](https://github.com/ABresting) | | | | | +| [Aditya Gupta](https://github.com/1010adigupta) | [Update 3](https://hackmd.io/@adigupta/S1_Lq4-wR) | [Update 4](https://hackmd.io/@adigupta/rJ2y2koDR) | | | +| [AkshatGada](https://github.com/AkshatGada) | | | | | +| [Amin](github.com/amintalebi) | | [Update 4](https://hackmd.io/@amintalebi/HJt9O9lvC) | | | +| [Another Dev](https://github.com/Another-DevX) | [Update 3](https://hackmd.io/@btcZWytfSNOGdxJyufkirQ/Bk9f7MlvA) | | | | +| [Ashely Yan](https://github.com/AshliaYan) | [Update 3](https://hackmd.io/@Ashelyyan/Sk-DjQJDR) | [Update 4](https://hackmd.io/@Ashelyyan/rkfZvzsvR) | | | +| [Ashen](https://github.com/y1cunhui) | | | | | +| [Bastin](https://github.com/Inspector-Butters) | [Update 3](https://hackmd.io/@Bastin/By8UVwlPA) | | | | +| [BobLiu](https://github.com/Akagi201) | [Update 3](https://hackmd.io/@Akagi201/epf-cohort5-week3) | | | | +| [Boma Naps](https://github.com/bomanaps) | [Update 3](https://hackmd.io/@bomanaps/B1-vbGxv0) | [Update 4](https://hackmd.io/@bomanaps/rJMH3Pdw0) | | | +| [Caleb](https://github.com/Tomi-3-0) | [Update 3](https://hackmd.io/@tc3rGbpwSe6dJwI2nuYQsw/ByPQxR6LA) | [Update 4](https://hackmd.io/@tomi0x/caleb-epf5-week4) | | | +| [Chirag](https://github.com/chirag-parmar) | [Update 3](https://hackmd.io/@chirag-parmar/HJyYwEev0) | [Update 4](https://hackmd.io/@chirag-parmar/SJOk7wKDA) | | | +| [ChloeZhu](https://github.com/Chloezhu010) | | | | | +| [Cloud](https://github.com/0xClouds/) | | | | | +| [DanGoron](https://github.com/gorondan) | | [Update 4](https://hackmd.io/@kboomro/HyeZXZgxO0) | | | +| [Daniel Knopik](https://github.com/dknopik) | [Update 3](https://hackmd.io/@dknopik/epf-week3) | [Update 4](https://hackmd.io/@dknopik/epf-week4) | | | +| [Dirk Jäckel](https://github.com/biafra23) | | | | | +| [Dsorken](https://github.com/Dsorken) | [Update 3](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/HJ9rQ0kD0) | [Update 4](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/r1VWP5_wA) | | | +| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Update 3](https://hackmd.io/@katya-blockchain-dev/epf5-week-3) | [Update 4](https://hackmd.io/@katya-blockchain-dev/epf5-week-4) | [Update 5](https://hackmd.io/@katya-blockchain-dev/epf5-week-5) | | +| [georgesheth](https://github.com/georgesheth) | | | | | +| [ghili](https://github.com/ghiliweld) | | | | | +| [Glory Agatevure](https://github.com/gconnect) | [Update 3](https://hackmd.io/@gconnect/rJijgCI8C) | [Update 4](https://hackmd.io/@gconnect/r1TakB_wA) | [Update 5](https://hackmd.io/@gconnect/Skw5Z7f_A) | | +| [Hamid Bateni](https://github.com/irnb) | [Update 3](https://hackmd.io/@irnb/epf_week3) | | | | +| [Hangleang](https://github.com/hangleang) | [Update 3](https://hackmd.io/@hangleang/epf5-week3) | [Update 4](https://hackmd.io/@hangleang/epf5-week4) | [Update 5](https://hackmd.io/@hangleang/epf5-week5) | | +| [Hopinheimer](https://github.com/hopinheimer) | [Update 3](https://hackmd.io/@hopin232/HyIxzVgDA) | | | | +| [Ifeoluwa Oderinde](https://github.com/owanikin) | [Update 3](https://hackmd.io/@ZpBFaS-NSO-5Xkdm4jwolg/HJAO40qUC) | | | | +| [Jihoon Song](https://github.com/jihoonsong) | [Update 3](https://hackmd.io/@jihoonsong/SkUIKCLLR) | | | | +| [jsvisa](https://github.com/jsvisa) | [Update 3](https://hackmd.io/@jsvisa/epf5-week3) | [Update 4](https://hackmd.io/@jsvisa/epf5-week4) | [Update 5](https://hackmd.io/@jsvisa/epf5-week5) | | +| [kira](https://github.com/shyam-patel-kira) | [Update 3](https://hackmd.io/@kira50/BkH7kE-P0) | [Update 4](https://hackmd.io/@kira50/epf-week-4) | [Update 5](https://hackmd.io/@kira50/epf-week-5) | | +| [Krishang](https://github.com/kamuik16) | | [Update 4](https://hackmd.io/@kamuik16/epf-week-4) | | | +| [Ktl_XV](https://github.com/ktl-xv) | | | | | +| [Léa Na](https://github.com/lean-apple) | [Update 3](https://hackmd.io/@leanapple/epf5-week3) | [Update 4](https://hackmd.io/@leanapple/epf5-week4) | | | +| [MaxDav](https://github.com/MaximeDavin) | [Update 3](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/BJC0tglDR) | [Update 4](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/SyeNEsFPR) | | | +| [MeldSun](https://github.com/meldsun0) | | | | | +| [mrk1tty](https://github.com/garv-aga) | | | | | +| [Nikhil](https://github.com/nikhilkumar1612) | | | | | +| [Nilav](https://github.com/gerceboss) | [Update 3](https://hackmd.io/@gerceboss/SkdMHQgDR) | [Update 4](https://hackmd.io/@gerceboss/SygXTUKDR) | [Update 5](https://hackmd.io/@gerceboss/r14_HdMuC) | | +| [Rahul](https://github.com/guha-rahul) | [Update 3](https://hackmd.io/@0xrguha/BJIrH-lPA) | [Update 4](https://hackmd.io/@0xrguha/ry5hgvKw0) | | | +| [raxhvl](https://github.com/raxhvl) | [Update 3](https://epf.raxhvl.com/week/3) | | | | +| [Richa](https://github.com/Richa-iitr) | [Update 3](https://hackmd.io/@iri/rJrPvd08C) | [Update 4](https://hackmd.io/@iri/rkbRsVtPA) | | | +| [Rodrigo Herrera](https://github.com/) | [Update 3](https://hackmd.io/@rodrigoh/update3) | | | | +| [RoryArredondo](https://github.com/arredr2) | [Update 3](https://hackmd.io/@arredr2/Bkehft2IR) | [Update 4](https://hackmd.io/@arredr2/BJ_GbXzDA) | | | +| [Rose Jethani](https://github.com/rose2221) | [Update 3](https://hackmd.io/@0xrosetteeee/Week3) | [Update 4](https://hackmd.io/@0xrosetteeee/Week4) | | | +| [Rupam Dey](https://github.com/rupam-04) | [Update 3](https://hackmd.io/@rupam-04/Week3) | [Update 4](https://hackmd.io/@rupam-04/Week4) | [Update 5](https://hackmd.io/@rupam-04/Week5) | | +| [Saeid](github.com/xm0onh) | | | | | +| [Sayan](https://github.com/threehrsleep) | [Update 3](https://hackmd.io/@threehrsleep/epf_week3) | | [Update 5](https://hackmd.io/@threehrsleep/epf_week5) | | +| [Scar Face](https://github.com/scarfacedotcom) | | | | | +| [Siddharth Vaderaa](https://github.com/SiddharthV1) | [Update 3](https://hackmd.io/@Xoznc0kESi6cRDnApMs5rQ/rkGyp1lDR) | | [Update 5](https://hackmd.io/@sidvdr/SJtOgPGOR) | | +| [Vaiz_07](https://github.com/07Vaishnavi-Singh) | | | | | +| [Zarathustra](https://github.com/Karrenbelt) | | | | | ## Phase 3: Execution The actual project development is the main part of the program. Post your regular progress updates here during the development phase, share your issues and successes with others. | Name/GH | Week 6 | Week 7 | Week 8 | Week 9 | Week 10 | Week 11 | Week 12 | Week 13 | Week 14 | Week 15 | Week 16 | Week 17 | Week 18 | Week 19 | Week 20 | Week 21 + | -|---------|--------|--------|--------|--------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|---------|-----------| +| ------- | ------ | ------ | ------ | ------ | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | --------- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @@ -134,5 +134,5 @@ The actual project development is the main part of the program. Post your regula The final weeks of the cohort should mark the finalization of your project. Submit your last dev update which is reflecting the overall project progress, its next steps and your experience with EPF. You can also link a video or document presenting the final stage of your project. | Name/GH | Final dev update | Project presentation | -|---------|------------------|----------------------| +| ------- | ---------------- | -------------------- | | | | | diff --git a/notes/Kira.md b/notes/Kira.md index 46f40414..31cf2969 100644 --- a/notes/Kira.md +++ b/notes/Kira.md @@ -21,3 +21,4 @@ I'll posting my weekly updates and notes on my [hackmd](https://hackmd.io/@kira5 * [Week 2](https://hackmd.io/@kira50/SJ9zumwU0) * [Week 3](https://hackmd.io/@kira50/BkH7kE-P0) * [Week 4](https://hackmd.io/@kira50/epf-week-4) +* [Week 5](https://hackmd.io/@kira50/epf-week-5) From 170bb43e54fb98e336a4c68bf3ae148ab8f75f75 Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sun, 21 Jul 2024 17:08:56 -0700 Subject: [PATCH 02/12] Add a unified proposal; removed redundant proposals --- development-updates.md | 2 +- projects/epbs-implementation-in-nimbus.md | 57 ----------- projects/epbs-implementation-in-prysm.md | 110 ++++++++++++++++++++++ projects/prototyping-epbs.md | 72 -------------- 4 files changed, 111 insertions(+), 130 deletions(-) delete mode 100644 projects/epbs-implementation-in-nimbus.md create mode 100644 projects/epbs-implementation-in-prysm.md delete mode 100644 projects/prototyping-epbs.md diff --git a/development-updates.md b/development-updates.md index e1aa3d35..157c4d1f 100644 --- a/development-updates.md +++ b/development-updates.md @@ -99,7 +99,7 @@ With the gained insight into the protocol, the following weeks serve as a deep d | [Ifeoluwa Oderinde](https://github.com/owanikin) | [Update 3](https://hackmd.io/@ZpBFaS-NSO-5Xkdm4jwolg/HJAO40qUC) | | | | | [Jihoon Song](https://github.com/jihoonsong) | [Update 3](https://hackmd.io/@jihoonsong/SkUIKCLLR) | [Update 4](https://hackmd.io/@jihoonsong/SJH-cXMdA) | [Update 5](https://hackmd.io/@jihoonsong/rkc04VzuR) | [Prototyping ePBS](/projects/prototyping-epbs.md) | | [jsvisa](https://github.com/jsvisa) | [Update 3](https://hackmd.io/@jsvisa/epf5-week3) | [Update 4](https://hackmd.io/@jsvisa/epf5-week4) | [Update 5](https://hackmd.io/@jsvisa/epf5-week5) | | -| [kira](https://github.com/shyam-patel-kira) | [Update 3](https://hackmd.io/@kira50/BkH7kE-P0) | [Update 4](https://hackmd.io/@kira50/epf-week-4) | [Update 5](https://hackmd.io/@kira50/epf-week-5) | | +| [kira](https://github.com/shyam-patel-kira) | [Update 3](https://hackmd.io/@kira50/BkH7kE-P0) | [Update 4](https://hackmd.io/@kira50/epf-week-4) | [Update 5](https://hackmd.io/@kira50/epf-week-5) | [ePBS implementation in Prysm](/projects/epbs-implementation-in-prysm.md) | | [Krishang](https://github.com/kamuik16) | | [Update 4](https://hackmd.io/@kamuik16/epf-week-4) | | | | [Ktl_XV](https://github.com/ktl-xv) | | | | | | [Léa Na](https://github.com/lean-apple) | [Update 3](https://hackmd.io/@leanapple/epf5-week3) | [Update 4](https://hackmd.io/@leanapple/epf5-week4) | | | diff --git a/projects/epbs-implementation-in-nimbus.md b/projects/epbs-implementation-in-nimbus.md deleted file mode 100644 index 357699e4..00000000 --- a/projects/epbs-implementation-in-nimbus.md +++ /dev/null @@ -1,57 +0,0 @@ -# `eip-7732: enshrined Proposer-Builder Separation` implementation in the Nimbus Consensus Client - -## Motivation - -Transitioning from MEV-Boost to enshrined PBS (ePBS) eliminates reliance on third-party software, broadens block construction responsibilities, and ensures block construction adheres to the network's security rules. This integration fosters a transparent and competitive marketplace for block space. - -Currently, the system's dependence on a few relays introduces centralization risks and security vulnerabilities, as these relays operate outside Ethereum’s consensus rules. Enshrining PBS within the protocol seeks to mitigate these risks by establishing a secure proposer-builder relationship, encourage direct protocol engagement and create a transparent, equitable MEV market. By reducing reliance on external systems, ePBS enhances decentralization, improves censorship resistance, and supports long-term goals like MEV redistribution mechanisms (e.g., MEV-burn). - -## Project description - -This project aims to integrate proposer-builder interaction, where block proposers delegate their block building rights to specialized block builders to maximize extractable value by optimally ordering transactions within the protocol. By separating block building from block proposal, the Maximal Extractable Value (MEV) is distributed across more validators, rather than being concentrated with the most effective MEV searchers. Allowing specialized block builders to operate also reduces the resource burden on individual participants, enabling more independent validators to verify the honesty of blocks. This project seeks to implement proposer-builder separation in the Nimbus Consensus client, following the specifications of the [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732#abstract) document. - -## Specification - -This specification involves decoupling the execution from consensus and the notion of splitting the slot into 2 parts -All major changes will be happening in the Consesnus client as specified in this [eip](https://eips.ethereum.org/EIPS/eip-7732). - -## Roadmap -This below schedule might not hold strictly and the proposed two-weeks-per-component schedule might prove difficult, and I suspect it might prove necessary to interleave things more and difficult to try to plan too tightly. However, the main challenges are listed in this roadmap: - -- _Week 5-6_: Understand the current Nimbus-eth2 architecture with the [`storeBlock`](https://github.com/status-im/nimbus-eth2/blob/unstable/beacon_chain/gossip_processing/block_processor.nim `storeBlock`) procedure as a good entry point while getting familiar with the Nim language
-- _Week 7-8_: Implement beacon change specs and write tests
-- _Week 9-10_: Implement the fork-choice specs and write tests
-- _Week 11-12_: Implement the p2p specification changes for ePBS and write tests
-- _Week 13-14_: Implement the honest validator and builder specs with accompanying tests
-- _Week 15-17_: Research and implement ePBS compatible fork choice logic. -- _Week 18-19_: Going through already implemented work and considering performance optimisation and improving efficiency -- _Week 20_: Prepare final updates and presentations on work done. - -## Possible challenges - -- Navigating a new language -- Ensuring Compatibility and interoperability with existing Nimbus Ethereum infrastructure and be flexible for future updates like sharding or new layer-2 solutions. -- The extent to which there are test vectors. In theory there might need to be at least one other project to compare with. - -## Goal of the project - -The goal of the project is to have a working and well-tested implementation of ePBS in the Nimbus Consensus client satisfying security conditions. Even if it doesn't end up being production-ready, just having proofs of existence of this. Success will be measured by the efficiency and performance of the completed implementation and how it is able to integerate with the existing Nimbus codebase. - -## Collaborators - -### Fellows -@[kira](https://github.com/shyam-patel-kira) is working on something similar in the Prysm consensus client - -### Mentors - -- @[tersec](https://github.com/tersec) -- @[Potuz](https://github.com/potuz/) -- @[Terrence](https://github.com/terencechain/) - -## Resources -* [eip-7732](https://eips.ethereum.org/EIPS/eip-7732#abstract) -* [Ethereum Consensus Specs](https://github.com/ethereum/consensus-specs/tree/v1.3.0/#stable-specifications) -* [Nim Manual](https://nim-lang.org/docs/manual.html) -* [Nimbus ETH2](https://github.com/status-im/nimbus-eth2) -* [Proposer-Builder Separation](https://ethereum.org/en/roadmap/pbs/) - diff --git a/projects/epbs-implementation-in-prysm.md b/projects/epbs-implementation-in-prysm.md new file mode 100644 index 00000000..8fcf41e9 --- /dev/null +++ b/projects/epbs-implementation-in-prysm.md @@ -0,0 +1,110 @@ +# EIP-7732: Enshrined Proposer-Builder Separation + +Implementation of a working Proof-of-Concept for [EIP-7732 or ePBS](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7732.md). + +## Motivation + +Currently in the Ethereum, the Proposer-Builder Separation or PBS is handled by third-party software like mev-boost and an out-of-protocol relay network. The [Proposer-Builder Separation (PBS)](https://ethereum.org/en/roadmap/pbs) was introduced to segregate block proposing from block building. PBS democratizes access to MEV by enabling block proposers to sell their rights to construct a block, thereby creating a market for block builders. [mev-boost](https://github.com/flashbots/mev-boost), an out-of-protocol implementation of PBS built by [Flashbots](https://www.flashbots.net), has been dominantly adopted, accounting for approximately [90% of Ethereum blocks being produced](https://mevboost.pics). + +Proposers want their promised transaction bundles to be delivered and get paid safely, while builders want their bundles to avoid front-running. Relays sit between proposers and builders, acting as mutually trusted auctioneers. Due to a lack of sufficient incentives to run relays, we are witnessing another centralizing force. Over the past two weeks, only five relays has produced around [~94% of total block](https://mevboost.pics) that were proposed. + +### Why ePBS + +Referring to this [doc](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w?view#3-Enshrining-PBS) by potuz, The primary problem in the current implementation of PBS in Ethereum are as followed: +1. A proposer that wants to sell his right to build a payload **must** trust an intermediary. +2. A builder that wants to buy the rights to build a payload **must** trust an intermediary. + +This issue is critical because relying on intermediaries introduces several risks. Trusting intermediaries can lead to censorship, monopolization, and single points of failure. By eliminating the need for these trusted intermediaries, we can enhance censorship resistance, ensuring that no single entity can control or influence which transactions are included in blocks. Also, it promotes decentralization, which is a core principle of blockchains. Note that EIP-7732 purely focuses on changes in Consensus Layer and incorporates the block-auction design for ePBS. + +## Project Description + +The implementation of ePBS is fundamentally about solving trust issues, and **not about transaction ordering or MEV (Maximum Extractable Value)**. MEV considerations, such as MEV stealing and forkchoice attacks are not the core issue here. + +Currently, most beacon block proposers in Ethereum rely on third-party builders to construct the execution payload for their blocks. They request a `hash tree root (HTR)` from the builder and submit a `SignedBlindedBeaconBlock` to a trusted party, which then replaces the HTR with the full execution payload before broadcasting. This process requires trust in intermediaries. + +EIP-7732 introduces a trust-free method for this exchange, ensuring that an honest proposer gets paid and the honest builder’s payload becomes the canonical head of the chain, regardless of the other’s actions. + +Validators have a short window (4 seconds on Ethereum mainnet) to validate both consensus and execution state transitions, check blob data availability, and evaluate the new head of the blockchain. By separating the validation tasks, validators only need to perform the consensus state transition immediately, deferring execution and data availability validation to later. + +This change allows for faster network propagation by removing the execution payload from the consensus block. It reduces the risk of reorganizations caused by blob transactions and prevents validators from missing attestations. Additionally, it eliminates the need for trusted middleware in block construction delegation. + +
+ +![ePBS slot](https://hackmd.io/_uploads/rJdlt-sd0.png) + +
+ +*ePBS slot from potuz's presentation* +
+
+ +## Specification + +The implementation would follow the spec mentioned in [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732). + +The spec introduces a new staked Participant called _Builders_ and new honest validators duties called _payload timeliness attestations_. + +The slot in the Ethereum protocol is divided into four intervals: + +- Honest validators would gather _signed bids_ (`SignedExecutionPayloadHeader`) from builders and submit their consensus blocks (`SignedBeaconBlock`) with these bids. +- For the second part, Honest validators submit attestations, similar to the current process. +- For the 3rd Interval, Aggregators aggregate these attestations, and the builder broadcasts either the full payload or a message indicating they are withholding it (`SignedExecutionPayloadEnvelope`). +- For the 4th Interval, some validators selected for the new `Payload Timeliness Committee (PTC)` attest to the presence and timeliness of the builder’s payload. + +At any given slot, the blockchain’s head status can be: + +- A block from a previous slot if the current slot’s proposer did not submit a block. +- An empty block for the current slot if the proposer submitted a block but the builder did not reveal the payload on time. +- A full block for the current slot if both the proposer and the builder revealed on time. + +There are various pacakages, that would require significant changes including but not limited to sync, core, beacon-apis for builder, forkchoice, engine api and blockchain etc. Additionally, there are numerous helper functions and once a working PoC is implemented we would be moving onto Networking packages for the actual p2p auction and bids' gossiping. + +## Roadmap + +July: We would be spending first couple of weeks to directly implement helper functions, that would help us get started and work with the Prysm codebase. This will also help us avoid studying large packages' codebase just to get started and understand the flow. + +August (4 weeks): Follow and Implement packages mentioned in the spec. We would be focusing on beacon-chain packages to test that proposer-builder separation works for a single validator. This period is aimed to build the MVP or a working PoC to see how would timeliness work according to the block-auction design for ePBS. + +September (4 weeks): 2 weeks buffer for the PoC implementation and 2 weeks for testing the functionality of the PoC. + +October (4 weeks): Once we have a working PoC we could focus on implementing the Networking part of the ePBS, this would include writing new topics for PTC and builder, Implement builder package if required, testing the whatever part we've implemented. + +November (2 weeks): final cleanups and presentation preparations for devcon + +Note: the timeline is tentative and might change based on the work done. Additionally we have weekly meetings between fellows for progress tracking, with mentors as well whenever required. The approach for this project will be more on figuring things out, implementing, communicating asynchronously and participating in code-reviews. + +## Possible challenges + +- Efficient distribution of tasks and coordination with other fellows is what I think would be a challenging. Active communication would be required such to avoid double working on a single issue. + +## Goal of the Project + +The goal for this project is to achieve a fully functional and working PoC for ePBS before devcon, this would include for a single validator: +- A proposer can request bids for payload from the builder. +- A builder can perform various duties like providing `signedExecutionPayloadHeader`, or a message indicating withhelding payload etc. +- For me personally, experience the development process and learn a ton under the mentorship of core devs and observe the lifecycle for an EIP implementation. + +## Collaborators + +#### Fellows + +- [Caleb](https://github.com/Tomi-3-0) +- [Kira](https://github.com/shyam-patel-kira) +- [Amaan](https://github.com/Redidacove) +- [Jihoon](https://github.com/jihoonsong) + +#### Mentors + +- [Potuz](https://github.com/potuz) +- [Terrence](https://github.com/terencechain) + +## Resources + +* [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732) +* [ePBS Spec](https://github.com/ethereum/consensus-specs/pull/3828) +* [ePBS design constraints]([/ZNPG7xPFRnmMOf0j95Hl3w](https://ethresear.ch/t/epbs-design-constraints/18728)) +* [WIP ePBS PR in the Prysm repo](https://github.com/prysmaticlabs/prysm/pull/13917) +* [ePBS specification notes](https://hackmd.io/uWVGcvcKSoqS4P5c5NHG3g) +* [ePBS Forkchoice annotated spec](https://hackmd.io/@potuz/SJdXM43x0) +* [ePBS Annotated Validator Spec](https://hackmd.io/@ttsao/epbs-annotated-validator) +* [Payload boosts in ePBS](https://ethresear.ch/t/payload-boosts-in-epbs/18769/1) \ No newline at end of file diff --git a/projects/prototyping-epbs.md b/projects/prototyping-epbs.md deleted file mode 100644 index 0f1e6d5e..00000000 --- a/projects/prototyping-epbs.md +++ /dev/null @@ -1,72 +0,0 @@ -# Prototyping ePBS -Although ePBS has a full specification and recently obtained its EIP number, there are still arguments for and against it. A fully functioning ePBS prototype will foster more constructive discussions and can serve as a foundational layer for future work to evolve and operate on a testnet. - -## Motivation -### Emergence of MEV -In 2017, a thought experiment[^1] emerged: Imagine discovering a vulnerability in a smart contract with economic security valued at millions of dollars. The bug bounty program is well-designed to make exploitation less attractive, encouraging you to claim the reward. However, you recognize a risk — someone else might front-run your revelation and snatch the bounty before you can. - -[^1]: [Enter the Hydra: Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts](https://eprint.iacr.org/2017/1090) - -In the same year, a concern[^2] was raised about the risks of building financial systems on a decentralized stack. Users could be exposed to arbitrage, and miners could arbitrarily front-run any transactions. Just a week after this article was published, 10-15 [PGA](https://www.mev.wiki/terms-and-concepts/priority-gas-auctions) MEV bots were introduced. - -[^2]: [The Cost of Decentralization in 0x and EtherDelta](https://hackingdistributed.com/2017/08/13/cost-of-decent) - -Fast forward to 2024, not much has changed in this regard. - -### MEV as a centralizing force -Maximal Extractable Value (MEV) refers to the total amount of Ether block producers can extract from manipulation of transactions within a given timeframe, which may include multiple blocks’ worth of transactions.[^3] In a system where everyone might desire different subsequent states and heterogeneous systems interoperate through some gatekeepers, there are sufficient incentives for block producers to pursue their MEV. As a result, block producers were vertically integrated with trading firms making bespoke deals to boost their returns. - -[^3]: [Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges](https://arxiv.org/abs/1904.05234) - -### Isolating the centralizing effects of MEV -To mitigate this crisis, [Proposer-Builder Separation (PBS)](https://ethereum.org/en/roadmap/pbs) was introduced to segregate block proposing from block building. PBS democratizes access to MEV by enabling block proposers to sell their rights to construct a block, thereby creating a market for block builders. [mev-boost](https://github.com/flashbots/mev-boost), an out-of-protocol implementation of PBS built by [Flashbots](https://www.flashbots.net), has been dominantly adopted, accounting for approximately [90% of Ethereum blocks being produced](https://mevboost.pics). - -Proposers want their promised transaction bundles to be delivered and get paid safely, while builders want their bundles to avoid front-running. Relays sit between proposers and builders, acting as mutually trusted auctioneers. Due to a lack of sufficient incentives to run relays, we are witnessing another centralizing force. Over the past two weeks, only five relays have produced approximately [90% of total Ethereum block market](https://mevboost.pics). - -This centralization of relays hurts censorship resistance. To make matters worse, out-of-protocol actors usually lag behind with network upgrades. Given the status quo, where 9 out of 10 Ethereum blocks go through relays, the risk of bugs is significant. - -### Introducing in-protocol PBS -Ethereum community shifted their attention to enshrining PBS into the consensus layer of the Ethereum protocol. By allowing builders to bid for constructing transaction bundle and proposer to choose the winning bid at the protocol level, ePBS aims to eliminate the need for trust between builders and proposers. A builder may inherit the role of the relay, providing a faster RPC port for proposers to use. Nonetheless, ePBS guarantees that proposers can safely sell their block building rights without needing to trust any builder. - -## Project description -This project aims to prototype a fully functional ePBS with Prysm consensus layer client. As ePBS is currently undergoing active research and development as part of The Scourge, this prototype aspires to help iron out the details and promote more rigorous discussions. - -## Specification -The prototype should follow [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732) and [ePBS Spec](https://github.com/ethereum/consensus-specs/pull/3828). - -## Roadmap -As there is already a full specification and extensive discussions have taken place, I prefer to learn by coding rather than by reading. The roadmap below is subject to change and is expected to gain higher resolution over time. - -* July: set up a development environment and start implementing beacon chain changes. -* August: implement beacon chain changes. -* September: implement p2p changes. -* October: implement fork choice changes. -* November: clean up and present demo at Devcon 2024 (November 9-17). - -## Possible challenges -* ePBS has been spec'd out but hasn't been implemented so far. It's likely to encounter a gap between the specification and implementation, or some unknown issues. -* It has an ambitious timeline to have a fully working prototype by Devcon 2024. Defining a good scope and maintaining continuous effort are deemed crucial to meet the requirements. - -## Goal of the project -With a fully functioning prototype, each actor should be able to: - -* A proposer can sell their right to build a payload, with or without a trusted intermediary. -* A builder can buy the rights to build a payload and place a bid, with or without a trusted intermediary. - -## Collaborators -### Fellows -* [Jihoon Song](https://github.com/jihoonsong) - -### Mentors -* [Potuz](https://github.com/potuz/) -* [Terrence](https://github.com/terencechain/) - -## Resources -* [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732) -* [ePBS Spec](https://github.com/ethereum/consensus-specs/pull/3828) -* [Prysm](https://github.com/prysmaticlabs/prysm/pull/13917) -* [ePBS specification notes](https://hackmd.io/uWVGcvcKSoqS4P5c5NHG3g) -* [ePBS Forkchoice annotated spec](https://hackmd.io/@potuz/SJdXM43x0) -* [ePBS Annotated Validator Spec](https://hackmd.io/@ttsao/epbs-annotated-validator) -* [ePBS design constraints](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w) -* [Payload boosts in ePBS](https://ethresear.ch/t/payload-boosts-in-epbs/18769/1) From 7fcef4b67d199d6d0e309404ccf44058c53c35c5 Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sun, 21 Jul 2024 17:09:05 -0700 Subject: [PATCH 03/12] nit --- development-updates.md | 108 ++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/development-updates.md b/development-updates.md index 157c4d1f..d6b7cd22 100644 --- a/development-updates.md +++ b/development-updates.md @@ -67,60 +67,60 @@ Phase one is the very beginning of the cohort. The first few weeks are dedicated With the gained insight into the protocol, the following weeks serve as a deep dive into a chosen topic. By the first month, you should finish the initial research about a specific problem and propose a project, including a roadmap. Get some ideas from the [project proposal template](projects/project-template.md). -| Name/GH | Week 3 | Week 4 | Week 5 | Project proposal | -| ------------------------------------------------------------ | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | -| [0xpanicError](https://github.com/0xpanicError) | [Update 3](https://hackmd.io/@0xpanicError/epf-update_3) | | | | -| [0xSulpiride](https://github.com/0xSulpiride) | [Update 3](https://hackmd.io/@sulpiride/rkfLFIw8A) | [Update 4](https://hackmd.io/@sulpiride/HkaTPOeDR) | [Update 5](https://hackmd.io/@sulpiride/By0potbuR) | | -| [Abhimanyu](https://github.com/ABresting) | | | | | -| [Aditya Gupta](https://github.com/1010adigupta) | [Update 3](https://hackmd.io/@adigupta/S1_Lq4-wR) | [Update 4](https://hackmd.io/@adigupta/rJ2y2koDR) | [Update 5](https://hackmd.io/@adigupta/rym-4nXdR) | | -| [AkshatGada](https://github.com/AkshatGada) | [Update 3](https://shorturl.at/BAQoX) | [Update 4](https://shorturl.at/Jnor9) | [Update 5](https://shorturl.at/s072i) | | -| [Amin](github.com/amintalebi) | | [Update 4](https://hackmd.io/@amintalebi/HJt9O9lvC) | [Update 5](https://hackmd.io/@amintalebi/ry9EVn6vA) | [FOCIL Geth and Prysm PoC](projects/focil-geth-and-prysm-poc.md) | -| [Another Dev](https://github.com/Another-DevX) | [Update 3](https://hackmd.io/@btcZWytfSNOGdxJyufkirQ/Bk9f7MlvA) | | | | -| [Ashely Yan](https://github.com/AshliaYan) | [Update 3](https://hackmd.io/@Ashelyyan/Sk-DjQJDR) | [Update 4](https://hackmd.io/@Ashelyyan/rkfZvzsvR) | [Update 5](https://hackmd.io/@Ashelyyan/BJ8oPqz_A) | | -| [Ashen](https://github.com/y1cunhui) | | | | | -| [Bastin](https://github.com/Inspector-Butters) | [Update 3](https://hackmd.io/@Bastin/By8UVwlPA) | | | | -| [BobLiu](https://github.com/Akagi201) | [Update 3](https://hackmd.io/@Akagi201/epf-cohort5-week3) | [Update 4](https://hackmd.io/@Akagi201/epf-cohort5-week4) | | | -| [Boma Naps](https://github.com/bomanaps) | [Update 3](https://hackmd.io/@bomanaps/B1-vbGxv0) | [Update 4](https://hackmd.io/@bomanaps/rJMH3Pdw0) | [Update 5](https://hackmd.io/@bomanaps/SkRfuOzuC) | | -| [Caleb](https://github.com/Tomi-3-0) | [Update 3](https://hackmd.io/@tc3rGbpwSe6dJwI2nuYQsw/ByPQxR6LA) | [Update 4](https://hackmd.io/@tomi0x/caleb-epf5-week4) | [Update 5](https://hackmd.io/@tomi0x/epf5-week5) | [ePBS implementation in Nimbus](cohort-five/projects/eip-7732-implementation-in-nimbus.md) | -| [Chirag](https://github.com/chirag-parmar) | [Update 3](https://hackmd.io/@chirag-parmar/HJyYwEev0) | [Update 4](https://hackmd.io/@chirag-parmar/SJOk7wKDA) | [Update 5](https://hackmd.io/@chirag-parmar/B1m3PjzdA) | | -| [ChloeZhu](https://github.com/Chloezhu010) | | | | | -| [Cloud](https://github.com/0xClouds/) | | | | | -| [DanGoron](https://github.com/gorondan) | | [Update 4](https://hackmd.io/@kboomro/HyeZXZgxO0) | [Update 5](https://hackmd.io/@kboomro/HkfNC7edR) | | -| [Daniel Knopik](https://github.com/dknopik) | [Update 3](https://hackmd.io/@dknopik/epf-week3) | [Update 4](https://hackmd.io/@dknopik/epf-week4) | [Update 5](https://hackmd.io/@dknopik/epf-week5) | [Network Simulations with Shadow](projects/network-simulations-with-shadow.md) | -| [Dirk Jäckel](https://github.com/biafra23) | | | | | -| [Dsorken](https://github.com/Dsorken) | [Update 3](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/HJ9rQ0kD0) | [Update 4](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/r1VWP5_wA) | [Update 5](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/H19snvxuA) | | -| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Update 3](https://hackmd.io/@katya-blockchain-dev/epf5-week-3) | [Update 4](https://hackmd.io/@katya-blockchain-dev/epf5-week-4) | [Update 5](https://hackmd.io/@katya-blockchain-dev/epf5-week-5) | | -| [georgesheth](https://github.com/georgesheth) | | | | | -| [ghili](https://github.com/ghiliweld) | [Update 3](https://hackmd.io/@ghili/Hy-NPDvI0) | [Update 4](https://hackmd.io/@ghili/ByCdpKVP0) | [Update 5](https://hackmd.io/@ghili/S1XOsWfdR) | [SSZ Benchmarking and Optimization](projects/ssz-benchmarking-and-optimization.md) | -| [Glory Agatevure](https://github.com/gconnect) | [Update 3](https://hackmd.io/@gconnect/rJijgCI8C) | [Update 4](https://hackmd.io/@gconnect/r1TakB_wA) | | | -| [Hamid Bateni](https://github.com/irnb) | [Update 3](https://hackmd.io/@irnb/epf_week3) | [Update 4](https://hackmd.io/@irnb/epf_week4) | [Update 5](https://hackmd.io/@irnb/epf_week5) | | -| [Hangleang](https://github.com/hangleang) | [Update 3](https://hackmd.io/@hangleang/epf5-week3) | [Update 4](https://hackmd.io/@hangleang/epf5-week4) | [Update 5](https://hackmd.io/@hangleang/epf5-week5) | | -| [Hopinheimer](https://github.com/hopinheimer) | [Update 3](https://hackmd.io/@hopin232/HyIxzVgDA) | [Update 4](https://hackmd.io/@hopin232/HkD7QcRDA) | [Update 5](https://hackmd.io/@hopin232/HJ3vEtGO0) | | -| [Ifeoluwa Oderinde](https://github.com/owanikin) | [Update 3](https://hackmd.io/@ZpBFaS-NSO-5Xkdm4jwolg/HJAO40qUC) | | | | -| [Jihoon Song](https://github.com/jihoonsong) | [Update 3](https://hackmd.io/@jihoonsong/SkUIKCLLR) | [Update 4](https://hackmd.io/@jihoonsong/SJH-cXMdA) | [Update 5](https://hackmd.io/@jihoonsong/rkc04VzuR) | [Prototyping ePBS](/projects/prototyping-epbs.md) | -| [jsvisa](https://github.com/jsvisa) | [Update 3](https://hackmd.io/@jsvisa/epf5-week3) | [Update 4](https://hackmd.io/@jsvisa/epf5-week4) | [Update 5](https://hackmd.io/@jsvisa/epf5-week5) | | -| [kira](https://github.com/shyam-patel-kira) | [Update 3](https://hackmd.io/@kira50/BkH7kE-P0) | [Update 4](https://hackmd.io/@kira50/epf-week-4) | [Update 5](https://hackmd.io/@kira50/epf-week-5) | [ePBS implementation in Prysm](/projects/epbs-implementation-in-prysm.md) | -| [Krishang](https://github.com/kamuik16) | | [Update 4](https://hackmd.io/@kamuik16/epf-week-4) | | | -| [Ktl_XV](https://github.com/ktl-xv) | | | | | -| [Léa Na](https://github.com/lean-apple) | [Update 3](https://hackmd.io/@leanapple/epf5-week3) | [Update 4](https://hackmd.io/@leanapple/epf5-week4) | | | -| [MaxDav](https://github.com/MaximeDavin) | [Update 3](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/BJC0tglDR) | [Update 4](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/SyeNEsFPR) | [Update 5](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/ByZLWAfu0) | | -| [MeldSun](https://github.com/meldsun0) | | | | | -| [mrk1tty](https://github.com/garv-aga) | | | | | -| [Nikhil](https://github.com/nikhilkumar1612) | | | | | -| [Nilav](https://github.com/gerceboss) | [Update 3](https://hackmd.io/@gerceboss/SkdMHQgDR) | [Update 4](https://hackmd.io/@gerceboss/SygXTUKDR) | [Update 5](https://hackmd.io/@gerceboss/r14_HdMuC) | | -| [Rahul](https://github.com/guha-rahul) | [Update 3](https://hackmd.io/@0xrguha/BJIrH-lPA) | [Update 4](https://hackmd.io/@0xrguha/ry5hgvKw0) | [update 5](https://hackmd.io/doCmLTjqQuCOtuorR2QL4A) | | -| [raxhvl](https://github.com/raxhvl) | [Update 3](https://epf.raxhvl.com/week/3) | | | | -| [Richa](https://github.com/Richa-iitr) | [Update 3](https://hackmd.io/@iri/rJrPvd08C) | [Update 4](https://hackmd.io/@iri/rkbRsVtPA) | [Update 5](https://hackmd.io/@iri/HkJ2kR4O0) | | -| [Rodrigo Herrera](https://github.com/) | [Update 3](https://hackmd.io/@rodrigoh/update3) | | | | -| [RoryArredondo](https://github.com/arredr2) | [Update 3](https://hackmd.io/@arredr2/Bkehft2IR) | [Update 4](https://hackmd.io/@arredr2/BJ_GbXzDA) | | | -| [Rose Jethani](https://github.com/rose2221) | [Update 3](https://hackmd.io/@0xrosetteeee/Week3) | [Update 4](https://hackmd.io/@0xrosetteeee/Week4) | [Update 5](https://hackmd.io/@0xrosetteeee/BJw067Eu0) | | -| [Rupam Dey](https://github.com/rupam-04) | [Update 3](https://hackmd.io/@rupam-04/Week3) | [Update 4](https://hackmd.io/@rupam-04/Week4) | [Update 5](https://hackmd.io/@rupam-04/Week5) | | -| [Saeid](github.com/xm0onh) | | | | | -| [Sayan](https://github.com/threehrsleep) | [Update 3](https://hackmd.io/@threehrsleep/epf_week3) | | [Update 5](https://hackmd.io/@threehrsleep/epf_week5) | | -| [Scar Face](https://github.com/scarfacedotcom) | | | | | -| [Siddharth Vaderaa](https://github.com/SiddharthV1) | [Update 3](https://hackmd.io/@Xoznc0kESi6cRDnApMs5rQ/rkGyp1lDR) | | [Update 5](https://hackmd.io/@sidvdr/SJtOgPGOR) | | -| [Vaiz_07](https://github.com/07Vaishnavi-Singh) | | | | | -| [Zarathustra](https://github.com/Karrenbelt) | | | | | +| Name/GH | Week 3 | Week 4 | Week 5 | Project proposal | +| ------------------------------------------------------------ | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| [0xpanicError](https://github.com/0xpanicError) | [Update 3](https://hackmd.io/@0xpanicError/epf-update_3) | | | | +| [0xSulpiride](https://github.com/0xSulpiride) | [Update 3](https://hackmd.io/@sulpiride/rkfLFIw8A) | [Update 4](https://hackmd.io/@sulpiride/HkaTPOeDR) | [Update 5](https://hackmd.io/@sulpiride/By0potbuR) | | +| [Abhimanyu](https://github.com/ABresting) | | | | | +| [Aditya Gupta](https://github.com/1010adigupta) | [Update 3](https://hackmd.io/@adigupta/S1_Lq4-wR) | [Update 4](https://hackmd.io/@adigupta/rJ2y2koDR) | [Update 5](https://hackmd.io/@adigupta/rym-4nXdR) | | +| [AkshatGada](https://github.com/AkshatGada) | [Update 3](https://shorturl.at/BAQoX) | [Update 4](https://shorturl.at/Jnor9) | [Update 5](https://shorturl.at/s072i) | | +| [Amin](github.com/amintalebi) | | [Update 4](https://hackmd.io/@amintalebi/HJt9O9lvC) | [Update 5](https://hackmd.io/@amintalebi/ry9EVn6vA) | [FOCIL Geth and Prysm PoC](projects/focil-geth-and-prysm-poc.md) | +| [Another Dev](https://github.com/Another-DevX) | [Update 3](https://hackmd.io/@btcZWytfSNOGdxJyufkirQ/Bk9f7MlvA) | | | | +| [Ashely Yan](https://github.com/AshliaYan) | [Update 3](https://hackmd.io/@Ashelyyan/Sk-DjQJDR) | [Update 4](https://hackmd.io/@Ashelyyan/rkfZvzsvR) | [Update 5](https://hackmd.io/@Ashelyyan/BJ8oPqz_A) | | +| [Ashen](https://github.com/y1cunhui) | | | | | +| [Bastin](https://github.com/Inspector-Butters) | [Update 3](https://hackmd.io/@Bastin/By8UVwlPA) | | | | +| [BobLiu](https://github.com/Akagi201) | [Update 3](https://hackmd.io/@Akagi201/epf-cohort5-week3) | [Update 4](https://hackmd.io/@Akagi201/epf-cohort5-week4) | | | +| [Boma Naps](https://github.com/bomanaps) | [Update 3](https://hackmd.io/@bomanaps/B1-vbGxv0) | [Update 4](https://hackmd.io/@bomanaps/rJMH3Pdw0) | [Update 5](https://hackmd.io/@bomanaps/SkRfuOzuC) | | +| [Caleb](https://github.com/Tomi-3-0) | [Update 3](https://hackmd.io/@tc3rGbpwSe6dJwI2nuYQsw/ByPQxR6LA) | [Update 4](https://hackmd.io/@tomi0x/caleb-epf5-week4) | [Update 5](https://hackmd.io/@tomi0x/epf5-week5) | | +| [Chirag](https://github.com/chirag-parmar) | [Update 3](https://hackmd.io/@chirag-parmar/HJyYwEev0) | [Update 4](https://hackmd.io/@chirag-parmar/SJOk7wKDA) | [Update 5](https://hackmd.io/@chirag-parmar/B1m3PjzdA) | | +| [ChloeZhu](https://github.com/Chloezhu010) | | | | | +| [Cloud](https://github.com/0xClouds/) | | | | | +| [DanGoron](https://github.com/gorondan) | | [Update 4](https://hackmd.io/@kboomro/HyeZXZgxO0) | [Update 5](https://hackmd.io/@kboomro/HkfNC7edR) | | +| [Daniel Knopik](https://github.com/dknopik) | [Update 3](https://hackmd.io/@dknopik/epf-week3) | [Update 4](https://hackmd.io/@dknopik/epf-week4) | [Update 5](https://hackmd.io/@dknopik/epf-week5) | [Network Simulations with Shadow](projects/network-simulations-with-shadow.md) | +| [Dirk Jäckel](https://github.com/biafra23) | | | | | +| [Dsorken](https://github.com/Dsorken) | [Update 3](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/HJ9rQ0kD0) | [Update 4](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/r1VWP5_wA) | [Update 5](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/H19snvxuA) | | +| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Update 3](https://hackmd.io/@katya-blockchain-dev/epf5-week-3) | [Update 4](https://hackmd.io/@katya-blockchain-dev/epf5-week-4) | [Update 5](https://hackmd.io/@katya-blockchain-dev/epf5-week-5) | | +| [georgesheth](https://github.com/georgesheth) | | | | | +| [ghili](https://github.com/ghiliweld) | [Update 3](https://hackmd.io/@ghili/Hy-NPDvI0) | [Update 4](https://hackmd.io/@ghili/ByCdpKVP0) | [Update 5](https://hackmd.io/@ghili/S1XOsWfdR) | [SSZ Benchmarking and Optimization](projects/ssz-benchmarking-and-optimization.md) | +| [Glory Agatevure](https://github.com/gconnect) | [Update 3](https://hackmd.io/@gconnect/rJijgCI8C) | [Update 4](https://hackmd.io/@gconnect/r1TakB_wA) | | | +| [Hamid Bateni](https://github.com/irnb) | [Update 3](https://hackmd.io/@irnb/epf_week3) | [Update 4](https://hackmd.io/@irnb/epf_week4) | [Update 5](https://hackmd.io/@irnb/epf_week5) | | +| [Hangleang](https://github.com/hangleang) | [Update 3](https://hackmd.io/@hangleang/epf5-week3) | [Update 4](https://hackmd.io/@hangleang/epf5-week4) | [Update 5](https://hackmd.io/@hangleang/epf5-week5) | | +| [Hopinheimer](https://github.com/hopinheimer) | [Update 3](https://hackmd.io/@hopin232/HyIxzVgDA) | [Update 4](https://hackmd.io/@hopin232/HkD7QcRDA) | [Update 5](https://hackmd.io/@hopin232/HJ3vEtGO0) | | +| [Ifeoluwa Oderinde](https://github.com/owanikin) | [Update 3](https://hackmd.io/@ZpBFaS-NSO-5Xkdm4jwolg/HJAO40qUC) | | | | +| [Jihoon Song](https://github.com/jihoonsong) | [Update 3](https://hackmd.io/@jihoonsong/SkUIKCLLR) | [Update 4](https://hackmd.io/@jihoonsong/SJH-cXMdA) | [Update 5](https://hackmd.io/@jihoonsong/rkc04VzuR) | | +| [jsvisa](https://github.com/jsvisa) | [Update 3](https://hackmd.io/@jsvisa/epf5-week3) | [Update 4](https://hackmd.io/@jsvisa/epf5-week4) | [Update 5](https://hackmd.io/@jsvisa/epf5-week5) | | +| [kira](https://github.com/shyam-patel-kira) | [Update 3](https://hackmd.io/@kira50/BkH7kE-P0) | [Update 4](https://hackmd.io/@kira50/epf-week-4) | [Update 5](https://hackmd.io/@kira50/epf-week-5) | [ePBS implementation in Prysm](/projects/epbs-implementation-in-prysm.md) | +| [Krishang](https://github.com/kamuik16) | | [Update 4](https://hackmd.io/@kamuik16/epf-week-4) | | | +| [Ktl_XV](https://github.com/ktl-xv) | | | | | +| [Léa Na](https://github.com/lean-apple) | [Update 3](https://hackmd.io/@leanapple/epf5-week3) | [Update 4](https://hackmd.io/@leanapple/epf5-week4) | | | +| [MaxDav](https://github.com/MaximeDavin) | [Update 3](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/BJC0tglDR) | [Update 4](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/SyeNEsFPR) | [Update 5](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/ByZLWAfu0) | | +| [MeldSun](https://github.com/meldsun0) | | | | | +| [mrk1tty](https://github.com/garv-aga) | | | | | +| [Nikhil](https://github.com/nikhilkumar1612) | | | | | +| [Nilav](https://github.com/gerceboss) | [Update 3](https://hackmd.io/@gerceboss/SkdMHQgDR) | [Update 4](https://hackmd.io/@gerceboss/SygXTUKDR) | [Update 5](https://hackmd.io/@gerceboss/r14_HdMuC) | | +| [Rahul](https://github.com/guha-rahul) | [Update 3](https://hackmd.io/@0xrguha/BJIrH-lPA) | [Update 4](https://hackmd.io/@0xrguha/ry5hgvKw0) | [update 5](https://hackmd.io/doCmLTjqQuCOtuorR2QL4A) | | +| [raxhvl](https://github.com/raxhvl) | [Update 3](https://epf.raxhvl.com/week/3) | | | | +| [Richa](https://github.com/Richa-iitr) | [Update 3](https://hackmd.io/@iri/rJrPvd08C) | [Update 4](https://hackmd.io/@iri/rkbRsVtPA) | [Update 5](https://hackmd.io/@iri/HkJ2kR4O0) | | +| [Rodrigo Herrera](https://github.com/) | [Update 3](https://hackmd.io/@rodrigoh/update3) | | | | +| [RoryArredondo](https://github.com/arredr2) | [Update 3](https://hackmd.io/@arredr2/Bkehft2IR) | [Update 4](https://hackmd.io/@arredr2/BJ_GbXzDA) | | | +| [Rose Jethani](https://github.com/rose2221) | [Update 3](https://hackmd.io/@0xrosetteeee/Week3) | [Update 4](https://hackmd.io/@0xrosetteeee/Week4) | [Update 5](https://hackmd.io/@0xrosetteeee/BJw067Eu0) | | +| [Rupam Dey](https://github.com/rupam-04) | [Update 3](https://hackmd.io/@rupam-04/Week3) | [Update 4](https://hackmd.io/@rupam-04/Week4) | [Update 5](https://hackmd.io/@rupam-04/Week5) | | +| [Saeid](github.com/xm0onh) | | | | | +| [Sayan](https://github.com/threehrsleep) | [Update 3](https://hackmd.io/@threehrsleep/epf_week3) | | [Update 5](https://hackmd.io/@threehrsleep/epf_week5) | | +| [Scar Face](https://github.com/scarfacedotcom) | | | | | +| [Siddharth Vaderaa](https://github.com/SiddharthV1) | [Update 3](https://hackmd.io/@Xoznc0kESi6cRDnApMs5rQ/rkGyp1lDR) | | [Update 5](https://hackmd.io/@sidvdr/SJtOgPGOR) | | +| [Vaiz_07](https://github.com/07Vaishnavi-Singh) | | | | | +| [Zarathustra](https://github.com/Karrenbelt) | | | | | ## Phase 3: Execution From 50ab02e4eafd995e9729fb3cd5c0a6dc6d789da0 Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sun, 21 Jul 2024 17:14:33 -0700 Subject: [PATCH 04/12] remove prettier format --- development-updates.md | 2 -- projects/epbs-implementation-in-prysm.md | 27 +++++++++++++----------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/development-updates.md b/development-updates.md index d6b7cd22..2c7d52c1 100644 --- a/development-updates.md +++ b/development-updates.md @@ -1,5 +1,3 @@ - - # Development Updates This document includes all development updates by contributors to EPF cohort 5. [Learn more](/program-guide/repo-guide.md#development-updates) about creating your development updates. diff --git a/projects/epbs-implementation-in-prysm.md b/projects/epbs-implementation-in-prysm.md index 8fcf41e9..d06b3ce1 100644 --- a/projects/epbs-implementation-in-prysm.md +++ b/projects/epbs-implementation-in-prysm.md @@ -10,7 +10,8 @@ Proposers want their promised transaction bundles to be delivered and get paid s ### Why ePBS -Referring to this [doc](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w?view#3-Enshrining-PBS) by potuz, The primary problem in the current implementation of PBS in Ethereum are as followed: +Referring to this [doc](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w?view#3-Enshrining-PBS) by potuz, The primary problem in the current implementation of PBS in Ethereum are as followed: + 1. A proposer that wants to sell his right to build a payload **must** trust an intermediary. 2. A builder that wants to buy the rights to build a payload **must** trust an intermediary. @@ -34,15 +35,16 @@ This change allows for faster network propagation by removing the execution payl
-*ePBS slot from potuz's presentation* +_ePBS slot from potuz's presentation_ +
## Specification -The implementation would follow the spec mentioned in [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732). +The implementation would follow the spec mentioned in [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732). -The spec introduces a new staked Participant called _Builders_ and new honest validators duties called _payload timeliness attestations_. +The spec introduces a new staked Participant called _Builders_ and new honest validators duties called _payload timeliness attestations_. The slot in the Ethereum protocol is divided into four intervals: @@ -80,6 +82,7 @@ Note: the timeline is tentative and might change based on the work done. Additio ## Goal of the Project The goal for this project is to achieve a fully functional and working PoC for ePBS before devcon, this would include for a single validator: + - A proposer can request bids for payload from the builder. - A builder can perform various duties like providing `signedExecutionPayloadHeader`, or a message indicating withhelding payload etc. - For me personally, experience the development process and learn a ton under the mentorship of core devs and observe the lifecycle for an EIP implementation. @@ -100,11 +103,11 @@ The goal for this project is to achieve a fully functional and working PoC for e ## Resources -* [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732) -* [ePBS Spec](https://github.com/ethereum/consensus-specs/pull/3828) -* [ePBS design constraints]([/ZNPG7xPFRnmMOf0j95Hl3w](https://ethresear.ch/t/epbs-design-constraints/18728)) -* [WIP ePBS PR in the Prysm repo](https://github.com/prysmaticlabs/prysm/pull/13917) -* [ePBS specification notes](https://hackmd.io/uWVGcvcKSoqS4P5c5NHG3g) -* [ePBS Forkchoice annotated spec](https://hackmd.io/@potuz/SJdXM43x0) -* [ePBS Annotated Validator Spec](https://hackmd.io/@ttsao/epbs-annotated-validator) -* [Payload boosts in ePBS](https://ethresear.ch/t/payload-boosts-in-epbs/18769/1) \ No newline at end of file +- [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732) +- [ePBS Spec](https://github.com/ethereum/consensus-specs/pull/3828) +- [ePBS design constraints](<[/ZNPG7xPFRnmMOf0j95Hl3w](https://ethresear.ch/t/epbs-design-constraints/18728)>) +- [WIP ePBS PR in the Prysm repo](https://github.com/prysmaticlabs/prysm/pull/13917) +- [ePBS specification notes](https://hackmd.io/uWVGcvcKSoqS4P5c5NHG3g) +- [ePBS Forkchoice annotated spec](https://hackmd.io/@potuz/SJdXM43x0) +- [ePBS Annotated Validator Spec](https://hackmd.io/@ttsao/epbs-annotated-validator) +- [Payload boosts in ePBS](https://ethresear.ch/t/payload-boosts-in-epbs/18769/1) From db32d7603c985ff7486052f9f355c9773bac5ed6 Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sun, 21 Jul 2024 17:25:00 -0700 Subject: [PATCH 05/12] nit grammar --- projects/epbs-implementation-in-prysm.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/epbs-implementation-in-prysm.md b/projects/epbs-implementation-in-prysm.md index d06b3ce1..ebc140e1 100644 --- a/projects/epbs-implementation-in-prysm.md +++ b/projects/epbs-implementation-in-prysm.md @@ -6,11 +6,11 @@ Implementation of a working Proof-of-Concept for [EIP-7732 or ePBS](https://gith Currently in the Ethereum, the Proposer-Builder Separation or PBS is handled by third-party software like mev-boost and an out-of-protocol relay network. The [Proposer-Builder Separation (PBS)](https://ethereum.org/en/roadmap/pbs) was introduced to segregate block proposing from block building. PBS democratizes access to MEV by enabling block proposers to sell their rights to construct a block, thereby creating a market for block builders. [mev-boost](https://github.com/flashbots/mev-boost), an out-of-protocol implementation of PBS built by [Flashbots](https://www.flashbots.net), has been dominantly adopted, accounting for approximately [90% of Ethereum blocks being produced](https://mevboost.pics). -Proposers want their promised transaction bundles to be delivered and get paid safely, while builders want their bundles to avoid front-running. Relays sit between proposers and builders, acting as mutually trusted auctioneers. Due to a lack of sufficient incentives to run relays, we are witnessing another centralizing force. Over the past two weeks, only five relays has produced around [~94% of total block](https://mevboost.pics) that were proposed. +Ideally, Proposers want their promised transaction bundles to be delivered and get paid safely, while builders want their bundles to avoid front-running. Relays sit between proposers and builders, acting as mutually trusted auctioneers. Due to a lack of sufficient incentives to run relays, we are witnessing another centralizing force. Over the past two weeks, only five relays has produced around [~94% of total blocks](https://mevboost.pics) that were proposed. ### Why ePBS -Referring to this [doc](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w?view#3-Enshrining-PBS) by potuz, The primary problem in the current implementation of PBS in Ethereum are as followed: +Referring to this [doc](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w?view#3-Enshrining-PBS) by potuz, The primary problem in the current implementation of PBS in Ethereum is as followed: 1. A proposer that wants to sell his right to build a payload **must** trust an intermediary. 2. A builder that wants to buy the rights to build a payload **must** trust an intermediary. From 32af1e81b6f3c35d619f98750fd13a09454f389c Mon Sep 17 00:00:00 2001 From: kira Date: Mon, 22 Jul 2024 11:52:49 +0530 Subject: [PATCH 06/12] fix terrence's name Co-authored-by: Potuz --- projects/epbs-implementation-in-prysm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/epbs-implementation-in-prysm.md b/projects/epbs-implementation-in-prysm.md index ebc140e1..0971e2ee 100644 --- a/projects/epbs-implementation-in-prysm.md +++ b/projects/epbs-implementation-in-prysm.md @@ -99,7 +99,7 @@ The goal for this project is to achieve a fully functional and working PoC for e #### Mentors - [Potuz](https://github.com/potuz) -- [Terrence](https://github.com/terencechain) +- [Terence](https://github.com/terencechain) ## Resources From 9f5a46e590652e5e31478572e5b57355b83eeb5e Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sun, 21 Jul 2024 23:24:02 -0700 Subject: [PATCH 07/12] nit: spelling --- projects/epbs-implementation-in-prysm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/epbs-implementation-in-prysm.md b/projects/epbs-implementation-in-prysm.md index 0971e2ee..acd29e41 100644 --- a/projects/epbs-implementation-in-prysm.md +++ b/projects/epbs-implementation-in-prysm.md @@ -59,7 +59,7 @@ At any given slot, the blockchain’s head status can be: - An empty block for the current slot if the proposer submitted a block but the builder did not reveal the payload on time. - A full block for the current slot if both the proposer and the builder revealed on time. -There are various pacakages, that would require significant changes including but not limited to sync, core, beacon-apis for builder, forkchoice, engine api and blockchain etc. Additionally, there are numerous helper functions and once a working PoC is implemented we would be moving onto Networking packages for the actual p2p auction and bids' gossiping. +There are various packages, that would require significant changes including but not limited to sync, core, beacon-apis for builder, forkchoice, engine api and blockchain etc. Additionally, there are numerous helper functions and once a working PoC is implemented we would be moving onto Networking packages for the actual p2p auction and bids' gossiping. ## Roadmap From 314eb862e81e664b920daf9371d51dc490e755df Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Mon, 22 Jul 2024 00:07:53 -0700 Subject: [PATCH 08/12] restore proposal for ePBS in nimbus --- projects/epbs-implementation-in-nimbus.md | 57 +++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 projects/epbs-implementation-in-nimbus.md diff --git a/projects/epbs-implementation-in-nimbus.md b/projects/epbs-implementation-in-nimbus.md new file mode 100644 index 00000000..357699e4 --- /dev/null +++ b/projects/epbs-implementation-in-nimbus.md @@ -0,0 +1,57 @@ +# `eip-7732: enshrined Proposer-Builder Separation` implementation in the Nimbus Consensus Client + +## Motivation + +Transitioning from MEV-Boost to enshrined PBS (ePBS) eliminates reliance on third-party software, broadens block construction responsibilities, and ensures block construction adheres to the network's security rules. This integration fosters a transparent and competitive marketplace for block space. + +Currently, the system's dependence on a few relays introduces centralization risks and security vulnerabilities, as these relays operate outside Ethereum’s consensus rules. Enshrining PBS within the protocol seeks to mitigate these risks by establishing a secure proposer-builder relationship, encourage direct protocol engagement and create a transparent, equitable MEV market. By reducing reliance on external systems, ePBS enhances decentralization, improves censorship resistance, and supports long-term goals like MEV redistribution mechanisms (e.g., MEV-burn). + +## Project description + +This project aims to integrate proposer-builder interaction, where block proposers delegate their block building rights to specialized block builders to maximize extractable value by optimally ordering transactions within the protocol. By separating block building from block proposal, the Maximal Extractable Value (MEV) is distributed across more validators, rather than being concentrated with the most effective MEV searchers. Allowing specialized block builders to operate also reduces the resource burden on individual participants, enabling more independent validators to verify the honesty of blocks. This project seeks to implement proposer-builder separation in the Nimbus Consensus client, following the specifications of the [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732#abstract) document. + +## Specification + +This specification involves decoupling the execution from consensus and the notion of splitting the slot into 2 parts +All major changes will be happening in the Consesnus client as specified in this [eip](https://eips.ethereum.org/EIPS/eip-7732). + +## Roadmap +This below schedule might not hold strictly and the proposed two-weeks-per-component schedule might prove difficult, and I suspect it might prove necessary to interleave things more and difficult to try to plan too tightly. However, the main challenges are listed in this roadmap: + +- _Week 5-6_: Understand the current Nimbus-eth2 architecture with the [`storeBlock`](https://github.com/status-im/nimbus-eth2/blob/unstable/beacon_chain/gossip_processing/block_processor.nim `storeBlock`) procedure as a good entry point while getting familiar with the Nim language
+- _Week 7-8_: Implement beacon change specs and write tests
+- _Week 9-10_: Implement the fork-choice specs and write tests
+- _Week 11-12_: Implement the p2p specification changes for ePBS and write tests
+- _Week 13-14_: Implement the honest validator and builder specs with accompanying tests
+- _Week 15-17_: Research and implement ePBS compatible fork choice logic. +- _Week 18-19_: Going through already implemented work and considering performance optimisation and improving efficiency +- _Week 20_: Prepare final updates and presentations on work done. + +## Possible challenges + +- Navigating a new language +- Ensuring Compatibility and interoperability with existing Nimbus Ethereum infrastructure and be flexible for future updates like sharding or new layer-2 solutions. +- The extent to which there are test vectors. In theory there might need to be at least one other project to compare with. + +## Goal of the project + +The goal of the project is to have a working and well-tested implementation of ePBS in the Nimbus Consensus client satisfying security conditions. Even if it doesn't end up being production-ready, just having proofs of existence of this. Success will be measured by the efficiency and performance of the completed implementation and how it is able to integerate with the existing Nimbus codebase. + +## Collaborators + +### Fellows +@[kira](https://github.com/shyam-patel-kira) is working on something similar in the Prysm consensus client + +### Mentors + +- @[tersec](https://github.com/tersec) +- @[Potuz](https://github.com/potuz/) +- @[Terrence](https://github.com/terencechain/) + +## Resources +* [eip-7732](https://eips.ethereum.org/EIPS/eip-7732#abstract) +* [Ethereum Consensus Specs](https://github.com/ethereum/consensus-specs/tree/v1.3.0/#stable-specifications) +* [Nim Manual](https://nim-lang.org/docs/manual.html) +* [Nimbus ETH2](https://github.com/status-im/nimbus-eth2) +* [Proposer-Builder Separation](https://ethereum.org/en/roadmap/pbs/) + From 81e71409bf5da61f159173a4af68110c0e7438b2 Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Mon, 29 Jul 2024 23:24:46 -0700 Subject: [PATCH 09/12] Week 6 and week 7 updates --- notes/Kira.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/notes/Kira.md b/notes/Kira.md index 31cf2969..6a3a31bd 100644 --- a/notes/Kira.md +++ b/notes/Kira.md @@ -22,3 +22,5 @@ I'll posting my weekly updates and notes on my [hackmd](https://hackmd.io/@kira5 * [Week 3](https://hackmd.io/@kira50/BkH7kE-P0) * [Week 4](https://hackmd.io/@kira50/epf-week-4) * [Week 5](https://hackmd.io/@kira50/epf-week-5) +* [Week 6](https://hackmd.io/@kira50/epf-week-6) +* [Week 7](https://hackmd.io/@kira50/epf-week-7) From 6f0bbeb5d982545cb1c758a9eaf61c1fad7b9efe Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sat, 23 Nov 2024 14:20:21 +0530 Subject: [PATCH 10/12] Add last 4 weeks of updates; Add project presentation link --- development-updates.md | 99 +++++++++++++++++++++--------------------- notes/Kira.md | 1 + 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/development-updates.md b/development-updates.md index ee72b0c9..ffce76d9 100644 --- a/development-updates.md +++ b/development-updates.md @@ -86,7 +86,7 @@ With the gained insight into the protocol, the following weeks serve as a deep d | [DanGoron](https://github.com/gorondan) | | [Update 4](https://hackmd.io/@kboomro/HyeZXZgxO0) | [Update 5](https://hackmd.io/@kboomro/HkfNC7edR) | [enshrined Operator-Delegator Separation specification](projects/eods-specification.md) | | [Daniel Knopik](https://github.com/dknopik) | [Update 3](https://hackmd.io/@dknopik/epf-week3) | [Update 4](https://hackmd.io/@dknopik/epf-week4) | [Update 5](https://hackmd.io/@dknopik/epf-week5) | [Network Simulations with Shadow](projects/network-simulations-with-shadow.md) | | [Dsorken](https://github.com/Dsorken) | [Update 3](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/HJ9rQ0kD0) | [Update 4](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/r1VWP5_wA) | [Update 5](https://hackmd.io/@VgS_FqIfRay_4wp6pMBEgw/H19snvxuA) | [Besu Portal Client](projects/besu-portal-client.md) | -| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Update 3](https://hackmd.io/@katya-blockchain-dev/epf5-week-3) | [Update 4](https://hackmd.io/@katya-blockchain-dev/epf5-week-4) | [Update 5](https://hackmd.io/@katya-blockchain-dev/epf5-week-5) | [PeerDAS metrics specs](projects/peerdas-metrics-specs.md) | +| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Update 3](https://hackmd.io/@katya-blockchain-dev/epf5-week-3) | [Update 4](https://hackmd.io/@katya-blockchain-dev/epf5-week-4) | [Update 5](https://hackmd.io/@katya-blockchain-dev/epf5-week-5) | [PeerDAS metrics specs](projects/peerdas-metrics-specs.md) | | [georgesheth](https://github.com/georgesheth) | [Update 3](https://hackmd.io/@georgesheth/rJxnQBrtC) | [Update 4](https://hackmd.io/@georgesheth/HJKkx3NSR) | [Update 5](https://hackmd.io/@georgesheth/Hk2r2BHFC) | [Push Based Custom Ceiling Partial Withdrawal for EIP-7251 (MaxEB)](projects/Push-Based-Custom-Ceiling-Partial-Withdraw-for-EIP7251-MaxEB.md) | | [ghili](https://github.com/ghiliweld) | [Update 3](https://hackmd.io/@ghili/Hy-NPDvI0) | [Update 4](https://hackmd.io/@ghili/ByCdpKVP0) | [Update 5](https://hackmd.io/@ghili/S1XOsWfdR) | [SSZ Benchmarking and Optimization](projects/ssz-benchmarking-and-optimization.md) | | [Glory Agatevure](https://github.com/gconnect) | [Update 3](https://hackmd.io/@gconnect/rJijgCI8C) | [Update 4](https://hackmd.io/@gconnect/r1TakB_wA) | [Update 5](https://hackmd.io/@gconnect/Skw5Z7f_A) | [Native Ephemery Testnet Client Pair Implementation](/projects/native-ephemery-client-pair-implementation.md) | @@ -101,7 +101,7 @@ With the gained insight into the protocol, the following weeks serve as a deep d | [Léa Na](https://github.com/lean-apple) | [Update 3](https://hackmd.io/@leanapple/epf5-week3) | [Update 4](https://hackmd.io/@leanapple/epf5-week4) | | [FOCIL Ligthouse and Reth PoC](projects/focil-lighthouse-and-reth-poc.md) + [Axum transition in lighthouse](projects/axum-transition-in-lighthouse.md) | | [MaxDav](https://github.com/MaximeDavin) | [Update 3](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/BJC0tglDR) | [Update 4](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/SyeNEsFPR) | [Update 5](https://hackmd.io/@jdpsr0d9T9ivhzYDDyuQBg/ByZLWAfu0) | [Prysm libp2p Implementation](projects/Prysm_libP2P_Implementation.md) | | [MeldSun](https://github.com/meldsun0) | | | | | -| [MJZK(Jin Mingjian)](https://github.com/mjzk) | | | | [Grandine Windows Support](/projects/grandine-windows-support.md)| +| [MJZK(Jin Mingjian)](https://github.com/mjzk) | | | | [Grandine Windows Support](/projects/grandine-windows-support.md) | | [Nilav](https://github.com/gerceboss) | [Update 3](https://hackmd.io/@gerceboss/SkdMHQgDR) | [Update 4](https://hackmd.io/@gerceboss/SygXTUKDR) | [Update 5](https://hackmd.io/@gerceboss/r14_HdMuC) | [PeerDAS in Nimbus](project/peerdas-nimbus.md) | | [Rahul](https://github.com/guha-rahul) | [Update 3](https://hackmd.io/@0xrguha/BJIrH-lPA) | [Update 4](https://hackmd.io/@0xrguha/ry5hgvKw0) | [update 5](https://hackmd.io/doCmLTjqQuCOtuorR2QL4A) | [Light Client Support in Prysm](projects/light-client-support-in-prysm.md) | | [raxhvl](https://github.com/raxhvl) | [Update 3](https://epf.raxhvl.com/week/3) | [Update 4](https://epf.raxhvl.com/week/4) | [Update 5](https://epf.raxhvl.com/week/5) | [EVM Memory Repricing](project/evm-memory-repricing.md) | @@ -145,7 +145,7 @@ The actual project development is the main part of the program. Post your regula | [Ifeoluwa Oderinde](https://github.com/owanikin) | | | | | | [Update 11](https://hackmd.io/@ZpBFaS-NSO-5Xkdm4jwolg/BkjyzCKiC) | | | | | | | | | | | | [Jihoon Song](https://github.com/jihoonsong) | [Update 6](https://hackmd.io/@jihoonsong/SJMKLaoOA) | [Update 7](https://hackmd.io/@jihoonsong/HypZY0EKA) | [Update 8](https://hackmd.io/@jihoonsong/rkag8fRYC) | [Update 9](https://hackmd.io/@jihoonsong/SkAFlxD5R) | [Update 10 & 11](https://hackmd.io/@jihoonsong/SkXyL5YoR) | | [Update 12 & 13](https://hackmd.io/@jihoonsong/BkQdAbm2A) | | [Update 14 & 15](https://hackmd.io/@jihoonsong/rkdPJJuTA) | | | | | | | | | [jsvisa](https://github.com/jsvisa) | [Update 6](https://hackmd.io/@jsvisa/epf5-week6) | [Update 7](https://hackmd.io/@jsvisa/epf5-week7) | [Update 8](https://hackmd.io/@jsvisa/epf5-week8) | [Update 9](https://hackmd.io/@jsvisa/epf5-week9) | [Update 10](https://hackmd.io/@jsvisa/epf5-week10) | [Update 11](https://hackmd.io/@jsvisa/epf5-week11) | | [Update 12 & 13](https://hackmd.io/@jsvisa/epf5-week12-13) | | | [Update 14-16](https://hackmd.io/@jsvisa/epf5-week14-16) | | | | | | -| [kira](https://github.com/shyam-patel-kira) | [Update 6](https://hackmd.io/@kira50/epf-week-6) | [Update 7](https://hackmd.io/@kira50/epf-week-7) | | [Update 8 & 9](https://hackmd.io/@kira50/epf-week-8-and-9) | | [Update 10 & 11](https://hackmd.io/@kira50/epf-week-10-and-11) | | [Update 12 & 13](https://hackmd.io/@kira50/epf-week-12-and-13) | | | | | | | | | +| [kira](https://github.com/shyam-patel-kira) | [Update 6](https://hackmd.io/@kira50/epf-week-6) | [Update 7](https://hackmd.io/@kira50/epf-week-7) | | [Update 8 & 9](https://hackmd.io/@kira50/epf-week-8-and-9) | | [Update 10 & 11](https://hackmd.io/@kira50/epf-week-10-and-11) | | [Update 12 & 13](https://hackmd.io/@kira50/epf-week-12-and-13) | | | | | | |[Update 18 & 19](https://hackmd.io/@kira50/epf-week-18-and-19) | [Update 20 & 21](https://hackmd.io/@kira50/epf-week-20-and-21) | | [Ktl_XV](https://github.com/ktl-xv) | | | | | | | | | | | | | | | | | | [Léa Na](https://github.com/lean-apple) | [Update 6](https://hackmd.io/@leanapple/epf5-week-6) | | [Update 8](https://hackmd.io/@leanapple/epf5-week-8) | | [Update 10](https://hackmd.io/@leanapple/epf-week-10) | | | | | | | | | | [Update 20](https://hackmd.io/@leanapple/epf-week-20) | [Update 21](https://hackmd.io/@leanapple/epf-week-21) | | [MaxDav](https://github.com/MaximeDavin) | | | | | [Update 10](https://hackmd.io/JHxszwwaTLiACttuooqvaA) | | | | | | | | | | | | @@ -169,50 +169,49 @@ The actual project development is the main part of the program. Post your regula The final weeks of the cohort should mark the finalization of your project. Submit your last dev update which is reflecting the overall project progress, its next steps and your experience with EPF. You can also link a video or document presenting the final stage of your project. -| Name/GH | Final report | Project presentation | -| ------------------------------------------------------------ | ------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| [0xpanicError](https://github.com/0xpanicError) | [Final Update](https://hackmd.io/@0xpanicError/epf-final_update) | [Project Presentation](https://docs.google.com/presentation/d/138ucnBFjGoBDcA-CUOVi6j5YV5_8bKBpvE2n6WgFBI4/edit?usp=sharing) | -| [0xSulpiride](https://github.com/0xSulpiride) | | | -| [Abhimanyu](https://github.com/ABresting) | | | -| [Aditya Gupta](https://github.com/1010adigupta) | | | -| [Amin](github.com/amintalebi) | | | -| [Ashely Yan](https://github.com/AshliaYan) | [Final Update](https://hackmd.io/@Ashelyyan/BJm6NWS-Jg) | [Project Presentation](https://drive.google.com/file/d/1bkJzJymLPh8vNKzWJdMFu6W0aImETW9Y/view?usp=sharing) | -| [Bastin](https://github.com/Inspector-Butters) | | | -| [BobLiu](https://github.com/Akagi201) | | | -| [Boma Naps](https://github.com/bomanaps) | | | -| [Caleb](https://github.com/Tomi-3-0) | | | -| [Chirag](https://github.com/chirag-parmar) | | | -| [DanGoron](https://github.com/gorondan) | | | -| [Daniel Knopik](https://github.com/dknopik) | | | -| [Dirk Jäckel](https://github.com/biafra23) | | | -| [Dsorken](https://github.com/Dsorken) | | | -| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Final Update](https://hackmd.io/@katya-blockchain-dev/epf5-final-report)| [Project presentation](https://docs.google.com/presentation/d/1Rjw48ZwlmZyKziiEOSrpV3S7oRqjIJsfZzQ_Gjfoyus/edit?usp=sharing)| -| [georgesheth](https://github.com/georgesheth) | | | -| [ghili](https://github.com/ghiliweld) | [Final Update](https://hackmd.io/@ghili/Hy1YpMrbJx) | | -| [Glory Agatevure](https://github.com/gconnect) | [Final Update](https://hackmd.io/@gconnect/BJRx9D7Z1l) | [Project presentation](https://www.canva.com/design/DAGVUyEkhXs/aL81kCgJYCOOnMfnKlSN0Q) | -| [Hamid Bateni](https://github.com/irnb) | | | -| [Hangleang](https://github.com/hangleang) | [Final Update](https://hackmd.io/@hangleang/epf5-final) | [Project Presentation](https://tinyurl.com/32b9tb84) | -| [Hopinheimer](https://github.com/hopinheimer) | | | -| [Ifeoluwa Oderinde](https://github.com/owanikin) | | | -| [Jihoon Song](https://github.com/jihoonsong) | | | -| [jsvisa](https://github.com/jsvisa) | [Final Update](https://hackmd.io/@jsvisa/epf5-final) | [Project Presentation](https://tinyurl.com/2yuuuecn) | -| [kira](https://github.com/shyam-patel-kira) | | | -| [Ktl_XV](https://github.com/ktl-xv) | | | -| [Léa Na](https://github.com/lean-apple) | | | -| [MaxDav](https://github.com/MaximeDavin) | | | -| [MeldSun](https://github.com/meldsun0) | | | -| [Md Amaan](https://github.com/Redidacove) | | | -| [MJZK(Jin Mingjian)](https://github.com/mjzk) | [Final Update](https://hackmd.io/@MJZK/rkvCKcnGye) | [Project Presentation](https://docs.google.com/presentation/d/1Fwnp55RWr7nZWIn11Gjwfde2RDs9wjh6bafnAr9CGzQ/edit#slide=id.p) | -| [Nilav](https://github.com/gerceboss) | | | -| [Rahul](https://github.com/guha-rahul) | | | -| [raxhvl](https://github.com/raxhvl) | | | -| [Richa](https://github.com/Richa-iitr) | | | -| [Richard Smith](https://github.com/ret2happy) | | | -| [RoryArredondo](https://github.com/arredr2) | | | -| [Rose Jethani](https://github.com/rose2221) | | | -| [Rupam Dey](https://github.com/rupam-04) | [Final Update](https://hackmd.io/@rupam-04/final-update) | [Project Presentation](https://devcon.org/en/sea/presentation/9PC3EY) | -| [Saeid](github.com/xm0onh) | | | -| [Sayan](https://github.com/threehrsleep) | | | -| [Siddharth Vaderaa](https://github.com/SiddharthV1) | | | -| [Zarathustra](https://github.com/Karrenbelt) | | | - +| Name/GH | Final report | Project presentation | +| ------------------------------------------------------------ | ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| [0xpanicError](https://github.com/0xpanicError) | [Final Update](https://hackmd.io/@0xpanicError/epf-final_update) | [Project Presentation](https://docs.google.com/presentation/d/138ucnBFjGoBDcA-CUOVi6j5YV5_8bKBpvE2n6WgFBI4/edit?usp=sharing) | +| [0xSulpiride](https://github.com/0xSulpiride) | | | +| [Abhimanyu](https://github.com/ABresting) | | | +| [Aditya Gupta](https://github.com/1010adigupta) | | | +| [Amin](github.com/amintalebi) | | | +| [Ashely Yan](https://github.com/AshliaYan) | [Final Update](https://hackmd.io/@Ashelyyan/BJm6NWS-Jg) | [Project Presentation](https://drive.google.com/file/d/1bkJzJymLPh8vNKzWJdMFu6W0aImETW9Y/view?usp=sharing) | +| [Bastin](https://github.com/Inspector-Butters) | | | +| [BobLiu](https://github.com/Akagi201) | | | +| [Boma Naps](https://github.com/bomanaps) | | | +| [Caleb](https://github.com/Tomi-3-0) | | | +| [Chirag](https://github.com/chirag-parmar) | | | +| [DanGoron](https://github.com/gorondan) | | | +| [Daniel Knopik](https://github.com/dknopik) | | | +| [Dirk Jäckel](https://github.com/biafra23) | | | +| [Dsorken](https://github.com/Dsorken) | | | +| [Ekaterina Riazantseva](https://github.com/KatyaRyazantseva) | [Final Update](https://hackmd.io/@katya-blockchain-dev/epf5-final-report) | [Project presentation](https://docs.google.com/presentation/d/1Rjw48ZwlmZyKziiEOSrpV3S7oRqjIJsfZzQ_Gjfoyus/edit?usp=sharing) | +| [georgesheth](https://github.com/georgesheth) | | | +| [ghili](https://github.com/ghiliweld) | [Final Update](https://hackmd.io/@ghili/Hy1YpMrbJx) | | +| [Glory Agatevure](https://github.com/gconnect) | [Final Update](https://hackmd.io/@gconnect/BJRx9D7Z1l) | [Project presentation](https://www.canva.com/design/DAGVUyEkhXs/aL81kCgJYCOOnMfnKlSN0Q) | +| [Hamid Bateni](https://github.com/irnb) | | | +| [Hangleang](https://github.com/hangleang) | [Final Update](https://hackmd.io/@hangleang/epf5-final) | [Project Presentation](https://tinyurl.com/32b9tb84) | +| [Hopinheimer](https://github.com/hopinheimer) | | | +| [Ifeoluwa Oderinde](https://github.com/owanikin) | | | +| [Jihoon Song](https://github.com/jihoonsong) | | | +| [jsvisa](https://github.com/jsvisa) | [Final Update](https://hackmd.io/@jsvisa/epf5-final) | [Project Presentation](https://tinyurl.com/2yuuuecn) | +| [kira](https://github.com/shyam-patel-kira) | | [Project Presentation](https://docs.google.com/presentation/d/1XP6W6A3-lCz0aeamZyGShkdG9rB-Lpip1Ceasz22olM/edit?usp=sharing) | +| [Ktl_XV](https://github.com/ktl-xv) | | | +| [Léa Na](https://github.com/lean-apple) | | | +| [MaxDav](https://github.com/MaximeDavin) | | | +| [MeldSun](https://github.com/meldsun0) | | | +| [Md Amaan](https://github.com/Redidacove) | | | +| [MJZK(Jin Mingjian)](https://github.com/mjzk) | [Final Update](https://hackmd.io/@MJZK/rkvCKcnGye) | [Project Presentation](https://docs.google.com/presentation/d/1Fwnp55RWr7nZWIn11Gjwfde2RDs9wjh6bafnAr9CGzQ/edit#slide=id.p) | +| [Nilav](https://github.com/gerceboss) | | | +| [Rahul](https://github.com/guha-rahul) | | | +| [raxhvl](https://github.com/raxhvl) | | | +| [Richa](https://github.com/Richa-iitr) | | | +| [Richard Smith](https://github.com/ret2happy) | | | +| [RoryArredondo](https://github.com/arredr2) | | | +| [Rose Jethani](https://github.com/rose2221) | | | +| [Rupam Dey](https://github.com/rupam-04) | [Final Update](https://hackmd.io/@rupam-04/final-update) | [Project Presentation](https://devcon.org/en/sea/presentation/9PC3EY) | +| [Saeid](github.com/xm0onh) | | | +| [Sayan](https://github.com/threehrsleep) | | | +| [Siddharth Vaderaa](https://github.com/SiddharthV1) | | | +| [Zarathustra](https://github.com/Karrenbelt) | | | diff --git a/notes/Kira.md b/notes/Kira.md index d0462375..9b3ae2ec 100644 --- a/notes/Kira.md +++ b/notes/Kira.md @@ -27,4 +27,5 @@ I'll posting my weekly updates and notes on my [hackmd](https://hackmd.io/@kira5 * [Week 8 & 9](https://hackmd.io/@kira50/epf-week-8-and-9) * [Week 10 & 11](https://hackmd.io/@kira50/epf-week-10-and-11) * [Week 12 & 13](https://hackmd.io/@kira50/epf-week-12-and-13) +* [Week 20 & 21](https://hackmd.io/@kira50/epf-week-20-and-21) From 1499f88aa3be51fd14f372c895846bf6f874ee7f Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sun, 24 Nov 2024 16:22:25 +0530 Subject: [PATCH 11/12] Add final report and update project proposal --- development-updates.md | 4 +--- projects/epbs-implementation-in-prysm.md | 7 +++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/development-updates.md b/development-updates.md index ffce76d9..2356bd65 100644 --- a/development-updates.md +++ b/development-updates.md @@ -1,5 +1,3 @@ - - # Development Updates This document includes all development updates by contributors to EPF cohort 5. [Learn more](/program-guide/repo-guide.md#development-updates) about creating your development updates. @@ -196,7 +194,7 @@ The final weeks of the cohort should mark the finalization of your project. Subm | [Ifeoluwa Oderinde](https://github.com/owanikin) | | | | [Jihoon Song](https://github.com/jihoonsong) | | | | [jsvisa](https://github.com/jsvisa) | [Final Update](https://hackmd.io/@jsvisa/epf5-final) | [Project Presentation](https://tinyurl.com/2yuuuecn) | -| [kira](https://github.com/shyam-patel-kira) | | [Project Presentation](https://docs.google.com/presentation/d/1XP6W6A3-lCz0aeamZyGShkdG9rB-Lpip1Ceasz22olM/edit?usp=sharing) | +| [kira](https://github.com/shyam-patel-kira) | [Final Update](https://hackmd.io/@kira50/epf-final-report) | [Project Presentation](https://docs.google.com/presentation/d/1XP6W6A3-lCz0aeamZyGShkdG9rB-Lpip1Ceasz22olM/edit?usp=sharing) | | [Ktl_XV](https://github.com/ktl-xv) | | | | [Léa Na](https://github.com/lean-apple) | | | | [MaxDav](https://github.com/MaximeDavin) | | | diff --git a/projects/epbs-implementation-in-prysm.md b/projects/epbs-implementation-in-prysm.md index acd29e41..1fa1ca7e 100644 --- a/projects/epbs-implementation-in-prysm.md +++ b/projects/epbs-implementation-in-prysm.md @@ -8,7 +8,7 @@ Currently in the Ethereum, the Proposer-Builder Separation or PBS is handled by Ideally, Proposers want their promised transaction bundles to be delivered and get paid safely, while builders want their bundles to avoid front-running. Relays sit between proposers and builders, acting as mutually trusted auctioneers. Due to a lack of sufficient incentives to run relays, we are witnessing another centralizing force. Over the past two weeks, only five relays has produced around [~94% of total blocks](https://mevboost.pics) that were proposed. -### Why ePBS +### Why enshrine PBS Referring to this [doc](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w?view#3-Enshrining-PBS) by potuz, The primary problem in the current implementation of PBS in Ethereum is as followed: @@ -17,7 +17,7 @@ Referring to this [doc](https://hackmd.io/ZNPG7xPFRnmMOf0j95Hl3w?view#3-Enshrini This issue is critical because relying on intermediaries introduces several risks. Trusting intermediaries can lead to censorship, monopolization, and single points of failure. By eliminating the need for these trusted intermediaries, we can enhance censorship resistance, ensuring that no single entity can control or influence which transactions are included in blocks. Also, it promotes decentralization, which is a core principle of blockchains. Note that EIP-7732 purely focuses on changes in Consensus Layer and incorporates the block-auction design for ePBS. -## Project Description +## Original Project Proposal The implementation of ePBS is fundamentally about solving trust issues, and **not about transaction ordering or MEV (Maximum Extractable Value)**. MEV considerations, such as MEV stealing and forkchoice attacks are not the core issue here. @@ -61,6 +61,8 @@ At any given slot, the blockchain’s head status can be: There are various packages, that would require significant changes including but not limited to sync, core, beacon-apis for builder, forkchoice, engine api and blockchain etc. Additionally, there are numerous helper functions and once a working PoC is implemented we would be moving onto Networking packages for the actual p2p auction and bids' gossiping. +Towards the end of the cohort a new simplified fork-choice design was proposed by francesco. More details on the design can be found in a article [here](https://hackmd.io/@kira50/HyFDBzozkl). + ## Roadmap July: We would be spending first couple of weeks to directly implement helper functions, that would help us get started and work with the Prysm codebase. This will also help us avoid studying large packages' codebase just to get started and understand the flow. @@ -111,3 +113,4 @@ The goal for this project is to achieve a fully functional and working PoC for e - [ePBS Forkchoice annotated spec](https://hackmd.io/@potuz/SJdXM43x0) - [ePBS Annotated Validator Spec](https://hackmd.io/@ttsao/epbs-annotated-validator) - [Payload boosts in ePBS](https://ethresear.ch/t/payload-boosts-in-epbs/18769/1) +- [All-in-one fork-choice rule](https://hackmd.io/@kira50/HyFDBzozkl) From c9a541249ae430da786246897be1ff56b93e493c Mon Sep 17 00:00:00 2001 From: shyam-patel-kira Date: Sun, 24 Nov 2024 19:37:51 +0530 Subject: [PATCH 12/12] Add links in personal file --- notes/Kira.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/notes/Kira.md b/notes/Kira.md index 9b3ae2ec..afb2d7f5 100644 --- a/notes/Kira.md +++ b/notes/Kira.md @@ -28,4 +28,6 @@ I'll posting my weekly updates and notes on my [hackmd](https://hackmd.io/@kira5 * [Week 10 & 11](https://hackmd.io/@kira50/epf-week-10-and-11) * [Week 12 & 13](https://hackmd.io/@kira50/epf-week-12-and-13) * [Week 20 & 21](https://hackmd.io/@kira50/epf-week-20-and-21) +* [EPF Final Report](https://hackmd.io/@kira50/epf-final-report) +* [EPF Final Presentation](https://docs.google.com/presentation/d/1XP6W6A3-lCz0aeamZyGShkdG9rB-Lpip1Ceasz22olM/edit?usp=sharing)