Etan Kissling
48a4955e50
fix EIP-7044 implementation when using batch verification ( #5953 )
...
In #5120 , EIP-7044 support got added to the state transition function to
force `CAPELLA_FORK_VERSION` to be used when validiting `VoluntaryExit`
messages, irrespective of their `epoch`.
In #5637 , similar logic was added when batch verifying BLS signatures,
which is used during gossip validation (libp2p gossipsub, and req/resp).
However, that logic did not match the one introduced in #5120 , and only
uses `CAPELLA_FORK_VERSION` when a `VoluntaryExit`'s `epoch` was set to
a value `>= CAPELLA_FORK_EPOCH`. Otherwise, `BELLATRIX_FORK_VERSION`
would still be used when validating `VoluntaryExit`, e.g., with `epoch`
set to `0`, as is the case in this Holesky block:
- https://holesky.beaconcha.in/slot/1076985#voluntary-exits
Extracting the correct logic from #5120 into a function, and reusing it
when verifying BLS signatures fixes this issue, and also leverages the
exhaustive EF test suite that covers the (correct) #5120 logic.
This fix only affects networks that have EIP-7044 applied (post-Deneb).
Without the fix, Deneb blocks with a `VoluntaryExit` with `epoch` set to
`< CAPELLA_FORK_EPOCH` incorrectly fail to validate despite being valid.
Incorrect blocks that contain a malicious `VoluntaryExit` with `epoch`
set to `< CAPELLA_FORK_EPOCH` and signed using `BELLATRIX_FORK_VERSION`
_would_ pass the BLS verification stage, but subsequently fail the state
transition logic. Such blocks would still correctly be labeled invalid.
2024-02-26 16:25:12 +02:00
tersec
d8a2690a92
update builder API spec reference URLs to v0.4.0 ( #5812 )
2024-01-22 08:36:46 +01:00
tersec
6c53dc1e11
automated consensus spec URL updating to v1.4.0-beta.6 ( #5804 )
2024-01-20 11:19:47 +00:00
Jacek Sieka
62cbdeefc5
verify `genesis_time` more strictly ( fixes #1667 ) ( #5694 )
...
Bogus values lead to crashes down the line when timers overflow
2024-01-06 15:26:56 +01:00
tersec
9c6ba7d142
consensus spec v1.4.0-beta.5 URL updates ( #5672 )
2023-12-16 03:27:06 +01:00
tersec
4776fecc33
consensus spec v1.4.0-beta.5 URL updates ( #5655 )
2023-12-06 22:16:55 +00:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
tersec
ab5343d1bc
update some consensus spec URLs to v1.4.0-beta.4 ( #5631 )
2023-11-27 19:56:34 +01:00
tersec
c96163dbca
update some consensus spec URLs to v1.4.0-beta.4 ( #5594 )
2023-11-11 06:27:53 +01:00
tersec
7e3aeaea09
automated consensus spec URL updating to v1.4.0-beta.4 ( #5577 )
2023-11-08 05:28:03 +00:00
Etan Kissling
d8a7f0df81
update Deneb for blob sidecar inclusion proofs ( #5565 )
...
`BlobSidecar` is no longer signed, instead use Merkle proof to link
blobs with block.
- https://github.com/ethereum/consensus-specs/pull/3531
Associated beacon-API / builder-specs still TBD; minimal changes done
to compile in similar style to previous spec, but not standardized yet.
- https://github.com/ethereum/beacon-APIs/pull/369
- https://github.com/ethereum/builder-specs/pull/90
2023-11-06 07:48:43 +01:00
tersec
62d59daaa7
consensus-spec URL updates to v1.4.0-beta.3 ( #5541 )
2023-10-30 06:44:43 +00:00
tersec
34eade3a99
sign blinded blob sidecars during builder API proposals ( #5537 )
2023-10-28 05:10:23 +00:00
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00
tersec
40616b6243
update some consensus spec URLs to v1.4.0-beta.2 ( #5497 )
2023-10-12 05:07:41 +00:00
tersec
2895a9a05c
automated consensus spec URL updating to v1.4.0-beta.2 ( #5453 )
2023-09-21 18:06:51 +00:00
tersec
d171303133
update some consensus spec URLs to v1.4.0-beta.1 ( #5287 )
2023-08-12 10:38:06 +00:00
tersec
85e1976ac3
automated consensus spec URL updating to v1.4.0-beta.1 ( #5280 )
2023-08-09 03:58:47 +00:00
tersec
18061f7991
Remove most remaining portions of Bellatrix Builder API ( #5272 )
2023-08-08 00:05:17 +00:00
tersec
2ae2d0a042
remove Bellatrix Builder API (Signed)BuilderBid ( #5262 )
...
* remove Bellatrix Builder API (Signed)BuilderBid
* stub out BlindedBeaconBlock
2023-08-06 09:20:43 +00:00
henridf
99264d7507
Local validator proposals ( #5137 )
...
* Implement local validator block proposals
* Address review feedback
* Fix rebase issue
2023-06-30 07:39:41 +00:00
tersec
614202e30d
automated consensus spec URL updating to v1.4.0-beta.0 ( #5121 )
2023-06-24 15:43:30 +00:00
henridf
ae29babd9f
Implement blob sidecar signatures ( #5072 )
...
* Implement blob sidecar signatures
* Update allTests
2023-06-16 15:47:18 +00:00
tersec
54cc7bb7a1
update some consensus-spec URLs to v1.4.0-alpha.3 ( #5074 )
2023-06-13 21:07:39 +00:00
tersec
788cdb7133
automated v1.4.0-alpha.2 to v1.4.0-alpha.3 consensus spec URL updates ( #5065 )
2023-06-13 14:03:49 +00:00
tersec
22208836b1
automated v1.4.0-alpha.1 to v1.4.0-alpha.2 consensus spec URL updates ( #5056 )
2023-06-10 09:56:54 +00:00
tersec
30c859e8a4
update some consensus-spec URLs to v1.4.0-alpha.1 ( #5035 )
2023-06-06 17:09:48 +00:00
tersec
f86febc111
update consensus spec URLs to v1.4.0-alpha.1 ( #5027 )
2023-06-04 10:32:50 +00:00
tersec
1f535336da
automated v1.3.0 to v1.4.0-alpha.0 consensus spec URL updates ( #4996 )
...
* automated v1.3.0 to v1.4.0-alpha.0 consensus spec URL updates
* add copyright year headers
2023-05-26 00:14:28 +02:00
tersec
6024b3e508
rm unused function and unexport some others ( #4941 )
2023-05-14 22:56:14 +00:00
Etan Kissling
b04970189b
more v1.3.0 consensus-specs bumps ( #4915 )
...
More spec references for unchanged logic bumped to v1.3.0.
2023-05-09 17:20:37 +00:00
tersec
b390911e93
automatic update of v1.3.0-rc.5 consensus spec URLs to v1.3.0 ( #4848 )
2023-04-21 18:52:43 +00:00
tersec
4643a357ef
consensus spec ref URL update to v1.3.0-rc.5 ( #4837 )
2023-04-18 22:00:06 +00:00
henridf
04302081b4
Add blob sidecar gossip validation ( #4785 )
...
* Add blob gossip validation
* lint
* Add test for getBlobSidecarTopic
* Fix closure variable capture issue
* Update beacon_chain/nimbus_beacon_node.nim
Co-authored-by: tersec <tersec@users.noreply.github.com>
---------
Co-authored-by: tersec <tersec@users.noreply.github.com>
2023-04-04 15:12:34 +00:00
tersec
2f634c10a4
automated consensus spec URL updating from v1.3.0-rc.4 to rc.5 ( #4756 )
2023-03-21 00:42:22 +00:00
tersec
0c62950de6
more consensus spec v1.3.0-rc.4 URL updates ( #4744 )
2023-03-17 12:14:08 +00:00
tersec
ec77116414
automated consensus spec URL updating from v1.3.0-rc.3 to rc.4 ( #4742 )
2023-03-17 01:10:31 +00:00
tersec
29fb65a9db
automated update of v1.3.0-rc.2 to v1.3.0-rc.3 consensus spec URLs ( #4647 )
2023-02-21 16:43:21 +00:00
tersec
79eddcde40
capella builder API support ( #4643 )
...
* capella builder API support
* use capella EPH when appropriate
* fill in ExecutionPayload.withdrawals and sanity-check builder API withdrawals root
2023-02-21 14:21:38 +01:00
tersec
0cc0c7e6b7
builder spec v0.3.0 URL updates ( #4641 )
...
* builder spec v0.3.0 URL updates
* remove stray non-URL/comment change
2023-02-18 01:54:30 +01:00
tersec
a382498cfe
batch-verify BLS to execution change messages ( #4637 )
2023-02-17 13:35:12 +00:00
tersec
bca781b1b0
prioritize REST API-provided BLS to execution changes over gossip-received changes ( #4580 )
2023-02-03 16:28:28 +01:00
tersec
58ed9308d2
automated v1.3.0-rc.1 to v1.3.0-rc.2 consensus spec URL updates ( #4568 )
2023-01-31 00:26:57 +01:00
tersec
aacc8d702d
remove Nim 1.2-compatible `push raise`s and update copyright notice years ( #4528 )
2023-01-20 14:14:37 +00:00
tersec
073c544f0c
automated update from v1.3.0-rc.0 to v1.3.0-rc.1 consensus spec URLs ( #4517 )
2023-01-17 16:10:52 +00:00
tersec
68e08c6f15
use v1.3.0-rc.1 consensus spec test vectors ( #4505 )
2023-01-14 04:20:51 +00:00
tersec
4f9064a153
consensus spec ref URL updates ( #4496 )
2023-01-12 13:33:14 +00:00
Jacek Sieka
ba3db7aa5a
spec: Option -> Opt ( #4488 )
2023-01-11 12:29:21 +00:00
tersec
2dd3cd786f
consensus spec ref URL update v1.3.0-{alpha.2,rc.0}; copyright year update ( #4477 )
2023-01-09 22:44:44 +00:00
tersec
c5d1683f19
spec ref URL & copyright year updates ( #4467 )
2023-01-06 16:28:46 +00:00