Skip to content

Commit

Permalink
Merge branch 'eth-protocol-fellows:main' into ETs
Browse files Browse the repository at this point in the history
  • Loading branch information
gorondan authored Apr 19, 2024
2 parents 85d0200 + 5e53484 commit ab0d138
Show file tree
Hide file tree
Showing 19 changed files with 354 additions and 31 deletions.
23 changes: 13 additions & 10 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,33 +15,34 @@
- [Week 7 | Research](/eps/week7-research.md)
- [Week 8 | Dev](/eps/week8-dev.md)
- [Week 8 | Research](/eps/week8-research.md)
- [Week 9 | Dev](/eps/week9-dev.md)
- [Week 9 | Research](/eps/week9-research.md)
- [Contributing](contributing.md)
- **Protocol Wiki**
- The Protocol
- [Overview](/wiki/protocol/overview.md)
- [History](/wiki/protocol/history.md)
- [Coordination](/wiki/protocol/pm.md)
- [Data Structures](/wiki/protocol/data-structures.md)
- [CS Resources]
- Execution Layer
- [EL Clients](/wiki/EL/el-clients.md)
- [EL Specs](/wiki/EL/el-specs.md)
- Client architecture
- [EVM](/wiki/EL/evm.md)
- [Precompiled Contracts](/wiki/EL/precompiled-contracts.md)
- [Transaction](/wiki/EL/transaction.md)
- [DevP2P]
- [Transaction anatomy](/wiki/EL/transaction.md)
- [JSON-RPC](/wiki/EL/JSON-RPC.md)
- [Data Structures](/wiki/el/data-structures.md)
- [DevP2P]
- [Precompiled Contracts](/wiki/EL/precompiled-contracts.md)
- [Consensus Layer](/wiki/CL/overview.md)
- [CL Clients](/wiki/CL/cl-clients.md)
- [CL Specs](/wiki/CL/cl-specs.md)
- Client architecture
- [Proof-of-Stake]
- [Beacon API]
- [Networking](/wiki/CL/cl-networking.md)
- Client architecture
- Development
- [Core development](/wiki/dev/core-development.md)
- [Network upgrades](/wiki/dev/upgrades.md)
- [Coordination](/wiki/protocol/pm.md)
- [CS Resources]
- Testing and security
- [Testing overview](/wiki/testing/overview.md)
- [Incidents](/wiki/testing/incidents.md)
Expand All @@ -61,7 +62,7 @@
- [ePBS](/wiki/research/PBS/ePBS.md)
- [ET](/wiki/research/PBS/ET.md)
- Proof of Stake
- [Upgrades](/docs/wiki/research/Beacon%20Chain%20Upgrades.md)
- [Upgrades](/docs/wiki/research/cl-upgrades.md)
- SSF
- SSLE
- [Light Clients](/wiki/research/light-clients.md)
Expand All @@ -71,12 +72,14 @@
- EOF
- Portal Network
- [Cryptography](/wiki/Cryptography/intro.md)
- [ECDSA](/wiki/Cryptography/ecdsa.md)
- [ECDSA](/wiki/Cryptography/ecdsa.md)
- [Keccak256](/wiki/Cryptography/keccak256.md)
- BLS
- [Commitments]
- Polynomials
- Commitment schemes
- ZK
- [Post-Quantum Cryptography](/wiki/Cryptography/post-quantum-cryptography.md)
- [Protocol Fellowship](/wiki/epf.md)

