@lodestar/fork-choice 1.47.0 → 1.48.0-dev.04d463c59a

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.
@@ -180,7 +180,8 @@ export declare class ForkChoice implements IForkChoice {
180
180
  * https://github.com/ethereum/consensus-specs/pull/3034 for info about proposer boost reorg
181
181
  * This function should only be called during block proposal and only be called after `updateHead()` in `updateAndGetHead()`
182
182
  *
183
- * Same as https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#get_proposer_head
183
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#get_proposer_head
184
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#modified-get_proposer_head
184
185
  */
185
186
  getProposerHead(headBlock: ProtoBlock, secFromSlot: number, slot: Slot): {
186
187
  proposerHead: ProtoBlock;
@@ -482,6 +483,12 @@ export declare class ForkChoice implements IForkChoice {
482
483
  * proposer of that parent equivocated (published another PTC-timely block at the same slot).
483
484
  */
484
485
  private shouldApplyProposerBoost;
486
+ /**
487
+ * Return true if another block at the same slot from the same proposer is known to fork choice.
488
+ *
489
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#is_proposer_equivocation
490
+ */
491
+ private isProposerEquivocation;
485
492
  /**
486
493
  * The proposer boost to apply to `proposerBoostRoot`, propagated up the branch by
487
494
  * applyScoreChanges() together with the deltas.
@@ -1 +1 @@
1
- {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
@@ -260,12 +260,22 @@ export class ForkChoice {
260
260
  if (parentBlock === undefined) {
261
261
  return { shouldOverrideFcu: false, reason: NotReorgedReason.ParentBlockNotAvailable };
262
262
  }
263
+ const currentTimeOk = headBlock.slot === currentSlot ||
264
+ (proposalSlot === currentSlot && this.isProposingOnTime(secFromSlot, currentSlot));
265
+ // Mirror the proposer equivocation branch of getProposerHead(). The head slot's attestations are
266
+ // still queued at this point so the head is assumed weak, same as for the regular branch below.
267
+ if (currentTimeOk && this.isProposerEquivocation(headBlock)) {
268
+ this.logger?.verbose("Head proposer equivocated. Should override forkchoice update", {
269
+ blockRoot: headBlock.blockRoot,
270
+ slot: currentSlot,
271
+ proposerIndex: headBlock.proposerIndex,
272
+ });
273
+ return { shouldOverrideFcu: true, parentBlock };
274
+ }
263
275
  const { prelimProposerHead, prelimNotReorgedReason } = this.getPreliminaryProposerHead(headBlock, parentBlock, proposalSlot);
264
276
  if (prelimProposerHead === headBlock) {
265
277
  return { shouldOverrideFcu: false, reason: prelimNotReorgedReason ?? NotReorgedReason.Unknown };
266
278
  }
267
- const currentTimeOk = headBlock.slot === currentSlot ||
268
- (proposalSlot === currentSlot && this.isProposingOnTime(secFromSlot, currentSlot));
269
279
  if (!currentTimeOk) {
270
280
  return { shouldOverrideFcu: false, reason: NotReorgedReason.ReorgMoreThanOneSlot };
271
281
  }
@@ -339,7 +349,8 @@ export class ForkChoice {
339
349
  * https://github.com/ethereum/consensus-specs/pull/3034 for info about proposer boost reorg
340
350
  * This function should only be called during block proposal and only be called after `updateHead()` in `updateAndGetHead()`
341
351
  *
342
- * Same as https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#get_proposer_head
352
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#get_proposer_head
353
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#modified-get_proposer_head
343
354
  */
344
355
  getProposerHead(headBlock, secFromSlot, slot) {
345
356
  const isHeadTimely = headBlock.timeliness;
@@ -359,6 +370,24 @@ export class ForkChoice {
359
370
  if (parentBlock === undefined) {
360
371
  return { proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ParentBlockNotAvailable };
361
372
  }
373
+ // Half of single_slot_reorg check in the spec is done in getPreliminaryProposerHead()
374
+ const currentTimeOk = headBlock.slot + 1 === slot;
375
+ const isProposerBoostWornOff = this.proposerBoostRoot !== headBlock.blockRoot;
376
+ // Re-org more aggressively if there is a proposer equivocation in the previous slot, skipping the
377
+ // regular reorg conditions. Any known equivocation counts here, timely or not.
378
+ if (currentTimeOk &&
379
+ isProposerBoostWornOff &&
380
+ this.isProposerEquivocation(headBlock) &&
381
+ this.isHeadWeak(headBlock.blockRoot)) {
382
+ this.logger?.verbose("Performing single-slot reorg to remove weak head of equivocating proposer", {
383
+ slot,
384
+ proposerHead: parentBlock.blockRoot,
385
+ weakHead: headBlock.blockRoot,
386
+ proposerIndex: headBlock.proposerIndex,
387
+ });
388
+ proposerHead = parentBlock;
389
+ return { proposerHead, isHeadTimely };
390
+ }
362
391
  const { prelimProposerHead, prelimNotReorgedReason } = this.getPreliminaryProposerHead(headBlock, parentBlock, slot);
363
392
  if (prelimProposerHead === headBlock && prelimNotReorgedReason !== undefined) {
364
393
  return { proposerHead, isHeadTimely, notReorgedReason: prelimNotReorgedReason };
@@ -368,13 +397,10 @@ export class ForkChoice {
368
397
  return { proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.NotProposingOnTime };
369
398
  }
370
399
  // No reorg if attempted reorg is more than a single slot
371
- // Half of single_slot_reorg check in the spec is done in getPreliminaryProposerHead()
372
- const currentTimeOk = headBlock.slot + 1 === slot;
373
400
  if (!currentTimeOk) {
374
401
  return { proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ReorgMoreThanOneSlot };
375
402
  }
376
403
  // No reorg if proposer boost is still in effect
377
- const isProposerBoostWornOff = this.proposerBoostRoot !== headBlock.blockRoot;
378
404
  if (!isProposerBoostWornOff) {
379
405
  return { proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ProposerBoostNotWornOff };
380
406
  }
@@ -1424,7 +1450,20 @@ export class ForkChoice {
1424
1450
  }
1425
1451
  // Parent is weak and from the previous slot: apply boost only if there are no early
1426
1452
  // equivocations, ie. no other PTC-timely block at the parent's slot from the same proposer.
1427
- return !this.protoArray.hasEquivocatingBlock(parentBlock.proposerIndex, parentBlock.slot, parentBlock.blockRoot);
1453
+ return !this.protoArray.hasEquivocatingBlock(parentBlock.proposerIndex, parentBlock.slot, parentBlock.blockRoot,
1454
+ // Only a sibling seen before the PTC deadline counts. A late released one might not have been
1455
+ // seen by the proposer, so it cannot be expected to reorg it and is not denied the boost for it.
1456
+ true);
1457
+ }
1458
+ /**
1459
+ * Return true if another block at the same slot from the same proposer is known to fork choice.
1460
+ *
1461
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#is_proposer_equivocation
1462
+ */
1463
+ isProposerEquivocation(block) {
1464
+ // Any known sibling counts, timely or not. Timeliness only matters for withholding the boost from
1465
+ // the next proposer, the reorg itself is safe to attempt whenever the equivocation is visible.
1466
+ return this.protoArray.hasEquivocatingBlock(block.proposerIndex, block.slot, block.blockRoot, false);
1428
1467
  }
1429
1468
  /**
1430
1469
  * The proposer boost to apply to `proposerBoostRoot`, propagated up the branch by
@@ -1 +1 @@
1
- {"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
@@ -433,15 +433,14 @@ export declare class ProtoArray {
433
433
  */
434
434
  getNodeDefaultStatus(blockRoot: RootHex): ProtoNode | undefined;
435
435
  /**
436
- * Return true if a block other than `excludeRoot` at `slot` was proposed by `proposerIndex` and
437
- * is PTC-timely. Used by `should_apply_proposer_boost` to detect proposer equivocations.
438
- *
439
- * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#new-should_apply_proposer_boost
436
+ * Return true if a block other than `excludeRoot` at `slot` was proposed by `proposerIndex`.
437
+ * `should_apply_proposer_boost` only counts PTC-timely blocks (`ptcTimelyOnly`), `is_proposer_equivocation`
438
+ * counts any known block.
440
439
  *
441
440
  * Iterates unique block roots (via the canonical variant) since `slot`, `proposerIndex` and
442
441
  * `ptcTimeliness` are block-level properties identical across payload-status variants.
443
442
  */
444
- hasEquivocatingBlock(proposerIndex: ValidatorIndex, slot: Slot, excludeRoot: RootHex): boolean;
443
+ hasEquivocatingBlock(proposerIndex: ValidatorIndex, slot: Slot, excludeRoot: RootHex, ptcTimelyOnly: boolean): boolean;
445
444
  /**
446
445
  * Return MUTABLE ProtoBlock for blockRoot with explicit payload status
447
446
  *
@@ -1 +1 @@
1
- {"version":3,"file":"protoArray.d.ts","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protoArray.d.ts","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
@@ -1700,15 +1700,14 @@ export class ProtoArray {
1700
1700
  return this.getNodeByIndex(nodeIndex);
1701
1701
  }
1702
1702
  /**
1703
- * Return true if a block other than `excludeRoot` at `slot` was proposed by `proposerIndex` and
1704
- * is PTC-timely. Used by `should_apply_proposer_boost` to detect proposer equivocations.
1705
- *
1706
- * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#new-should_apply_proposer_boost
1703
+ * Return true if a block other than `excludeRoot` at `slot` was proposed by `proposerIndex`.
1704
+ * `should_apply_proposer_boost` only counts PTC-timely blocks (`ptcTimelyOnly`), `is_proposer_equivocation`
1705
+ * counts any known block.
1707
1706
  *
1708
1707
  * Iterates unique block roots (via the canonical variant) since `slot`, `proposerIndex` and
1709
1708
  * `ptcTimeliness` are block-level properties identical across payload-status variants.
1710
1709
  */
1711
- hasEquivocatingBlock(proposerIndex, slot, excludeRoot) {
1710
+ hasEquivocatingBlock(proposerIndex, slot, excludeRoot, ptcTimelyOnly) {
1712
1711
  for (const root of this.indices.keys()) {
1713
1712
  if (root === excludeRoot) {
1714
1713
  continue;
@@ -1718,7 +1717,10 @@ export class ProtoArray {
1718
1717
  continue;
1719
1718
  }
1720
1719
  const node = this.nodes[nodeIndex];
1721
- if (node !== undefined && node.slot === slot && node.proposerIndex === proposerIndex && node.ptcTimeliness) {
1720
+ if (node !== undefined &&
1721
+ node.slot === slot &&
1722
+ node.proposerIndex === proposerIndex &&
1723
+ (node.ptcTimeliness || !ptcTimelyOnly)) {
1722
1724
  return true;
1723
1725
  }
1724
1726
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.47.0",
14
+ "version": "1.48.0-dev.04d463c59a",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -40,11 +40,11 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@chainsafe/ssz": "^1.6.3",
43
- "@lodestar/config": "^1.47.0",
44
- "@lodestar/params": "^1.47.0",
45
- "@lodestar/state-transition": "^1.47.0",
46
- "@lodestar/types": "^1.47.0",
47
- "@lodestar/utils": "^1.47.0"
43
+ "@lodestar/config": "^1.48.0-dev.04d463c59a",
44
+ "@lodestar/params": "^1.48.0-dev.04d463c59a",
45
+ "@lodestar/state-transition": "^1.48.0-dev.04d463c59a",
46
+ "@lodestar/types": "^1.48.0-dev.04d463c59a",
47
+ "@lodestar/utils": "^1.48.0-dev.04d463c59a"
48
48
  },
49
49
  "keywords": [
50
50
  "ethereum",
@@ -52,5 +52,5 @@
52
52
  "beacon",
53
53
  "blockchain"
54
54
  ],
55
- "gitHead": "450996b13ab305b860acd131c87f799fdbfbabf0"
55
+ "gitHead": "df2dc3c97fdc5df4cff0f075a1af79bd5f7dc7b0"
56
56
  }
@@ -365,6 +365,21 @@ export class ForkChoice implements IForkChoice {
365
365
  return {shouldOverrideFcu: false, reason: NotReorgedReason.ParentBlockNotAvailable};
366
366
  }
367
367
 
368
+ const currentTimeOk =
369
+ headBlock.slot === currentSlot ||
370
+ (proposalSlot === currentSlot && this.isProposingOnTime(secFromSlot, currentSlot));
371
+
372
+ // Mirror the proposer equivocation branch of getProposerHead(). The head slot's attestations are
373
+ // still queued at this point so the head is assumed weak, same as for the regular branch below.
374
+ if (currentTimeOk && this.isProposerEquivocation(headBlock)) {
375
+ this.logger?.verbose("Head proposer equivocated. Should override forkchoice update", {
376
+ blockRoot: headBlock.blockRoot,
377
+ slot: currentSlot,
378
+ proposerIndex: headBlock.proposerIndex,
379
+ });
380
+ return {shouldOverrideFcu: true, parentBlock};
381
+ }
382
+
368
383
  const {prelimProposerHead, prelimNotReorgedReason} = this.getPreliminaryProposerHead(
369
384
  headBlock,
370
385
  parentBlock,
@@ -375,9 +390,6 @@ export class ForkChoice implements IForkChoice {
375
390
  return {shouldOverrideFcu: false, reason: prelimNotReorgedReason ?? NotReorgedReason.Unknown};
376
391
  }
377
392
 
378
- const currentTimeOk =
379
- headBlock.slot === currentSlot ||
380
- (proposalSlot === currentSlot && this.isProposingOnTime(secFromSlot, currentSlot));
381
393
  if (!currentTimeOk) {
382
394
  return {shouldOverrideFcu: false, reason: NotReorgedReason.ReorgMoreThanOneSlot};
383
395
  }
@@ -462,7 +474,8 @@ export class ForkChoice implements IForkChoice {
462
474
  * https://github.com/ethereum/consensus-specs/pull/3034 for info about proposer boost reorg
463
475
  * This function should only be called during block proposal and only be called after `updateHead()` in `updateAndGetHead()`
464
476
  *
465
- * Same as https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#get_proposer_head
477
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#get_proposer_head
478
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#modified-get_proposer_head
466
479
  */
467
480
  getProposerHead(
468
481
  headBlock: ProtoBlock,
@@ -493,6 +506,29 @@ export class ForkChoice implements IForkChoice {
493
506
  return {proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ParentBlockNotAvailable};
494
507
  }
495
508
 
509
+ // Half of single_slot_reorg check in the spec is done in getPreliminaryProposerHead()
510
+ const currentTimeOk = headBlock.slot + 1 === slot;
511
+ const isProposerBoostWornOff = this.proposerBoostRoot !== headBlock.blockRoot;
512
+
513
+ // Re-org more aggressively if there is a proposer equivocation in the previous slot, skipping the
514
+ // regular reorg conditions. Any known equivocation counts here, timely or not.
515
+ if (
516
+ currentTimeOk &&
517
+ isProposerBoostWornOff &&
518
+ this.isProposerEquivocation(headBlock) &&
519
+ this.isHeadWeak(headBlock.blockRoot)
520
+ ) {
521
+ this.logger?.verbose("Performing single-slot reorg to remove weak head of equivocating proposer", {
522
+ slot,
523
+ proposerHead: parentBlock.blockRoot,
524
+ weakHead: headBlock.blockRoot,
525
+ proposerIndex: headBlock.proposerIndex,
526
+ });
527
+ proposerHead = parentBlock;
528
+
529
+ return {proposerHead, isHeadTimely};
530
+ }
531
+
496
532
  const {prelimProposerHead, prelimNotReorgedReason} = this.getPreliminaryProposerHead(headBlock, parentBlock, slot);
497
533
 
498
534
  if (prelimProposerHead === headBlock && prelimNotReorgedReason !== undefined) {
@@ -505,14 +541,11 @@ export class ForkChoice implements IForkChoice {
505
541
  }
506
542
 
507
543
  // No reorg if attempted reorg is more than a single slot
508
- // Half of single_slot_reorg check in the spec is done in getPreliminaryProposerHead()
509
- const currentTimeOk = headBlock.slot + 1 === slot;
510
544
  if (!currentTimeOk) {
511
545
  return {proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ReorgMoreThanOneSlot};
512
546
  }
513
547
 
514
548
  // No reorg if proposer boost is still in effect
515
- const isProposerBoostWornOff = this.proposerBoostRoot !== headBlock.blockRoot;
516
549
  if (!isProposerBoostWornOff) {
517
550
  return {proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ProposerBoostNotWornOff};
518
551
  }
@@ -1756,7 +1789,25 @@ export class ForkChoice implements IForkChoice {
1756
1789
 
1757
1790
  // Parent is weak and from the previous slot: apply boost only if there are no early
1758
1791
  // equivocations, ie. no other PTC-timely block at the parent's slot from the same proposer.
1759
- return !this.protoArray.hasEquivocatingBlock(parentBlock.proposerIndex, parentBlock.slot, parentBlock.blockRoot);
1792
+ return !this.protoArray.hasEquivocatingBlock(
1793
+ parentBlock.proposerIndex,
1794
+ parentBlock.slot,
1795
+ parentBlock.blockRoot,
1796
+ // Only a sibling seen before the PTC deadline counts. A late released one might not have been
1797
+ // seen by the proposer, so it cannot be expected to reorg it and is not denied the boost for it.
1798
+ true
1799
+ );
1800
+ }
1801
+
1802
+ /**
1803
+ * Return true if another block at the same slot from the same proposer is known to fork choice.
1804
+ *
1805
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#is_proposer_equivocation
1806
+ */
1807
+ private isProposerEquivocation(block: ProtoBlock): boolean {
1808
+ // Any known sibling counts, timely or not. Timeliness only matters for withholding the boost from
1809
+ // the next proposer, the reorg itself is safe to attempt whenever the equivocation is visible.
1810
+ return this.protoArray.hasEquivocatingBlock(block.proposerIndex, block.slot, block.blockRoot, false);
1760
1811
  }
1761
1812
 
1762
1813
  /**
@@ -2008,15 +2008,19 @@ export class ProtoArray {
2008
2008
  }
2009
2009
 
2010
2010
  /**
2011
- * Return true if a block other than `excludeRoot` at `slot` was proposed by `proposerIndex` and
2012
- * is PTC-timely. Used by `should_apply_proposer_boost` to detect proposer equivocations.
2013
- *
2014
- * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#new-should_apply_proposer_boost
2011
+ * Return true if a block other than `excludeRoot` at `slot` was proposed by `proposerIndex`.
2012
+ * `should_apply_proposer_boost` only counts PTC-timely blocks (`ptcTimelyOnly`), `is_proposer_equivocation`
2013
+ * counts any known block.
2015
2014
  *
2016
2015
  * Iterates unique block roots (via the canonical variant) since `slot`, `proposerIndex` and
2017
2016
  * `ptcTimeliness` are block-level properties identical across payload-status variants.
2018
2017
  */
2019
- hasEquivocatingBlock(proposerIndex: ValidatorIndex, slot: Slot, excludeRoot: RootHex): boolean {
2018
+ hasEquivocatingBlock(
2019
+ proposerIndex: ValidatorIndex,
2020
+ slot: Slot,
2021
+ excludeRoot: RootHex,
2022
+ ptcTimelyOnly: boolean
2023
+ ): boolean {
2020
2024
  for (const root of this.indices.keys()) {
2021
2025
  if (root === excludeRoot) {
2022
2026
  continue;
@@ -2026,7 +2030,12 @@ export class ProtoArray {
2026
2030
  continue;
2027
2031
  }
2028
2032
  const node = this.nodes[nodeIndex];
2029
- if (node !== undefined && node.slot === slot && node.proposerIndex === proposerIndex && node.ptcTimeliness) {
2033
+ if (
2034
+ node !== undefined &&
2035
+ node.slot === slot &&
2036
+ node.proposerIndex === proposerIndex &&
2037
+ (node.ptcTimeliness || !ptcTimelyOnly)
2038
+ ) {
2030
2039
  return true;
2031
2040
  }
2032
2041
  }