@lodestar/beacon-node 1.29.0-dev.c76151c862 → 1.29.0-dev.cdfdfec6ca
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/impl/beacon/blocks/index.d.ts +1 -1
- package/lib/api/impl/beacon/blocks/index.js +3 -3
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +1 -1
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +5 -4
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +0 -1
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +3 -3
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +1 -1
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/chain.d.ts +4 -1
- package/lib/chain/chain.js +10 -3
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +28 -8
- package/lib/chain/opPools/aggregatedAttestationPool.js +190 -75
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/options.d.ts +2 -1
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
- package/lib/chain/regen/queued.d.ts +1 -0
- package/lib/chain/regen/queued.js +1 -0
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +3 -0
- package/lib/chain/regen/regen.js +3 -3
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/{metrics → chain}/validatorMonitor.d.ts +3 -2
- package/lib/{metrics → chain}/validatorMonitor.js +55 -52
- package/lib/chain/validatorMonitor.js.map +1 -0
- package/lib/metrics/metrics/beacon.js +1 -1
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +43 -3
- package/lib/metrics/metrics/lodestar.js +82 -5
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/metrics.d.ts +2 -6
- package/lib/metrics/metrics.js +2 -12
- package/lib/metrics/metrics.js.map +1 -1
- package/lib/metrics/options.d.ts +2 -3
- package/lib/metrics/options.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +7 -6
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/node/nodejs.d.ts +4 -1
- package/lib/node/nodejs.js +9 -2
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/options.d.ts +2 -0
- package/lib/node/options.js +2 -0
- package/lib/node/options.js.map +1 -1
- package/package.json +14 -14
- package/lib/metrics/validatorMonitor.js.map +0 -1
|
@@ -15,6 +15,14 @@ import { pruneBySlot, signatureFromBytesNoCheck } from "./utils.js";
|
|
|
15
15
|
* how does participation looks like in attestations.
|
|
16
16
|
*/
|
|
17
17
|
const MAX_RETAINED_ATTESTATIONS_PER_GROUP = 4;
|
|
18
|
+
/**
|
|
19
|
+
* This is the same to MAX_RETAINED_ATTESTATIONS_PER_GROUP but for electra.
|
|
20
|
+
* As monitored in hoodi, max attestations per group could be up to > 10. But since electra we can
|
|
21
|
+
* consolidate attestations across committees, so we can just pick up to 8 attestations per group.
|
|
22
|
+
* Also the MatchingDataAttestationGroup.getAttestationsForBlock() is improved not to have to scan each
|
|
23
|
+
* committee member for previous slot.
|
|
24
|
+
*/
|
|
25
|
+
const MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA = 8;
|
|
18
26
|
/**
|
|
19
27
|
* Pre-electra, each slot has 64 committees, and each block has 128 attestations max so in average
|
|
20
28
|
* we get 2 attestation per groups.
|
|
@@ -24,14 +32,23 @@ const MAX_RETAINED_ATTESTATIONS_PER_GROUP = 4;
|
|
|
24
32
|
*/
|
|
25
33
|
const MAX_ATTESTATIONS_PER_GROUP = 3;
|
|
26
34
|
/**
|
|
27
|
-
* For electra,
|
|
28
|
-
*
|
|
29
|
-
*
|
|
35
|
+
* For electra, there is on chain aggregation of attestations across committees, so we can just pick up to 8
|
|
36
|
+
* attestations per group, sort by scores to get first 8.
|
|
37
|
+
* The new algorithm helps not to include useless attestations so we usually cannot get up to 8.
|
|
38
|
+
* The more consolidations we have per block, the less likely we have to scan all slots in the pool.
|
|
39
|
+
* This is max attestations returned per group, it does not make sense to have this number greater
|
|
40
|
+
* than MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA or MAX_ATTESTATIONS_ELECTRA.
|
|
30
41
|
*/
|
|
31
|
-
const MAX_ATTESTATIONS_PER_GROUP_ELECTRA =
|
|
42
|
+
const MAX_ATTESTATIONS_PER_GROUP_ELECTRA = Math.min(MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA, MAX_ATTESTATIONS_ELECTRA);
|
|
43
|
+
export var ScannedSlotsTerminationReason;
|
|
44
|
+
(function (ScannedSlotsTerminationReason) {
|
|
45
|
+
ScannedSlotsTerminationReason["MaxConsolidationReached"] = "max_consolidation_reached";
|
|
46
|
+
ScannedSlotsTerminationReason["ScannedAllSlots"] = "scanned_all_slots";
|
|
47
|
+
ScannedSlotsTerminationReason["SlotBeforePreviousEpoch"] = "slot_before_previous_epoch";
|
|
48
|
+
})(ScannedSlotsTerminationReason || (ScannedSlotsTerminationReason = {}));
|
|
32
49
|
/**
|
|
33
50
|
* Maintain a pool of aggregated attestations. Attestations can be retrieved for inclusion in a block
|
|
34
|
-
* or api. The returned attestations are aggregated to
|
|
51
|
+
* or api. The returned attestations are aggregated to maximize the number of validators that can be
|
|
35
52
|
* included.
|
|
36
53
|
* Note that we want to remove attestations with attesters that were included in the chain.
|
|
37
54
|
*/
|
|
@@ -78,7 +95,7 @@ export class AggregatedAttestationPool {
|
|
|
78
95
|
assert.notNull(committeeIndex, "Committee index should not be null in aggregated attestation pool");
|
|
79
96
|
let attestationGroup = attestationGroupByIndex.get(committeeIndex);
|
|
80
97
|
if (!attestationGroup) {
|
|
81
|
-
attestationGroup = new MatchingDataAttestationGroup(committee, attestation.data);
|
|
98
|
+
attestationGroup = new MatchingDataAttestationGroup(this.config, committee, attestation.data);
|
|
82
99
|
attestationGroupByIndex.set(committeeIndex, attestationGroup);
|
|
83
100
|
}
|
|
84
101
|
return attestationGroup.add({
|
|
@@ -134,16 +151,16 @@ export class AggregatedAttestationPool {
|
|
|
134
151
|
(ForkSeq[fork] >= ForkSeq.deneb || stateSlot <= slot + SLOTS_PER_EPOCH))) {
|
|
135
152
|
continue; // Invalid attestations
|
|
136
153
|
}
|
|
137
|
-
const
|
|
154
|
+
const inclusionDistance = stateSlot - slot;
|
|
138
155
|
for (const attestationGroupByIndex of attestationGroupByIndexByDataHash.values()) {
|
|
139
156
|
for (const [committeeIndex, attestationGroup] of attestationGroupByIndex.entries()) {
|
|
140
|
-
const
|
|
141
|
-
if (
|
|
157
|
+
const notSeenCommitteeMembers = notSeenValidatorsFn(epoch, slot, committeeIndex);
|
|
158
|
+
if (notSeenCommitteeMembers === null || notSeenCommitteeMembers.size === 0) {
|
|
142
159
|
continue;
|
|
143
160
|
}
|
|
144
161
|
if (slotCount > 2 &&
|
|
145
162
|
attestationsByScore.length >= MAX_ATTESTATIONS &&
|
|
146
|
-
|
|
163
|
+
notSeenCommitteeMembers.size / inclusionDistance < minScore) {
|
|
147
164
|
// after 2 slots, there are a good chance that we have 2 * MAX_ATTESTATIONS attestations and break the for loop early
|
|
148
165
|
// if not, we may have to scan all slots in the pool
|
|
149
166
|
// if we have enough attestations and the max possible score is lower than scores of `attestationsByScore`, we should skip
|
|
@@ -160,8 +177,9 @@ export class AggregatedAttestationPool {
|
|
|
160
177
|
// These properties should not change after being validate in gossip
|
|
161
178
|
// IF they have to be validated, do it only with one attestation per group since same data
|
|
162
179
|
// The committeeCountPerSlot can be precomputed once per slot
|
|
163
|
-
|
|
164
|
-
|
|
180
|
+
const getAttestationsResult = attestationGroup.getAttestationsForBlock(fork, state.epochCtx.effectiveBalanceIncrements, notSeenCommitteeMembers, MAX_ATTESTATIONS_PER_GROUP);
|
|
181
|
+
for (const { attestation, newSeenEffectiveBalance } of getAttestationsResult.result) {
|
|
182
|
+
const score = newSeenEffectiveBalance / inclusionDistance;
|
|
165
183
|
if (score < minScore) {
|
|
166
184
|
minScore = score;
|
|
167
185
|
}
|
|
@@ -200,6 +218,8 @@ export class AggregatedAttestationPool {
|
|
|
200
218
|
const slots = Array.from(this.attestationGroupByIndexByDataHexBySlot.keys()).sort((a, b) => b - a);
|
|
201
219
|
// Track score of each `AttestationsConsolidation`
|
|
202
220
|
const consolidations = new Map();
|
|
221
|
+
let scannedSlots = 0;
|
|
222
|
+
let stopReason = null;
|
|
203
223
|
slot: for (const slot of slots) {
|
|
204
224
|
const attestationGroupByIndexByDataHash = this.attestationGroupByIndexByDataHexBySlot.get(slot);
|
|
205
225
|
// should not happen
|
|
@@ -207,16 +227,24 @@ export class AggregatedAttestationPool {
|
|
|
207
227
|
throw Error(`No aggregated attestation pool for slot=${slot}`);
|
|
208
228
|
}
|
|
209
229
|
const epoch = computeEpochAtSlot(slot);
|
|
230
|
+
if (epoch < statePrevEpoch) {
|
|
231
|
+
// we process slot in desc order, this means next slot is not eligible, we should stop
|
|
232
|
+
stopReason = ScannedSlotsTerminationReason.SlotBeforePreviousEpoch;
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
210
235
|
// validateAttestation condition: Attestation target epoch not in previous or current epoch
|
|
211
236
|
if (!(epoch === stateEpoch || epoch === statePrevEpoch)) {
|
|
212
237
|
continue; // Invalid attestations
|
|
213
238
|
}
|
|
214
239
|
// validateAttestation condition: Attestation slot not within inclusion window
|
|
215
240
|
if (!(slot + MIN_ATTESTATION_INCLUSION_DELAY <= stateSlot)) {
|
|
241
|
+
// this should not happen as slot is decreased so no need to track in metric
|
|
216
242
|
continue; // Invalid attestations
|
|
217
243
|
}
|
|
218
|
-
const
|
|
219
|
-
|
|
244
|
+
const inclusionDistance = stateSlot - slot;
|
|
245
|
+
let returnedAttestationsPerSlot = 0;
|
|
246
|
+
let totalAttestationsPerSlot = 0;
|
|
247
|
+
// CommitteeIndex 0 1 2 ... Consolidation (sameAttDataCons)
|
|
220
248
|
// Attestations att00 --- att10 --- att20 --- 0 (att 00 10 20)
|
|
221
249
|
// att01 --- - --- att21 --- 1 (att 01 __ 21)
|
|
222
250
|
// - --- - --- att22 --- 2 (att __ __ 22)
|
|
@@ -225,14 +253,17 @@ export class AggregatedAttestationPool {
|
|
|
225
253
|
const sameAttDataCons = [];
|
|
226
254
|
const allAttestationGroups = Array.from(attestationGroupByIndex.values());
|
|
227
255
|
if (allAttestationGroups.length === 0) {
|
|
256
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.emptyAttestationData.inc();
|
|
228
257
|
continue;
|
|
229
258
|
}
|
|
230
259
|
if (!validateAttestationDataFn(allAttestationGroups[0].data)) {
|
|
260
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.invalidAttestationData.inc();
|
|
231
261
|
continue;
|
|
232
262
|
}
|
|
233
263
|
for (const [committeeIndex, attestationGroup] of attestationGroupByIndex.entries()) {
|
|
234
|
-
const
|
|
235
|
-
if (
|
|
264
|
+
const notSeenCommitteeMembers = notSeenValidatorsFn(epoch, slot, committeeIndex);
|
|
265
|
+
if (notSeenCommitteeMembers === null || notSeenCommitteeMembers.size === 0) {
|
|
266
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.seenCommittees.inc();
|
|
236
267
|
continue;
|
|
237
268
|
}
|
|
238
269
|
// cannot apply this optimization like pre-electra because consolidation needs to be done across committees:
|
|
@@ -244,37 +275,73 @@ export class AggregatedAttestationPool {
|
|
|
244
275
|
// These properties should not change after being validate in gossip
|
|
245
276
|
// IF they have to be validated, do it only with one attestation per group since same data
|
|
246
277
|
// The committeeCountPerSlot can be precomputed once per slot
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
278
|
+
const getAttestationGroupResult = attestationGroup.getAttestationsForBlock(fork, state.epochCtx.effectiveBalanceIncrements, notSeenCommitteeMembers, MAX_ATTESTATIONS_PER_GROUP_ELECTRA);
|
|
279
|
+
const attestationsSameGroup = getAttestationGroupResult.result;
|
|
280
|
+
returnedAttestationsPerSlot += attestationsSameGroup.length;
|
|
281
|
+
totalAttestationsPerSlot += getAttestationGroupResult.totalAttestations;
|
|
282
|
+
for (const [i, attestationNonParticipation] of attestationsSameGroup.entries()) {
|
|
283
|
+
// sameAttDataCons shares the same index for different committees so we use index `i` here
|
|
250
284
|
if (sameAttDataCons[i] === undefined) {
|
|
251
285
|
sameAttDataCons[i] = {
|
|
252
286
|
byCommittee: new Map(),
|
|
253
287
|
attData: attestationNonParticipation.attestation.data,
|
|
254
|
-
|
|
288
|
+
totalNewSeenEffectiveBalance: 0,
|
|
289
|
+
newSeenAttesters: 0,
|
|
290
|
+
notSeenAttesters: 0,
|
|
291
|
+
totalAttesters: 0,
|
|
255
292
|
};
|
|
256
293
|
}
|
|
257
|
-
sameAttDataCons[i]
|
|
258
|
-
|
|
294
|
+
const sameAttDataCon = sameAttDataCons[i];
|
|
295
|
+
// committeeIndex was from a map so it should be unique, but just in case
|
|
296
|
+
if (!sameAttDataCon.byCommittee.has(committeeIndex)) {
|
|
297
|
+
sameAttDataCon.byCommittee.set(committeeIndex, attestationNonParticipation);
|
|
298
|
+
sameAttDataCon.totalNewSeenEffectiveBalance += attestationNonParticipation.newSeenEffectiveBalance;
|
|
299
|
+
sameAttDataCon.newSeenAttesters += attestationNonParticipation.newSeenAttesters;
|
|
300
|
+
sameAttDataCon.notSeenAttesters += attestationNonParticipation.notSeenCommitteeMembers.size;
|
|
301
|
+
sameAttDataCon.totalAttesters += attestationGroup.committee.length;
|
|
302
|
+
}
|
|
259
303
|
}
|
|
260
304
|
} // all committees are processed
|
|
305
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.returnedAttestations.set({ inclusionDistance }, returnedAttestationsPerSlot);
|
|
306
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.scannedAttestations.set({ inclusionDistance }, totalAttestationsPerSlot);
|
|
261
307
|
// after all committees are processed, we have a list of sameAttDataCons
|
|
262
308
|
for (const consolidation of sameAttDataCons) {
|
|
263
|
-
const score = consolidation.
|
|
309
|
+
const score = consolidation.totalNewSeenEffectiveBalance / inclusionDistance;
|
|
264
310
|
consolidations.set(consolidation, score);
|
|
265
311
|
// Stop accumulating attestations there are enough that may have good scoring
|
|
266
312
|
if (consolidations.size >= MAX_ATTESTATIONS_ELECTRA * 2) {
|
|
313
|
+
stopReason = ScannedSlotsTerminationReason.MaxConsolidationReached;
|
|
267
314
|
break slot;
|
|
268
315
|
}
|
|
269
316
|
}
|
|
270
317
|
}
|
|
318
|
+
// finished processing a slot
|
|
319
|
+
scannedSlots++;
|
|
271
320
|
}
|
|
321
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.totalConsolidations.set(consolidations.size);
|
|
272
322
|
const sortedConsolidationsByScore = Array.from(consolidations.entries())
|
|
273
323
|
.sort((a, b) => b[1] - a[1])
|
|
274
324
|
.map(([consolidation, _]) => consolidation)
|
|
275
325
|
.slice(0, MAX_ATTESTATIONS_ELECTRA);
|
|
276
326
|
// on chain aggregation is expensive, only do it after all
|
|
277
|
-
|
|
327
|
+
const packedAttestationsMetrics = this.metrics?.opPool.aggregatedAttestationPool.packedAttestations;
|
|
328
|
+
const packedAttestations = new Array(sortedConsolidationsByScore.length);
|
|
329
|
+
for (const [i, consolidation] of sortedConsolidationsByScore.entries()) {
|
|
330
|
+
packedAttestations[i] = aggregateConsolidation(consolidation);
|
|
331
|
+
// record metrics of packed attestations
|
|
332
|
+
packedAttestationsMetrics?.committeeCount.set({ index: i }, consolidation.byCommittee.size);
|
|
333
|
+
packedAttestationsMetrics?.totalAttesters.set({ index: i }, consolidation.totalAttesters);
|
|
334
|
+
packedAttestationsMetrics?.nonParticipation.set({ index: i }, consolidation.notSeenAttesters);
|
|
335
|
+
packedAttestationsMetrics?.inclusionDistance.set({ index: i }, stateSlot - packedAttestations[i].data.slot);
|
|
336
|
+
packedAttestationsMetrics?.newSeenAttesters.set({ index: i }, consolidation.newSeenAttesters);
|
|
337
|
+
packedAttestationsMetrics?.totalEffectiveBalance.set({ index: i }, consolidation.totalNewSeenEffectiveBalance);
|
|
338
|
+
}
|
|
339
|
+
if (stopReason === null) {
|
|
340
|
+
stopReason = ScannedSlotsTerminationReason.ScannedAllSlots;
|
|
341
|
+
}
|
|
342
|
+
packedAttestationsMetrics?.scannedSlots.set({ reason: stopReason }, scannedSlots);
|
|
343
|
+
packedAttestationsMetrics?.poolSlots.set(slots.length);
|
|
344
|
+
return packedAttestations;
|
|
278
345
|
}
|
|
279
346
|
/**
|
|
280
347
|
* Get all attestations optionally filtered by `attestation.data.slot`
|
|
@@ -304,36 +371,38 @@ export class AggregatedAttestationPool {
|
|
|
304
371
|
return attestations;
|
|
305
372
|
}
|
|
306
373
|
onScrapeMetrics(metrics) {
|
|
307
|
-
const
|
|
374
|
+
const poolMetrics = metrics.opPool.aggregatedAttestationPool;
|
|
308
375
|
const allSlots = Array.from(this.attestationGroupByIndexByDataHexBySlot.keys());
|
|
376
|
+
// last item is current slot, we want the previous one, if available.
|
|
377
|
+
const previousSlot = allSlots.length > 1 ? (allSlots.at(-2) ?? null) : null;
|
|
378
|
+
let attestationCount = 0;
|
|
379
|
+
let attestationDataCount = 0;
|
|
309
380
|
// always record the previous slot because the current slot may not be finished yet, we may receive more attestations
|
|
310
|
-
if (
|
|
311
|
-
// last item is current slot, we want the previous one
|
|
312
|
-
const previousSlot = allSlots.at(-2);
|
|
313
|
-
if (previousSlot == null) {
|
|
314
|
-
// only happen right after we start the node
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
381
|
+
if (previousSlot !== null) {
|
|
317
382
|
const groupByIndexByDataHex = this.attestationGroupByIndexByDataHexBySlot.get(previousSlot);
|
|
318
383
|
if (groupByIndexByDataHex != null) {
|
|
319
|
-
|
|
384
|
+
poolMetrics.attDataPerSlot.set(groupByIndexByDataHex.size);
|
|
320
385
|
let maxAttestations = 0;
|
|
321
386
|
let committeeCount = 0;
|
|
322
387
|
for (const groupByIndex of groupByIndexByDataHex.values()) {
|
|
388
|
+
attestationDataCount += groupByIndex.size;
|
|
323
389
|
for (const group of groupByIndex.values()) {
|
|
324
|
-
const
|
|
325
|
-
maxAttestations = Math.max(maxAttestations,
|
|
326
|
-
|
|
390
|
+
const attestationCountInGroup = group.getAttestationCount();
|
|
391
|
+
maxAttestations = Math.max(maxAttestations, attestationCountInGroup);
|
|
392
|
+
poolMetrics.attestationsPerCommittee.observe(attestationCountInGroup);
|
|
327
393
|
committeeCount += 1;
|
|
394
|
+
attestationCount += attestationCountInGroup;
|
|
328
395
|
}
|
|
329
396
|
}
|
|
330
|
-
|
|
331
|
-
|
|
397
|
+
poolMetrics.maxAttestationsPerCommittee.set(maxAttestations);
|
|
398
|
+
poolMetrics.committeesPerSlot.set(committeeCount);
|
|
332
399
|
}
|
|
333
400
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
401
|
+
for (const [slot, attestationGroupByIndexByDataHex] of this.attestationGroupByIndexByDataHexBySlot) {
|
|
402
|
+
// We have already updated attestationDataCount and attestationCount when looping over `previousSlot`
|
|
403
|
+
if (slot === previousSlot) {
|
|
404
|
+
continue;
|
|
405
|
+
}
|
|
337
406
|
for (const attestationGroupByIndex of attestationGroupByIndexByDataHex.values()) {
|
|
338
407
|
attestationDataCount += attestationGroupByIndex.size;
|
|
339
408
|
for (const attestationGroup of attestationGroupByIndex.values()) {
|
|
@@ -341,8 +410,8 @@ export class AggregatedAttestationPool {
|
|
|
341
410
|
}
|
|
342
411
|
}
|
|
343
412
|
}
|
|
344
|
-
|
|
345
|
-
|
|
413
|
+
poolMetrics.size.set(attestationCount);
|
|
414
|
+
poolMetrics.uniqueData.set(attestationDataCount);
|
|
346
415
|
}
|
|
347
416
|
}
|
|
348
417
|
/**
|
|
@@ -352,9 +421,8 @@ export class AggregatedAttestationPool {
|
|
|
352
421
|
* Use committee instead of aggregationBits to improve performance.
|
|
353
422
|
*/
|
|
354
423
|
export class MatchingDataAttestationGroup {
|
|
355
|
-
constructor(
|
|
356
|
-
|
|
357
|
-
committee, data) {
|
|
424
|
+
constructor(config, committee, data) {
|
|
425
|
+
this.config = config;
|
|
358
426
|
this.committee = committee;
|
|
359
427
|
this.data = data;
|
|
360
428
|
this.attestations = [];
|
|
@@ -394,42 +462,86 @@ export class MatchingDataAttestationGroup {
|
|
|
394
462
|
this.attestations.splice(index, 1);
|
|
395
463
|
}
|
|
396
464
|
this.attestations.push(attestation);
|
|
465
|
+
const maxRetained = isForkPostElectra(this.config.getForkName(this.data.slot))
|
|
466
|
+
? MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA
|
|
467
|
+
: MAX_RETAINED_ATTESTATIONS_PER_GROUP;
|
|
397
468
|
// Remove the attestations with less participation
|
|
398
|
-
if (this.attestations.length >
|
|
469
|
+
if (this.attestations.length > maxRetained) {
|
|
470
|
+
// ideally we should sort by effective balance but there is no state/effectiveBalance here
|
|
471
|
+
// it's rare to see > 8 attestations per group in electra anyway
|
|
399
472
|
this.attestations.sort((a, b) => b.trueBitsCount - a.trueBitsCount);
|
|
400
|
-
this.attestations.splice(
|
|
473
|
+
this.attestations.splice(maxRetained, this.attestations.length - maxRetained);
|
|
401
474
|
}
|
|
402
475
|
return InsertOutcome.NewData;
|
|
403
476
|
}
|
|
404
477
|
/**
|
|
405
478
|
* Get AttestationNonParticipant for this groups of same attestation data.
|
|
406
|
-
* @param
|
|
479
|
+
* @param notSeenCommitteeMembers not seen committee members, i.e. indices in the same committee (starting from 0 till (committee.size - 1))
|
|
407
480
|
* @returns an array of AttestationNonParticipant
|
|
408
481
|
*/
|
|
409
|
-
getAttestationsForBlock(fork,
|
|
482
|
+
getAttestationsForBlock(fork, effectiveBalanceIncrements, notSeenCommitteeMembers, maxAttestation) {
|
|
410
483
|
const attestations = [];
|
|
484
|
+
const excluded = new Set();
|
|
485
|
+
for (let i = 0; i < maxAttestation; i++) {
|
|
486
|
+
const mostValuableAttestation = this.getMostValuableAttestation(fork, effectiveBalanceIncrements, notSeenCommitteeMembers, excluded);
|
|
487
|
+
if (mostValuableAttestation === null) {
|
|
488
|
+
// stop looking for attestation because all attesters are seen or no attestation has missing attesters
|
|
489
|
+
break;
|
|
490
|
+
}
|
|
491
|
+
attestations.push(mostValuableAttestation);
|
|
492
|
+
excluded.add(mostValuableAttestation.attestation);
|
|
493
|
+
// this will narrow down the notSeenCommitteeMembers for the next iteration
|
|
494
|
+
// so usually it will not take much time, however it could take more time during
|
|
495
|
+
// non-finality of the network when there is low participation, but in this case
|
|
496
|
+
// we pre-aggregate aggregated attestations and bound the total attestations per group
|
|
497
|
+
notSeenCommitteeMembers = mostValuableAttestation.notSeenCommitteeMembers;
|
|
498
|
+
}
|
|
499
|
+
return { result: attestations, totalAttestations: this.attestations.length };
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Select the attestation with the highest total effective balance of not seen validators.
|
|
503
|
+
*/
|
|
504
|
+
getMostValuableAttestation(fork, effectiveBalanceIncrements, notSeenCommitteeMembers, excluded) {
|
|
505
|
+
if (notSeenCommitteeMembers.size === 0) {
|
|
506
|
+
// no more attesters to consider
|
|
507
|
+
return null;
|
|
508
|
+
}
|
|
411
509
|
const isPostElectra = isForkPostElectra(fork);
|
|
510
|
+
let maxNewSeenEffectiveBalance = 0;
|
|
511
|
+
let mostValuableAttestation = null;
|
|
412
512
|
for (const { attestation } of this.attestations) {
|
|
413
513
|
if ((isPostElectra && !isElectraAttestation(attestation)) ||
|
|
414
514
|
(!isPostElectra && isElectraAttestation(attestation))) {
|
|
415
515
|
continue;
|
|
416
516
|
}
|
|
417
|
-
|
|
517
|
+
if (excluded.has(attestation)) {
|
|
518
|
+
continue;
|
|
519
|
+
}
|
|
520
|
+
const notSeen = new Set();
|
|
521
|
+
// we prioritize total effective balance over attester count
|
|
522
|
+
let newSeenEffectiveBalance = 0;
|
|
523
|
+
let newSeenAttesters = 0;
|
|
418
524
|
const { aggregationBits } = attestation;
|
|
419
|
-
for (const notSeenIndex of
|
|
525
|
+
for (const notSeenIndex of notSeenCommitteeMembers) {
|
|
420
526
|
if (aggregationBits.get(notSeenIndex)) {
|
|
421
|
-
|
|
527
|
+
newSeenEffectiveBalance += effectiveBalanceIncrements[this.committee[notSeenIndex]];
|
|
528
|
+
newSeenAttesters++;
|
|
529
|
+
}
|
|
530
|
+
else {
|
|
531
|
+
notSeen.add(notSeenIndex);
|
|
422
532
|
}
|
|
423
533
|
}
|
|
424
|
-
if (
|
|
425
|
-
|
|
534
|
+
if (newSeenEffectiveBalance > maxNewSeenEffectiveBalance) {
|
|
535
|
+
maxNewSeenEffectiveBalance = newSeenEffectiveBalance;
|
|
536
|
+
mostValuableAttestation = {
|
|
537
|
+
attestation,
|
|
538
|
+
newSeenEffectiveBalance,
|
|
539
|
+
newSeenAttesters,
|
|
540
|
+
notSeenCommitteeMembers: notSeen,
|
|
541
|
+
};
|
|
426
542
|
}
|
|
427
543
|
}
|
|
428
|
-
|
|
429
|
-
if (attestations.length <= maxAttestation) {
|
|
430
|
-
return attestations;
|
|
431
|
-
}
|
|
432
|
-
return attestations.sort((a, b) => b.notSeenAttesterCount - a.notSeenAttesterCount).slice(0, maxAttestation);
|
|
544
|
+
return mostValuableAttestation;
|
|
433
545
|
}
|
|
434
546
|
/** Get attestations for API. */
|
|
435
547
|
getAttestations() {
|
|
@@ -475,13 +587,14 @@ export function aggregateConsolidation({ byCommittee, attData }) {
|
|
|
475
587
|
* has already attested or not.
|
|
476
588
|
*/
|
|
477
589
|
export function getNotSeenValidatorsFn(state) {
|
|
478
|
-
|
|
590
|
+
const stateSlot = state.slot;
|
|
591
|
+
if (state.config.getForkName(stateSlot) === ForkName.phase0) {
|
|
479
592
|
// Get attestations to be included in a phase0 block.
|
|
480
593
|
// As we are close to altair, this is not really important, it's mainly for e2e.
|
|
481
594
|
// The performance is not great due to the different BeaconState data structure to altair.
|
|
482
595
|
// check for phase0 block already
|
|
483
596
|
const phase0State = state;
|
|
484
|
-
const stateEpoch = computeEpochAtSlot(
|
|
597
|
+
const stateEpoch = computeEpochAtSlot(stateSlot);
|
|
485
598
|
const previousEpochParticipants = extractParticipationPhase0(phase0State.previousEpochAttestations.getAllReadonly(), state);
|
|
486
599
|
const currentEpochParticipants = extractParticipationPhase0(phase0State.currentEpochAttestations.getAllReadonly(), state);
|
|
487
600
|
return (epoch, slot, committeeIndex) => {
|
|
@@ -490,13 +603,13 @@ export function getNotSeenValidatorsFn(state) {
|
|
|
490
603
|
return null;
|
|
491
604
|
}
|
|
492
605
|
const committee = state.epochCtx.getBeaconCommittee(slot, committeeIndex);
|
|
493
|
-
const
|
|
606
|
+
const notSeenCommitteeMembers = new Set();
|
|
494
607
|
for (const [i, validatorIndex] of committee.entries()) {
|
|
495
608
|
if (!participants.has(validatorIndex)) {
|
|
496
|
-
|
|
609
|
+
notSeenCommitteeMembers.add(i);
|
|
497
610
|
}
|
|
498
611
|
}
|
|
499
|
-
return
|
|
612
|
+
return notSeenCommitteeMembers.size === 0 ? null : notSeenCommitteeMembers;
|
|
500
613
|
};
|
|
501
614
|
}
|
|
502
615
|
// altair and future forks
|
|
@@ -507,7 +620,7 @@ export function getNotSeenValidatorsFn(state) {
|
|
|
507
620
|
const altairState = state;
|
|
508
621
|
const previousParticipation = altairState.previousEpochParticipation.getAll();
|
|
509
622
|
const currentParticipation = altairState.currentEpochParticipation.getAll();
|
|
510
|
-
const stateEpoch = computeEpochAtSlot(
|
|
623
|
+
const stateEpoch = computeEpochAtSlot(stateSlot);
|
|
511
624
|
// this function could be called multiple times with same slot + committeeIndex
|
|
512
625
|
const cachedNotSeenValidators = new Map();
|
|
513
626
|
return (epoch, slot, committeeIndex) => {
|
|
@@ -516,22 +629,23 @@ export function getNotSeenValidatorsFn(state) {
|
|
|
516
629
|
return null;
|
|
517
630
|
}
|
|
518
631
|
const cacheKey = slot + "_" + committeeIndex;
|
|
519
|
-
let
|
|
520
|
-
if (
|
|
632
|
+
let notSeenCommitteeMembers = cachedNotSeenValidators.get(cacheKey);
|
|
633
|
+
if (notSeenCommitteeMembers != null) {
|
|
521
634
|
// if all validators are seen then return null, we don't need to check for any attestations of same committee again
|
|
522
|
-
return
|
|
635
|
+
return notSeenCommitteeMembers.size === 0 ? null : notSeenCommitteeMembers;
|
|
523
636
|
}
|
|
524
637
|
const committee = state.epochCtx.getBeaconCommittee(slot, committeeIndex);
|
|
525
|
-
|
|
638
|
+
notSeenCommitteeMembers = new Set();
|
|
526
639
|
for (const [i, validatorIndex] of committee.entries()) {
|
|
527
640
|
// no need to check flagIsTimelySource as if validator is not seen, it's participation status is 0
|
|
528
|
-
|
|
529
|
-
|
|
641
|
+
// attestations for the previous slot are not included in the state, so we don't need to check for them
|
|
642
|
+
if (slot === stateSlot - 1 || participationStatus[validatorIndex] === 0) {
|
|
643
|
+
notSeenCommitteeMembers.add(i);
|
|
530
644
|
}
|
|
531
645
|
}
|
|
532
|
-
cachedNotSeenValidators.set(cacheKey,
|
|
646
|
+
cachedNotSeenValidators.set(cacheKey, notSeenCommitteeMembers);
|
|
533
647
|
// if all validators are seen then return null, we don't need to check for any attestations of same committee again
|
|
534
|
-
return
|
|
648
|
+
return notSeenCommitteeMembers.size === 0 ? null : notSeenCommitteeMembers;
|
|
535
649
|
};
|
|
536
650
|
}
|
|
537
651
|
export function extractParticipationPhase0(attestations, state) {
|
|
@@ -577,8 +691,9 @@ export function getValidateAttestationDataFn(forkChoice, state) {
|
|
|
577
691
|
else {
|
|
578
692
|
return false;
|
|
579
693
|
}
|
|
580
|
-
if (!ssz.phase0.Checkpoint.equals(attData.source, justifiedCheckpoint))
|
|
694
|
+
if (!ssz.phase0.Checkpoint.equals(attData.source, justifiedCheckpoint)) {
|
|
581
695
|
return false;
|
|
696
|
+
}
|
|
582
697
|
// Shuffling can't have changed if we're in the first few epochs
|
|
583
698
|
// Also we can't look back 2 epochs if target epoch is 1 or less
|
|
584
699
|
if (stateEpoch < 2 || targetEpoch < 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregatedAttestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/aggregatedAttestationPool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aggregatedAttestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/aggregatedAttestationPool.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/options.d.ts
CHANGED
|
@@ -5,8 +5,9 @@ import { LightClientServerOpts } from "./lightClient/index.js";
|
|
|
5
5
|
import { ShufflingCacheOpts } from "./shufflingCache.js";
|
|
6
6
|
import { FIFOBlockStateCacheOpts } from "./stateCache/fifoBlockStateCache.js";
|
|
7
7
|
import { PersistentCheckpointStateCacheOpts } from "./stateCache/persistentCheckpointsCache.js";
|
|
8
|
+
import { ValidatorMonitorOpts } from "./validatorMonitor.js";
|
|
8
9
|
export { ArchiveMode, DEFAULT_ARCHIVE_MODE };
|
|
9
|
-
export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkChoiceOpts & ArchiveStoreOpts & FIFOBlockStateCacheOpts & PersistentCheckpointStateCacheOpts & ShufflingCacheOpts & LightClientServerOpts & {
|
|
10
|
+
export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkChoiceOpts & ArchiveStoreOpts & FIFOBlockStateCacheOpts & PersistentCheckpointStateCacheOpts & ShufflingCacheOpts & ValidatorMonitorOpts & LightClientServerOpts & {
|
|
10
11
|
blsVerifyAllMainThread?: boolean;
|
|
11
12
|
blsVerifyAllMultiThread?: boolean;
|
|
12
13
|
blacklistedBlocks?: string[];
|
package/lib/chain/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AAEtG,OAAO,EAAC,qCAAqC,EAAC,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AAEtG,OAAO,EAAC,qCAAqC,EAAC,MAAM,4CAA4C,CAAC;AAGjG,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAuF3C,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,KAAK;IAC9B,iBAAiB,EAAE,EAAE;IACrB,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,mCAAmC;IACpE,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;IACpE,gCAAgC,EAAE,KAAK;IACvC,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,KAAK;IACnB,qBAAqB,EAAE,KAAK;IAC5B,0EAA0E;IAC1E,uGAAuG;IACvG,YAAY,EAAE,EAAE;IAChB,6BAA6B,EAAE,MAAM;IACrC,qEAAqE;IACrE,gGAAgG;IAChG,wGAAwG;IACxG,kCAAkC,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI;IACvB,4DAA4D;IAC5D,qEAAqE;IACrE,uFAAuF;IACvF,wDAAwD;IACxD,8BAA8B,EAAE,IAAI;IACpC,cAAc,EAAE,wBAAwB;IACxC,wBAAwB,EAAE,qCAAqC;CAChE,CAAC"}
|
|
@@ -21,7 +21,7 @@ export function computeNewStateRoot(metrics, state, block) {
|
|
|
21
21
|
verifySignatures: false,
|
|
22
22
|
// Preserve cache in source state, since the resulting state is not added to the state cache
|
|
23
23
|
dontTransferCache: true,
|
|
24
|
-
}, metrics);
|
|
24
|
+
}, { metrics });
|
|
25
25
|
const { attestations, syncAggregate, slashing } = postState.proposerRewards;
|
|
26
26
|
const proposerReward = BigInt(attestations + syncAggregate + slashing);
|
|
27
27
|
const hashTreeRootTimer = metrics?.stateHashTreeRootTime.startTimer({
|