Skip to content

Commit

Permalink
Merge branch 'eth-protocol-fellows:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
brucexu-eth authored Feb 5, 2025
2 parents 6894263 + 0a7c13a commit 746cc31
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 47 deletions.
4 changes: 2 additions & 2 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
- [Home](readme.md)
- **Study Group**
- [EPFsg overview](/eps/intro.md)
- Presentations
- [Start here](/eps/intro.md)
- Study Group 2024
- [Week 0](/eps/week0.md)
- [Week 1](/eps/week1.md)
- [Week 2](/eps/week2.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ It **does not** cover onchain protocols/dapps, layer 2s/rollups or any other too
The wiki is supposed to cover all important parts of Ethereum core protocol and its development. The protocol architecture and related topics is reflected in the wiki format. The whole wiki lives under `/docs/wiki` and the `/docs/_sidebar.md` defines the main documentation structure.
High level areas are abstracted to directories which include all subtopics. Focus your contributions to wiki itself. Week pages in `eps` directory are meant for weekly presentations information, not main place for resources.

For contributors, we recommend focusing on specific topics contained in corresponding documents. It's best to own a single topic and work out all the details. Create a new document and add the topic to the sidebar if it's not there yet. Join the [discord server](https://discord.gg/epfsg), let others know what you are working on in the group channel and collaborate with other contributors writing about related topics. If you are working with multiple people on a significant piece of content, you can have a dedicated branch in the repo for easier coordination.
For contributors, we recommend focusing on specific topics contained in corresponding documents. It's best to own a single topic and work out all the details. Create a new document and add the topic to the sidebar if it's not there yet. Join the [discord server](https://discord.gg/8RPnPGEQtJ), let others know what you are working on in the group channel and collaborate with other contributors writing about related topics. If you are working with multiple people on a significant piece of content, you can have a dedicated branch in the repo for easier coordination.

## Editing wiki

Expand Down
44 changes: 44 additions & 0 deletions docs/eps/SG2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# 2024 Study Group

The study group was originally running from February to April 2024 as an open, 10-week study program. Although these regular presentations are over, all of the content produced is available here and the community is still active. Learn more context in the [original announcement](https://blog.ethereum.org/2024/02/07/epf-study-group).

## Program Structure

The study group content is structured in 2 stages of weekly presentations. To follow the study group, you can watch presentations and read related resources week by week.

The first half is dedicated to general understanding of the internal mechanisms of the protocol, its architecture and basic concepts. The second half offers 2 different tracks - development and research. Presentations in each track offer a deeper dive into specific topics within the R&D domains.

Each session is led by core developer or researcher, comes with reading materials to get you familiar with the topic context and some also include exercises to strengthen and practice your understanding.

Weekly sessions, their presentations and materials can be all found in this section under Presentations.

### Presentations

The first part of the program consists of 6 sessions with introductions to high level domains of the protocol.

> Because some speakers did more technical talks than others, the recommended order for newcomers to start is Week 1, Week 3, Week 2, Week 5 Node workshop and then Week 4 and 5.
| Week # | Topic | Speaker |
| ------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------ |
| [Week 1](/eps/week1.md) | Intro to EPS and Ethereum protocol | [Josh Davis](https://github.com/JoshDavisLight), [Mario Havel](https://github.com/taxmeifyoucan) |
| [Week 2](/eps/week2.md) | Execution Layer | [Lightclient](https://github.com/lightclient) |
| [Week 3](/eps/week3.md) | Consensus layer | [Alex Stokes](https://github.com/ralexstokes) |
| [Week 4](/eps/week4.md) | Testing and security | [Mario Vega](https://github.com/marioevz) |
| [Week 5](/eps/week5.md) | Roadmap and research | [Domothy](https://github.com/domothyb) |
| [Week 5](/eps/node_workshop.md) | Node workshop | [Mario](https://github.com/taxmeifyoucan) |

The second part of the program offers two distinct tracks focused on development and research with deeper dive into each domain.

| Week #, track | Topic | Speaker |
| ------------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------- |
| [Week 6 Development](/eps/week6-dev.md) | Consensus and Execution specs | [Hsiao-Wei Wang](https://github.com/hwwhww), [Sam Wilson](https://github.com/SamWilsn) |
| [Week 6 Research](/eps/week6-research.md) | Sharding and DAS | [Dankrad Feist](https://github.com/dankrad) |
| [Week 7 Development](/eps/week7-dev.md) | Execution client architecture | [Dragan Pilipovic](https://github.com/dragan2234) |
| [Week 7 Research](/eps/week7-research.md) | Verkle trees | [Josh Rudolf](https://github.com/jrudolf) |
| [Week 8 Development](/eps/week8-dev.md) | Consensus client architecture | [Paul Harris](https://github.com/rolfyone) |
| [Week 8 Research](/eps/week8-research.md) | MEV and censorship | [Barnabe Monnot](https://github.com/barnabemonnot) |
| [Week 9 Development](/eps/week9-dev.md) | Devops and testing | [Parithosh](https://github.com/parithosh) |
| [Week 9 Research](/eps/week9-research.md) | Purge and Portal Network | [Piper Merriam](https://github.com/pipermerriam) |
| [Week 10 Development](/eps/week10-dev.md) | EL precompiles | [Danno Ferrin](https://github.com/shemnon) |
| [Week 10 Research](/eps/week10-research.md) | SSF and PoS Upgrades | [Francesco D’Amato](https://github.com/fradamt) |

52 changes: 12 additions & 40 deletions docs/eps/intro.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,23 @@
# EPF Protocol Studies
# Ethereum Protocol Studies

Ethereum Protocol Fellowship Study Group (EPFsg) is a community formed gathering knowledge, learning and educating about the Ethereum protocol.
Ethereum Protocol Studies group (EPS) is a community formed to gather knowledge, learn, and educate the public about the Ethereum protocol.

The protocol evolves and grows quickly, it's an always-changing infinite garden. To sustain its credible neutrality, this pace should be reflected in the community as well. Various communities using, building or living on Ethereum need to be able to learn and become involved in the core protocol. The complexity of the architecture, codebases and dynamic development with scattered resources can discourage many talented people from participating on the core level. The protocol study group aims to bridge the gap by introducing a curriculum focused on all parts of the Ethereum stack, building a wiki and gathering people interested in diving into it.
The protocol evolves and grows quickly, it's an always-changing infinite garden. To sustain its credible neutrality, this pace should be reflected in growing and educating the core community. Everyone using, building or living on Ethereum should be able to learn and become involved in the core protocol. The complexity of the architecture, codebases and dynamic development paired with scattered resources can discourage many talented people from participating.

> The study group was originally running from February to April 2024 as an open open, 10-week study program. Although these regular presentations are over, all of the content produced is available here and the community is still active. Learn more context in the [original announcement](https://blog.ethereum.org/2024/02/07/epf-study-group).
Originally started in 2024, the study group is a participatory educational program that aims to improve core protocol education by introducing a curriculum focused on all parts of the Ethereum stack, building a wiki knowledgbase and creating a community focused on learning about the protocol.

> The study group in 2025 is 8 week long program starting in February 17. If you'd like to participate, join our [Discord server](https://discord.gg/8RPnPGEQtJ) to follow all events and fill out [the participant survey](https://forms.gle/G5V95qyGV8uMjKGcA)
## Program Structure

The study group content is structured in 2 stages of weekly presentations. To follow the study group, you can watch presentations and read related resources week by week.
The study group content is structured in 2 stages - an intense introduction and deep dive. The first 2 weeks consist of studying existing curriculum from [previous study group](/eps/SG2024.md). The following 6 weeks will provide new live lectures from core developers and researchers with materials covering parts of the execution and consensus layers of Ethereum.

The first half is dedicated to general understanding of the internal mechanisms of the protocol, its architecture and basic concepts. The second half offers 2 different tracks - development and research. Presentations in each track offer a deeper dive into specific topics within the R&D domains.
### Schedule

Each session is led by core developer or researcher, comes with reading materials to get you familiar with the topic context and some also include exercises to strengthen and practice your understanding.

Weekly sessions, their presentations and materials can be all found in this section under Presentations.

### Presentations

The first part of the program consists of 6 sessions with introductions to high level domains of the protocol.

> Because some speakers did more technical talks than others, the recommended order for newcomers to start is Week 1, Week 3, Week 2, Week 5 Node workshop and then Week 4 and 5.
| Week # | Topic | Speaker |
| ------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------ |
| [Week 1](/eps/week1.md) | Intro to EPS and Ethereum protocol | [Josh Davis](https://github.com/JoshDavisLight), [Mario Havel](https://github.com/taxmeifyoucan) |
| [Week 2](/eps/week2.md) | Execution Layer | [Lightclient](https://github.com/lightclient) |
| [Week 3](/eps/week3.md) | Consensus layer | [Alex Stokes](https://github.com/ralexstokes) |
| [Week 4](/eps/week4.md) | Testing and security | [Mario Vega](https://github.com/marioevz) |
| [Week 5](/eps/week5.md) | Roadmap and research | [Domothy](https://github.com/domothyb) |
| [Week 5](/eps/nodes_workshop.md) | Node workshop | [Mario](https://github.com/taxmeifyoucan) |

The second part of the program offers two distinct tracks focused on development and research with deeper dive into each domain.

| Week #, track | Topic | Speaker |
| ------------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------- |
| [Week 6 Development](/eps/week6-dev.md) | Consensus and Execution specs | [Hsiao-Wei Wang](https://github.com/hwwhww), [Sam Wilson](https://github.com/SamWilsn) |
| [Week 6 Research](/eps/week6-research.md) | Sharding and DAS | [Dankrad Feist](https://github.com/dankrad) |
| [Week 7 Development](/eps/week7-dev.md) | Execution client architecture | [Dragan Pilipovic](https://github.com/dragan2234) |
| [Week 7 Research](/eps/week7-research.md) | Verkle trees | [Josh Rudolf](https://github.com/jrudolf) |
| [Week 8 Development](/eps/week8-dev.md) | Consensus client architecture | [Paul Harris](https://github.com/rolfyone) |
| [Week 8 Research](/eps/week8-research.md) | MEV and censorship | [Barnabe Monnot](https://github.com/barnabemonnot) |
| [Week 9 Development](/eps/week9-dev.md) | Devops and testing | [Parithosh](https://github.com/parithosh) |
| [Week 9 Research](/eps/week9-research.md) | Purge and Portal Network | [Piper Merriam](https://github.com/pipermerriam) |
| [Week 10 Development](/eps/week10-dev.md) | EL precompiles | [Danno Ferrin](https://github.com/shemnon) |
| [Week 10 Research](/eps/week10-research.md) | SSF and PoS Upgrades | [Francesco D’Amato](https://github.com/fradamt) |

TBD

### Streams and recordings

Talks and calls are announced week in advance based on the schedule above. Recordings of all talks can be found on [Youtube](https://www.youtube.com/@ethprotocolfellows) or [StreamEth](https://streameth.org/archive?organization=ethereum_protocol_fellowship) archive.
Expand All @@ -56,15 +28,15 @@ Apart from weekly lectures, there are less regular, ad-hoc hangout calls for inf

The study group is an open and permissionless, and it is up to each participant as to how they want to approach it. Whether you want to learn as much as possible, focus only on certain topics or share your knowledge with others, you are welcomed.

> Join our community in [Discord server](https://discord.gg/addwpQbhpq). We use it for the easiest community engagement but we are aware that Discord is proprietary and doesn't respect user privacy. Consider using alternative FOSS clients like [Dissent](https://github.com/diamondburned/dissent) or [Discordo](https://github.com/ayn2op/discordo).
> Join our community in [Discord server](https://discord.gg/8RPnPGEQtJ). We use it for the easiest community engagement but we are aware that Discord is proprietary and doesn't respect user privacy. Consider using alternative FOSS clients like [Dissent](https://github.com/diamondburned/dissent) or [Discordo](https://github.com/ayn2op/discordo).
Study group participants collaboratively develop the [Protocol wiki](/wiki/wiki-intro.md), serving as an evolving knowledge base for current and future core developers. This can provide students with practical experience in contributing to open source resources, while gaining invaluable experience in documentation and community-driven development.

While this program is designed to act as a precursor to the Ethereum Protocol Fellowship, the study group is for anyone that is interested in learning more about the inner workings of the Ethereum Protocol. Those that have some general knowledge or use of Ethereum and/or blockchains as well as those that have some computer science, technical, or developer experience will get the most from this program.

## Important links

- [Discord server](https://discord.gg/addwpQbhpq)
- [Discord server](https://discord.gg/8RPnPGEQtJ)
- [Weekly talks on StreamEth](https://streameth.org/65cf97e702e803dbd57d823f/epf_study_group)
- [Youtube](https://www.youtube.com/@ethprotocolfellows)
- [Sessions calendar](https://calendar.google.com/calendar/u/0?cid=ZXBmc3R1ZHlncm91cEBnbWFpbC5jb20)
Expand Down
2 changes: 1 addition & 1 deletion docs/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Ethereum Protocol Fellowship Study Group (EPFsg) is an open study program for an

**[Start your studies](/eps/intro.md) using the wiki here** and learn more about the study group in its original [announcement blog](https://blog.ethereum.org/2024/02/07/epf-study-group).

> The study group is not just a list of resources but a community of people maintaining them and learning about the core protocol. **Join the community in our [Discord server](https://discord.com/invite/addwpQbhpq)**.
> The study group is not just a list of resources but a community of people maintaining them and learning about the core protocol. **Join the community in our [Discord server](https://discord.gg/8RPnPGEQtJ)**.

## Protocol Wiki
Expand Down
4 changes: 3 additions & 1 deletion docs/wiki/dev/cs-resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,14 @@
- 🎥 [The Unix Workbench | Johns Hopkins](https://www.coursera.org/learn/unix)
- 📄 [Git tips and tricks](https://blog.gitbutler.com/git-tips-and-tricks/)
- 📄 [Popular Git config options](https://jvns.ca/blog/2024/02/16/popular-git-config-options/)

## Misc

- 📄 [Things Every Programmer Should Know](https://github.com/mtdvio/every-programmer-should-know)
- 📄 [What Every Programmer Should Know About Memory](https://akkadia.org/drepper/cpumemory.pdf)
- 📄 [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)
- 🗣️ [Big and Little Endian inside / out](https://www.youtube.com/watch?v=oBSuXP-1Tc0)
- 🗣️ [Big and Little Endian inside / out](https://www.youtube.com/watch?v=oBSuXP-1Tc0)
- 🎥 [The Perfect Dependency - SQLite Case Study](https://www.youtube.com/watch?v=ZP7ef4eVnac)

## Resources

Expand Down
Loading

0 comments on commit 746cc31

Please sign in to comment.