- **Wiki Info**
Expand Down
2 changes: 1 addition & 1 deletion docs/eps/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ The second part of the program offers two distinct tracks focused on development
| April 3 | Verkle trees | [Josh Rudolf](https://github.com/jrudolf) | Research |
| April 8 | Consensus client architecture | [Paul Harris](https://github.com/rolfyone) | Development |
| April 10 | MEV and censorship | [Barnabe Monnot](https://github.com/barnabemonnot) | Research |
| April 15 | Devops and testing | [Paritosh](https://github.com/parithosh) | Development |
| April 15 | Devops and testing | [Parithosh](https://github.com/parithosh) | Development |
| April 17 | Purge and Portal Network | [Piper Merriam](https://github.com/pipermerriam) | Research |
| April 22 | Cryptographic precompiles | | Development |
| April 24 | SSF and PoS Upgrades | [Francesco D’Amato](https://github.com/fradamt) | Research |
Expand Down
Binary file added docs/eps/presentations/week9-dev.pdf
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/eps/week5.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Before starting with the week 5 content, make yourself familiar with resources i
Additionally, you can read and get ready by studying the following resources:

- https://ethereum.org/en/roadmap/
- https://notes.ethereum.org/@domothy/roadmap
- https://domothy.com/roadmap/
- https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum
- https://ethereum.org/en/community/research/#active-areas-of-ethereum-research
- https://domothy.com/blobspace/
Expand Down Expand Up @@ -61,4 +61,4 @@ Additionally, you can read and get ready by studying the following resources:
- https://scroll.io/blog/kzg
- [Ethereum data structures](https://arxiv.org/pdf/2108.05513.pdf)
- https://ethresear.ch/t/execution-tickets/17944
- https://notes.ethereum.org/@ipsilon/evm-object-format-overview
- https://notes.ethereum.org/@ipsilon/evm-object-format-overview
43 changes: 30 additions & 13 deletions docs/eps/week9-dev.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,44 @@
# Study Group Week 9 | MEV and censorship resistance
# Study Group Week 9 | Local testing and prototyping

This research talk is dedicated to MEV and censorship resistance, discusses the current state and proposals being worked on.
This development talk is dedicated to testing and prototyping forks locally, it discusses the current state and ideas being worked on.

Join the presentation by [Paritosh](https://twitter.com/parithosh_j), the Ethereum testnet guru from EF Devops on [Wednesday, April 15, 4PM UTC](https://savvytime.com/converter/utc-to-germany-berlin-united-kingdom-london-china-shanghai-ny-new-york-city-japan-tokyo-australia-sydney-india-delhi-argentina-buenos-aires/apr-15-2024/4pm).
Watch the presentation by [Parithosh](https://twitter.com/parithosh_j) on StreamETH channel or Youtube. Slides are [available here](https://github.com/eth-protocol-fellows/protocol-studies/blob/main/docs/eps/presentations/week9-dev.pdf).

The talk will be streamed live on [StreamEth](https://streameth.org/65cf97e702e803dbd57d823f/epf_study_group) and [Youtube](https://www.youtube.com/@ethprotocolfellows/streams), links will be provided before the call in the [Discord server](https://discord.gg/addwpQbhpq). Discord also serves for the discussion and questions during the stream.
<iframe width="560" height="315" src="https://www.youtube.com/embed/Enf8006zKLI?si=hJe4xFqiY81C0DwQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

## Pre-reading

Before starting with the week 9 development content, make yourself familiar with resources in previous weeks, especially week 4 presentation on testing and the node workshop. It's important to understand the current architecture of the protocol and its basic tooling.

Additionally, you can get ready by studying the following resources:
- [#TestingTheMerge retrospective](https://www.youtube.com/watch?v=pIlRYW5HQgA&pp=ygURcGFyaXRvc2ggZXRoZXJldW0%3D)
- [Quest for the Best Tests, a Retrospective on #TestingTheMerge by Pari](https://archive.devcon.org/archive/watch/6/quest-for-the-best-tests-a-retrospective-on-testingthemerge/?tab=YouTube)
- [Dencun testing](https://www.youtube.com/watch?v=88tZticGbTo)

## Outline
## Preparation
- [Install kurtosis and docker on your system](https://docs.kurtosis.com/quickstart/)

- Local testing
- Prototyping
- Handy devops tools?
- Shadow forks?

## Additional reading and exercises
## Outline

- What do we test and why?
- Importance of Local testing
- How can I prototype a tool or change?
- What are devnets? How do we spin them up?
- Shadow forks
- Handy devops tools
- Kurtosis
- Template-devnets
- Assertoor
- Forky
- Tracoor
- Dora
- Goomy-blob
- Xatu
- Run your own local devnet and shadowfork!

## Additional reading and exercises
- [Attacknet: Chaos engineering on Ethereum](https://ethpandaops.io/posts/attacknet-introduction/)
- [Verkle devnets](https://github.com/ethpandaops/verkle-devnets)
- [Kurtosis](https://github.com/kurtosis-tech/kurtosis)
- [Kurtosis](https://github.com/kurtosis-tech/kurtosis)
- Follow exercises proposed by Pari in the talk
- Modify a client with a custom log message and run it using Kurtosis
- Deploy some of the tolling, connect to your own node on any network
50 changes: 50 additions & 0 deletions docs/eps/week9-research.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Study Group Week 9 | Purge and Portal Network

Week 9 research talk is focused on history expiry and dives into Portal Network, an overlay network for light clients enabling alternative access to current and historical data.

Join the presentation by [Piper Merriam](https://twitter.com/parithosh_j), on [Wednesday, April 17, 3PM UTC](https://savvytime.com/converter/utc-to-germany-berlin-united-kingdom-london-china-shanghai-ny-new-york-city-japan-tokyo-australia-sydney-india-delhi-argentina-buenos-aires/apr-17-2024/3pm).

The talk will be streamed live on [StreamEth](https://streameth.org/65cf97e702e803dbd57d823f/epf_study_group) and [Youtube](https://www.youtube.com/@ethprotocolfellows/streams), links will be provided before the call in the [Discord server](https://discord.gg/addwpQbhpq). Discord also serves for the discussion and questions during the stream.

## Pre-reading

Before starting with the week 9 research content, make yourself familiar with resources in previous weeks, especially week 5 presentation on roadmap. You should understand the execution client database structure, the difference between ancient and current data.

Additionally, you can get ready by studying the following resources:
- [Statelessness and history expiry, Ethereum.org](https://ethereum.org/en/roadmap/statelessness/)
- [Portal Network web](https://www.ethportal.net/)

## Outline

- History expiry in Ethereum execution clients
- Portal Network

## Additional reading and exercises

- EIP-4444
- https://eips.ethereum.org/EIPS/eip-4444
- SELFDESTRUCT Removal EIPS (many are stale)
- https://eips.ethereum.org/EIPS/eip-6049
- https://eips.ethereum.org/EIPS/eip-6780
- https://eips.ethereum.org/EIPS/eip-2936
- https://eips.ethereum.org/EIPS/eip-4758
- https://eips.ethereum.org/EIPS/eip-4760
- https://eips.ethereum.org/EIPS/eip-6046
- https://eips.ethereum.org/EIPS/eip-6190
- EOF things: https://hackmd.io/@shemnon/mega-eof-scoping
- LOG reform
- https://eips.ethereum.org/EIPS/eip-7668
- https://github.com/ethereum/EIPs/pull/8368
- Address Space Extension
- https://github.com/ethereum/EIPs/pull/8385
- https://ethereum-magicians.org/t/thoughts-on-address-space-extension-ase/6779
- https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485
- https://notes.ethereum.org/@ipsilon/address-space-extension-exploration
- State Expiry
- https://notes.ethereum.org/@vbuterin/verkle_and_state_expiry_proposal
- https://medium.com/@chaisomsri96/statelessness-series-part1-state-expiry-history-expiry-2bbd5835b329 (did not fully vet this article)
- https://notes.ethereum.org/@vbuterin/state_expiry_eip
- https://hackmd.io/@vbuterin/state_expiry_paths
- General Stateless Roadmap Things
- https://ethereum.org/en/roadmap/statelessness/
- [The Portal Network, EthZurich 2023](https://www.youtube.com/watch?v=8MUii5W2sMc)
9 changes: 9 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,15 @@
document.body.appendChild(editCSS);
}
</script>

<!-- Mermaid diagrams plugin-->

<script type="module">
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs";
mermaid.initialize({ startOnLoad: true });
window.mermaid = mermaid;
</script>
<script src="//unpkg.com/[email protected]/dist/docsify-mermaid.js"></script>

<!-- Customizable Theme-->
<script src="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/js/docsify-themeable.min.js"></script>
Expand Down
3 changes: 3 additions & 0 deletions docs/wiki/Cryptography/ecdsa.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,9 @@ This discussion is a preliminary treatment of Elliptic Curve Cryptography. For a

And finally: **never roll your own crypto!** Use trusted libraries and protocols to protect your data and transactions.

> ℹ️ Note
> ECDSA faces potential obsolescence from quantum computers – learn about how [Post-Quantum Cryptography tackles this challenge.](/wiki/Cryptography/post-quantum-cryptography.md)
## Further reading

**Elliptic curve cryptography**
Expand Down
Loading

0 comments on commit ab0d138

Please sign in to comment.