2.1 KiB
2.1 KiB
title | code_owner | round | category | repositories |
---|---|---|---|---|
Fork choice logic | Mamy André-Ratsimbazafy (mratsim) | Audit round 2 | ETH2 Specification Core Audit | nim-beacon-chain |
Fork choice backend:
Fork choice is provided by the "attestation_pool" when "select_head" is called
Tests:
-
https://github.com/status-im/nim-beacon-chain/tree/master/tests/fork_choice
-
https://github.com/status-im/nim-beacon-chain/blob/master/tests/test_attestation_pool.nim
Specs:
-
https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/fork-choice.md
-
Explainer from Prysmatic: https://hackmd.io/bABJiht3Q9SyV3Ga4FT9lQ?view
Paper:
- Combining GHOST and Casper Vitalik Buterin, Diego Hernandez, Thor Kamphefner, Khiem Pham, Zhi Qiao, Danny Ryan, Juhyeok Sin, Ying Wang, Yan X Zhang https://arxiv.org/abs/2003.03052
(Short) Implementations
- https://github.com/ethereum/research/blob/master/ghost/ghost.py
- Original Proto-array (in Go): https://github.com/protolambda/lmd-ghost/blob/master/eth2/fork_choice/choices/proto_array/proto_array.go
- Proto-array incorporating Lighthouse updates: https://github.com/protolambda/eth2-py-hacks/blob/master/proto_array.py