-
-
Notifications
You must be signed in to change notification settings - Fork 342
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 blacklisted block check #7498
base: unstable
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #7498 +/- ##
=========================================
Coverage 50.44% 50.44%
=========================================
Files 603 603
Lines 40686 40707 +21
Branches 2229 2229
=========================================
+ Hits 20523 20534 +11
- Misses 20123 20133 +10
Partials 40 40 |
**Motivation** - Black list the whole chain leading to black listed blocks **Description** - Init chain's black listed blocks from chain options - Populate it if a block's parent root is black listed. Gradually the whole chain will be black listed --------- Co-authored-by: Tuyen Nguyen <[email protected]> Co-authored-by: matthewkeil <[email protected]>
|
Benchmark suite | Current: d0686a9 | Previous: 2fc5490 | Ratio |
---|---|---|---|
toHexString serialized data | 5.5096 us/op | 1.4467 us/op | 3.81 |
Full benchmark results
Benchmark suite | Current: d0686a9 | Previous: 2fc5490 | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 987.51 us/op | 1.0222 ms/op | 0.97 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 37.314 us/op | 38.220 us/op | 0.98 |
BLS verify - blst | 974.58 us/op | 886.20 us/op | 1.10 |
BLS verifyMultipleSignatures 3 - blst | 1.3016 ms/op | 1.2953 ms/op | 1.00 |
BLS verifyMultipleSignatures 8 - blst | 2.0359 ms/op | 1.6817 ms/op | 1.21 |
BLS verifyMultipleSignatures 32 - blst | 5.9417 ms/op | 5.0142 ms/op | 1.18 |
BLS verifyMultipleSignatures 64 - blst | 11.321 ms/op | 9.2365 ms/op | 1.23 |
BLS verifyMultipleSignatures 128 - blst | 18.044 ms/op | 18.105 ms/op | 1.00 |
BLS deserializing 10000 signatures | 716.70 ms/op | 722.95 ms/op | 0.99 |
BLS deserializing 100000 signatures | 7.0640 s/op | 7.8132 s/op | 0.90 |
BLS verifyMultipleSignatures - same message - 3 - blst | 922.40 us/op | 1.1060 ms/op | 0.83 |
BLS verifyMultipleSignatures - same message - 8 - blst | 1.1487 ms/op | 1.1801 ms/op | 0.97 |
BLS verifyMultipleSignatures - same message - 32 - blst | 1.7496 ms/op | 2.1581 ms/op | 0.81 |
BLS verifyMultipleSignatures - same message - 64 - blst | 2.6971 ms/op | 3.2399 ms/op | 0.83 |
BLS verifyMultipleSignatures - same message - 128 - blst | 5.1209 ms/op | 4.8117 ms/op | 1.06 |
BLS aggregatePubkeys 32 - blst | 20.098 us/op | 21.255 us/op | 0.95 |
BLS aggregatePubkeys 128 - blst | 71.861 us/op | 78.811 us/op | 0.91 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 60.941 ms/op | 59.888 ms/op | 1.02 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 52.371 ms/op | 58.695 ms/op | 0.89 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 37.869 ms/op | 44.920 ms/op | 0.84 |
getSlashingsAndExits - default max | 75.495 us/op | 82.756 us/op | 0.91 |
getSlashingsAndExits - 2k | 324.12 us/op | 383.06 us/op | 0.85 |
proposeBlockBody type=full, size=empty | 4.6686 ms/op | 6.7438 ms/op | 0.69 |
isKnown best case - 1 super set check | 193.00 ns/op | 232.00 ns/op | 0.83 |
isKnown normal case - 2 super set checks | 190.00 ns/op | 224.00 ns/op | 0.85 |
isKnown worse case - 16 super set checks | 190.00 ns/op | 227.00 ns/op | 0.84 |
InMemoryCheckpointStateCache - add get delete | 2.3820 us/op | 3.6930 us/op | 0.65 |
validate api signedAggregateAndProof - struct | 2.5951 ms/op | 1.8539 ms/op | 1.40 |
validate gossip signedAggregateAndProof - struct | 2.4403 ms/op | 1.8103 ms/op | 1.35 |
batch validate gossip attestation - vc 640000 - chunk 32 | 124.45 us/op | 151.59 us/op | 0.82 |
batch validate gossip attestation - vc 640000 - chunk 64 | 102.46 us/op | 138.67 us/op | 0.74 |
batch validate gossip attestation - vc 640000 - chunk 128 | 94.585 us/op | 130.22 us/op | 0.73 |
batch validate gossip attestation - vc 640000 - chunk 256 | 99.487 us/op | 123.82 us/op | 0.80 |
pickEth1Vote - no votes | 955.28 us/op | 1.0494 ms/op | 0.91 |
pickEth1Vote - max votes | 7.7614 ms/op | 7.8914 ms/op | 0.98 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 15.699 ms/op | 15.162 ms/op | 1.04 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 21.866 ms/op | 19.400 ms/op | 1.13 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 426.14 us/op | 621.96 us/op | 0.69 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 4.2838 ms/op | 2.3805 ms/op | 1.80 |
bytes32 toHexString | 351.00 ns/op | 412.00 ns/op | 0.85 |
bytes32 Buffer.toString(hex) | 224.00 ns/op | 245.00 ns/op | 0.91 |
bytes32 Buffer.toString(hex) from Uint8Array | 314.00 ns/op | 357.00 ns/op | 0.88 |
bytes32 Buffer.toString(hex) + 0x | 227.00 ns/op | 256.00 ns/op | 0.89 |
Object access 1 prop | 0.11500 ns/op | 0.14200 ns/op | 0.81 |
Map access 1 prop | 0.12000 ns/op | 0.17200 ns/op | 0.70 |
Object get x1000 | 5.6830 ns/op | 8.1640 ns/op | 0.70 |
Map get x1000 | 6.1920 ns/op | 9.4480 ns/op | 0.66 |
Object set x1000 | 27.878 ns/op | 40.578 ns/op | 0.69 |
Map set x1000 | 18.881 ns/op | 26.047 ns/op | 0.72 |
Return object 10000 times | 0.28190 ns/op | 0.38140 ns/op | 0.74 |
Throw Error 10000 times | 4.2286 us/op | 5.0167 us/op | 0.84 |
toHex | 134.62 ns/op | 158.92 ns/op | 0.85 |
Buffer.from | 117.58 ns/op | 142.33 ns/op | 0.83 |
shared Buffer | 82.777 ns/op | 99.326 ns/op | 0.83 |
fastMsgIdFn sha256 / 200 bytes | 2.1400 us/op | 3.0350 us/op | 0.71 |
fastMsgIdFn h32 xxhash / 200 bytes | 197.00 ns/op | 290.00 ns/op | 0.68 |
fastMsgIdFn h64 xxhash / 200 bytes | 261.00 ns/op | 361.00 ns/op | 0.72 |
fastMsgIdFn sha256 / 1000 bytes | 7.1180 us/op | 10.540 us/op | 0.68 |
fastMsgIdFn h32 xxhash / 1000 bytes | 325.00 ns/op | 456.00 ns/op | 0.71 |
fastMsgIdFn h64 xxhash / 1000 bytes | 334.00 ns/op | 371.00 ns/op | 0.90 |
fastMsgIdFn sha256 / 10000 bytes | 64.172 us/op | 72.212 us/op | 0.89 |
fastMsgIdFn h32 xxhash / 10000 bytes | 1.7980 us/op | 1.9850 us/op | 0.91 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.2040 us/op | 1.3350 us/op | 0.90 |
send data - 1000 256B messages | 12.250 ms/op | 17.226 ms/op | 0.71 |
send data - 1000 512B messages | 16.131 ms/op | 24.279 ms/op | 0.66 |
send data - 1000 1024B messages | 24.099 ms/op | 28.977 ms/op | 0.83 |
send data - 1000 1200B messages | 21.152 ms/op | 26.963 ms/op | 0.78 |
send data - 1000 2048B messages | 26.822 ms/op | 32.373 ms/op | 0.83 |
send data - 1000 4096B messages | 25.288 ms/op | 34.968 ms/op | 0.72 |
send data - 1000 16384B messages | 63.211 ms/op | 82.824 ms/op | 0.76 |
send data - 1000 65536B messages | 209.57 ms/op | 269.81 ms/op | 0.78 |
enrSubnets - fastDeserialize 64 bits | 860.00 ns/op | 1.1240 us/op | 0.77 |
enrSubnets - ssz BitVector 64 bits | 318.00 ns/op | 458.00 ns/op | 0.69 |
enrSubnets - fastDeserialize 4 bits | 126.00 ns/op | 141.00 ns/op | 0.89 |
enrSubnets - ssz BitVector 4 bits | 322.00 ns/op | 355.00 ns/op | 0.91 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 115.53 us/op | 183.25 us/op | 0.63 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 134.88 us/op | 158.98 us/op | 0.85 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 198.20 us/op | 232.53 us/op | 0.85 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 374.61 us/op | 546.31 us/op | 0.69 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 444.53 us/op | 640.35 us/op | 0.69 |
array of 16000 items push then shift | 1.5852 us/op | 2.1318 us/op | 0.74 |
LinkedList of 16000 items push then shift | 6.7720 ns/op | 8.8440 ns/op | 0.77 |
array of 16000 items push then pop | 73.017 ns/op | 94.031 ns/op | 0.78 |
LinkedList of 16000 items push then pop | 6.7880 ns/op | 10.069 ns/op | 0.67 |
array of 24000 items push then shift | 2.3270 us/op | 2.6883 us/op | 0.87 |
LinkedList of 24000 items push then shift | 6.8910 ns/op | 9.5450 ns/op | 0.72 |
array of 24000 items push then pop | 98.128 ns/op | 118.85 ns/op | 0.83 |
LinkedList of 24000 items push then pop | 6.7350 ns/op | 7.5280 ns/op | 0.89 |
intersect bitArray bitLen 8 | 6.2590 ns/op | 8.5560 ns/op | 0.73 |
intersect array and set length 8 | 37.186 ns/op | 44.605 ns/op | 0.83 |
intersect bitArray bitLen 128 | 29.243 ns/op | 34.947 ns/op | 0.84 |
intersect array and set length 128 | 611.15 ns/op | 860.99 ns/op | 0.71 |
bitArray.getTrueBitIndexes() bitLen 128 | 984.00 ns/op | 1.3770 us/op | 0.71 |
bitArray.getTrueBitIndexes() bitLen 248 | 1.7340 us/op | 2.0400 us/op | 0.85 |
bitArray.getTrueBitIndexes() bitLen 512 | 3.6270 us/op | 4.1280 us/op | 0.88 |
Buffer.concat 32 items | 591.00 ns/op | 1.0200 us/op | 0.58 |
Uint8Array.set 32 items | 1.6340 us/op | 2.2380 us/op | 0.73 |
Buffer.copy | 2.6710 us/op | 2.5530 us/op | 1.05 |
Uint8Array.set - with subarray | 2.2280 us/op | 3.1200 us/op | 0.71 |
Uint8Array.set - without subarray | 1.6790 us/op | 2.0430 us/op | 0.82 |
getUint32 - dataview | 194.00 ns/op | 206.00 ns/op | 0.94 |
getUint32 - manual | 123.00 ns/op | 127.00 ns/op | 0.97 |
Set add up to 64 items then delete first | 2.0945 us/op | 3.4572 us/op | 0.61 |
OrderedSet add up to 64 items then delete first | 3.1334 us/op | 5.2650 us/op | 0.60 |
Set add up to 64 items then delete last | 2.4092 us/op | 3.9355 us/op | 0.61 |
OrderedSet add up to 64 items then delete last | 3.4846 us/op | 5.6381 us/op | 0.62 |
Set add up to 64 items then delete middle | 2.2648 us/op | 2.6024 us/op | 0.87 |
OrderedSet add up to 64 items then delete middle | 5.0014 us/op | 6.3230 us/op | 0.79 |
Set add up to 128 items then delete first | 4.8893 us/op | 6.7040 us/op | 0.73 |
OrderedSet add up to 128 items then delete first | 7.6200 us/op | 10.746 us/op | 0.71 |
Set add up to 128 items then delete last | 4.8358 us/op | 5.9907 us/op | 0.81 |
OrderedSet add up to 128 items then delete last | 7.0742 us/op | 9.1465 us/op | 0.77 |
Set add up to 128 items then delete middle | 4.6996 us/op | 5.6136 us/op | 0.84 |
OrderedSet add up to 128 items then delete middle | 13.201 us/op | 15.546 us/op | 0.85 |
Set add up to 256 items then delete first | 9.8399 us/op | 12.222 us/op | 0.81 |
OrderedSet add up to 256 items then delete first | 15.675 us/op | 19.153 us/op | 0.82 |
Set add up to 256 items then delete last | 9.2960 us/op | 14.794 us/op | 0.63 |
OrderedSet add up to 256 items then delete last | 14.047 us/op | 25.481 us/op | 0.55 |
Set add up to 256 items then delete middle | 9.3045 us/op | 13.484 us/op | 0.69 |
OrderedSet add up to 256 items then delete middle | 40.036 us/op | 53.002 us/op | 0.76 |
transfer serialized Status (84 B) | 2.1470 us/op | 3.8960 us/op | 0.55 |
copy serialized Status (84 B) | 1.2300 us/op | 2.0500 us/op | 0.60 |
transfer serialized SignedVoluntaryExit (112 B) | 2.2710 us/op | 3.4070 us/op | 0.67 |
copy serialized SignedVoluntaryExit (112 B) | 1.2120 us/op | 1.7530 us/op | 0.69 |
transfer serialized ProposerSlashing (416 B) | 3.1910 us/op | 3.9530 us/op | 0.81 |
copy serialized ProposerSlashing (416 B) | 2.2350 us/op | 2.4860 us/op | 0.90 |
transfer serialized Attestation (485 B) | 2.4510 us/op | 3.4470 us/op | 0.71 |
copy serialized Attestation (485 B) | 2.3970 us/op | 2.3020 us/op | 1.04 |
transfer serialized AttesterSlashing (33232 B) | 2.8630 us/op | 3.8000 us/op | 0.75 |
copy serialized AttesterSlashing (33232 B) | 4.1380 us/op | 5.9890 us/op | 0.69 |
transfer serialized Small SignedBeaconBlock (128000 B) | 3.1900 us/op | 4.0930 us/op | 0.78 |
copy serialized Small SignedBeaconBlock (128000 B) | 9.1700 us/op | 17.709 us/op | 0.52 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 3.5800 us/op | 4.7620 us/op | 0.75 |
copy serialized Avg SignedBeaconBlock (200000 B) | 14.508 us/op | 22.508 us/op | 0.64 |
transfer serialized BlobsSidecar (524380 B) | 3.8710 us/op | 5.6060 us/op | 0.69 |
copy serialized BlobsSidecar (524380 B) | 64.378 us/op | 193.39 us/op | 0.33 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 4.1340 us/op | 6.3750 us/op | 0.65 |
copy serialized Big SignedBeaconBlock (1000000 B) | 115.56 us/op | 122.63 us/op | 0.94 |
pass gossip attestations to forkchoice per slot | 2.6919 ms/op | 3.4647 ms/op | 0.78 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 449.17 us/op | 555.31 us/op | 0.81 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 2.7769 ms/op | 3.1656 ms/op | 0.88 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.7181 ms/op | 5.8249 ms/op | 0.81 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 2.7961 ms/op | 3.3800 ms/op | 0.83 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 2.8036 ms/op | 3.5219 ms/op | 0.80 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 2.9453 ms/op | 4.0035 ms/op | 0.74 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 9.9885 ms/op | 13.527 ms/op | 0.74 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 9.8968 ms/op | 11.838 ms/op | 0.84 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 12.867 ms/op | 23.447 ms/op | 0.55 |
computeDeltas 500000 validators 300 proto nodes | 3.7979 ms/op | 4.9501 ms/op | 0.77 |
computeDeltas 500000 validators 1200 proto nodes | 3.9572 ms/op | 5.3129 ms/op | 0.74 |
computeDeltas 500000 validators 7200 proto nodes | 3.9732 ms/op | 4.3808 ms/op | 0.91 |
computeDeltas 750000 validators 300 proto nodes | 5.7985 ms/op | 6.2350 ms/op | 0.93 |
computeDeltas 750000 validators 1200 proto nodes | 5.7794 ms/op | 8.8494 ms/op | 0.65 |
computeDeltas 750000 validators 7200 proto nodes | 5.7515 ms/op | 8.6839 ms/op | 0.66 |
computeDeltas 1400000 validators 300 proto nodes | 10.664 ms/op | 16.159 ms/op | 0.66 |
computeDeltas 1400000 validators 1200 proto nodes | 10.685 ms/op | 16.597 ms/op | 0.64 |
computeDeltas 1400000 validators 7200 proto nodes | 10.811 ms/op | 17.624 ms/op | 0.61 |
computeDeltas 2100000 validators 300 proto nodes | 16.239 ms/op | 24.686 ms/op | 0.66 |
computeDeltas 2100000 validators 1200 proto nodes | 16.905 ms/op | 23.886 ms/op | 0.71 |
computeDeltas 2100000 validators 7200 proto nodes | 16.989 ms/op | 19.966 ms/op | 0.85 |
altair processAttestation - 250000 vs - 7PWei normalcase | 2.1919 ms/op | 2.9222 ms/op | 0.75 |
altair processAttestation - 250000 vs - 7PWei worstcase | 3.7024 ms/op | 3.4480 ms/op | 1.07 |
altair processAttestation - setStatus - 1/6 committees join | 124.18 us/op | 140.37 us/op | 0.88 |
altair processAttestation - setStatus - 1/3 committees join | 261.59 us/op | 275.69 us/op | 0.95 |
altair processAttestation - setStatus - 1/2 committees join | 349.29 us/op | 363.77 us/op | 0.96 |
altair processAttestation - setStatus - 2/3 committees join | 434.65 us/op | 458.94 us/op | 0.95 |
altair processAttestation - setStatus - 4/5 committees join | 644.31 us/op | 650.84 us/op | 0.99 |
altair processAttestation - setStatus - 100% committees join | 768.42 us/op | 736.39 us/op | 1.04 |
altair processBlock - 250000 vs - 7PWei normalcase | 5.4370 ms/op | 4.6751 ms/op | 1.16 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 39.632 ms/op | 34.169 ms/op | 1.16 |
altair processBlock - 250000 vs - 7PWei worstcase | 47.730 ms/op | 40.275 ms/op | 1.19 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 103.96 ms/op | 84.982 ms/op | 1.22 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 1.7981 ms/op | 1.6459 ms/op | 1.09 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 27.641 ms/op | 25.823 ms/op | 1.07 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 364.32 us/op | 364.09 us/op | 1.00 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 7.1710 us/op | 10.312 us/op | 0.70 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 37.583 us/op | 48.302 us/op | 0.78 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 11.616 us/op | 14.343 us/op | 0.81 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 5.4700 us/op | 8.9900 us/op | 0.61 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 166.57 us/op | 241.30 us/op | 0.69 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.3575 ms/op | 1.2199 ms/op | 1.11 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.8379 ms/op | 2.2086 ms/op | 0.83 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.5200 ms/op | 1.7010 ms/op | 0.89 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 3.4956 ms/op | 5.7364 ms/op | 0.61 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.5750 ms/op | 1.9984 ms/op | 0.79 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 3.5679 ms/op | 5.3562 ms/op | 0.67 |
Tree 40 250000 create | 434.50 ms/op | 722.81 ms/op | 0.60 |
Tree 40 250000 get(125000) | 149.93 ns/op | 171.40 ns/op | 0.87 |
Tree 40 250000 set(125000) | 1.5399 us/op | 2.6165 us/op | 0.59 |
Tree 40 250000 toArray() | 16.890 ms/op | 22.588 ms/op | 0.75 |
Tree 40 250000 iterate all - toArray() + loop | 16.483 ms/op | 23.212 ms/op | 0.71 |
Tree 40 250000 iterate all - get(i) | 59.855 ms/op | 67.563 ms/op | 0.89 |
Array 250000 create | 2.4295 ms/op | 3.8017 ms/op | 0.64 |
Array 250000 clone - spread | 810.77 us/op | 1.8231 ms/op | 0.44 |
Array 250000 get(125000) | 0.41800 ns/op | 0.47000 ns/op | 0.89 |
Array 250000 set(125000) | 0.44900 ns/op | 0.49200 ns/op | 0.91 |
Array 250000 iterate all - loop | 110.91 us/op | 123.07 us/op | 0.90 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 49.834 ms/op | 57.473 ms/op | 0.87 |
Array.fill - length 1000000 | 6.2538 ms/op | 5.5272 ms/op | 1.13 |
Array push - length 1000000 | 13.718 ms/op | 17.082 ms/op | 0.80 |
Array.get | 0.28535 ns/op | 0.31555 ns/op | 0.90 |
Uint8Array.get | 0.46508 ns/op | 0.49027 ns/op | 0.95 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 17.897 ms/op | 21.337 ms/op | 0.84 |
altair processEpoch - mainnet_e81889 | 319.45 ms/op | 344.93 ms/op | 0.93 |
mainnet_e81889 - altair beforeProcessEpoch | 20.309 ms/op | 23.278 ms/op | 0.87 |
mainnet_e81889 - altair processJustificationAndFinalization | 6.5110 us/op | 7.2700 us/op | 0.90 |
mainnet_e81889 - altair processInactivityUpdates | 4.2198 ms/op | 5.6517 ms/op | 0.75 |
mainnet_e81889 - altair processRewardsAndPenalties | 55.776 ms/op | 48.354 ms/op | 1.15 |
mainnet_e81889 - altair processRegistryUpdates | 740.00 ns/op | 902.00 ns/op | 0.82 |
mainnet_e81889 - altair processSlashings | 201.00 ns/op | 196.00 ns/op | 1.03 |
mainnet_e81889 - altair processEth1DataReset | 172.00 ns/op | 268.00 ns/op | 0.64 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.2773 ms/op | 1.3983 ms/op | 0.91 |
mainnet_e81889 - altair processSlashingsReset | 885.00 ns/op | 940.00 ns/op | 0.94 |
mainnet_e81889 - altair processRandaoMixesReset | 1.1660 us/op | 1.4930 us/op | 0.78 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 194.00 ns/op | 239.00 ns/op | 0.81 |
mainnet_e81889 - altair processParticipationFlagUpdates | 558.00 ns/op | 784.00 ns/op | 0.71 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 142.00 ns/op | 151.00 ns/op | 0.94 |
mainnet_e81889 - altair afterProcessEpoch | 54.094 ms/op | 58.564 ms/op | 0.92 |
capella processEpoch - mainnet_e217614 | 1.2547 s/op | 1.1685 s/op | 1.07 |
mainnet_e217614 - capella beforeProcessEpoch | 110.14 ms/op | 77.559 ms/op | 1.42 |
mainnet_e217614 - capella processJustificationAndFinalization | 8.2010 us/op | 6.2190 us/op | 1.32 |
mainnet_e217614 - capella processInactivityUpdates | 23.127 ms/op | 22.180 ms/op | 1.04 |
mainnet_e217614 - capella processRewardsAndPenalties | 229.89 ms/op | 203.41 ms/op | 1.13 |
mainnet_e217614 - capella processRegistryUpdates | 7.2910 us/op | 9.7060 us/op | 0.75 |
mainnet_e217614 - capella processSlashings | 205.00 ns/op | 250.00 ns/op | 0.82 |
mainnet_e217614 - capella processEth1DataReset | 197.00 ns/op | 261.00 ns/op | 0.75 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 16.013 ms/op | 15.022 ms/op | 1.07 |
mainnet_e217614 - capella processSlashingsReset | 932.00 ns/op | 1.1550 us/op | 0.81 |
mainnet_e217614 - capella processRandaoMixesReset | 1.2760 us/op | 1.6870 us/op | 0.76 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 202.00 ns/op | 275.00 ns/op | 0.73 |
mainnet_e217614 - capella processParticipationFlagUpdates | 819.00 ns/op | 726.00 ns/op | 1.13 |
mainnet_e217614 - capella afterProcessEpoch | 134.01 ms/op | 138.71 ms/op | 0.97 |
phase0 processEpoch - mainnet_e58758 | 426.15 ms/op | 379.85 ms/op | 1.12 |
mainnet_e58758 - phase0 beforeProcessEpoch | 118.05 ms/op | 89.881 ms/op | 1.31 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 6.2080 us/op | 9.3890 us/op | 0.66 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 44.671 ms/op | 40.356 ms/op | 1.11 |
mainnet_e58758 - phase0 processRegistryUpdates | 4.0980 us/op | 4.8330 us/op | 0.85 |
mainnet_e58758 - phase0 processSlashings | 239.00 ns/op | 283.00 ns/op | 0.84 |
mainnet_e58758 - phase0 processEth1DataReset | 185.00 ns/op | 281.00 ns/op | 0.66 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.1270 ms/op | 1.3123 ms/op | 0.86 |
mainnet_e58758 - phase0 processSlashingsReset | 1.1600 us/op | 1.0340 us/op | 1.12 |
mainnet_e58758 - phase0 processRandaoMixesReset | 1.6120 us/op | 1.7590 us/op | 0.92 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 246.00 ns/op | 191.00 ns/op | 1.29 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 1.0120 us/op | 1.2230 us/op | 0.83 |
mainnet_e58758 - phase0 afterProcessEpoch | 45.032 ms/op | 54.109 ms/op | 0.83 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.4094 ms/op | 1.7289 ms/op | 0.82 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 6.5758 ms/op | 3.9733 ms/op | 1.66 |
altair processInactivityUpdates - 250000 normalcase | 21.647 ms/op | 25.511 ms/op | 0.85 |
altair processInactivityUpdates - 250000 worstcase | 23.609 ms/op | 23.440 ms/op | 1.01 |
phase0 processRegistryUpdates - 250000 normalcase | 8.9310 us/op | 14.462 us/op | 0.62 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 337.34 us/op | 478.32 us/op | 0.71 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 127.74 ms/op | 143.82 ms/op | 0.89 |
altair processRewardsAndPenalties - 250000 normalcase | 51.684 ms/op | 55.769 ms/op | 0.93 |
altair processRewardsAndPenalties - 250000 worstcase | 36.445 ms/op | 44.317 ms/op | 0.82 |
phase0 getAttestationDeltas - 250000 normalcase | 10.373 ms/op | 10.267 ms/op | 1.01 |
phase0 getAttestationDeltas - 250000 worstcase | 6.3674 ms/op | 9.8902 ms/op | 0.64 |
phase0 processSlashings - 250000 worstcase | 128.34 us/op | 141.71 us/op | 0.91 |
altair processSyncCommitteeUpdates - 250000 | 134.77 ms/op | 159.16 ms/op | 0.85 |
BeaconState.hashTreeRoot - No change | 235.00 ns/op | 245.00 ns/op | 0.96 |
BeaconState.hashTreeRoot - 1 full validator | 113.21 us/op | 105.86 us/op | 1.07 |
BeaconState.hashTreeRoot - 32 full validator | 1.0780 ms/op | 1.5245 ms/op | 0.71 |
BeaconState.hashTreeRoot - 512 full validator | 12.726 ms/op | 15.930 ms/op | 0.80 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 117.85 us/op | 171.04 us/op | 0.69 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 1.9604 ms/op | 2.3721 ms/op | 0.83 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 31.226 ms/op | 30.642 ms/op | 1.02 |
BeaconState.hashTreeRoot - 1 balances | 91.471 us/op | 86.577 us/op | 1.06 |
BeaconState.hashTreeRoot - 32 balances | 1.0846 ms/op | 1.0032 ms/op | 1.08 |
BeaconState.hashTreeRoot - 512 balances | 8.6173 ms/op | 9.6218 ms/op | 0.90 |
BeaconState.hashTreeRoot - 250000 balances | 169.29 ms/op | 232.13 ms/op | 0.73 |
aggregationBits - 2048 els - zipIndexesInBitList | 23.003 us/op | 45.575 us/op | 0.50 |
byteArrayEquals 32 | 55.916 ns/op | 66.355 ns/op | 0.84 |
Buffer.compare 32 | 17.903 ns/op | 20.791 ns/op | 0.86 |
byteArrayEquals 1024 | 1.6713 us/op | 1.8892 us/op | 0.88 |
Buffer.compare 1024 | 25.946 ns/op | 28.994 ns/op | 0.89 |
byteArrayEquals 16384 | 26.604 us/op | 32.120 us/op | 0.83 |
Buffer.compare 16384 | 218.86 ns/op | 227.75 ns/op | 0.96 |
byteArrayEquals 123687377 | 194.96 ms/op | 284.19 ms/op | 0.69 |
Buffer.compare 123687377 | 6.7519 ms/op | 10.672 ms/op | 0.63 |
byteArrayEquals 32 - diff last byte | 52.299 ns/op | 87.119 ns/op | 0.60 |
Buffer.compare 32 - diff last byte | 17.153 ns/op | 28.545 ns/op | 0.60 |
byteArrayEquals 1024 - diff last byte | 1.5804 us/op | 2.7033 us/op | 0.58 |
Buffer.compare 1024 - diff last byte | 25.452 ns/op | 40.384 ns/op | 0.63 |
byteArrayEquals 16384 - diff last byte | 25.521 us/op | 35.438 us/op | 0.72 |
Buffer.compare 16384 - diff last byte | 188.30 ns/op | 288.11 ns/op | 0.65 |
byteArrayEquals 123687377 - diff last byte | 195.87 ms/op | 252.34 ms/op | 0.78 |
Buffer.compare 123687377 - diff last byte | 8.0353 ms/op | 11.524 ms/op | 0.70 |
byteArrayEquals 32 - random bytes | 5.4540 ns/op | 6.9740 ns/op | 0.78 |
Buffer.compare 32 - random bytes | 18.196 ns/op | 20.531 ns/op | 0.89 |
byteArrayEquals 1024 - random bytes | 5.3620 ns/op | 5.7930 ns/op | 0.93 |
Buffer.compare 1024 - random bytes | 18.172 ns/op | 30.149 ns/op | 0.60 |
byteArrayEquals 16384 - random bytes | 5.3050 ns/op | 7.0940 ns/op | 0.75 |
Buffer.compare 16384 - random bytes | 17.887 ns/op | 20.934 ns/op | 0.85 |
byteArrayEquals 123687377 - random bytes | 6.5700 ns/op | 10.010 ns/op | 0.66 |
Buffer.compare 123687377 - random bytes | 19.150 ns/op | 29.210 ns/op | 0.66 |
regular array get 100000 times | 45.879 us/op | 51.516 us/op | 0.89 |
wrappedArray get 100000 times | 34.030 us/op | 66.993 us/op | 0.51 |
arrayWithProxy get 100000 times | 15.664 ms/op | 15.471 ms/op | 1.01 |
ssz.Root.equals | 47.821 ns/op | 52.286 ns/op | 0.91 |
byteArrayEquals | 46.826 ns/op | 52.115 ns/op | 0.90 |
Buffer.compare | 10.554 ns/op | 13.320 ns/op | 0.79 |
processSlot - 1 slots | 10.589 us/op | 13.142 us/op | 0.81 |
processSlot - 32 slots | 2.3423 ms/op | 3.4149 ms/op | 0.69 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 56.810 ms/op | 66.374 ms/op | 0.86 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.2071 ms/op | 2.2912 ms/op | 0.96 |
getCommitteeAssignments - req 100 vs - 250000 vc | 4.3020 ms/op | 4.3690 ms/op | 0.98 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 4.5670 ms/op | 4.6587 ms/op | 0.98 |
findModifiedValidators - 10000 modified validators | 794.14 ms/op | 863.37 ms/op | 0.92 |
findModifiedValidators - 1000 modified validators | 723.89 ms/op | 813.24 ms/op | 0.89 |
findModifiedValidators - 100 modified validators | 280.03 ms/op | 294.65 ms/op | 0.95 |
findModifiedValidators - 10 modified validators | 188.34 ms/op | 193.30 ms/op | 0.97 |
findModifiedValidators - 1 modified validators | 169.33 ms/op | 263.79 ms/op | 0.64 |
findModifiedValidators - no difference | 177.48 ms/op | 417.97 ms/op | 0.42 |
compare ViewDUs | 6.5371 s/op | 9.0880 s/op | 0.72 |
compare each validator Uint8Array | 1.6995 s/op | 1.8032 s/op | 0.94 |
compare ViewDU to Uint8Array | 1.2420 s/op | 1.8490 s/op | 0.67 |
migrate state 1000000 validators, 24 modified, 0 new | 984.10 ms/op | 1.0514 s/op | 0.94 |
migrate state 1000000 validators, 1700 modified, 1000 new | 1.3389 s/op | 1.4445 s/op | 0.93 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.7234 s/op | 1.7738 s/op | 0.97 |
migrate state 1500000 validators, 24 modified, 0 new | 1.0311 s/op | 1.1704 s/op | 0.88 |
migrate state 1500000 validators, 1700 modified, 1000 new | 1.2334 s/op | 1.4520 s/op | 0.85 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.3970 s/op | 1.5951 s/op | 0.88 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.2300 ns/op | 6.8200 ns/op | 0.62 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 950.57 ns/op | 696.05 ns/op | 1.37 |
naive computeProposerIndex 100000 validators | 52.075 ms/op | 77.993 ms/op | 0.67 |
computeProposerIndex 100000 validators | 9.1487 ms/op | 12.525 ms/op | 0.73 |
naiveGetNextSyncCommitteeIndices 1000 validators | 8.0825 s/op | 10.792 s/op | 0.75 |
getNextSyncCommitteeIndices 1000 validators | 247.50 ms/op | 479.98 ms/op | 0.52 |
naiveGetNextSyncCommitteeIndices 10000 validators | 7.0231 s/op | 9.9659 s/op | 0.70 |
getNextSyncCommitteeIndices 10000 validators | 242.91 ms/op | 360.64 ms/op | 0.67 |
naiveGetNextSyncCommitteeIndices 100000 validators | 7.5078 s/op | 11.431 s/op | 0.66 |
getNextSyncCommitteeIndices 100000 validators | 307.96 ms/op | 538.26 ms/op | 0.57 |
naive computeShuffledIndex 100000 validators | 22.832 s/op | 39.646 s/op | 0.58 |
cached computeShuffledIndex 100000 validators | 545.45 ms/op | 748.55 ms/op | 0.73 |
naive computeShuffledIndex 2000000 validators | 644.19 s/op | 651.19 s/op | 0.99 |
cached computeShuffledIndex 2000000 validators | 83.231 s/op | 52.901 s/op | 1.57 |
computeProposers - vc 250000 | 27.618 ms/op | 11.630 ms/op | 2.37 |
computeEpochShuffling - vc 250000 | 52.950 ms/op | 47.821 ms/op | 1.11 |
getNextSyncCommittee - vc 250000 | 332.18 ms/op | 207.47 ms/op | 1.60 |
computeSigningRoot for AttestationData | 55.781 us/op | 28.776 us/op | 1.94 |
hash AttestationData serialized data then Buffer.toString(base64) | 1.7908 us/op | 1.7517 us/op | 1.02 |
toHexString serialized data | 5.5096 us/op | 1.4467 us/op | 3.81 |
Buffer.toString(base64) | 205.24 ns/op | 177.46 ns/op | 1.16 |
nodejs block root to RootHex using toHex | 149.55 ns/op | 158.47 ns/op | 0.94 |
nodejs block root to RootHex using toRootHex | 127.64 ns/op | 97.773 ns/op | 1.31 |
browser block root to RootHex using the deprecated toHexString | 267.64 ns/op | 244.15 ns/op | 1.10 |
browser block root to RootHex using toHex | 210.93 ns/op | 189.40 ns/op | 1.11 |
browser block root to RootHex using toRootHex | 193.11 ns/op | 176.90 ns/op | 1.09 |
by benchmarkbot/action
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this intended to be merged into unstable or is it only to showcase this feature in holesky-rescue?
If former, I don't really think we should pass the blacklisted blocks from cli arguments but probably read it from a file since it can get lengthy.
There is also an argument brought up by lighthouse guys here about this flag can potentially be abused to censor blocks, so we need to take this into account when making design decisions eg. make it harder to use, limit number of blacklisted blocks, restrict the this feature on mainnet etc.
I don't see how that is possible, the node needs to be restarted to black list a block but at this point the block should already have enough votes to be considered part of the canonical chain and the node that blacklists it would just follow a separate (minority) chain. I can't really think of a scenario here, but maybe I am missing something obvious |
Motivation
Try to save Holesky. Blacklist ancestor of invalid chain and add blacklist BlockError that can be expanded to a feature flag in the future (or API call to add to the errors array)