Welcome to Prysm Release v4.0.8! This release is recommended. Highlights:
- Parallel hashing of validator entries in the beacon state. This results in a faster hash tree root. ~3x reduction #12639
- Parallel validations of consensus and execution checks. This results in a faster block verification #12590
- Aggregate parallel is now the default. This results in faster attestation aggregation time if a node is subscribed to multiple beacon attestation subnets. ~3x reduction #12699
- Better process block epoch boundary cache usages and bug fixes
- Beacon-API endpoints optimizations and bug fixes
Added
- Optimization: parallelize hashing for validator entries in beacon state #12639
- Optimization: parallelize consensus & execution validation when processing beacon block #12590
- Optimization: integrate LRU cache (above) for validator public keys #12646
- Cache: threadsafe LRU with non-blocking reads for concurrent readers #12476
- PCLI: add deserialization time in benchmark #12620
- PCLI: add allocation data To benchmark #12641
- Beacon-API:
GetSyncCommitteeRewards
endpoint #12633 - Beacon-API: SSZ responses for the
Publishblockv2
#12636 - Beacon-API client: use
GetValidatorPerformance
#12581 - Spec tests: mainnet withdrawals and bls spec tests #12655
- Spec tests: random and fork transition spec tests #12681
- Spec tests execution payload operation tests #12685
- Metric: block gossip arrival time #12670
- Metric: state regen duration #12672
- Metric: validator is in the next sync committee #12650
- New data structure: multi-value slice #12616
Changed
- Build: update Go version to 1.20.6 #12617
- Build: update
hermetic_cc_toolchain
#12631 - Optimization: aggregate parallel is now default #12699
- Optimization: do not perform full copies for metrics reporting #12628
- Optimization: use
GetPayloadBodies
in Execution Engine Client #12630 - Optimization: better nil check for reading validator #12677
- Optimization: better cache update at epoch boundary #12679
- Optimization: improve
InnerShuffleList
for shuffling #12690 - Optimization: remove span for converting to indexed attestation #12687`
- Beacon-API: optimize
GetValidatorPerformance
as POST #12658 - Beacon-API: optimize
/eth/v1/validator/aggregate_attestation
#12643 - Beacon-API: optimize
/eth/v1/validator/contribution_and_proofs
#12660 - Beacon-API: optimize
/eth/v1/validator/aggregate_and_proofs
#12686 - Beacon-API: use struct in
beacon-chain/rpc/core
to store dependencies #12701 - Beacon-API: set
CoreService
inbeaconv1alpha1.Server
#12702 - Beacon-API: use
BlockProcessed
event in certain endpoints #12625 - Syncing: exit sync early with 0 peers to sync #12659
- Cache: only call epoch boundary processing on canonical blocks #12666
- Build: update server-side events dependency #12676
- Refactor: slot tickers with intervals #12440
- Logging: shift Error Logs To Debug #12739
- Logging: clean up attestation routine logs #12653
Fixed
- Cache: update shuffling caches at epoch boundary #12661
- Cache: committee cache correctly for epoch + 1 #12667 #12668
- Cache: use the correct context for
UpdateCommitteeCache
#12691 - Cache: proposer-settings edge case for activating validators #12671
- Cache: prevent the public key cache from overwhelming runtime #12697
- Sync: correctly set optimistic status in the head when syncing #12748
- Sync: use last optimistic status on batch #12741
- Flag: adds local boost flag to main/usage #12615
- Beacon-API: correct header for get block and get blinded block calls #12600
- Beacon-API:
GetValidatorPerformance
endpoint #12638 - Beacon-API: return correct historical roots in Capella state #12642
- Beacon-API: use the correct root in consensus validation #12657
- Prysm API: size of
SyncCommitteeBits
#12586 - Mev-boost: builder gas limit fix default to 0 in some cases #12647
- PCLI: benchmark deserialize without clone and init trie #12626
- PCLI: state trie for HTR duration #12629
- Metric: adding fix pending validators balance #12665
- Metric: effective balance for unknown/pending validators #12693
- Comment: comments when receiving block #12624
- Comment: cleanups to blockchain pkg #12640