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

feat: add endpoint to fetch blinded blocks #6905

Merged
merged 2 commits into from
Jun 24, 2024
Merged

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jun 24, 2024

Motivation

Description

Adds endpoint to fetch blinded blocks, see getBlindedBlock

Closes #5699

@nflaig nflaig requested a review from a team as a code owner June 24, 2024 13:42
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 86ce933 Previous: 3cc1cb4 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 869.37 us/op 573.71 us/op 1.52
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 55.075 us/op 69.963 us/op 0.79
BLS verify - blst-native 1.2981 ms/op 1.3572 ms/op 0.96
BLS verifyMultipleSignatures 3 - blst-native 2.6941 ms/op 2.7203 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst-native 5.9673 ms/op 6.2434 ms/op 0.96
BLS verifyMultipleSignatures 32 - blst-native 22.016 ms/op 22.662 ms/op 0.97
BLS verifyMultipleSignatures 64 - blst-native 43.017 ms/op 43.955 ms/op 0.98
BLS verifyMultipleSignatures 128 - blst-native 86.332 ms/op 91.151 ms/op 0.95
BLS deserializing 10000 signatures 898.89 ms/op 966.35 ms/op 0.93
BLS deserializing 100000 signatures 9.3729 s/op 9.3867 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3408 ms/op 1.3319 ms/op 1.01
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5336 ms/op 1.5076 ms/op 1.02
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.4544 ms/op 2.5017 ms/op 0.98
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.1476 ms/op 3.6431 ms/op 1.14
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.2236 ms/op 6.6043 ms/op 1.09
BLS aggregatePubkeys 32 - blst-native 30.878 us/op 26.598 us/op 1.16
BLS aggregatePubkeys 128 - blst-native 116.33 us/op 102.29 us/op 1.14
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 132.77 ms/op 57.971 ms/op 2.29
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 115.36 ms/op 50.996 ms/op 2.26
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 48.565 ms/op 35.328 ms/op 1.37
getSlashingsAndExits - default max 218.98 us/op 101.40 us/op 2.16
getSlashingsAndExits - 2k 354.20 us/op 263.78 us/op 1.34
proposeBlockBody type=full, size=empty 6.5920 ms/op 6.0176 ms/op 1.10
isKnown best case - 1 super set check 476.00 ns/op 278.00 ns/op 1.71
isKnown normal case - 2 super set checks 485.00 ns/op 270.00 ns/op 1.80
isKnown worse case - 16 super set checks 505.00 ns/op 272.00 ns/op 1.86
InMemoryCheckpointStateCache - add get delete 5.9370 us/op 4.4160 us/op 1.34
validate api signedAggregateAndProof - struct 2.8895 ms/op 2.6398 ms/op 1.09
validate gossip signedAggregateAndProof - struct 2.8375 ms/op 2.6555 ms/op 1.07
validate gossip attestation - vc 640000 1.5389 ms/op 1.2833 ms/op 1.20
batch validate gossip attestation - vc 640000 - chunk 32 190.14 us/op 161.62 us/op 1.18
batch validate gossip attestation - vc 640000 - chunk 64 170.08 us/op 139.07 us/op 1.22
batch validate gossip attestation - vc 640000 - chunk 128 167.32 us/op 137.29 us/op 1.22
batch validate gossip attestation - vc 640000 - chunk 256 146.06 us/op 134.22 us/op 1.09
pickEth1Vote - no votes 1.3970 ms/op 1.1616 ms/op 1.20
pickEth1Vote - max votes 13.867 ms/op 10.257 ms/op 1.35
pickEth1Vote - Eth1Data hashTreeRoot value x2048 28.790 ms/op 16.458 ms/op 1.75
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 31.835 ms/op 25.706 ms/op 1.24
pickEth1Vote - Eth1Data fastSerialize value x2048 644.96 us/op 624.63 us/op 1.03
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.5575 ms/op 8.0789 ms/op 0.69
bytes32 toHexString 824.00 ns/op 642.00 ns/op 1.28
bytes32 Buffer.toString(hex) 291.00 ns/op 261.00 ns/op 1.11
bytes32 Buffer.toString(hex) from Uint8Array 538.00 ns/op 486.00 ns/op 1.11
bytes32 Buffer.toString(hex) + 0x 300.00 ns/op 266.00 ns/op 1.13
Object access 1 prop 0.23300 ns/op 0.18100 ns/op 1.29
Map access 1 prop 0.16600 ns/op 0.14700 ns/op 1.13
Object get x1000 6.9670 ns/op 6.4600 ns/op 1.08
Map get x1000 8.1760 ns/op 6.8210 ns/op 1.20
Object set x1000 60.175 ns/op 48.970 ns/op 1.23
Map set x1000 40.393 ns/op 34.023 ns/op 1.19
Return object 10000 times 0.34320 ns/op 0.31470 ns/op 1.09
Throw Error 10000 times 4.1906 us/op 3.6116 us/op 1.16
fastMsgIdFn sha256 / 200 bytes 2.7550 us/op 2.4650 us/op 1.12
fastMsgIdFn h32 xxhash / 200 bytes 343.00 ns/op 308.00 ns/op 1.11
fastMsgIdFn h64 xxhash / 200 bytes 299.00 ns/op 298.00 ns/op 1.00
fastMsgIdFn sha256 / 1000 bytes 8.7810 us/op 8.1120 us/op 1.08
fastMsgIdFn h32 xxhash / 1000 bytes 482.00 ns/op 474.00 ns/op 1.02
fastMsgIdFn h64 xxhash / 1000 bytes 403.00 ns/op 375.00 ns/op 1.07
fastMsgIdFn sha256 / 10000 bytes 73.086 us/op 67.800 us/op 1.08
fastMsgIdFn h32 xxhash / 10000 bytes 2.1990 us/op 1.9900 us/op 1.11
fastMsgIdFn h64 xxhash / 10000 bytes 2.0050 us/op 1.3190 us/op 1.52
send data - 1000 256B messages 17.806 ms/op 14.751 ms/op 1.21
send data - 1000 512B messages 22.678 ms/op 19.318 ms/op 1.17
send data - 1000 1024B messages 36.742 ms/op 33.038 ms/op 1.11
send data - 1000 1200B messages 44.187 ms/op 28.834 ms/op 1.53
send data - 1000 2048B messages 52.298 ms/op 37.256 ms/op 1.40
send data - 1000 4096B messages 47.343 ms/op 36.020 ms/op 1.31
send data - 1000 16384B messages 103.24 ms/op 77.494 ms/op 1.33
send data - 1000 65536B messages 289.09 ms/op 234.04 ms/op 1.24
enrSubnets - fastDeserialize 64 bits 1.6590 us/op 1.3460 us/op 1.23
enrSubnets - ssz BitVector 64 bits 482.00 ns/op 460.00 ns/op 1.05
enrSubnets - fastDeserialize 4 bits 211.00 ns/op 207.00 ns/op 1.02
enrSubnets - ssz BitVector 4 bits 480.00 ns/op 451.00 ns/op 1.06
prioritizePeers score -10:0 att 32-0.1 sync 2-0 216.94 us/op 196.71 us/op 1.10
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 196.76 us/op 196.67 us/op 1.00
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 475.97 us/op 368.40 us/op 1.29
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 550.43 us/op 443.40 us/op 1.24
prioritizePeers score 0:0 att 64-1 sync 4-1 1.0103 ms/op 900.06 us/op 1.12
array of 16000 items push then shift 1.8225 us/op 1.8691 us/op 0.98
LinkedList of 16000 items push then shift 8.2500 ns/op 8.7850 ns/op 0.94
array of 16000 items push then pop 149.73 ns/op 149.13 ns/op 1.00
LinkedList of 16000 items push then pop 7.9140 ns/op 8.2420 ns/op 0.96
array of 24000 items push then shift 2.6279 us/op 2.9319 us/op 0.90
LinkedList of 24000 items push then shift 7.9620 ns/op 9.3050 ns/op 0.86
array of 24000 items push then pop 188.13 ns/op 198.26 ns/op 0.95
LinkedList of 24000 items push then pop 8.2010 ns/op 8.3990 ns/op 0.98
intersect bitArray bitLen 8 6.9730 ns/op 6.9430 ns/op 1.00
intersect array and set length 8 52.934 ns/op 68.954 ns/op 0.77
intersect bitArray bitLen 128 30.412 ns/op 32.171 ns/op 0.95
intersect array and set length 128 798.48 ns/op 889.41 ns/op 0.90
bitArray.getTrueBitIndexes() bitLen 128 2.4400 us/op 2.7720 us/op 0.88
bitArray.getTrueBitIndexes() bitLen 248 4.2480 us/op 4.2660 us/op 1.00
bitArray.getTrueBitIndexes() bitLen 512 9.6750 us/op 8.9550 us/op 1.08
Buffer.concat 32 items 1.1120 us/op 1.2190 us/op 0.91
Uint8Array.set 32 items 2.0410 us/op 1.9160 us/op 1.07
Buffer.copy 2.2300 us/op 2.1890 us/op 1.02
Uint8Array.set - with subarray 3.8090 us/op 3.3970 us/op 1.12
Uint8Array.set - without subarray 2.1620 us/op 1.9180 us/op 1.13
Set add up to 64 items then delete first 3.2352 us/op 3.4070 us/op 0.95
OrderedSet add up to 64 items then delete first 4.6108 us/op 4.8829 us/op 0.94
Set add up to 64 items then delete last 3.4386 us/op 3.4635 us/op 0.99
OrderedSet add up to 64 items then delete last 5.2801 us/op 5.3536 us/op 0.99
Set add up to 64 items then delete middle 3.6764 us/op 3.5880 us/op 1.02
OrderedSet add up to 64 items then delete middle 7.1588 us/op 7.3497 us/op 0.97
Set add up to 128 items then delete first 7.2455 us/op 7.3794 us/op 0.98
OrderedSet add up to 128 items then delete first 11.436 us/op 11.747 us/op 0.97
Set add up to 128 items then delete last 7.0292 us/op 7.4268 us/op 0.95
OrderedSet add up to 128 items then delete last 9.5646 us/op 11.645 us/op 0.82
Set add up to 128 items then delete middle 5.8235 us/op 7.3390 us/op 0.79
OrderedSet add up to 128 items then delete middle 16.103 us/op 19.063 us/op 0.84
Set add up to 256 items then delete first 12.074 us/op 14.306 us/op 0.84
OrderedSet add up to 256 items then delete first 19.248 us/op 24.391 us/op 0.79
Set add up to 256 items then delete last 12.832 us/op 14.835 us/op 0.86
OrderedSet add up to 256 items then delete last 19.903 us/op 19.624 us/op 1.01
Set add up to 256 items then delete middle 13.221 us/op 13.417 us/op 0.99
OrderedSet add up to 256 items then delete middle 51.586 us/op 48.179 us/op 1.07
transfer serialized Status (84 B) 1.6170 us/op 1.5010 us/op 1.08
copy serialized Status (84 B) 1.4700 us/op 1.3400 us/op 1.10
transfer serialized SignedVoluntaryExit (112 B) 1.7470 us/op 1.5920 us/op 1.10
copy serialized SignedVoluntaryExit (112 B) 1.4960 us/op 1.3890 us/op 1.08
transfer serialized ProposerSlashing (416 B) 2.5410 us/op 1.9280 us/op 1.32
copy serialized ProposerSlashing (416 B) 1.9600 us/op 2.0470 us/op 0.96
transfer serialized Attestation (485 B) 1.8500 us/op 2.1490 us/op 0.86
copy serialized Attestation (485 B) 1.8510 us/op 1.9750 us/op 0.94
transfer serialized AttesterSlashing (33232 B) 2.0350 us/op 1.8500 us/op 1.10
copy serialized AttesterSlashing (33232 B) 9.2360 us/op 6.0440 us/op 1.53
transfer serialized Small SignedBeaconBlock (128000 B) 5.1030 us/op 2.5330 us/op 2.01
copy serialized Small SignedBeaconBlock (128000 B) 32.584 us/op 20.001 us/op 1.63
transfer serialized Avg SignedBeaconBlock (200000 B) 5.6400 us/op 3.2040 us/op 1.76
copy serialized Avg SignedBeaconBlock (200000 B) 48.952 us/op 31.263 us/op 1.57
transfer serialized BlobsSidecar (524380 B) 5.4660 us/op 3.6640 us/op 1.49
copy serialized BlobsSidecar (524380 B) 139.84 us/op 119.72 us/op 1.17
transfer serialized Big SignedBeaconBlock (1000000 B) 6.2530 us/op 5.2420 us/op 1.19
copy serialized Big SignedBeaconBlock (1000000 B) 202.59 us/op 248.19 us/op 0.82
pass gossip attestations to forkchoice per slot 3.6151 ms/op 3.5920 ms/op 1.01
forkChoice updateHead vc 100000 bc 64 eq 0 732.18 us/op 588.90 us/op 1.24
forkChoice updateHead vc 600000 bc 64 eq 0 3.7451 ms/op 3.3199 ms/op 1.13
forkChoice updateHead vc 1000000 bc 64 eq 0 6.0733 ms/op 5.8637 ms/op 1.04
forkChoice updateHead vc 600000 bc 320 eq 0 3.2969 ms/op 3.6710 ms/op 0.90
forkChoice updateHead vc 600000 bc 1200 eq 0 3.3217 ms/op 3.4068 ms/op 0.98
forkChoice updateHead vc 600000 bc 7200 eq 0 4.1826 ms/op 4.4676 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 1000 11.732 ms/op 13.032 ms/op 0.90
forkChoice updateHead vc 600000 bc 64 eq 10000 11.457 ms/op 12.444 ms/op 0.92
forkChoice updateHead vc 600000 bc 64 eq 300000 25.211 ms/op 20.588 ms/op 1.22
computeDeltas 500000 validators 300 proto nodes 4.3639 ms/op 4.2486 ms/op 1.03
computeDeltas 500000 validators 1200 proto nodes 4.6771 ms/op 4.0016 ms/op 1.17
computeDeltas 500000 validators 7200 proto nodes 5.8653 ms/op 4.1428 ms/op 1.42
computeDeltas 750000 validators 300 proto nodes 8.6142 ms/op 6.2775 ms/op 1.37
computeDeltas 750000 validators 1200 proto nodes 7.4763 ms/op 6.7356 ms/op 1.11
computeDeltas 750000 validators 7200 proto nodes 6.1659 ms/op 7.1206 ms/op 0.87
computeDeltas 1400000 validators 300 proto nodes 11.324 ms/op 13.377 ms/op 0.85
computeDeltas 1400000 validators 1200 proto nodes 10.290 ms/op 11.915 ms/op 0.86
computeDeltas 1400000 validators 7200 proto nodes 10.752 ms/op 10.633 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 15.676 ms/op 17.428 ms/op 0.90
computeDeltas 2100000 validators 1200 proto nodes 18.104 ms/op 16.666 ms/op 1.09
computeDeltas 2100000 validators 7200 proto nodes 17.110 ms/op 16.887 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 1.7920 ms/op 2.5051 ms/op 0.72
altair processAttestation - 250000 vs - 7PWei worstcase 2.9650 ms/op 3.5274 ms/op 0.84
altair processAttestation - setStatus - 1/6 committees join 102.29 us/op 108.58 us/op 0.94
altair processAttestation - setStatus - 1/3 committees join 185.92 us/op 232.89 us/op 0.80
altair processAttestation - setStatus - 1/2 committees join 264.59 us/op 299.43 us/op 0.88
altair processAttestation - setStatus - 2/3 committees join 357.77 us/op 433.88 us/op 0.82
altair processAttestation - setStatus - 4/5 committees join 505.21 us/op 615.86 us/op 0.82
altair processAttestation - setStatus - 100% committees join 615.35 us/op 597.37 us/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase 4.5356 ms/op 5.1040 ms/op 0.89
altair processBlock - 250000 vs - 7PWei normalcase hashState 26.794 ms/op 29.533 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase 45.082 ms/op 45.915 ms/op 0.98
altair processBlock - 250000 vs - 7PWei worstcase hashState 82.800 ms/op 95.589 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1054 ms/op 2.5771 ms/op 0.82
phase0 processBlock - 250000 vs - 7PWei worstcase 29.363 ms/op 38.780 ms/op 0.76
altair processEth1Data - 250000 vs - 7PWei normalcase 347.55 us/op 623.57 us/op 0.56
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.4430 us/op 7.3360 us/op 0.88
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 30.415 us/op 29.599 us/op 1.03
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 10.731 us/op 13.113 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.5490 us/op 11.861 us/op 0.55
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 112.72 us/op 91.161 us/op 1.24
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 847.64 us/op 823.79 us/op 1.03
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2555 ms/op 1.2465 ms/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1099 ms/op 1.0297 ms/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.6473 ms/op 4.0338 ms/op 0.66
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0286 ms/op 1.9296 ms/op 1.05
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.9583 ms/op 7.5208 ms/op 0.53
Tree 40 250000 create 243.30 ms/op 468.96 ms/op 0.52
Tree 40 250000 get(125000) 160.60 ns/op 181.02 ns/op 0.89
Tree 40 250000 set(125000) 788.14 ns/op 1.4088 us/op 0.56
Tree 40 250000 toArray() 21.721 ms/op 24.915 ms/op 0.87
Tree 40 250000 iterate all - toArray() + loop 22.479 ms/op 26.745 ms/op 0.84
Tree 40 250000 iterate all - get(i) 61.021 ms/op 64.162 ms/op 0.95
MutableVector 250000 create 10.547 ms/op 12.928 ms/op 0.82
MutableVector 250000 get(125000) 7.3700 ns/op 12.063 ns/op 0.61
MutableVector 250000 set(125000) 272.13 ns/op 304.53 ns/op 0.89
MutableVector 250000 toArray() 4.8143 ms/op 5.4249 ms/op 0.89
MutableVector 250000 iterate all - toArray() + loop 5.1113 ms/op 5.6215 ms/op 0.91
MutableVector 250000 iterate all - get(i) 1.7624 ms/op 1.9809 ms/op 0.89
Array 250000 create 4.4343 ms/op 4.3160 ms/op 1.03
Array 250000 clone - spread 1.8041 ms/op 1.8129 ms/op 1.00
Array 250000 get(125000) 0.45100 ns/op 0.48800 ns/op 0.92
Array 250000 set(125000) 0.50600 ns/op 0.52000 ns/op 0.97
Array 250000 iterate all - loop 86.201 us/op 113.45 us/op 0.76
effectiveBalanceIncrements clone Uint8Array 300000 55.193 us/op 54.456 us/op 1.01
effectiveBalanceIncrements clone MutableVector 300000 147.00 ns/op 145.00 ns/op 1.01
effectiveBalanceIncrements rw all Uint8Array 300000 209.58 us/op 225.55 us/op 0.93
effectiveBalanceIncrements rw all MutableVector 300000 84.021 ms/op 125.08 ms/op 0.67
phase0 afterProcessEpoch - 250000 vs - 7PWei 95.279 ms/op 103.02 ms/op 0.92
phase0 beforeProcessEpoch - 250000 vs - 7PWei 46.532 ms/op 49.847 ms/op 0.93
altair processEpoch - mainnet_e81889 415.63 ms/op 580.29 ms/op 0.72
mainnet_e81889 - altair beforeProcessEpoch 68.895 ms/op 128.56 ms/op 0.54
mainnet_e81889 - altair processJustificationAndFinalization 18.263 us/op 22.494 us/op 0.81
mainnet_e81889 - altair processInactivityUpdates 7.0434 ms/op 11.944 ms/op 0.59
mainnet_e81889 - altair processRewardsAndPenalties 49.170 ms/op 86.440 ms/op 0.57
mainnet_e81889 - altair processRegistryUpdates 2.7780 us/op 6.7030 us/op 0.41
mainnet_e81889 - altair processSlashings 669.00 ns/op 1.8740 us/op 0.36
mainnet_e81889 - altair processEth1DataReset 626.00 ns/op 1.4220 us/op 0.44
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9634 ms/op 2.3163 ms/op 0.85
mainnet_e81889 - altair processSlashingsReset 3.2370 us/op 10.428 us/op 0.31
mainnet_e81889 - altair processRandaoMixesReset 5.9670 us/op 14.926 us/op 0.40
mainnet_e81889 - altair processHistoricalRootsUpdate 906.00 ns/op 2.7110 us/op 0.33
mainnet_e81889 - altair processParticipationFlagUpdates 3.8730 us/op 9.6400 us/op 0.40
mainnet_e81889 - altair processSyncCommitteeUpdates 818.00 ns/op 1.5780 us/op 0.52
mainnet_e81889 - altair afterProcessEpoch 101.50 ms/op 124.49 ms/op 0.82
capella processEpoch - mainnet_e217614 1.4731 s/op 1.5227 s/op 0.97
mainnet_e217614 - capella beforeProcessEpoch 336.37 ms/op 328.91 ms/op 1.02
mainnet_e217614 - capella processJustificationAndFinalization 20.604 us/op 23.189 us/op 0.89
mainnet_e217614 - capella processInactivityUpdates 21.318 ms/op 23.721 ms/op 0.90
mainnet_e217614 - capella processRewardsAndPenalties 272.88 ms/op 268.67 ms/op 1.02
mainnet_e217614 - capella processRegistryUpdates 18.020 us/op 18.934 us/op 0.95
mainnet_e217614 - capella processSlashings 436.00 ns/op 913.00 ns/op 0.48
mainnet_e217614 - capella processEth1DataReset 391.00 ns/op 809.00 ns/op 0.48
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.300 ms/op 16.793 ms/op 0.91
mainnet_e217614 - capella processSlashingsReset 5.4740 us/op 6.0920 us/op 0.90
mainnet_e217614 - capella processRandaoMixesReset 6.5660 us/op 8.7700 us/op 0.75
mainnet_e217614 - capella processHistoricalRootsUpdate 1.6850 us/op 792.00 ns/op 2.13
mainnet_e217614 - capella processParticipationFlagUpdates 3.5510 us/op 2.1880 us/op 1.62
mainnet_e217614 - capella afterProcessEpoch 300.15 ms/op 315.52 ms/op 0.95
phase0 processEpoch - mainnet_e58758 401.72 ms/op 409.08 ms/op 0.98
mainnet_e58758 - phase0 beforeProcessEpoch 122.77 ms/op 130.51 ms/op 0.94
mainnet_e58758 - phase0 processJustificationAndFinalization 14.478 us/op 20.183 us/op 0.72
mainnet_e58758 - phase0 processRewardsAndPenalties 38.611 ms/op 29.076 ms/op 1.33
mainnet_e58758 - phase0 processRegistryUpdates 12.481 us/op 16.129 us/op 0.77
mainnet_e58758 - phase0 processSlashings 492.00 ns/op 476.00 ns/op 1.03
mainnet_e58758 - phase0 processEth1DataReset 386.00 ns/op 712.00 ns/op 0.54
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1514 ms/op 1.1623 ms/op 0.99
mainnet_e58758 - phase0 processSlashingsReset 3.4230 us/op 4.6540 us/op 0.74
mainnet_e58758 - phase0 processRandaoMixesReset 5.6400 us/op 10.683 us/op 0.53
mainnet_e58758 - phase0 processHistoricalRootsUpdate 426.00 ns/op 888.00 ns/op 0.48
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.2070 us/op 8.5390 us/op 0.38
mainnet_e58758 - phase0 afterProcessEpoch 83.126 ms/op 89.835 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6392 ms/op 1.4978 ms/op 1.09
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.2184 ms/op 2.3069 ms/op 1.40
altair processInactivityUpdates - 250000 normalcase 21.684 ms/op 20.279 ms/op 1.07
altair processInactivityUpdates - 250000 worstcase 21.559 ms/op 19.657 ms/op 1.10
phase0 processRegistryUpdates - 250000 normalcase 8.7570 us/op 9.2460 us/op 0.95
phase0 processRegistryUpdates - 250000 badcase_full_deposits 362.50 us/op 314.21 us/op 1.15
phase0 processRegistryUpdates - 250000 worstcase 0.5 134.79 ms/op 141.44 ms/op 0.95
altair processRewardsAndPenalties - 250000 normalcase 54.050 ms/op 44.253 ms/op 1.22
altair processRewardsAndPenalties - 250000 worstcase 43.610 ms/op 43.590 ms/op 1.00
phase0 getAttestationDeltas - 250000 normalcase 7.8681 ms/op 11.285 ms/op 0.70
phase0 getAttestationDeltas - 250000 worstcase 8.4984 ms/op 11.117 ms/op 0.76
phase0 processSlashings - 250000 worstcase 116.17 us/op 88.453 us/op 1.31
altair processSyncCommitteeUpdates - 250000 168.95 ms/op 141.03 ms/op 1.20
BeaconState.hashTreeRoot - No change 397.00 ns/op 319.00 ns/op 1.24
BeaconState.hashTreeRoot - 1 full validator 110.42 us/op 119.01 us/op 0.93
BeaconState.hashTreeRoot - 32 full validator 1.3914 ms/op 981.54 us/op 1.42
BeaconState.hashTreeRoot - 512 full validator 16.746 ms/op 9.6361 ms/op 1.74
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 188.76 us/op 115.56 us/op 1.63
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3643 ms/op 1.7466 ms/op 1.35
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.288 ms/op 22.733 ms/op 1.07
BeaconState.hashTreeRoot - 1 balances 112.17 us/op 99.952 us/op 1.12
BeaconState.hashTreeRoot - 32 balances 963.44 us/op 1.0048 ms/op 0.96
BeaconState.hashTreeRoot - 512 balances 9.0919 ms/op 8.5153 ms/op 1.07
BeaconState.hashTreeRoot - 250000 balances 196.35 ms/op 190.07 ms/op 1.03
aggregationBits - 2048 els - zipIndexesInBitList 34.353 us/op 30.283 us/op 1.13
byteArrayEquals 32 58.066 ns/op 56.850 ns/op 1.02
Buffer.compare 32 19.277 ns/op 19.658 ns/op 0.98
byteArrayEquals 1024 1.6796 us/op 1.6950 us/op 0.99
Buffer.compare 1024 26.800 ns/op 32.578 ns/op 0.82
byteArrayEquals 16384 26.811 us/op 27.293 us/op 0.98
Buffer.compare 16384 221.70 ns/op 230.88 ns/op 0.96
byteArrayEquals 123687377 216.43 ms/op 217.67 ms/op 0.99
Buffer.compare 123687377 9.4090 ms/op 8.9636 ms/op 1.05
byteArrayEquals 32 - diff last byte 55.827 ns/op 60.401 ns/op 0.92
Buffer.compare 32 - diff last byte 18.359 ns/op 19.935 ns/op 0.92
byteArrayEquals 1024 - diff last byte 1.7095 us/op 1.8790 us/op 0.91
Buffer.compare 1024 - diff last byte 27.910 ns/op 29.445 ns/op 0.95
byteArrayEquals 16384 - diff last byte 28.125 us/op 27.941 us/op 1.01
Buffer.compare 16384 - diff last byte 254.78 ns/op 211.43 ns/op 1.21
byteArrayEquals 123687377 - diff last byte 204.99 ms/op 213.86 ms/op 0.96
Buffer.compare 123687377 - diff last byte 7.8426 ms/op 8.5861 ms/op 0.91
byteArrayEquals 32 - random bytes 5.5560 ns/op 5.5140 ns/op 1.01
Buffer.compare 32 - random bytes 18.238 ns/op 19.194 ns/op 0.95
byteArrayEquals 1024 - random bytes 5.5530 ns/op 5.9020 ns/op 0.94
Buffer.compare 1024 - random bytes 18.307 ns/op 19.260 ns/op 0.95
byteArrayEquals 16384 - random bytes 5.5240 ns/op 5.5630 ns/op 0.99
Buffer.compare 16384 - random bytes 18.137 ns/op 19.216 ns/op 0.94
byteArrayEquals 123687377 - random bytes 7.1400 ns/op 7.0800 ns/op 1.01
Buffer.compare 123687377 - random bytes 21.240 ns/op 21.530 ns/op 0.99
regular array get 100000 times 37.466 us/op 39.235 us/op 0.95
wrappedArray get 100000 times 36.120 us/op 35.912 us/op 1.01
arrayWithProxy get 100000 times 14.200 ms/op 14.571 ms/op 0.97
ssz.Root.equals 50.245 ns/op 48.592 ns/op 1.03
byteArrayEquals 47.910 ns/op 47.997 ns/op 1.00
Buffer.compare 11.244 ns/op 11.257 ns/op 1.00
shuffle list - 16384 els 6.9035 ms/op 7.0790 ms/op 0.98
shuffle list - 250000 els 99.489 ms/op 101.49 ms/op 0.98
processSlot - 1 slots 19.402 us/op 14.888 us/op 1.30
processSlot - 32 slots 3.9086 ms/op 2.7954 ms/op 1.40
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 40.204 ms/op 38.593 ms/op 1.04
getCommitteeAssignments - req 1 vs - 250000 vc 2.2406 ms/op 2.2868 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 4.3170 ms/op 4.2400 ms/op 1.02
getCommitteeAssignments - req 1000 vs - 250000 vc 4.7102 ms/op 4.5533 ms/op 1.03
findModifiedValidators - 10000 modified validators 344.66 ms/op 294.64 ms/op 1.17
findModifiedValidators - 1000 modified validators 201.90 ms/op 186.24 ms/op 1.08
findModifiedValidators - 100 modified validators 185.01 ms/op 188.20 ms/op 0.98
findModifiedValidators - 10 modified validators 191.19 ms/op 217.63 ms/op 0.88
findModifiedValidators - 1 modified validators 174.30 ms/op 170.70 ms/op 1.02
findModifiedValidators - no difference 176.53 ms/op 179.44 ms/op 0.98
compare ViewDUs 3.1835 s/op 3.1114 s/op 1.02
compare each validator Uint8Array 1.4374 s/op 1.2244 s/op 1.17
compare ViewDU to Uint8Array 1.1650 s/op 1.2191 s/op 0.96
migrate state 1000000 validators, 24 modified, 0 new 624.44 ms/op 580.18 ms/op 1.08
migrate state 1000000 validators, 1700 modified, 1000 new 880.43 ms/op 821.39 ms/op 1.07
migrate state 1000000 validators, 3400 modified, 2000 new 1.2385 s/op 1.1042 s/op 1.12
migrate state 1500000 validators, 24 modified, 0 new 1.0004 s/op 608.66 ms/op 1.64
migrate state 1500000 validators, 1700 modified, 1000 new 1.6395 s/op 875.82 ms/op 1.87
migrate state 1500000 validators, 3400 modified, 2000 new 1.0856 s/op 1.1450 s/op 0.95
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6100 ns/op 5.8500 ns/op 0.79
state getBlockRootAtSlot - 250000 vs - 7PWei 492.50 ns/op 671.11 ns/op 0.73
computeProposers - vc 250000 8.0636 ms/op 8.1270 ms/op 0.99
computeEpochShuffling - vc 250000 100.24 ms/op 99.223 ms/op 1.01
getNextSyncCommittee - vc 250000 147.72 ms/op 153.91 ms/op 0.96
computeSigningRoot for AttestationData 23.507 us/op 25.145 us/op 0.93
hash AttestationData serialized data then Buffer.toString(base64) 1.5950 us/op 1.6713 us/op 0.95
toHexString serialized data 951.71 ns/op 1.0276 us/op 0.93
Buffer.toString(base64) 199.42 ns/op 200.85 ns/op 0.99

by benchmarkbot/action

@wemeetagain wemeetagain merged commit b453b37 into unstable Jun 24, 2024
20 checks passed
@wemeetagain wemeetagain deleted the nflaig/blinded_blocks branch June 24, 2024 14:52
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.20.0 🎉

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.

Implement get blinded block API
2 participants