Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DOMAIN_APPLICATION_MASK validation for builder domain #4542

Merged
merged 2 commits into from
Sep 13, 2022

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Sep 13, 2022

@g11tech g11tech requested a review from a team as a code owner September 13, 2022 09:08
@g11tech g11tech mentioned this pull request Sep 13, 2022
29 tasks
@g11tech g11tech enabled auto-merge (squash) September 13, 2022 09:11
@github-actions
Copy link
Contributor

github-actions bot commented Sep 13, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: f2d154f Previous: a5bf126 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.1116 ms/op 1.8261 ms/op 1.16
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 72.052 us/op 64.143 us/op 1.12
BLS verify - blst-native 1.8490 ms/op 1.6434 ms/op 1.13
BLS verifyMultipleSignatures 3 - blst-native 3.7963 ms/op 3.3530 ms/op 1.13
BLS verifyMultipleSignatures 8 - blst-native 8.1611 ms/op 7.2202 ms/op 1.13
BLS verifyMultipleSignatures 32 - blst-native 29.592 ms/op 26.152 ms/op 1.13
BLS aggregatePubkeys 32 - blst-native 39.583 us/op 34.478 us/op 1.15
BLS aggregatePubkeys 128 - blst-native 152.44 us/op 134.98 us/op 1.13
getAttestationsForBlock 168.63 ms/op 156.12 ms/op 1.08
isKnown best case - 1 super set check 430.00 ns/op 372.00 ns/op 1.16
isKnown normal case - 2 super set checks 413.00 ns/op 366.00 ns/op 1.13
isKnown worse case - 16 super set checks 412.00 ns/op 366.00 ns/op 1.13
CheckpointStateCache - add get delete 9.0050 us/op 7.8120 us/op 1.15
validate gossip signedAggregateAndProof - struct 4.2675 ms/op 3.7749 ms/op 1.13
validate gossip attestation - struct 2.0295 ms/op 1.7989 ms/op 1.13
pickEth1Vote - no votes 2.2682 ms/op 1.8878 ms/op 1.20
pickEth1Vote - max votes 20.136 ms/op 17.809 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.044 ms/op 9.8544 ms/op 1.12
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.463 ms/op 18.592 ms/op 1.10
pickEth1Vote - Eth1Data fastSerialize value x2048 1.5983 ms/op 1.3323 ms/op 1.20
pickEth1Vote - Eth1Data fastSerialize tree x2048 12.872 ms/op 11.741 ms/op 1.10
bytes32 toHexString 1.0840 us/op 917.00 ns/op 1.18
bytes32 Buffer.toString(hex) 737.00 ns/op 622.00 ns/op 1.18
bytes32 Buffer.toString(hex) from Uint8Array 937.00 ns/op 844.00 ns/op 1.11
bytes32 Buffer.toString(hex) + 0x 733.00 ns/op 627.00 ns/op 1.17
Object access 1 prop 0.38100 ns/op 0.31100 ns/op 1.23
Map access 1 prop 0.29700 ns/op 0.25400 ns/op 1.17
Object get x1000 19.225 ns/op 15.373 ns/op 1.25
Map get x1000 1.0120 ns/op 0.88900 ns/op 1.14
Object set x1000 126.58 ns/op 107.05 ns/op 1.18
Map set x1000 75.376 ns/op 64.475 ns/op 1.17
Return object 10000 times 0.37820 ns/op 0.33650 ns/op 1.12
Throw Error 10000 times 5.9502 us/op 5.2121 us/op 1.14
enrSubnets - fastDeserialize 64 bits 2.8880 us/op 2.3180 us/op 1.25
enrSubnets - ssz BitVector 64 bits 770.00 ns/op 633.00 ns/op 1.22
enrSubnets - fastDeserialize 4 bits 421.00 ns/op 332.00 ns/op 1.27
enrSubnets - ssz BitVector 4 bits 791.00 ns/op 646.00 ns/op 1.22
prioritizePeers score -10:0 att 32-0.1 sync 2-0 98.942 us/op 81.040 us/op 1.22
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 139.22 us/op 108.39 us/op 1.28
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 246.28 us/op 186.42 us/op 1.32
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 392.56 us/op 403.15 us/op 0.97
prioritizePeers score 0:0 att 64-1 sync 4-1 457.52 us/op 404.22 us/op 1.13
RateTracker 1000000 limit, 1 obj count per request 195.22 ns/op 164.92 ns/op 1.18
RateTracker 1000000 limit, 2 obj count per request 150.08 ns/op 123.89 ns/op 1.21
RateTracker 1000000 limit, 4 obj count per request 124.09 ns/op 102.96 ns/op 1.21
RateTracker 1000000 limit, 8 obj count per request 113.17 ns/op 94.681 ns/op 1.20
RateTracker with prune 4.6550 us/op 3.9550 us/op 1.18
array of 16000 items push then shift 3.1855 us/op 2.7258 us/op 1.17
LinkedList of 16000 items push then shift 17.225 ns/op 15.095 ns/op 1.14
array of 16000 items push then pop 237.81 ns/op 229.90 ns/op 1.03
LinkedList of 16000 items push then pop 16.655 ns/op 16.351 ns/op 1.02
array of 24000 items push then shift 4.5527 us/op 4.5517 us/op 1.00
LinkedList of 24000 items push then shift 21.008 ns/op 20.397 ns/op 1.03
array of 24000 items push then pop 211.21 ns/op 193.09 ns/op 1.09
LinkedList of 24000 items push then pop 17.940 ns/op 16.223 ns/op 1.11
intersect bitArray bitLen 8 11.629 ns/op 10.221 ns/op 1.14
intersect array and set length 8 172.80 ns/op 145.38 ns/op 1.19
intersect bitArray bitLen 128 72.082 ns/op 63.649 ns/op 1.13
intersect array and set length 128 2.3544 us/op 1.9891 us/op 1.18
Buffer.concat 32 items 2.2580 ns/op 1.7080 ns/op 1.32
pass gossip attestations to forkchoice per slot 6.0620 ms/op 3.1388 ms/op 1.93
computeDeltas 3.1689 ms/op 3.9242 ms/op 0.81
computeProposerBoostScoreFromBalances 921.28 us/op 815.09 us/op 1.13
altair processAttestation - 250000 vs - 7PWei normalcase 4.3083 ms/op 3.5905 ms/op 1.20
altair processAttestation - 250000 vs - 7PWei worstcase 6.1817 ms/op 5.6326 ms/op 1.10
altair processAttestation - setStatus - 1/6 committees join 207.91 us/op 193.39 us/op 1.08
altair processAttestation - setStatus - 1/3 committees join 395.87 us/op 362.12 us/op 1.09
altair processAttestation - setStatus - 1/2 committees join 550.34 us/op 573.47 us/op 0.96
altair processAttestation - setStatus - 2/3 committees join 708.25 us/op 655.52 us/op 1.08
altair processAttestation - setStatus - 4/5 committees join 990.20 us/op 906.72 us/op 1.09
altair processAttestation - setStatus - 100% committees join 1.1640 ms/op 1.2077 ms/op 0.96
altair processBlock - 250000 vs - 7PWei normalcase 29.022 ms/op 25.216 ms/op 1.15
altair processBlock - 250000 vs - 7PWei normalcase hashState 43.367 ms/op 32.616 ms/op 1.33
altair processBlock - 250000 vs - 7PWei worstcase 73.805 ms/op 73.487 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase hashState 98.742 ms/op 101.69 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei normalcase 3.9414 ms/op 3.4656 ms/op 1.14
phase0 processBlock - 250000 vs - 7PWei worstcase 47.174 ms/op 40.936 ms/op 1.15
altair processEth1Data - 250000 vs - 7PWei normalcase 788.03 us/op 706.69 us/op 1.12
Tree 40 250000 create 855.32 ms/op 759.31 ms/op 1.13
Tree 40 250000 get(125000) 289.65 ns/op 257.70 ns/op 1.12
Tree 40 250000 set(125000) 2.4832 us/op 2.5170 us/op 0.99
Tree 40 250000 toArray() 31.825 ms/op 30.077 ms/op 1.06
Tree 40 250000 iterate all - toArray() + loop 31.977 ms/op 29.749 ms/op 1.07
Tree 40 250000 iterate all - get(i) 110.10 ms/op 101.06 ms/op 1.09
MutableVector 250000 create 16.158 ms/op 17.204 ms/op 0.94
MutableVector 250000 get(125000) 13.564 ns/op 13.086 ns/op 1.04
MutableVector 250000 set(125000) 667.68 ns/op 629.14 ns/op 1.06
MutableVector 250000 toArray() 7.7786 ms/op 7.3463 ms/op 1.06
MutableVector 250000 iterate all - toArray() + loop 8.0442 ms/op 7.2186 ms/op 1.11
MutableVector 250000 iterate all - get(i) 3.4439 ms/op 3.0354 ms/op 1.13
Array 250000 create 7.3671 ms/op 6.9107 ms/op 1.07
Array 250000 clone - spread 4.1623 ms/op 3.8865 ms/op 1.07
Array 250000 get(125000) 1.7040 ns/op 1.5930 ns/op 1.07
Array 250000 set(125000) 1.6670 ns/op 1.6290 ns/op 1.02
Array 250000 iterate all - loop 167.80 us/op 168.12 us/op 1.00
effectiveBalanceIncrements clone Uint8Array 300000 101.57 us/op 87.854 us/op 1.16
effectiveBalanceIncrements clone MutableVector 300000 1.2730 us/op 1.2330 us/op 1.03
effectiveBalanceIncrements rw all Uint8Array 300000 252.49 us/op 254.64 us/op 0.99
effectiveBalanceIncrements rw all MutableVector 300000 226.86 ms/op 214.09 ms/op 1.06
phase0 afterProcessEpoch - 250000 vs - 7PWei 187.74 ms/op 207.45 ms/op 0.90
phase0 beforeProcessEpoch - 250000 vs - 7PWei 70.291 ms/op 70.333 ms/op 1.00
altair processEpoch - mainnet_e81889 587.42 ms/op 534.63 ms/op 1.10
mainnet_e81889 - altair beforeProcessEpoch 134.78 ms/op 164.89 ms/op 0.82
mainnet_e81889 - altair processJustificationAndFinalization 22.349 us/op 20.459 us/op 1.09
mainnet_e81889 - altair processInactivityUpdates 11.048 ms/op 9.8166 ms/op 1.13
mainnet_e81889 - altair processRewardsAndPenalties 90.811 ms/op 86.454 ms/op 1.05
mainnet_e81889 - altair processRegistryUpdates 3.1170 us/op 4.0810 us/op 0.76
mainnet_e81889 - altair processSlashings 831.00 ns/op 834.00 ns/op 1.00
mainnet_e81889 - altair processEth1DataReset 906.00 ns/op 959.00 ns/op 0.94
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.4125 ms/op 2.5142 ms/op 0.96
mainnet_e81889 - altair processSlashingsReset 5.3390 us/op 6.0320 us/op 0.89
mainnet_e81889 - altair processRandaoMixesReset 5.5300 us/op 6.6060 us/op 0.84
mainnet_e81889 - altair processHistoricalRootsUpdate 879.00 ns/op 750.00 ns/op 1.17
mainnet_e81889 - altair processParticipationFlagUpdates 2.6580 us/op 2.9180 us/op 0.91
mainnet_e81889 - altair processSyncCommitteeUpdates 748.00 ns/op 1.1200 us/op 0.67
mainnet_e81889 - altair afterProcessEpoch 195.66 ms/op 211.59 ms/op 0.92
phase0 processEpoch - mainnet_e58758 531.28 ms/op 546.42 ms/op 0.97
mainnet_e58758 - phase0 beforeProcessEpoch 233.49 ms/op 222.07 ms/op 1.05
mainnet_e58758 - phase0 processJustificationAndFinalization 21.652 us/op 21.693 us/op 1.00
mainnet_e58758 - phase0 processRewardsAndPenalties 140.26 ms/op 125.38 ms/op 1.12
mainnet_e58758 - phase0 processRegistryUpdates 10.075 us/op 10.176 us/op 0.99
mainnet_e58758 - phase0 processSlashings 816.00 ns/op 791.00 ns/op 1.03
mainnet_e58758 - phase0 processEth1DataReset 806.00 ns/op 734.00 ns/op 1.10
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.8540 ms/op 2.1361 ms/op 0.87
mainnet_e58758 - phase0 processSlashingsReset 4.9400 us/op 5.4440 us/op 0.91
mainnet_e58758 - phase0 processRandaoMixesReset 5.4030 us/op 5.8590 us/op 0.92
mainnet_e58758 - phase0 processHistoricalRootsUpdate 847.00 ns/op 772.00 ns/op 1.10
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.9140 us/op 4.9820 us/op 0.99
mainnet_e58758 - phase0 afterProcessEpoch 161.04 ms/op 144.42 ms/op 1.12
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.6355 ms/op 2.2638 ms/op 1.16
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.4251 ms/op 2.7910 ms/op 1.23
altair processInactivityUpdates - 250000 normalcase 39.398 ms/op 37.551 ms/op 1.05
altair processInactivityUpdates - 250000 worstcase 50.753 ms/op 50.300 ms/op 1.01
phase0 processRegistryUpdates - 250000 normalcase 8.0000 us/op 9.2000 us/op 0.87
phase0 processRegistryUpdates - 250000 badcase_full_deposits 406.91 us/op 407.00 us/op 1.00
phase0 processRegistryUpdates - 250000 worstcase 0.5 211.00 ms/op 196.62 ms/op 1.07
altair processRewardsAndPenalties - 250000 normalcase 127.53 ms/op 109.37 ms/op 1.17
altair processRewardsAndPenalties - 250000 worstcase 87.092 ms/op 122.48 ms/op 0.71
phase0 getAttestationDeltas - 250000 normalcase 13.902 ms/op 10.969 ms/op 1.27
phase0 getAttestationDeltas - 250000 worstcase 14.380 ms/op 11.647 ms/op 1.23
phase0 processSlashings - 250000 worstcase 5.3312 ms/op 4.6109 ms/op 1.16
altair processSyncCommitteeUpdates - 250000 284.56 ms/op 257.88 ms/op 1.10
BeaconState.hashTreeRoot - No change 482.00 ns/op 430.00 ns/op 1.12
BeaconState.hashTreeRoot - 1 full validator 61.866 us/op 56.285 us/op 1.10
BeaconState.hashTreeRoot - 32 full validator 710.91 us/op 594.09 us/op 1.20
BeaconState.hashTreeRoot - 512 full validator 6.6850 ms/op 5.3637 ms/op 1.25
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 80.050 us/op 70.665 us/op 1.13
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.1903 ms/op 1.0947 ms/op 1.09
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 16.035 ms/op 15.300 ms/op 1.05
BeaconState.hashTreeRoot - 1 balances 61.438 us/op 60.129 us/op 1.02
BeaconState.hashTreeRoot - 32 balances 554.26 us/op 519.05 us/op 1.07
BeaconState.hashTreeRoot - 512 balances 5.9197 ms/op 6.3441 ms/op 0.93
BeaconState.hashTreeRoot - 250000 balances 92.571 ms/op 85.626 ms/op 1.08
aggregationBits - 2048 els - zipIndexesInBitList 28.342 us/op 30.626 us/op 0.93
regular array get 100000 times 67.407 us/op 67.588 us/op 1.00
wrappedArray get 100000 times 67.444 us/op 67.380 us/op 1.00
arrayWithProxy get 100000 times 29.701 ms/op 29.121 ms/op 1.02
ssz.Root.equals 468.00 ns/op 470.00 ns/op 1.00
byteArrayEquals 461.00 ns/op 457.00 ns/op 1.01
shuffle list - 16384 els 11.195 ms/op 11.110 ms/op 1.01
shuffle list - 250000 els 164.99 ms/op 166.35 ms/op 0.99
processSlot - 1 slots 12.514 us/op 12.843 us/op 0.97
processSlot - 32 slots 1.7595 ms/op 1.7026 ms/op 1.03
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 370.84 us/op 350.77 us/op 1.06
getCommitteeAssignments - req 1 vs - 250000 vc 5.3634 ms/op 4.6678 ms/op 1.15
getCommitteeAssignments - req 100 vs - 250000 vc 7.3313 ms/op 6.4487 ms/op 1.14
getCommitteeAssignments - req 1000 vs - 250000 vc 7.7965 ms/op 6.8813 ms/op 1.13
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 11.120 ns/op 9.7400 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 1.2348 us/op 1.0200 us/op 1.21
computeProposers - vc 250000 17.186 ms/op 16.478 ms/op 1.04
computeEpochShuffling - vc 250000 168.06 ms/op 156.36 ms/op 1.07
getNextSyncCommittee - vc 250000 282.33 ms/op 244.30 ms/op 1.16

by benchmarkbot/action

@g11tech g11tech merged commit d2025cc into unstable Sep 13, 2022
@g11tech g11tech deleted the g11tech/application-mask branch September 13, 2022 14:08
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.

None yet

2 participants