Skip to content

Update gnosis chain bootnodes - #4979

Merged
wemeetagain merged 1 commit into
unstablefrom
dapplion/gnosis-bootnodes
Jan 5, 2023
Merged

Update gnosis chain bootnodes#4979
wemeetagain merged 1 commit into
unstablefrom
dapplion/gnosis-bootnodes

Conversation

@dapplion

@dapplion dapplion commented Jan 5, 2023

Copy link
Copy Markdown
Contributor

Motivation

Update deprecated Gnosis bootnodes, from commit gnosischain/configs@e504927

Description

  • Update gnosis chain bootnodes
  • Add URL for polling bootnodes and genesis

@dapplion
dapplion requested a review from a team as a code owner January 5, 2023 14:21
@github-actions

github-actions Bot commented Jan 5, 2023

Copy link
Copy Markdown
Contributor

Performance Report

鉁旓笍 no performance regression detected

Full benchmark results
Benchmark suite Current: d0d6c05 Previous: 65ce97f Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0172 ms/op 845.27 us/op 1.20
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 59.761 us/op 58.752 us/op 1.02
BLS verify - blst-native 2.1738 ms/op 2.1752 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 4.4853 ms/op 4.4884 ms/op 1.00
BLS verifyMultipleSignatures 8 - blst-native 9.6934 ms/op 9.7019 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 35.234 ms/op 35.530 ms/op 0.99
BLS aggregatePubkeys 32 - blst-native 47.034 us/op 47.154 us/op 1.00
BLS aggregatePubkeys 128 - blst-native 183.68 us/op 183.70 us/op 1.00
getAttestationsForBlock 80.378 ms/op 73.374 ms/op 1.10
isKnown best case - 1 super set check 442.00 ns/op 435.00 ns/op 1.02
isKnown normal case - 2 super set checks 440.00 ns/op 427.00 ns/op 1.03
isKnown worse case - 16 super set checks 433.00 ns/op 428.00 ns/op 1.01
CheckpointStateCache - add get delete 8.6490 us/op 8.0240 us/op 1.08
validate gossip signedAggregateAndProof - struct 5.0148 ms/op 5.0247 ms/op 1.00
validate gossip attestation - struct 2.3647 ms/op 2.3613 ms/op 1.00
pickEth1Vote - no votes 2.2287 ms/op 2.1910 ms/op 1.02
pickEth1Vote - max votes 18.085 ms/op 14.769 ms/op 1.22
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.551 ms/op 12.594 ms/op 1.08
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.086 ms/op 19.440 ms/op 1.08
pickEth1Vote - Eth1Data fastSerialize value x2048 1.1338 ms/op 1.0427 ms/op 1.09
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.9209 ms/op 9.1463 ms/op 1.08
bytes32 toHexString 898.00 ns/op 819.00 ns/op 1.10
bytes32 Buffer.toString(hex) 638.00 ns/op 524.00 ns/op 1.22
bytes32 Buffer.toString(hex) from Uint8Array 1.0310 us/op 982.00 ns/op 1.05
bytes32 Buffer.toString(hex) + 0x 646.00 ns/op 522.00 ns/op 1.24
Object access 1 prop 0.27300 ns/op 0.26200 ns/op 1.04
Map access 1 prop 0.25400 ns/op 0.25400 ns/op 1.00
Object get x1000 10.974 ns/op 10.570 ns/op 1.04
Map get x1000 0.92400 ns/op 0.90200 ns/op 1.02
Object set x1000 71.086 ns/op 66.507 ns/op 1.07
Map set x1000 41.859 ns/op 40.034 ns/op 1.05
Return object 10000 times 0.43480 ns/op 0.43170 ns/op 1.01
Throw Error 10000 times 6.7010 us/op 6.6913 us/op 1.00
fastMsgIdFn sha256 / 200 bytes 4.7850 us/op 4.8570 us/op 0.99
fastMsgIdFn h32 xxhash / 200 bytes 463.00 ns/op 446.00 ns/op 1.04
fastMsgIdFn h64 xxhash / 200 bytes 658.00 ns/op 590.00 ns/op 1.12
fastMsgIdFn sha256 / 1000 bytes 15.659 us/op 15.595 us/op 1.00
fastMsgIdFn h32 xxhash / 1000 bytes 636.00 ns/op 617.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 770.00 ns/op 699.00 ns/op 1.10
fastMsgIdFn sha256 / 10000 bytes 136.34 us/op 136.96 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 2.5510 us/op 2.5030 us/op 1.02
fastMsgIdFn h64 xxhash / 10000 bytes 1.7710 us/op 1.6970 us/op 1.04
enrSubnets - fastDeserialize 64 bits 2.2560 us/op 2.1200 us/op 1.06
enrSubnets - ssz BitVector 64 bits 819.00 ns/op 772.00 ns/op 1.06
enrSubnets - fastDeserialize 4 bits 284.00 ns/op 272.00 ns/op 1.04
enrSubnets - ssz BitVector 4 bits 787.00 ns/op 778.00 ns/op 1.01
prioritizePeers score -10:0 att 32-0.1 sync 2-0 147.27 us/op 138.15 us/op 1.07
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 167.34 us/op 168.50 us/op 0.99
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 256.49 us/op 242.90 us/op 1.06
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 443.32 us/op 425.26 us/op 1.04
prioritizePeers score 0:0 att 64-1 sync 4-1 494.66 us/op 470.95 us/op 1.05
array of 16000 items push then shift 51.642 us/op 51.592 us/op 1.00
LinkedList of 16000 items push then shift 12.475 ns/op 12.047 ns/op 1.04
array of 16000 items push then pop 193.01 ns/op 181.54 ns/op 1.06
LinkedList of 16000 items push then pop 12.241 ns/op 11.781 ns/op 1.04
array of 24000 items push then shift 77.405 us/op 77.346 us/op 1.00
LinkedList of 24000 items push then shift 13.481 ns/op 12.130 ns/op 1.11
array of 24000 items push then pop 197.59 ns/op 188.28 ns/op 1.05
LinkedList of 24000 items push then pop 12.428 ns/op 11.907 ns/op 1.04
intersect bitArray bitLen 8 21.678 ns/op 21.655 ns/op 1.00
intersect array and set length 8 142.65 ns/op 119.41 ns/op 1.19
intersect bitArray bitLen 128 71.424 ns/op 71.039 ns/op 1.01
intersect array and set length 128 1.7584 us/op 1.6085 us/op 1.09
Buffer.concat 32 items 4.6420 us/op 4.4730 us/op 1.04
Uint8Array.set 32 items 3.9210 us/op 3.6330 us/op 1.08
pass gossip attestations to forkchoice per slot 3.7933 ms/op 3.7574 ms/op 1.01
computeDeltas 4.6880 ms/op 4.1828 ms/op 1.12
computeProposerBoostScoreFromBalances 2.5078 ms/op 2.4365 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei normalcase 3.4579 ms/op 3.2394 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei worstcase 5.3397 ms/op 5.5650 ms/op 0.96
altair processAttestation - setStatus - 1/6 committees join 178.03 us/op 182.95 us/op 0.97
altair processAttestation - setStatus - 1/3 committees join 354.35 us/op 362.08 us/op 0.98
altair processAttestation - setStatus - 1/2 committees join 515.69 us/op 522.02 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 669.94 us/op 685.49 us/op 0.98
altair processAttestation - setStatus - 4/5 committees join 935.30 us/op 947.98 us/op 0.99
altair processAttestation - setStatus - 100% committees join 1.1174 ms/op 1.1451 ms/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase 23.229 ms/op 22.422 ms/op 1.04
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.229 ms/op 36.929 ms/op 0.79
altair processBlock - 250000 vs - 7PWei worstcase 78.570 ms/op 75.989 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase hashState 102.42 ms/op 98.524 ms/op 1.04
phase0 processBlock - 250000 vs - 7PWei normalcase 3.3469 ms/op 3.1337 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei worstcase 51.368 ms/op 51.341 ms/op 1.00
altair processEth1Data - 250000 vs - 7PWei normalcase 643.61 us/op 599.98 us/op 1.07
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 7.7140 us/op 16.456 us/op 0.47
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 22.516 us/op 48.252 us/op 0.47
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 10.577 us/op 20.523 us/op 0.52
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 8.4500 us/op 15.945 us/op 0.53
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 86.700 us/op 202.46 us/op 0.43
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 870.80 us/op 1.0967 ms/op 0.79
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 1.1351 ms/op 1.4275 ms/op 0.80
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 1.1029 ms/op 1.3674 ms/op 0.81
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 4.0214 ms/op 4.1587 ms/op 0.97
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 2.6220 ms/op 2.5738 ms/op 1.02
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 6.8609 ms/op 7.0436 ms/op 0.97
Tree 40 250000 create 600.87 ms/op 548.54 ms/op 1.10
Tree 40 250000 get(125000) 237.99 ns/op 226.07 ns/op 1.05
Tree 40 250000 set(125000) 1.9047 us/op 1.7728 us/op 1.07
Tree 40 250000 toArray() 27.336 ms/op 25.632 ms/op 1.07
Tree 40 250000 iterate all - toArray() + loop 27.599 ms/op 24.728 ms/op 1.12
Tree 40 250000 iterate all - get(i) 107.47 ms/op 104.16 ms/op 1.03
MutableVector 250000 create 13.240 ms/op 13.071 ms/op 1.01
MutableVector 250000 get(125000) 10.554 ns/op 10.660 ns/op 0.99
MutableVector 250000 set(125000) 511.81 ns/op 479.40 ns/op 1.07
MutableVector 250000 toArray() 5.8022 ms/op 5.3482 ms/op 1.08
MutableVector 250000 iterate all - toArray() + loop 6.0495 ms/op 5.6773 ms/op 1.07
MutableVector 250000 iterate all - get(i) 2.8335 ms/op 2.7988 ms/op 1.01
Array 250000 create 5.7364 ms/op 5.3222 ms/op 1.08
Array 250000 clone - spread 2.5264 ms/op 2.4410 ms/op 1.03
Array 250000 get(125000) 1.1630 ns/op 1.1470 ns/op 1.01
Array 250000 set(125000) 1.1580 ns/op 1.1490 ns/op 1.01
Array 250000 iterate all - loop 150.91 us/op 151.94 us/op 0.99
effectiveBalanceIncrements clone Uint8Array 300000 46.206 us/op 37.301 us/op 1.24
effectiveBalanceIncrements clone MutableVector 300000 762.00 ns/op 721.00 ns/op 1.06
effectiveBalanceIncrements rw all Uint8Array 300000 243.96 us/op 243.85 us/op 1.00
effectiveBalanceIncrements rw all MutableVector 300000 164.08 ms/op 155.72 ms/op 1.05
phase0 afterProcessEpoch - 250000 vs - 7PWei 187.78 ms/op 200.35 ms/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 72.286 ms/op 56.632 ms/op 1.28
altair processEpoch - mainnet_e81889 516.54 ms/op 528.75 ms/op 0.98
mainnet_e81889 - altair beforeProcessEpoch 115.07 ms/op 117.98 ms/op 0.98
mainnet_e81889 - altair processJustificationAndFinalization 18.976 us/op 16.470 us/op 1.15
mainnet_e81889 - altair processInactivityUpdates 9.3469 ms/op 8.4344 ms/op 1.11
mainnet_e81889 - altair processRewardsAndPenalties 121.35 ms/op 75.793 ms/op 1.60
mainnet_e81889 - altair processRegistryUpdates 2.3430 us/op 4.5970 us/op 0.51
mainnet_e81889 - altair processSlashings 712.00 ns/op 914.00 ns/op 0.78
mainnet_e81889 - altair processEth1DataReset 542.00 ns/op 642.00 ns/op 0.84
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9223 ms/op 1.9807 ms/op 0.97
mainnet_e81889 - altair processSlashingsReset 3.6760 us/op 3.9500 us/op 0.93
mainnet_e81889 - altair processRandaoMixesReset 4.1780 us/op 4.9350 us/op 0.85
mainnet_e81889 - altair processHistoricalRootsUpdate 636.00 ns/op 919.00 ns/op 0.69
mainnet_e81889 - altair processParticipationFlagUpdates 2.1810 us/op 3.1380 us/op 0.70
mainnet_e81889 - altair processSyncCommitteeUpdates 455.00 ns/op 1.0310 us/op 0.44
mainnet_e81889 - altair afterProcessEpoch 196.66 ms/op 217.86 ms/op 0.90
phase0 processEpoch - mainnet_e58758 475.58 ms/op 597.74 ms/op 0.80
mainnet_e58758 - phase0 beforeProcessEpoch 197.89 ms/op 208.66 ms/op 0.95
mainnet_e58758 - phase0 processJustificationAndFinalization 19.245 us/op 17.015 us/op 1.13
mainnet_e58758 - phase0 processRewardsAndPenalties 68.171 ms/op 122.53 ms/op 0.56
mainnet_e58758 - phase0 processRegistryUpdates 9.9080 us/op 7.5340 us/op 1.32
mainnet_e58758 - phase0 processSlashings 546.00 ns/op 479.00 ns/op 1.14
mainnet_e58758 - phase0 processEth1DataReset 702.00 ns/op 534.00 ns/op 1.31
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6245 ms/op 1.7519 ms/op 0.93
mainnet_e58758 - phase0 processSlashingsReset 3.2430 us/op 3.2670 us/op 0.99
mainnet_e58758 - phase0 processRandaoMixesReset 4.6140 us/op 3.9920 us/op 1.16
mainnet_e58758 - phase0 processHistoricalRootsUpdate 608.00 ns/op 559.00 ns/op 1.09
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.9770 us/op 3.5360 us/op 1.12
mainnet_e58758 - phase0 afterProcessEpoch 162.13 ms/op 162.29 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9435 ms/op 1.9661 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4231 ms/op 2.3972 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 31.565 ms/op 50.035 ms/op 0.63
altair processInactivityUpdates - 250000 worstcase 38.850 ms/op 53.479 ms/op 0.73
phase0 processRegistryUpdates - 250000 normalcase 6.3030 us/op 6.9200 us/op 0.91
phase0 processRegistryUpdates - 250000 badcase_full_deposits 383.21 us/op 374.26 us/op 1.02
phase0 processRegistryUpdates - 250000 worstcase 0.5 174.69 ms/op 226.32 ms/op 0.77
altair processRewardsAndPenalties - 250000 normalcase 104.10 ms/op 131.67 ms/op 0.79
altair processRewardsAndPenalties - 250000 worstcase 73.771 ms/op 131.89 ms/op 0.56
phase0 getAttestationDeltas - 250000 normalcase 12.341 ms/op 10.985 ms/op 1.12
phase0 getAttestationDeltas - 250000 worstcase 12.392 ms/op 11.239 ms/op 1.10
phase0 processSlashings - 250000 worstcase 5.4737 ms/op 5.1436 ms/op 1.06
altair processSyncCommitteeUpdates - 250000 291.52 ms/op 296.04 ms/op 0.98
BeaconState.hashTreeRoot - No change 501.00 ns/op 493.00 ns/op 1.02
BeaconState.hashTreeRoot - 1 full validator 74.074 us/op 69.452 us/op 1.07
BeaconState.hashTreeRoot - 32 full validator 649.34 us/op 802.38 us/op 0.81
BeaconState.hashTreeRoot - 512 full validator 8.4240 ms/op 8.4747 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 88.768 us/op 86.621 us/op 1.02
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2711 ms/op 1.4219 ms/op 0.89
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.444 ms/op 16.361 ms/op 1.07
BeaconState.hashTreeRoot - 1 balances 69.682 us/op 62.998 us/op 1.11
BeaconState.hashTreeRoot - 32 balances 649.91 us/op 714.97 us/op 0.91
BeaconState.hashTreeRoot - 512 balances 6.2015 ms/op 7.0490 ms/op 0.88
BeaconState.hashTreeRoot - 250000 balances 99.400 ms/op 108.09 ms/op 0.92
aggregationBits - 2048 els - zipIndexesInBitList 27.864 us/op 20.862 us/op 1.34
regular array get 100000 times 60.501 us/op 60.527 us/op 1.00
wrappedArray get 100000 times 60.547 us/op 60.477 us/op 1.00
arrayWithProxy get 100000 times 26.104 ms/op 29.243 ms/op 0.89
ssz.Root.equals 929.00 ns/op 1.0190 us/op 0.91
byteArrayEquals 941.00 ns/op 883.00 ns/op 1.07
shuffle list - 16384 els 11.533 ms/op 11.563 ms/op 1.00
shuffle list - 250000 els 167.92 ms/op 168.10 ms/op 1.00
processSlot - 1 slots 13.282 us/op 12.383 us/op 1.07
processSlot - 32 slots 1.9460 ms/op 1.8833 ms/op 1.03
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 319.11 us/op 325.36 us/op 0.98
getCommitteeAssignments - req 1 vs - 250000 vc 5.4477 ms/op 5.4409 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 7.9862 ms/op 7.9549 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 8.5164 ms/op 8.4907 ms/op 1.00
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.3300 ns/op 7.5500 ns/op 0.97
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0620 us/op 1.0071 us/op 1.05
computeProposers - vc 250000 17.109 ms/op 17.223 ms/op 0.99
computeEpochShuffling - vc 250000 168.28 ms/op 170.02 ms/op 0.99
getNextSyncCommittee - vc 250000 288.44 ms/op 290.14 ms/op 0.99

