@lodestar/beacon-node 1.50.0-dev.cc4428df4b → 1.50.0-dev.ce0e732118

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.
Files changed (249) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +6 -1
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/index.js +13 -0
  6. package/lib/api/impl/beacon/index.js.map +1 -1
  7. package/lib/api/impl/beacon/pool/index.js +4 -4
  8. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  9. package/lib/api/impl/validator/index.d.ts +1 -0
  10. package/lib/api/impl/validator/index.d.ts.map +1 -1
  11. package/lib/api/impl/validator/index.js +17 -1
  12. package/lib/api/impl/validator/index.js.map +1 -1
  13. package/lib/chain/archiveStore/archiveStore.d.ts +1 -0
  14. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  15. package/lib/chain/archiveStore/archiveStore.js +7 -3
  16. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  17. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +2 -2
  18. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  19. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +5 -7
  20. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  21. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -1
  22. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  23. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -2
  24. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  25. package/lib/chain/archiveStore/historicalState/worker.js +1 -1
  26. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  27. package/lib/chain/archiveStore/interface.d.ts +1 -1
  28. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  29. package/lib/chain/archiveStore/utils/pruneHistory.d.ts +4 -1
  30. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
  31. package/lib/chain/archiveStore/utils/pruneHistory.js +4 -3
  32. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  33. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  34. package/lib/chain/blocks/importBlock.js +4 -0
  35. package/lib/chain/blocks/importBlock.js.map +1 -1
  36. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +2 -1
  37. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  38. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  39. package/lib/chain/blocks/verifyBlock.js +1 -1
  40. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  41. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
  42. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  43. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +5 -4
  44. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  45. package/lib/chain/chain.d.ts +6 -4
  46. package/lib/chain/chain.d.ts.map +1 -1
  47. package/lib/chain/chain.js +43 -16
  48. package/lib/chain/chain.js.map +1 -1
  49. package/lib/chain/emitter.d.ts +7 -1
  50. package/lib/chain/emitter.d.ts.map +1 -1
  51. package/lib/chain/emitter.js +5 -0
  52. package/lib/chain/emitter.js.map +1 -1
  53. package/lib/chain/errors/envelopeReconstructionError.d.ts +5 -0
  54. package/lib/chain/errors/envelopeReconstructionError.d.ts.map +1 -1
  55. package/lib/chain/errors/envelopeReconstructionError.js +2 -0
  56. package/lib/chain/errors/envelopeReconstructionError.js.map +1 -1
  57. package/lib/chain/errors/gossipValidation.d.ts +3 -1
  58. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  59. package/lib/chain/errors/gossipValidation.js +2 -0
  60. package/lib/chain/errors/gossipValidation.js.map +1 -1
  61. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  62. package/lib/chain/forkChoice/index.js +2 -0
  63. package/lib/chain/forkChoice/index.js.map +1 -1
  64. package/lib/chain/initState.d.ts +2 -9
  65. package/lib/chain/initState.d.ts.map +1 -1
  66. package/lib/chain/initState.js +5 -38
  67. package/lib/chain/initState.js.map +1 -1
  68. package/lib/chain/interface.d.ts +2 -2
  69. package/lib/chain/interface.d.ts.map +1 -1
  70. package/lib/chain/opPools/opPool.d.ts +5 -4
  71. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  72. package/lib/chain/opPools/opPool.js +62 -18
  73. package/lib/chain/opPools/opPool.js.map +1 -1
  74. package/lib/chain/opPools/proposerPreferencesPool.d.ts +4 -4
  75. package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
  76. package/lib/chain/opPools/proposerPreferencesPool.js +14 -11
  77. package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
  78. package/lib/chain/opPools/utils.d.ts +4 -1
  79. package/lib/chain/opPools/utils.d.ts.map +1 -1
  80. package/lib/chain/opPools/utils.js +11 -1
  81. package/lib/chain/opPools/utils.js.map +1 -1
  82. package/lib/chain/options.d.ts +1 -1
  83. package/lib/chain/options.d.ts.map +1 -1
  84. package/lib/chain/options.js +1 -1
  85. package/lib/chain/options.js.map +1 -1
  86. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  87. package/lib/chain/prepareNextSlot.js +5 -2
  88. package/lib/chain/prepareNextSlot.js.map +1 -1
  89. package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
  90. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  91. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -1
  92. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  93. package/lib/chain/produceBlock/produceBlockBody.js +6 -2
  94. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  95. package/lib/chain/regen/regen.d.ts +2 -0
  96. package/lib/chain/regen/regen.d.ts.map +1 -1
  97. package/lib/chain/regen/regen.js +10 -4
  98. package/lib/chain/regen/regen.js.map +1 -1
  99. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +9 -2
  100. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  101. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +23 -13
  102. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  103. package/lib/chain/validation/attesterSlashing.d.ts +4 -4
  104. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  105. package/lib/chain/validation/attesterSlashing.js +3 -0
  106. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  107. package/lib/chain/validation/proposerSlashing.d.ts +3 -3
  108. package/lib/chain/validation/proposerSlashing.d.ts.map +1 -1
  109. package/lib/chain/validation/proposerSlashing.js +3 -0
  110. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  111. package/lib/chain/validatorMonitor.d.ts +5 -1
  112. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  113. package/lib/chain/validatorMonitor.js +64 -54
  114. package/lib/chain/validatorMonitor.js.map +1 -1
  115. package/lib/db/beacon.d.ts.map +1 -1
  116. package/lib/db/beacon.js +2 -0
  117. package/lib/db/beacon.js.map +1 -1
  118. package/lib/db/repositories/proposerSlashing.d.ts +1 -0
  119. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  120. package/lib/db/repositories/proposerSlashing.js +5 -1
  121. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  122. package/lib/execution/engine/disabled.d.ts +0 -2
  123. package/lib/execution/engine/disabled.d.ts.map +1 -1
  124. package/lib/execution/engine/disabled.js +0 -6
  125. package/lib/execution/engine/disabled.js.map +1 -1
  126. package/lib/execution/engine/http.d.ts +1 -3
  127. package/lib/execution/engine/http.d.ts.map +1 -1
  128. package/lib/execution/engine/http.js +7 -21
  129. package/lib/execution/engine/http.js.map +1 -1
  130. package/lib/execution/engine/interface.d.ts +2 -4
  131. package/lib/execution/engine/interface.d.ts.map +1 -1
  132. package/lib/execution/engine/mock.d.ts +0 -2
  133. package/lib/execution/engine/mock.d.ts.map +1 -1
  134. package/lib/execution/engine/mock.js +0 -8
  135. package/lib/execution/engine/mock.js.map +1 -1
  136. package/lib/execution/engine/types.d.ts +0 -8
  137. package/lib/execution/engine/types.d.ts.map +1 -1
  138. package/lib/execution/engine/types.js.map +1 -1
  139. package/lib/index.d.ts +1 -1
  140. package/lib/index.d.ts.map +1 -1
  141. package/lib/index.js +1 -1
  142. package/lib/index.js.map +1 -1
  143. package/lib/metrics/metrics/beacon.d.ts +1 -1
  144. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  145. package/lib/metrics/metrics/beacon.js.map +1 -1
  146. package/lib/metrics/metrics.d.ts +7 -3
  147. package/lib/metrics/metrics.d.ts.map +1 -1
  148. package/lib/metrics/metrics.js +4 -4
  149. package/lib/metrics/metrics.js.map +1 -1
  150. package/lib/network/metadata.d.ts +1 -1
  151. package/lib/network/metadata.d.ts.map +1 -1
  152. package/lib/network/metadata.js +17 -17
  153. package/lib/network/metadata.js.map +1 -1
  154. package/lib/network/peers/datastore.d.ts +9 -9
  155. package/lib/network/peers/datastore.d.ts.map +1 -1
  156. package/lib/network/peers/datastore.js +36 -36
  157. package/lib/network/peers/datastore.js.map +1 -1
  158. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  159. package/lib/network/processor/gossipHandlers.js +7 -4
  160. package/lib/network/processor/gossipHandlers.js.map +1 -1
  161. package/lib/network/processor/gossipValidatorFn.d.ts +7 -3
  162. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  163. package/lib/network/processor/gossipValidatorFn.js +7 -3
  164. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  165. package/lib/network/processor/index.d.ts +9 -0
  166. package/lib/network/processor/index.d.ts.map +1 -1
  167. package/lib/network/processor/index.js +77 -10
  168. package/lib/network/processor/index.js.map +1 -1
  169. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
  170. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +41 -26
  171. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
  172. package/lib/node/nodejs.d.ts.map +1 -1
  173. package/lib/node/nodejs.js +25 -3
  174. package/lib/node/nodejs.js.map +1 -1
  175. package/lib/sync/range/batch.d.ts +6 -0
  176. package/lib/sync/range/batch.d.ts.map +1 -1
  177. package/lib/sync/range/batch.js +10 -0
  178. package/lib/sync/range/batch.js.map +1 -1
  179. package/lib/sync/range/chain.d.ts.map +1 -1
  180. package/lib/sync/range/chain.js +5 -1
  181. package/lib/sync/range/chain.js.map +1 -1
  182. package/lib/sync/range/range.d.ts.map +1 -1
  183. package/lib/sync/range/range.js +50 -18
  184. package/lib/sync/range/range.js.map +1 -1
  185. package/lib/sync/unknownBlock.d.ts +9 -5
  186. package/lib/sync/unknownBlock.d.ts.map +1 -1
  187. package/lib/sync/unknownBlock.js +88 -46
  188. package/lib/sync/unknownBlock.js.map +1 -1
  189. package/lib/util/execution.d.ts +11 -11
  190. package/lib/util/execution.d.ts.map +1 -1
  191. package/lib/util/execution.js +11 -7
  192. package/lib/util/execution.js.map +1 -1
  193. package/package.json +16 -16
  194. package/src/api/impl/beacon/blocks/index.ts +7 -4
  195. package/src/api/impl/beacon/index.ts +15 -0
  196. package/src/api/impl/beacon/pool/index.ts +4 -4
  197. package/src/api/impl/validator/index.ts +16 -2
  198. package/src/chain/archiveStore/archiveStore.ts +10 -4
  199. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +5 -7
  200. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +1 -1
  201. package/src/chain/archiveStore/historicalState/types.ts +2 -2
  202. package/src/chain/archiveStore/historicalState/worker.ts +1 -2
  203. package/src/chain/archiveStore/interface.ts +1 -1
  204. package/src/chain/archiveStore/utils/pruneHistory.ts +6 -4
  205. package/src/chain/blocks/importBlock.ts +4 -0
  206. package/src/chain/blocks/payloadEnvelopeInput/types.ts +2 -1
  207. package/src/chain/blocks/verifyBlock.ts +1 -0
  208. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -3
  209. package/src/chain/chain.ts +50 -19
  210. package/src/chain/emitter.ts +7 -1
  211. package/src/chain/errors/envelopeReconstructionError.ts +3 -0
  212. package/src/chain/errors/gossipValidation.ts +2 -0
  213. package/src/chain/forkChoice/index.ts +2 -0
  214. package/src/chain/initState.ts +8 -60
  215. package/src/chain/interface.ts +2 -2
  216. package/src/chain/opPools/opPool.ts +91 -18
  217. package/src/chain/opPools/proposerPreferencesPool.ts +14 -10
  218. package/src/chain/opPools/utils.ts +31 -3
  219. package/src/chain/options.ts +2 -2
  220. package/src/chain/prepareNextSlot.ts +6 -3
  221. package/src/chain/produceBlock/computeNewStateRoot.ts +1 -1
  222. package/src/chain/produceBlock/produceBlockBody.ts +8 -1
  223. package/src/chain/regen/regen.ts +12 -4
  224. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +31 -13
  225. package/src/chain/validation/attesterSlashing.ts +7 -4
  226. package/src/chain/validation/proposerSlashing.ts +7 -4
  227. package/src/chain/validatorMonitor.ts +75 -57
  228. package/src/db/beacon.ts +2 -0
  229. package/src/db/repositories/proposerSlashing.ts +6 -1
  230. package/src/execution/engine/disabled.ts +0 -8
  231. package/src/execution/engine/http.ts +7 -34
  232. package/src/execution/engine/interface.ts +2 -6
  233. package/src/execution/engine/mock.ts +1 -19
  234. package/src/execution/engine/types.ts +0 -10
  235. package/src/index.ts +1 -1
  236. package/src/metrics/metrics/beacon.ts +1 -1
  237. package/src/metrics/metrics.ts +21 -6
  238. package/src/network/metadata.ts +17 -17
  239. package/src/network/peers/datastore.ts +36 -36
  240. package/src/network/processor/gossipHandlers.ts +7 -4
  241. package/src/network/processor/gossipValidatorFn.ts +13 -3
  242. package/src/network/processor/index.ts +89 -10
  243. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +42 -28
  244. package/src/node/nodejs.ts +31 -3
  245. package/src/sync/range/batch.ts +11 -0
  246. package/src/sync/range/chain.ts +6 -1
  247. package/src/sync/range/range.ts +50 -18
  248. package/src/sync/unknownBlock.ts +99 -50
  249. package/src/util/execution.ts +26 -14
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/sync/range/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/sync/range/chain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import { computeStartSlotAtEpoch, isStatePostGloas } from "@lodestar/state-transition";
3
3
  import { prettyPrintIndices, toRootHex } from "@lodestar/utils";
