-
Notifications
You must be signed in to change notification settings - Fork 89
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of https://github.com/eth-protocol-fellows/protoc…
…ol-studies into cryptography/BLS
- Loading branch information
Showing
29 changed files
with
1,372 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Study Group Week 10 | Precompiles | ||
|
||
Week 10 dev talk is diving into EVM precompiles and their integration in execution clients. | ||
|
||
Watch the presentation by [Danno Ferrin](https://twitter.com/shemnon), on [StreamEth](https://streameth.org/65cf97e702e803dbd57d823f/epf_study_group) and [Youtube](https://www.youtube.com/watch?v=daiMhkt0XTw) | ||
|
||
- [Presentation from the talk.](https://hackmd.io/@shemnon/precompiles) | ||
- [Discussion thread on Discord: Week 10D: Precompiles](https://discord.com/channels/1205546645496795137/1231990093506678785). | ||
|
||
<iframe width="560" height="315" src="https://www.youtube.com/embed/daiMhkt0XTw?si=6c4EJRi-g1G5udJH" 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 10 development content, make yourself familiar with resources in previous weeks, especially week 2 and week 8. You should have understanding of the execution client architecture and EVM. | ||
|
||
The talk will use examples from Besu, a Java implementation of execution client. At least basic understanding of Java syntax is recommended. | ||
|
||
Additionally, you can get ready by studying the following resources: | ||
- [Exploring Precompiled Contracts on Ethereum: A Deep Dive](https://lucasmartincalderon.medium.com/exploring-precompiled-contracts-on-ethereum-a-deep-dive-4e9f9682e0aa) | ||
- [Precompiles documentation by evm.codes](https://www.evm.codes/precompiled) | ||
|
||
## Outline | ||
|
||
- EVM Precompiles | ||
- How they are integrated | ||
- Which precompiles exist | ||
- How L2s and L1s use them | ||
- Challanges of creating precompiles | ||
|
||
## Additional reading and exercises | ||
|
||
- [EVM Precompiled and System Contract Catalog](https://github.com/shemnon/precompiles/) | ||
- [RollCall breakout on precompiles](https://www.youtube.com/watch?v=tg01COfxi_M) | ||
- [Custom RPCs and Precompiles for Hyperledger Besu](https://www.youtube.com/watch?v=djL5nczlYFw) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Study Group Week 10 | The Ethereum fork-choice | ||
|
||
Week 10 research talk will cover a variety of topics related to the fork-choice of Ethereum, its evolution and its role in future upgrades. | ||
|
||
Watch the presentation by [Francesco](https://twitter.com/fradamt) on [StreamEth](https://streameth.org/65cf97e702e803dbd57d823f/epf_study_group) or [Youtube](https://www.youtube.com/watch?v=x-_2gAVFlw8). Presentation is [available here](https://github.com/eth-protocol-fellows/protocol-studies/blob/main/docs/eps/presentations/week10-research.pdf). | ||
|
||
<iframe width="560" height="315" src="https://www.youtube.com/embed/x-_2gAVFlw8?si=xqMDpqrBabgiDYPb" 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 10 development content, make yourself familiar with resources in previous weeks, especially week 3 and week 5. You should have understanding of Beacon Chain and current consensus research topics. | ||
|
||
Additionally, you can get ready by studying the following resources. | ||
|
||
- All in one resource: [PoS evolution](https://github.com/ethereum/pos-evolution/blob/master/pos-evolution.md) | ||
- Gasper: [Combining GHOST and Casper (Gasper paper)](https://arxiv.org/abs/2003.03052) | ||
- Problems with Gasper: | ||
- [Three attacks on PoS Ethereum](https://eprint.iacr.org/2021/1413) | ||
- [View-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739) | ||
- Improving Gasper with Single Slot Finality: | ||
- [Path towards Single Slot Finality](https://notes.ethereum.org/@vbuterin/single_slot_finality) | ||
- [A simple single slot finality](https://ethresear.ch/t/a-simple-single-slot-finality-protocol/14920) | ||
|
||
## Outline | ||
|
||
- Gasper recap | ||
- Problems with Gasper and fixes | ||
- Single Slot Finality (SSF) | ||
- How fork-choice affects other Ethereum upgrades: PeerDAS and ePBS case studies | ||
|
||
## Additional reading and exercises | ||
|
||
- [Notes on SSF, Lincoln Murr](https://publish.obsidian.md/single-slot-finality/Welcome+to+My+Research!) | ||
- [Increase the MAX_EFFECTIVE_BALANCE – a modest proposal](https://ethresear.ch/t/increase-the-max-effective-balance-a-modest-proposal/15801) | ||
- [Reorg resilience and security in post-SSF LMD-GHOST](https://ethresear.ch/t/reorg-resilience-and-security-in-post-ssf-lmd-ghost/14164/3) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,35 @@ | ||
# Consensus Layer Implementations | ||
|
||
Resources covering all consensus client implementations, in production or development. Overview of client unique features of each client, architecture, guides and resources. | ||
Resources covering all consensus client implementations, in production or development. Overview of client unique features of each client, architecture, guides and resources. | ||
|
||
## Clients in production | ||
|
||
### Lighthouse | ||
|
||
Developed by SigmaPrime in Rust | ||
|
||
### Lodestar | ||
|
||
By ChainSafe in TypeScript | ||
|
||
### Nimbus | ||
|
||
By Status in Nim | ||
|
||
### Prysm | ||
|
||
By Prysmatic Labs/ Offchain Labs in Golang | ||
|
||
### Teku | ||
|
||
By Consensys in Java | ||
|
||
## Clients in development | ||
|
||
### Grandine | ||
|
||
Originally a proprietary client in Rust, recently became open source | ||
|
||
### LambdaClass Client | ||
|
||
By LC in Elixir |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.