# EPF Update 20221026 Start reseraching the project topics: https://github.com/eth-protocol-fellows/cohort-three/blob/master/projects/project-ideas.md ## Reserach Light Client: - Light Clients After the Merge https://www.youtube.com/watch?app=desktop&v=ZHNrAXf3RDE - What is Light Client? - Wallets - Ethereum Data - Merkle Tree: Need a root and proof the verify data - EIP 1186 eth_getProof - Light client data - REST, libp2p, Portal - Back to Wallet 1. eth_getBalance 2. getLightClientUpdatesByRange, eth_getProof 3. Verifying Proxy - The purpose is to let light clients don't need to trust RPC nodes - Specs - https://github.com/ethereum/portal-network-specs/tree/master/beacon-chain - Implementations - https://github.com/ethereumjs/ultralight - https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client Beacon Chain API: - Beacon Chain API Docs https://github.com/ethereum/beacon-APIs Consensus Layer: - A technical handbook on Ethereum's move to proof of stake and beyond https://eth2book.info/bellatrix/ - [Reward](https://eth2book.info/bellatrix/part2/incentives/rewards/#attestation-rewards) - Specs https://github.com/ethereum/consensus-specs - [Beacon Chain](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md) - [Honest Validator](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/validator.md) Layer 2: - Optimisum: https://www.youtube.com/watch?v=HiU-g8XHi5s&ab_channel=EthereumFoundation - Scroll: https://www.youtube.com/watch?v=a6kOGas--dE&ab_channel=EthereumFoundation - zkEVM: https://www.youtube.com/watch?v=W2f_GLEtobo&ab_channel=EthereumFoundation ## Project Direction [Client Reward API](https://github.com/eth-protocol-fellows/cohort-three/blob/master/projects/project-ideas.md#consensus-client-reward-apis) - Presently there are no cross-client APIs for calculating the **rewards** paid to validators for publishing attestations, block proposals and other messages. ### Questions - How validator get rewards? - The beacon chain protocol incentivises each validator to behave well by providing rewards for [three activities](https://eth2book.info/bellatrix/part2/incentives/rewards/#introduction) - Make attestations - Propose blocks - Signing off on blocks in sync committees - How to calculate each reward for validators? - Basic - Validators may receive rewards only between their activation and exit epochs. (Lifecycle: Activation -> Exit -> Withdrawable) - Rewards scale with effective balance - The total issuance [formula](https://eth2book.info/bellatrix/part2/incentives/rewards/#total-issuance) - Do we need to consider the penalty? - What are the latest specs of the reward mechanism? - [Block proposal](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/validator.md#block-proposal) - [Attesting](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/validator.md#attesting) - [Attestation aggregation](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/validator.md#attestation-aggregation) - Which client should we work on first? ### Next steps Figure out the questions and design the API specs.