@lodestar/fork-choice 1.51.0-dev.b41e3a7363 → 1.51.0-dev.b74e8e576d

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/metrics.js CHANGED
@@ -26,6 +26,11 @@ export function getForkChoiceMetrics(register) {
26
26
  name: "beacon_fork_choice_changed_head_total",
27
27
  help: "Count of occasions fork choice has found a new head",
28
28
  }),
29
+ executionInvalidations: register.gauge({
30
+ name: "beacon_fork_choice_execution_invalidations_total",
31
+ help: "Count of execution engine INVALID verdicts applied to fork choice, by verdict source",
32
+ labelNames: ["source"],
33
+ }),
29
34
  reorg: register.gauge({
30
35
  name: "beacon_fork_choice_reorg_total",
31
36
  help: "Count of occasions fork choice has switched to a different chain",
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export declare function isGloasBlock(block: ProtoBlock): block is ProtoBlock & {
46
46
  export type LVHValidResponse = {
47
47
  executionStatus: ExecutionStatus.Valid;
48
48
  latestValidExecHash: RootHex;
49
+ /** Resolves the exact node to validate when several nodes carry the same payload hash (gloas variants) */
50
+ blockRoot?: RootHex;
49
51
  };
50
52
  export type LVHInvalidResponse = {
51
53
  executionStatus: ExecutionStatus.Invalid;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/protoArray/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/protoArray/interface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/protoArray/interface.ts"],"names":[],"mappings":"AAGA,oCAAoC;AACpC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,oEAAoE,CAAC;AAElG;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAO1C;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;AACrB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,iDAAQ,CAAA;AACV,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;AACxC,CAAC;AA4ID;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAC,cAAc,EAAE,iBAAiB,EAAY;IAC1E,IAAI,cAAc,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,cAAc,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/protoArray/interface.ts"],"names":[],"mappings":"AAGA,oCAAoC;AACpC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,oEAAoE,CAAC;AAElG;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAO1C;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;AACrB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,iDAAQ,CAAA;AACV,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;AACxC,CAAC;AA8ID;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAAC,cAAc,EAAE,iBAAiB,EAAY;IAC1E,IAAI,cAAc,KAAK,KAAK,IAAI,iBAAiB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,cAAc,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -271,11 +271,27 @@ export declare class ProtoArray {
271
271
  */
272
272
  shouldExtendPayload(blockRoot: RootHex, proposerBoostRoot: RootHex | null): boolean;
273
273
  /**
274
- * Optimistic sync validate till validated latest hash, invalidate any descendant branch
275
- * if invalidate till hash provided. If consensus fails, this will invalidate entire
276
- * forkChoice which will throw on any call to findHead
274
+ * Apply an execution engine verdict with a latest valid hash (LVH) to the tree. VALID flips Syncing nodes up to the
275
+ * LVH node. INVALID invalidates the node identified by `invalidateFromParentBlockRoot/Hash` and its ancestors up to
276
+ * the LVH node (exclusive), then every descendant. Returns whether any status changed.
277
+ *
278
+ * A null or unknown LVH means the engine only vouches for the queried payload being invalid: the queried node and
279
+ * the nodes that inherit that payload (gloas PENDING and EMPTY variants) are invalidated, nothing above them.
280
+ *
281
+ * `strict` keeps the consensus failure semantics for verdicts about a payload the engine just processed: a VALID
282
+ * or PreMerge node on the invalidated chain poisons the tree. Verdicts from forkchoiceUpdated or about an ancestor
283
+ * chain are applied with `strict: false`: a node the engine already validated is never invalidated and the justified
284
+ * node is never crossed. If the walk to the LVH meets either, the LVH is treated as unknown.
285
+ */
286
+ validateLatestHash(execResponse: LVHExecResponse, currentSlot: Slot, { strict }?: {
287
+ strict?: boolean;
288
+ }): boolean;
289
+ /**
290
+ * Upper bound (exclusive) for invalidating from `fromIndex` when the engine gave no usable LVH: the parent of the
291
+ * last ancestor that still inherits the queried payload. Pre-gloas this is the parent of `fromIndex`. For a gloas
292
+ * EMPTY or PENDING node it reaches up to the FULL node that owns the payload. -1 when the chain reaches the root.
277
293
  */
278
- validateLatestHash(execResponse: LVHExecResponse, currentSlot: Slot): void;
294
+ private getUnknownLVHIndex;
279
295
  private propagateValidExecutionStatusByIndex;
280
296
  /**
281
297
  * Gloas PENDING and EMPTY variants have no payload of their own, they inherit the execution status of
@@ -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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"}
@@ -836,12 +836,19 @@ export class ProtoArray {
836
836
  return false;
837
837
  }
838
838
  /**
839
- * Optimistic sync validate till validated latest hash, invalidate any descendant branch
840
- * if invalidate till hash provided. If consensus fails, this will invalidate entire
841
- * forkChoice which will throw on any call to findHead
839
+ * Apply an execution engine verdict with a latest valid hash (LVH) to the tree. VALID flips Syncing nodes up to the
840
+ * LVH node. INVALID invalidates the node identified by `invalidateFromParentBlockRoot/Hash` and its ancestors up to
841
+ * the LVH node (exclusive), then every descendant. Returns whether any status changed.
842
+ *
843
+ * A null or unknown LVH means the engine only vouches for the queried payload being invalid: the queried node and
844
+ * the nodes that inherit that payload (gloas PENDING and EMPTY variants) are invalidated, nothing above them.
845
+ *
846
+ * `strict` keeps the consensus failure semantics for verdicts about a payload the engine just processed: a VALID
847
+ * or PreMerge node on the invalidated chain poisons the tree. Verdicts from forkchoiceUpdated or about an ancestor
848
+ * chain are applied with `strict: false`: a node the engine already validated is never invalidated and the justified
849
+ * node is never crossed. If the walk to the LVH meets either, the LVH is treated as unknown.
842
850
  */
843
- // TODO GLOAS: Review usage of this post-gloas
844
- validateLatestHash(execResponse, currentSlot) {
851
+ validateLatestHash(execResponse, currentSlot, { strict = true } = {}) {
845
852
  // Look reverse because its highly likely node with latestValidExecHash is towards the
846
853
  // the leaves of the forkchoice
847
854
  //
@@ -851,63 +858,113 @@ export class ProtoArray {
851
858
  // For more context on this please checkout the following conversation:
852
859
  // https://github.com/ChainSafe/lodestar/pull/4182#discussion_r914770167
853
860
  if (execResponse.executionStatus === ExecutionStatus.Valid) {
854
- const { latestValidExecHash } = execResponse;
861
+ const { latestValidExecHash, blockRoot } = execResponse;
855
862
  // We use -1 for denoting not found
856
863
  let latestValidHashIndex = -1;
857
- for (let nodeIndex = this.nodes.length - 1; nodeIndex >= 0; nodeIndex--) {
858
- if (this.nodes[nodeIndex].executionPayloadBlockHash === latestValidExecHash) {
859
- latestValidHashIndex = nodeIndex;
860
- // We found the block corresponding to latestValidHashIndex, exit the loop
861
- break;
864
+ if (blockRoot !== undefined) {
865
+ latestValidHashIndex = this.getNodeIndexByRootAndBlockHash(blockRoot, latestValidExecHash) ?? -1;
866
+ }
867
+ else {
868
+ for (let nodeIndex = this.nodes.length - 1; nodeIndex >= 0; nodeIndex--) {
869
+ if (this.nodes[nodeIndex].executionPayloadBlockHash === latestValidExecHash) {
870
+ latestValidHashIndex = nodeIndex;
871
+ // We found the block corresponding to latestValidHashIndex, exit the loop
872
+ break;
873
+ }
862
874
  }
863
875
  }
864
876
  // We are trying to be as forgiving as possible here because ideally latestValidHashIndex
865
877
  // should be found in the forkchoice
866
- if (latestValidHashIndex >= 0) {
867
- this.propagateValidExecutionStatusByIndex(latestValidHashIndex);
878
+ if (latestValidHashIndex < 0) {
879
+ return false;
868
880
  }
869
- }
870
- else {
871
- // In case of invalidation, ideally:
872
- // i) Find the invalid payload
873
- // ii) Obtain a chain [LVH.child, LVH.child.child, ....., invalid_payload]
874
- // iii) Obtain a chain [Last_known_valid_node, ...., LVH]
875
- //
876
- // Mark chain iii) as Valid if LVH is non null but right now LVH can be non null without
877
- // gurranteing chain iii) to be valid: for e.g. in following scenario LVH can be returned
878
- // as any of SYNCING: SYNCING, SYNCING, SYNCING, INVALID (due to simple check)/
879
- // So we currently ignore this chain and hope eventually it gets resolved
880
- //
881
- // Mark chain ii) as Invalid if LVH is found and non null, else only invalidate invalid_payload
882
- // if its in fcU.
883
- //
884
- const { invalidateFromParentBlockRoot, invalidateFromParentBlockHash, latestValidExecHash } = execResponse;
885
- const invalidateFromParentIndex = this.getNodeIndexByRootAndBlockHash(invalidateFromParentBlockRoot, invalidateFromParentBlockHash);
886
- if (invalidateFromParentIndex === undefined) {
887
- throw Error(`Unable to find invalidateFromParentBlockRoot=${invalidateFromParentBlockRoot} invalidateFromParentBlockHash=${invalidateFromParentBlockHash} in forkChoice`);
881
+ const { executionStatus } = this.nodes[latestValidHashIndex];
882
+ if (executionStatus === ExecutionStatus.Valid || executionStatus === ExecutionStatus.PreMerge) {
883
+ return false;
884
+ }
885
+ if (!strict) {
886
+ // The walk up flips every Syncing ancestor, a lenient verdict must not contradict an invalidated one
887
+ let nodeIndex = latestValidHashIndex;
888
+ while (nodeIndex !== undefined) {
889
+ const node = this.nodes[nodeIndex];
890
+ if (node.executionStatus === ExecutionStatus.Valid || node.executionStatus === ExecutionStatus.PreMerge) {
891
+ break;
892
+ }
893
+ if (node.executionStatus === ExecutionStatus.Invalid) {
894
+ return false;
895
+ }
896
+ nodeIndex = node.parent;
897
+ }
888
898
  }
889
- const latestValidHashIndex = latestValidExecHash !== null ? this.getNodeIndexFromLVH(latestValidExecHash, invalidateFromParentIndex) : null;
890
- if (latestValidHashIndex === null) {
891
- /**
892
- * The LVH (latest valid hash) is null or not found.
893
- *
894
- * The spec gives an allowance for the EL being able to return a nullish LVH if it could not
895
- * "determine" one. There are two interpretations:
896
- *
897
- * - "the LVH is unknown" - simply throw and move on. We can't determine which chain to invalidate
898
- * since we don't know which ancestor is valid.
899
- *
900
- * - "the LVH doesn't exist" - this means that the entire ancestor chain is invalid, and should
901
- * be marked as such.
902
- *
903
- * The more robust approach is to treat nullish LVH as "the LVH is unknown" rather than
904
- * "the LVH doesn't exist". The alternative means that we will poison a valid chain when the
905
- * EL is lazy (or buggy) with its LVH response.
906
- */
899
+ this.propagateValidExecutionStatusByIndex(latestValidHashIndex);
900
+ return true;
901
+ }
902
+ // In case of invalidation, ideally:
903
+ // i) Find the invalid payload
904
+ // ii) Obtain a chain [LVH.child, LVH.child.child, ....., invalid_payload]
905
+ // iii) Obtain a chain [Last_known_valid_node, ...., LVH]
906
+ //
907
+ // Mark chain iii) as Valid if LVH is non null but right now LVH can be non null without
908
+ // gurranteing chain iii) to be valid: for e.g. in following scenario LVH can be returned
909
+ // as any of SYNCING: SYNCING, SYNCING, SYNCING, INVALID (due to simple check)/
910
+ // So we currently ignore this chain and hope eventually it gets resolved
911
+ //
912
+ // Mark chain ii) as Invalid if LVH is found and non null, else only invalidate invalid_payload
913
+ // if its in fcU.
914
+ //
915
+ const { invalidateFromParentBlockRoot, invalidateFromParentBlockHash, latestValidExecHash } = execResponse;
916
+ const invalidateFromParentIndex = this.getNodeIndexByRootAndBlockHash(invalidateFromParentBlockRoot, invalidateFromParentBlockHash);
917
+ if (invalidateFromParentIndex === undefined) {
918
+ throw Error(`Unable to find invalidateFromParentBlockRoot=${invalidateFromParentBlockRoot} invalidateFromParentBlockHash=${invalidateFromParentBlockHash} in forkChoice`);
919
+ }
920
+ if (!strict && this.nodes[invalidateFromParentIndex].executionStatus !== ExecutionStatus.Syncing) {
921
+ return false;
922
+ }
923
+ let latestValidHashIndex = latestValidExecHash !== null ? this.getNodeIndexFromLVH(latestValidExecHash, invalidateFromParentIndex) : null;
924
+ if (latestValidHashIndex === null) {
925
+ if (strict) {
926
+ // The strict from node is the parent of the rejected payload and may be valid, never guess here
907
927
  throw Error(`Unable to find latestValidExecHash=${latestValidExecHash} in the forkchoice`);
908
928
  }
909
- this.propagateInValidExecutionStatusByIndex(invalidateFromParentIndex, latestValidHashIndex, currentSlot);
929
+ latestValidHashIndex = this.getUnknownLVHIndex(invalidateFromParentIndex);
930
+ }
931
+ if (!strict) {
932
+ // Never invalidate the justified block, the EMPTY variant sharing its chain, or anything at or below it in
933
+ // the tree. The justified block's own payload (FULL variant) is not part of the checkpoint
934
+ const justifiedIndex = this.getDefaultNodeIndex(this.justifiedRoot) ?? -1;
935
+ let nodeIndex = invalidateFromParentIndex;
936
+ while (nodeIndex !== undefined && nodeIndex > latestValidHashIndex) {
937
+ const node = this.nodes[nodeIndex];
938
+ if (node.executionStatus !== ExecutionStatus.Syncing ||
939
+ nodeIndex <= justifiedIndex ||
940
+ (node.blockRoot === this.justifiedRoot && node.payloadStatus === PayloadStatus.EMPTY)) {
941
+ // Conflicting LVH: fall back to the unknown LVH bound, but never cross this node
942
+ latestValidHashIndex = Math.max(nodeIndex, this.getUnknownLVHIndex(invalidateFromParentIndex));
943
+ break;
944
+ }
945
+ nodeIndex = node.parent;
946
+ }
947
+ }
948
+ if (invalidateFromParentIndex <= latestValidHashIndex) {
949
+ return false;
950
+ }
951
+ this.propagateInValidExecutionStatusByIndex(invalidateFromParentIndex, latestValidHashIndex, currentSlot);
952
+ return true;
953
+ }
954
+ /**
955
+ * Upper bound (exclusive) for invalidating from `fromIndex` when the engine gave no usable LVH: the parent of the
956
+ * last ancestor that still inherits the queried payload. Pre-gloas this is the parent of `fromIndex`. For a gloas
957
+ * EMPTY or PENDING node it reaches up to the FULL node that owns the payload. -1 when the chain reaches the root.
958
+ */
959
+ getUnknownLVHIndex(fromIndex) {
960
+ const payloadBlockHash = this.nodes[fromIndex].executionPayloadBlockHash;
961
+ let nodeIndex = fromIndex;
962
+ let parentIndex = this.nodes[nodeIndex].parent;
963
+ while (parentIndex !== undefined && this.nodes[parentIndex].executionPayloadBlockHash === payloadBlockHash) {
964
+ nodeIndex = parentIndex;
965
+ parentIndex = this.nodes[nodeIndex].parent;
910
966
  }
967
+ return parentIndex ?? -1;
911
968
  }
912
969
  propagateValidExecutionStatusByIndex(validNodeIndex) {
913
970
  let nodeIndex = validNodeIndex;
@@ -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.51.0-dev.b41e3a7363",
14
+ "version": "1.51.0-dev.b74e8e576d",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -40,11 +40,11 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@chainsafe/ssz": "^1.9.0",
43
- "@lodestar/config": "^1.51.0-dev.b41e3a7363",
44
- "@lodestar/params": "^1.51.0-dev.b41e3a7363",
45
- "@lodestar/state-transition": "^1.51.0-dev.b41e3a7363",
46
- "@lodestar/types": "^1.51.0-dev.b41e3a7363",
47
- "@lodestar/utils": "^1.51.0-dev.b41e3a7363"
43
+ "@lodestar/config": "^1.51.0-dev.b74e8e576d",
44
+ "@lodestar/params": "^1.51.0-dev.b74e8e576d",
45
+ "@lodestar/state-transition": "^1.51.0-dev.b74e8e576d",
46
+ "@lodestar/types": "^1.51.0-dev.b74e8e576d",
47
+ "@lodestar/utils": "^1.51.0-dev.b74e8e576d"
48
48
  },
49
49
  "keywords": [
50
50
  "ethereum",
@@ -52,5 +52,5 @@
52
52
  "beacon",
53
53
  "blockchain"
54
54
  ],
55
- "gitHead": "670db842c61a8772e470e44017e79bc301cfb3d4"
55
+ "gitHead": "3a9aa6c8044a527ff9bf39eb3a5fc584743be6c4"
56
56
  }