Agnish Ghosh
fc8f3e0ea7
persist non finalized block data columns
2024-10-14 02:04:39 +05:30
Agnish Ghosh
1c1ff21bf9
other fixes
2024-10-14 01:20:51 +05:30
Agnish Ghosh
1cf1a62367
make sure quarantine persistent across all threads
2024-10-13 17:11:37 +05:30
Agnish Ghosh
1f3e2a94db
missing data column logic
2024-10-13 16:21:59 +05:30
Agnish Ghosh
6fc5fc79ed
have gather data columns in enqueue block
2024-10-13 13:48:51 +05:30
Agnish Ghosh
198ac66e2c
add more checks to ensure all custody columns are received
2024-10-13 04:22:23 +05:30
Agnish Ghosh
622cd0b087
slight bug fix
2024-10-13 01:52:37 +05:30
Agnish Ghosh
4a5995797f
fix
2024-10-12 19:20:36 +05:30
Agnish Ghosh
dfcc89138f
add more specifics to reconstruction and block addition conditions
2024-10-12 16:42:56 +05:30
Agnish Ghosh
18fe511cc2
attempt to recover columns while backfilling
2024-10-12 03:41:23 +05:30
Agnish Ghosh
6ae1418e91
fix reconstruction from gossip logic
2024-10-12 01:48:18 +05:30
Agnish Ghosh
826a4f60f8
have 2 distinct functions for having enough and missing data columns
2024-10-11 21:42:28 +05:30
Agnish Ghosh
ae46c85136
modify gatherDataColumns logic
2024-10-10 14:32:38 +05:30
Agnish Ghosh
d456b99e37
fix
2024-10-10 05:03:21 +05:30
Agnish Ghosh
a0a8ebfe22
slight fix in recon from gossip
2024-10-10 05:02:53 +05:30
Agnish Ghosh
1d80f7608d
attempt reconstruction from gossip itself
2024-10-10 04:34:39 +05:30
Agnish Ghosh
4a006b5584
fix every place to make new custody column function work
2024-09-09 02:09:24 +05:30
Agnish Ghosh
9be615dff9
add: data column reconstruction and broadcast ( #6481 )
...
* save commit, decouples reconstruction and broadcasting
* save progress
* add: reconstruction event loop, previous reconstruction related cleanups
2024-08-08 17:44:55 +05:30
Agnish Ghosh
b32205de7c
upstream peerdas alpha3 related spec changes + fix upstream related issues ( #6468 )
...
* reworked some of the das core specs, pr'd to check whether whether the conflicting type issue is centric to my machine or not
* bumped nim-blscurve to 9c6e80c6109133c0af3025654f5a8820282cff05, same as unstable
* bumped nim-eth2-scenarios, nim-nat-traversal at par with unstable, added more pathches, made peerdas devnet branch backward compatible, peerdas passing new ssz tests as per alpha3, disabled electra fixture tests, as branch hasn't been rebased for a while
* refactor test fixture files
* rm: serializeDataColumn
* refactor: took data columns extracted from blobs during block proposal to the heap
* disable blob broadcast in pd devnet
* fix addBlock in message router
* fix: data column iterator
* added debug checkpoints to check CI
* refactor if else conditions
* add: updated das core specs to alpha 3, and unit tests pass
2024-08-05 19:27:39 +05:30
Agnish Ghosh
85db9ca99c
regressive fix
2024-07-06 00:33:15 +05:30
Agnish Ghosh
152d276d78
added reconstruction logic
2024-07-03 21:50:52 +05:30
Agnish Ghosh
67fe8aca0b
disable blob activity (exp), improve gossip validation
2024-07-02 14:36:44 +05:30
Agnish Ghosh
5bf1e021a7
initiate data column quarantine
2024-06-28 14:53:08 +05:30
Agnish Ghosh
325bdfd4a2
support for enqueueing whichever is activated blob/data_column
2024-06-25 18:08:00 +05:30
Agnish Ghosh
791d2fb0d1
add: forward and backward syncing for data columns, broadcasting data columns created from blobs, added dc support to sync_queue
2024-06-24 17:32:06 +05:30
Agnish Ghosh
46d07b140d
add: data column support in sync_protocol, sync_manager, request_manager, fix: gossipValidation rules
2024-06-18 19:01:56 +05:30
Agnish Ghosh
aa2ce79770
fixed upto electra
2024-05-27 18:10:00 +05:30
tersec
c1b9e82502
electra attestation gossip plumbing ( #6287 )
2024-05-14 19:01:26 +03:00
tersec
3f972a2ca5
add some support for electra aggregated attestations ( #6283 )
2024-05-14 06:12:35 +02:00
tersec
d139c92df9
explicitly scope AttesterSlashing and IndexedAttestation types to phase0 ( #6224 )
2024-04-21 05:49:11 +00:00
tersec
603c83522e
explicitly refer to phase0.{Attestation,TrustedAttestation} rather than sans module name ( #6214 )
2024-04-17 20:44:29 +00:00
tersec
e51c5ec783
add Electra blob support to block/blob quarantines, block processor, and request manager ( #6201 )
2024-04-11 09:31:39 +00:00
tersec
7fa32b7f02
add Electra to ConsensusFork enum ( #6169 )
...
* add Electra to ConsensusFork enum
* fix gnosis check
2024-04-03 16:43:43 +02:00
Etan Kissling
6f466894ab
answer `RequestManager` queries from disk if possible ( #6109 )
...
When restarting beacon node, orphaned blocks remain in the database but
on startup, only the canonical chain as selected by fork choice loads.
When a new block is discovered that builds on top of an orphaned block,
the orphaned block is re-downloaded using sync/request manager, despite
it already being present on disk. Such queries can be answered locally
to improve discovery speed of alternate forks.
2024-03-21 18:37:31 +01:00
tersec
134774e00d
ensure reason field logging consistently uses string type ( #5878 )
2024-02-10 03:50:31 +01:00
Etan Kissling
b7026a683a
avoid marking blocks as unviable if `blobless` quarantine is full ( #5858 )
...
Full caches should not be used to mark blocks as unviable. The unviable
status is quite persistent and a block marked as such won't be processed
again once the cache empties. Problem originally introduced in #4808 .
2024-02-07 13:38:20 +00:00
tersec
45b4b46041
use "reason" instead of "error"/"validatorError" to log gossip ignore/reject reasons ( #5839 )
2024-01-31 03:18:20 +00:00
Jacek Sieka
6328c77778
raises for gossip ( #5808 )
...
* raises for gossip
* fix light client
2024-01-22 17:34:54 +01:00
Etan Kissling
e7794b6aec
log `delay` relative to deadline ( #5769 )
...
To better analyze logs across different `SECONDS_PER_SLOT`, log delays
for duties relative to their deadline instead of relative to slot start.
2024-01-17 15:52:19 +01: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
Etan Kissling
030226148d
rename `exit_pool` > `validator_change_pool` ( #5679 )
...
The `ExitPool` was renamed to `ValidatorChangePool` with Capella, but
the files were still using the previous name. Rename for consistency.
2023-12-23 06:55:47 +01:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
tersec
2fc43c9ba7
track block/blob matching/quarantines using both indices and commitments ( #5621 )
2023-12-01 18:58:46 +00:00
tersec
115ffa70eb
rm unused code ( #5623 )
2023-11-25 12:09:18 +00: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
Etan Kissling
f14389bb84
avoid perpetually sending blobs to peers ( #5563 )
...
Fix regression from #4808 where blobs that are already known are issued
ACCEPT verdict, propagating them to peers over and over again.
`validateBlobSidecar` contains the correct IGNORE logic. Moved it above
the expensive checks to retain the performance of the check.
2023-11-04 20:36:12 +01:00
Etan Kissling
87a37a32e3
introduce `BlobId` type for tracking blob subnets ( #5560 )
...
Instead of mixing up `SubnetId` (attestation subnet type) for blobs,
introduce dedicated `BlobId` type.
2023-11-04 14:20:34 +00:00
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00
Etan Kissling
7c45b8f98d
convert remaining `toFork` -> `kind` for consistency ( #5462 )
...
We currently have multiple ways to obtain `ConsensusFork` or
`LcDataFork` from a forky type. Rename `toFork` to `kind`
for a consistent API naming.
2023-09-27 15:10:28 +00:00