## ePBS progress tracker ### Goals - functioning PoC - implementation in other client - everyone learns ### PRS to Contribute ##### [WIP] ePBS - https://github.com/prysmaticlabs/prysm/pull/13917 #### Consensus Spec EIP-7732 - https://github.com/ethereum/consensus-specs/tree/dev/specs/_features/eip7732 ### Features Current WIP | Name | Current feature | | ------ | --------------- | | Kira | | | Caleb | Working Nimbus work getting done | | Amaan | Working on nimbus for ePBS | --- ## Project Tasks for Nimbus 1. Constants and Types: - [x] Add `PAYLOAD_ABSENT`, `PAYLOAD_PRESENT`, `PAYLOAD_WITHHELD`, `PAYLOAD_INVALID_STATUS` - [x] Add `PTC_SIZE` - [x] Add `INTERVALS_PER_SLOT` - [x] Add `PROPOSER_SCORE_BOOST`, `PAYLOAD_WITHHOLD_BOOST`, `PAYLOAD_REVEAL_BOOST` - [x] Add `DOMAIN_BEACON_BUILDER`, `DOMAIN_PTC_ATTESTER` - [x] Add `MAX_PAYLOAD_ATTESTATIONS` 2. New Types: - [x] `PayloadAttestationData` - [x] `PayloadAttestation` - [x] `PayloadAttestationMessage` - [x] `IndexedPayloadAttestation` - [x] `SignedExecutionPayloadHeader` - [x] `ExecutionPayloadEnvelope` - [x] `SignedExecutionPayloadEnvelope` 3. Modified Types: - [x] Update `BeaconBlockBody` // name ends with EPBS - [x] Update `ExecutionPayloadHeader` // name ends with EPBS - [x] Update `BeaconState` // name ends with EPBS - [ ] Update `LatestMessage` - [x] Update `Store` 4. Helper Functions: - [x] `remove_flag` - [x] `is_valid_indexed_payload_attestation` - [x] `is_parent_block_full` - [x] `get_ptc` - [x] Modified `get_attesting_indices` - [x] `get_payload_attesting_indices` - [x] `get_indexed_payload_attestation` 5. State Transition Functions: - [ ] Modified `process_block` - [x] Modified `process_withdrawals` - [x] New `verify_execution_payload_header_signature` - [ ] New `process_execution_payload_header` - [ ] Modified `process_operations` - [ ] New `process_payload_attestation` - [x] Modified `process_execution_payload` - [x] New `verify_execution_payload_envelope_signature` 6. Fork Choice Functions: - [ ] `notify_ptc_messages` - [ ] `is_payload_present` - [x] `is_parent_node_full` - [ ] Modified `get_ancestor` - [ ] Modified `get_checkpoint_block` - [ ] `is_supporting_vote` - [ ] New `compute_proposer_boost` - [ ] New `compute_withhold_boost` - [ ] New `compute_reveal_boost` - [ ] Modified `get_weight` - [ ] Modified `get_head` 7. Validator Functions: - [x] `get_ptc_assignment` - [x] `get_payload_attestation_message_signature` 8. Builder Functions: - [ ] Functions for constructing payload bid - [ ] Functions for constructing execution payload envelope 9. P2P Updates: - [x] Add new gossip topics: `execution_payload_header`, `execution_payload`, `payload_attestation_message` - [ ] Implement validation logic for new topics - [ ] Update `BeaconBlocksByRange` and `BeaconBlocksByRoot` for v3 - [ ] Implement `ExecutionPayloadEnvelopeByRoot` v1 10. Fork Logic: - [ ] Modified `compute_fork_version` - [x] `upgrade_to_eip7732` 11. Testing: - [ ] Update existing tests - [ ] Add new tests for EIP-7732 specific functionality --- ### Features Currently In Progress - Feature 3: Description - Feature 4: Description
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up