by benchmarkbot/action

@wemeetagain
wemeetagain merged commit b131769 into unstable Jan 5, 2023
@wemeetagain
wemeetagain deleted the dapplion/gnosis-bootnodes branch January 5, 2023 15:29
lodekeeper added a commit to lodekeeper/lodestar that referenced this pull request Mar 18, 2026
Implements alternative to consensus-specs#4992 for addressing ChainSafe#4979's
epoch-boundary PTC bug with minimal state changes.

Spec: lodekeeper/consensus-specs@feat/minimal-ptc-caching

Changes:
- Add previousPtc field to gloas BeaconState SSZ type (~4KB, single Vector)
- New processPtcUpdate() called at START of process_epoch, before effective
  balance updates alter the weighted selection
- New computePayloadTimelinessCommitteeAtSlot() for on-demand single-slot
  PTC computation (extracted from epoch-batch computation)
- EpochCache: replace previousPayloadTimelinessCommittees (full epoch array)
  with previousEpochLastSlotPtc (single Uint32Array)
- getPayloadTimelinessCommittee() returns cached previousEpochLastSlotPtc
  for epoch-boundary case, epochCtx cache for current epoch
- Initialize previousPtc to zeros in upgradeStateToGloas and genesis
- Update specrefs for compute_ptc, get_ptc, process_ptc_update

