# 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.