4
+ import { PayloadError, PayloadErrorCode } from "../../chain/blocks/importExecutionPayload.js";
4
5
  import { AttestationImportOpt } from "../../chain/blocks/index.js";
5
6
  import { assertLinearChainSegment } from "../../chain/blocks/utils/chainSegment.js";
6
7
  import { BlockError } from "../../chain/errors/index.js";
@@ -157,23 +158,51 @@ export class RangeSync extends EventEmitter {
157
158
  // so we can utilize worker threads to verify signatures
158
159
  blsVerifyOnMainThread: false,
159
160
  };
160
- if (this.opts?.disableProcessAsChainSegment) {
161
- // Should only be used for debugging or testing
162
- for (const block of blocks) {
163
- await this.chain.processBlock(block, flags);
164
- const payloadEnvelope = payloadEnvelopes?.get(block.slot);
165
- if (payloadEnvelope?.hasPayloadEnvelope()) {
166
- await this.chain.processExecutionPayload(payloadEnvelope);
161
+ try {
162
+ if (this.opts?.disableProcessAsChainSegment) {
163
+ // Should only be used for debugging or testing
164
+ for (const block of blocks) {
165
+ await this.chain.processBlock(block, flags);
166
+ const payloadEnvelope = payloadEnvelopes?.get(block.slot);
167
+ if (payloadEnvelope?.hasPayloadEnvelope()) {
168
+ await this.chain.processExecutionPayload(payloadEnvelope);
169
+ }
170
+ }
171
+ }
172
+ else {
173
+ const { orphaned, skipped } = await this.chain.processChainSegment(blocks, payloadEnvelopes, flags);
174
+ // We log orphaned payloads to work with different clients
175
+ // in the future, consider applying penalties in certain conditions
176
+ // make sure the payload source was from range sync in that case
177
+ for (const { slot, payloadEnvelopeInput } of orphaned) {
178
+ const { peerIdStr, source } = payloadEnvelopeInput.getPayloadEnvelopeSource();
179
+ let client = "unknown";
180
+ if (peerIdStr !== undefined) {
181
+ try {
182
+ client = this.getConnectedPeerSyncMeta(peerIdStr).client;
183
+ }
184
+ catch {
185
+ // peer disconnected since serving the envelope, keep "unknown"
186
+ }
187
+ }
188
+ this.logger.debug("Orphaned payload envelope in range sync batch", {
189
+ slot,
190
+ root: payloadEnvelopeInput.blockRootHex,
191
+ peer: peerIdStr ?? "unknown",
192
+ source,
193
+ client,
194
+ skipped,
195
+ });
167
196
  }
168
197
  }
169
198
  }
170
- else {
171
- const { orphaned, skipped } = await this.chain.processChainSegment(blocks, payloadEnvelopes, flags);
172
- // We log orphaned payloads to work with different clients
173
- // in the future, consider applying penalties in certain conditions
174
- // make sure the payload source was from range sync in that case
175
- for (const { slot, payloadEnvelopeInput } of orphaned) {
176
- const { peerIdStr, source } = payloadEnvelopeInput.getPayloadEnvelopeSource();
199
+ catch (e) {
200
+ if (e instanceof PayloadError &&
201
+ (e.type.code === PayloadErrorCode.INVALID_SIGNATURE ||
202
+ e.type.code === PayloadErrorCode.ENVELOPE_VERIFICATION_ERROR ||
203
+ e.type.code === PayloadErrorCode.EXECUTION_ENGINE_INVALID)) {
204
+ const { payloadInput } = e;
205
+ const { peerIdStr, source } = payloadInput.getPayloadEnvelopeSource();
177
206
  let client = "unknown";
178
207
  if (peerIdStr !== undefined) {
179
208
  try {
@@ -183,15 +212,18 @@ export class RangeSync extends EventEmitter {
183
212
  // peer disconnected since serving the envelope, keep "unknown"
184
213
  }
185
214
  }
186
- this.logger.debug("Orphaned payload envelope in range sync batch", {
187
- slot,
188
- root: payloadEnvelopeInput.blockRootHex,
215
+ this.logger.debug("Removing invalid payload envelope in range sync batch", {
216
+ slot: payloadInput.slot,
217
+ root: payloadInput.blockRootHex,
189
218
  peer: peerIdStr ?? "unknown",
190
219
  source,
191
220
  client,
192
- skipped,
221
+ code: e.type.code,
193
222
  });
223
+ // The batch is downloaded again, it would otherwise reuse the cached envelope and fail the same way
224
+ this.chain.seenPayloadEnvelopeInputCache.removeInvalid(payloadInput);
194
225
  }
226
+ throw e;
195
227
  }
196
228
  };
197
229
  downloadByRange = async (peer, batch) => {
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
@@ -156,14 +156,18 @@ export declare class BlockInputSync {
156
156
  * Also verifies the received block root + returns the peer that provided the block for future downscoring.
157
157
  */
158
158
  private fetchBlockInput;
159
+ private removePendingPayloadAndDescendants;
159
160
  /**
160
- * Gets all descendant blocks of `block` recursively from `pendingBlocks`.
161
- * Assumes that if a parent block does not exist or is not processable, all descendant blocks are bad too.
162
- * Downscore all peers that have referenced any of this bad blocks. May report peers multiple times if they have
163
- * referenced more than one bad block.
161
+ * Same as `removeAndBanAllDescendants`, and downscores every peer that referenced or served a banned item, once per
162
+ * peer. Only call for consensus-layer invalidity, never for an INVALID execution payload:
163
+ * https://github.com/ethereum/consensus-specs/blob/master/specs/bellatrix/p2p-interface.md#the-reqresp-domain
164
164
  */
165
165
  private removeAndDownScoreAllDescendants;
166
- private removePendingPayloadAndDescendants;
166
+ /**
167
+ * Removes `block` and all its pending descendants and bans their roots in `knownBadBlocks`. Only call when the chain
168
+ * is provably bad: a banned root is never searched for again. Returns the banned items.
169
+ */
170
+ private removeAndBanAllDescendants;
167
171
  private removeAllDescendants;
168
172
  private getMaxDownloadAttempts;
169
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unknownBlock.d.ts","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unknownBlock.d.ts","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { BlockError, BlockErrorCode } from "../chain/errors/index.js";
11
11
  import { ChainEvent } from "../chain/index.js";
12
12
  import { validateGloasBlockDataColumnSidecars } from "../chain/validation/dataColumnSidecar.js";
13
13
  import { validateGossipExecutionPayloadEnvelope } from "../chain/validation/executionPayloadEnvelope.js";
14
- import { NetworkEvent, prettyPrintPeerIdStr } from "../network/index.js";
14
+ import { NetworkEvent, PeerAction, prettyPrintPeerIdStr } from "../network/index.js";
15
15
  import { MAX_PEERS_PER_ROOT } from "../network/processor/constants.js";
16
16
  import { ClockEvent } from "../util/clock.js";
17
17
  import { shuffle } from "../util/shuffle.js";
@@ -378,6 +378,10 @@ export class BlockInputSync {
378
378
  });
379
379
  };
380
380
  addByRootHex = (rootHex, peerIdStr) => {
381
+ if (this.knownBadBlocks.has(rootHex)) {
382
+ this.logger.debug("Ignoring known bad block root", { root: rootHex, peerIdStr: peerIdStr ?? "unknown peer" });
383
+ return false;
384
+ }
381
385
  let pendingBlock = this.pendingBlocks.get(rootHex);
382
386
  let added = false;
383
387
  if (!pendingBlock) {
@@ -409,6 +413,10 @@ export class BlockInputSync {
409
413
  return added;
410
414
  };
411
415
  addByBlockInput = (blockInput, peerIdStr) => {
416
+ if (this.knownBadBlocks.has(blockInput.blockRootHex)) {
417
+ this.logger.debug("Ignoring known bad block", { slot: blockInput.slot, root: blockInput.blockRootHex, peerIdStr });
418
+ return;
419
+ }
412
420
  let pendingBlock = this.pendingBlocks.get(blockInput.blockRootHex);
413
421
  // if entry is missing or was added via rootHex and now we have more complete information overwrite
414
422
  // the existing information with the more complete cache entry
@@ -441,6 +449,14 @@ export class BlockInputSync {
441
449
  }
442
450
  };
443
451
  addByPayloadRootHex = (rootHex, peerIdStr, slot) => {
452
+ if (this.knownBadBlocks.has(rootHex)) {
453
+ this.logger.debug("Ignoring payload for known bad block root", {
454
+ slot: slot ?? "unknown",
455
+ root: rootHex,
456
+ peerIdStr,
457
+ });
458
+ return false;
459
+ }
444
460
  let pendingPayload = this.pendingPayloads.get(rootHex);
445
461
  let added = false;
446
462
  if (!pendingPayload) {
@@ -499,6 +515,14 @@ export class BlockInputSync {
499
515
  return this.chain.seenPayloadEnvelopeInputCache.get(rootHex)?.slot;
500
516
  }
501
517
  addByPayloadInput = (payloadInput, peerIdStr, envelope) => {
518
+ if (this.knownBadBlocks.has(payloadInput.blockRootHex)) {
519
+ this.logger.debug("Ignoring payload input for known bad block root", {
520
+ slot: payloadInput.slot,
521
+ root: payloadInput.blockRootHex,
522
+ peerIdStr,
523
+ });
524
+ return;
525
+ }
502
526
  const pendingPayload = this.toPendingPayloadInput(payloadInput, this.pendingPayloads.get(payloadInput.blockRootHex), envelope);
503
527
  if (peerIdStr && pendingPayload.peerIdStrings.size < MAX_PEERS_PER_ROOT) {
504
528
  pendingPayload.peerIdStrings.add(peerIdStr);
@@ -552,6 +576,7 @@ export class BlockInputSync {
552
576
  if (this.chain.forkChoice.getBlockHexAndBlockHash(parentRootHex, parentBlockHashHex) !== null) {
553
577
  return { kind: "ready" };
554
578
  }
579
+ // The parent's payload is known but does not match `parentBlockHashHex`
555
580
  if (this.chain.forkChoice.hasPayloadHexUnsafe(parentRootHex)) {
556
581
  return { kind: "invalidParentPayload", parentRootHex, parentBlockHashHex };
557
582
  }
@@ -882,7 +907,8 @@ export class BlockInputSync {
882
907
  }
883
908
  else if (blockSlot <= finalizedSlot) {
884
909
  // the common ancestor of the downloading chain and canonical chain should be at least the finalized slot and
885
- // we should found it through forkchoice. If not, we should penalize all peers sending us this block chain
910
+ // we should found it through forkchoice. If not, drop the chain without penalizing peers because pending entries are
911
+ // block retained on failed download, so finalization can pass the block while it is still pending
886
912
  // 0 - 1 - ... - n - finalizedSlot
887
913
  // \
888
914
  // parent 1 - parent 2 - ... - unknownParent block
@@ -890,7 +916,7 @@ export class BlockInputSync {
890
916
  ...logCtx2,
891
917
  finalizedSlot,
892
918
  });
893
- this.removeAndDownScoreAllDescendants(block, DroppedItemReason.belowFinalized);
919
+ this.removeAllDescendants(block, DroppedItemReason.belowFinalized);
894
920
  }
895
921
  else {
896
922
  this.onUnknownBlockRoot({ rootHex: pending.blockInput.parentRootHex, source: BlockInputSource.byRoot });
@@ -1009,14 +1035,17 @@ export class BlockInputSync {
1009
1035
  this.removeAllDescendants(pendingBlock, DroppedItemReason.elError, DroppedItemReason.elError);
1010
1036
  break;
1011
1037
  case BlockErrorCode.EXECUTION_ENGINE_INVALID:
1012
- // the peer served a bad block
1038
+ // Ban but do not downscore: optimistic-sync peers may forward and serve blocks whose payload is later
1039
+ // rejected by the execution engine. Per the spec, an INVALID execution payload SHOULD NOT cause a peer
1040
+ // to be down-scored or disconnected, only consensus-layer invalidity MAY.
1041
+ // https://github.com/ethereum/consensus-specs/blob/master/specs/bellatrix/p2p-interface.md#the-reqresp-domain
1013
1042
  this.logger.debug("Execution engine rejected block from unknown parent sync", errorData, res.err);
1014
- this.removeAndDownScoreAllDescendants(pendingBlock, DroppedItemReason.elInvalid);
1043
+ this.removeAndBanAllDescendants(pendingBlock, DroppedItemReason.elInvalid);
1015
1044
  break;
1016
1045
  default:
1017
1046
  // Block is not correct with respect to our chain. Log error loudly
1018
1047
  this.logger.debug("Error processing block from unknown parent sync", errorData, res.err);
1019
- this.removeAndDownScoreAllDescendants(pendingBlock, DroppedItemReason.invalidBlock);
1048
+ this.removeAllDescendants(pendingBlock, DroppedItemReason.invalidBlock);
1020
1049
  }
1021
1050
  }
1022
1051
  // Probably a queue error or something unwanted happened, mark as pending to try again latter
@@ -1191,18 +1220,21 @@ export class BlockInputSync {
1191
1220
  this.logger.debug("Execution engine error while processing payload from unknown sync", logCtx, res.err);
1192
1221
  pendingPayload.status = PendingPayloadInputStatus.downloaded;
1193
1222
  break;
1223
+ // The invalid envelope is evicted from the seen cache in the cases below, otherwise the next
1224
+ // attempt would reuse it instead of fetching another envelope from peers
1194
1225
  case PayloadErrorCode.EXECUTION_ENGINE_INVALID:
1195
1226
  this.logger.debug("Error processing payload from unknown sync", logCtx, res.err);
1227
+ this.chain.seenPayloadEnvelopeInputCache.removeInvalid(pendingPayload.payloadInput);
1196
1228
  this.removePendingPayloadAndDescendants(rootHex, DroppedItemReason.elInvalid);
1197
1229
  break;
1198
1230
  case PayloadErrorCode.ENVELOPE_VERIFICATION_ERROR:
1199
1231
  this.logger.debug("Error processing payload from unknown sync", logCtx, res.err);
1232
+ this.chain.seenPayloadEnvelopeInputCache.removeInvalid(pendingPayload.payloadInput);
1200
1233
  this.removePendingPayloadAndDescendants(rootHex, DroppedItemReason.invalidEnvelope);
1201
1234
  break;
1202
1235
  case PayloadErrorCode.INVALID_SIGNATURE:
1203
- // TODO GLOAS: Decide how invalid payload inputs should eventually leave memory without
1204
- // reintroducing envelope replacement / recreation flows.
1205
1236
  this.logger.debug("Error processing payload from unknown sync", logCtx, res.err);
1237
+ this.chain.seenPayloadEnvelopeInputCache.removeInvalid(pendingPayload.payloadInput);
1206
1238
  this.removePendingPayloadAndDescendants(rootHex, DroppedItemReason.invalidSignature);
1207
1239
  break;
1208
1240
  default:
@@ -1254,10 +1286,10 @@ export class BlockInputSync {
1254
1286
  throw Error(`Error fetching payload by root slot=${slot} root=${rootHex} after ${i}: ${reason}`);
1255
1287
  }
1256
1288
  const { peerId, client: peerClient } = peerMeta;
1257
- cacheItem.peerIdStrings.add(peerId);
1258
1289
  try {
1259
1290
  if (!envelope) {
1260
1291
  envelope = await this.fetchExecutionPayloadEnvelope(peerId, blockRoot, rootHex);
1292
+ cacheItem.peerIdStrings.add(peerId);
1261
1293
  const slotWasUnknown = typeof slot !== "number";
1262
1294
  slot = envelope.message.payload.slotNumber;
1263
1295
  if (slotWasUnknown) {
@@ -1292,6 +1324,8 @@ export class BlockInputSync {
1292
1324
  const missing = pendingPayload.payloadInput.getMissingSampledColumnMeta().missing;
1293
1325
  if (missing.length > 0) {
1294
1326
  const columnSidecars = await this.fetchPayloadColumns(peerMeta, pendingPayload.payloadInput, missing);
1327
+ // toPendingPayloadInput copied cacheItem's set, so add to the object that is carried forward
1328
+ pendingPayload.peerIdStrings.add(peerId);
1295
1329
  const seenTimestampSec = Date.now() / 1000;
1296
1330
  for (const columnSidecar of columnSidecars) {
1297
1331
  if (pendingPayload.payloadInput.hasColumn(columnSidecar.index)) {
@@ -1433,7 +1467,6 @@ export class BlockInputSync {
1433
1467
  throw Error(message);
1434
1468
  }
1435
1469
  const { peerId, client: peerClient } = peerMeta;
1436
- cacheItem.peerIdStrings.add(peerId);
1437
1470
  try {
1438
1471
  const downloadResult = await downloadByRoot({
1439
1472
  config: this.config,
@@ -1444,6 +1477,7 @@ export class BlockInputSync {
1444
1477
  cacheItem,
1445
1478
  });
1446
1479
  cacheItem = downloadResult.result;
1480
+ cacheItem.peerIdStrings.add(peerId);
1447
1481
  if (slot === undefined) {
1448
1482
  slot = cacheItem.blockInput.slot;
1449
1483
  // we were not able to observe the time into slot when starting the fetch, do it now
@@ -1545,41 +1579,8 @@ export class BlockInputSync {
1545
1579
  this.metrics?.blockInputSync.fetchPeers.set({ result: FetchResult.FailureMaxAttempts }, i - 1);
1546
1580
  throw Error(message);
1547
1581
  }
1548
- /**
1549
- * Gets all descendant blocks of `block` recursively from `pendingBlocks`.
1550
- * Assumes that if a parent block does not exist or is not processable, all descendant blocks are bad too.
1551
- * Downscore all peers that have referenced any of this bad blocks. May report peers multiple times if they have
1552
- * referenced more than one bad block.
1553
- */
1554
- removeAndDownScoreAllDescendants(block, headReason) {
1555
- // Get all blocks that are a descendant of this one
1556
- const badPendingBlocks = this.removeAllDescendants(block, headReason, DroppedItemReason.invalidParent);
1557
- // just console log and do not penalize on pending/bad blocks for debugging
1558
- // console.log("removeAndDownscoreAllDescendants", {block});
1559
- for (const block of badPendingBlocks) {
1560
- //
1561
- // TODO(fulu): why is this commented out here?
1562
- //
1563
- // this.knownBadBlocks.add(block.blockRootHex);
1564
- // for (const peerIdStr of block.peerIdStrings) {
1565
- // // TODO: Refactor peerRpcScores to work with peerIdStr only
1566
- // this.network.reportPeer(peerIdStr, PeerAction.LowToleranceError, "BadBlockByRoot");
1567
- // }
1568
- this.logger.debug("ignored Banning unknown block", {
1569
- slot: getBlockInputSyncCacheItemSlot(block),
1570
- root: getBlockInputSyncCacheItemRootHex(block),
1571
- peerIdStrings: Array.from(block.peerIdStrings)
1572
- .map((id) => prettyPrintPeerIdStr(id))
1573
- .join(","),
1574
- });
1575
- }
1576
- // Prune knownBadBlocks
1577
- pruneSetToMax(this.knownBadBlocks, MAX_KNOWN_BAD_BLOCKS);
1578
- }
1579
1582
  // Once a parent payload is invalid, every descendant waiting on that payload lineage becomes unrecoverable too.
1580
1583
  removePendingPayloadAndDescendants(rootHex, headReason) {
1581
- // Keep PayloadEnvelopeInput resident in the seen cache. importBlock() owns that object and
1582
- // later validation/finalization logic decides when it can leave memory.
1583
1584
  if (this.pendingPayloads.delete(rootHex)) {
1584
1585
  this.metrics?.blockInputSync.removedPayloads.inc({ reason: headReason }, 1);
1585
1586
  }
@@ -1600,9 +1601,50 @@ export class BlockInputSync {
1600
1601
  });
1601
1602
  }
1602
1603
  }
1604
+ /**
1605
+ * Same as `removeAndBanAllDescendants`, and downscores every peer that referenced or served a banned item, once per
1606
+ * peer. Only call for consensus-layer invalidity, never for an INVALID execution payload:
1607
+ * https://github.com/ethereum/consensus-specs/blob/master/specs/bellatrix/p2p-interface.md#the-reqresp-domain
1608
+ */
1609
+ removeAndDownScoreAllDescendants(block, headReason) {
1610
+ const peersToReport = new Set();
1611
+ for (const bannedBlock of this.removeAndBanAllDescendants(block, headReason)) {
1612
+ for (const peerIdStr of bannedBlock.peerIdStrings) {
1613
+ peersToReport.add(peerIdStr);
1614
+ }
1615
+ }
1616
+ for (const peerIdStr of peersToReport) {
1617
+ this.network.reportPeer(peerIdStr, PeerAction.LowToleranceError, headReason);
1618
+ }
1619
+ }
1620
+ /**
1621
+ * Removes `block` and all its pending descendants and bans their roots in `knownBadBlocks`. Only call when the chain
1622
+ * is provably bad: a banned root is never searched for again. Returns the banned items.
1623
+ */
1624
+ removeAndBanAllDescendants(block, headReason) {
1625
+ const bannedBlocks = [];
1626
+ for (const badBlock of this.removeAllDescendants(block, headReason, DroppedItemReason.invalidParent)) {
1627
+ const rootHex = getBlockInputSyncCacheItemRootHex(badBlock);
1628
+ // a gossip import may race a failing sync path, never ban a root fork choice has imported
1629
+ if (this.chain.forkChoice.hasBlockHex(rootHex)) {
1630
+ continue;
1631
+ }
1632
+ this.knownBadBlocks.add(rootHex);
1633
+ bannedBlocks.push(badBlock);
1634
+ this.logger.debug("Banning unknown block", {
1635
+ slot: getBlockInputSyncCacheItemSlot(badBlock),
1636
+ root: rootHex,
1637
+ reason: headReason,
1638
+ peerIdStrings: Array.from(badBlock.peerIdStrings)
1639
+ .map((id) => prettyPrintPeerIdStr(id))
1640
+ .join(","),
1641
+ });
1642
+ }
1643
+ pruneSetToMax(this.knownBadBlocks, MAX_KNOWN_BAD_BLOCKS);
1644
+ return bannedBlocks;
1645
+ }
1603
1646
  removeAllDescendants(block, headReason, descendantReason = DroppedItemReason.invalidParent) {
1604
1647
  const rootHex = getBlockInputSyncCacheItemRootHex(block);
1605
- const slot = getBlockInputSyncCacheItemSlot(block);
1606
1648
  // Get all blocks that are a descendant of this one (index 0 is the head item itself)
1607
1649
  const badPendingBlocks = [block, ...getAllDescendantBlocks(rootHex, this.pendingBlocks)];
1608
1650
  for (const [i, block] of badPendingBlocks.entries()) {
@@ -1618,8 +1660,8 @@ export class BlockInputSync {
1618
1660
  // Keep PayloadEnvelopeInput resident in the seen cache for consistency with the
1619
1661
  // importBlock()-owned lifecycle.
1620
1662
  this.logger.debug("Removing bad/unknown/incomplete BlockInputSyncCacheItem", {
1621
- slot,
1622
- blockRoot: rootHex,
1663
+ slot: getBlockInputSyncCacheItemSlot(block),
1664
+ root: rootHex,
1623
1665
  });
1624
1666
  }
1625
1667
  return badPendingBlocks;