Key design decisions:
- No per-slot state rotation (unlike ChainSafe#4992)
- Only the last slot of the previous epoch is cached in state because
  process_payload_attestation enforces data.slot + 1 == state.slot
- All epoch PTCs still computed eagerly in epochCtx for duties API
- get_ptc_assignment preserved (unlike ChainSafe#4992 which removed it)

Co-authored-by: Nico Flaig <nflaig@users.noreply.github.com>
lodekeeper added a commit to lodekeeper/lodestar that referenced this pull request Mar 31, 2026
Implements consensus-specs v1.7.0-alpha.4 PTC window changes:

- Add ptcWindow field to Gloas BeaconState (Vector[Vector[ValidatorIndex, PTC_SIZE], (2+MIN_SEED_LOOKAHEAD)*SLOTS_PER_EPOCH])
- Add computePtc, computeBalanceWeightedSelection, computeBalanceWeightedAcceptance helpers
- Add processPtcWindow epoch processing (runs after processProposerLookahead)
- Add initializePtcWindow for fork transition and genesis
- Update epochCache.getPayloadTimelinessCommittee to read from state.ptcWindow (read-through)
- Remove independently-computed PTC arrays from epochCache
- Update compute_balance_weighted_acceptance signature (alpha.4 perf optimization)

Spec refs: consensus-specs PRs ChainSafe#4979, ChainSafe#5044
wemeetagain pushed a commit that referenced this pull request Apr 21, 2026
This implements minimal changes to pass `alpha.4` spec tests
- adds `ptc_window` to state based on
[#4979](ethereum/consensus-specs#4979)
- bump spec to `v1.7.0-alpha.4`
- update ethspecify
- misc changes to pass spec tests

**NOTE:** this does not implement any other changes from alpha.4 besides
ethereum/consensus-specs#4979

---------

Co-authored-by: NC <17676176+ensi321@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants