88 Commits

Author SHA1 Message Date
Agnish Ghosh
c1cb673d6c fix bug 2024-09-19 17:22:08 +05:30
Agnish Ghosh
e8b64d8dd2 subnet sampling part 2 2024-09-19 13:36:56 +05:30
Agnish Ghosh
9b79a9df5b gossip wait time 2024-09-18 14:51:48 +05:30
Agnish Ghosh
7d04142e4a simplify usage of get custody columns 2024-09-09 01:58:21 +05:30
Agnish Ghosh
3aa85100f9 move lookupCscFromPeer to Eth2Network, add reqColumns check in data column sidecar range request 2024-09-02 16:45:10 +05:30
Agnish Ghosh
66cb3ff54e only persist data columns after block validity 2024-08-28 18:03:21 +05:30
Agnish Ghosh
e87871e2cb save work 2024-08-23 15:56:36 +05:30
Agnish Ghosh
ee9889ca91 disable blobs for syncing because of fake deneb fork 2024-08-23 12:31:54 +05:30
Agnish Ghosh
de7cbd8ca4 reduce gossip wait time for data columns 2024-08-23 11:46:06 +05:30
Agnish Ghosh
bf60839e67 increase waiting time for data column root request 2024-08-23 02:59:45 +05:30
Agnish Ghosh
b4ba4bd7d1 lookup csc fix 2024-08-22 20:09:43 +05:30
Agnish Ghosh
6127bd6ed2 make all csc uint64 2024-08-22 18:34:26 +05:30
Agnish Ghosh
3f56281351 fixed lookup csc from peer 2024-08-22 13:52:41 +05:30
Agnish Ghosh
e163aa08c0 enable filtering of peers during data column root request 2024-08-21 18:23:05 +05:30
Agnish Ghosh
0034fea1d6 reduce outgoing root requests 2024-08-19 20:42:58 +05:30
Agnish Ghosh
f71354b307 experimentally disable verifying data column sidecar before storing block 2024-08-19 13:52:47 +05:30
Agnish Ghosh
635eebbed1 fix response time 2024-08-19 13:17:33 +05:30
Agnish Ghosh
9ed7a193cd disable rman for blobs 2024-08-19 02:58:50 +05:30
Agnish Ghosh
7e7c14989e bump up data column gossip wait time 2024-08-18 22:23:33 +05:30
Agnish Ghosh
f5354eb46d
bump parallel requests for data columns upto 64 for supernode 2024-08-18 12:17:25 +05:30
Agnish Ghosh
04fd58efbf
disable valid csc set experimentally 2024-08-18 04:11:39 +05:30
Agnish Ghosh
cd5532c078 add filtering to peer pool and protocol, remove filtering from SyncManager level 2024-08-17 20:51:36 +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
c6513122b9 fix reviewed code 2024-07-23 12:38:16 +05:30
Agnish Ghosh
b001499281 add: valid custody peer set to RequestManager 2024-07-23 12:36:42 +05:30
Agnish Ghosh
74ee8bb74d
refactor cells and proofs logic + fix edge cases 2024-07-06 13:24:51 +05:30
Agnish Ghosh
1729bdcf57
reduce parallel requests 2024-07-06 00:30:18 +05:30
Agnish Ghosh
b927ddd65a
fix: get_data_column_sidecars 2024-07-04 13:55:51 +05:30
Agnish Ghosh
152d276d78
added reconstruction logic 2024-07-03 21:50:52 +05:30
Agnish Ghosh
0e710da37b
update timings 2024-07-02 21:27:50 +05:30
Agnish Ghosh
67fe8aca0b
disable blob activity (exp), improve gossip validation 2024-07-02 14:36:44 +05:30
Agnish Ghosh
26ac58716b
request man for data columns 2024-07-01 15:00:18 +05:30
Agnish Ghosh
ca3bd3eeee
experimental: disable scoring for data columns 2024-06-28 18:04:46 +05:30
Agnish Ghosh
5bf1e021a7
initiate data column quarantine 2024-06-28 14:53:08 +05:30
Agnish Ghosh
e2afc583cb
fix: reviews, pass1 2024-06-21 14:51:54 +05:30
Agnish Ghosh
51f189ef53
add: getMissingDataColumns, requestManagerDataColumnLoop 2024-06-19 03:46:03 +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
tersec
e51c5ec783
add Electra blob support to block/blob quarantines, block processor, and request manager (#6201) 2024-04-11 09:31:39 +00:00
Etan Kissling
96e27d9d35
avoid modifying blobless collection during iteration in edge case (#6168)
The fallback when blobless quarantine contains a block with all blobs
modifies collection while iterating, potentially asserting if reachable.
Using a second loop to process this situation resolves that.
2024-04-03 23:02:24 +02:00
Etan Kissling
2d9586a5a8
enqueue missing parent block if stored in local DB (#6122)
When checking for `MissingParent`, it may be that the parent block was
already discovered as part of a prior run. In that case, it can be
loaded from storage and processed without having to rediscover the
entire branch from the network. This is similar to #6112 but for blocks
that are discovered via gossip / sync mgr instead of via request mgr.
2024-03-22 14:35:46 +01: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
e865817d44
add some push raises, ElectraBeaconStateNoImmutableValidators, and ELECTRA_FORK_VERSION/EPOCH (#5949) 2024-02-24 05:08:22 +00:00
tersec
642774e596
unrevert rest of https://github.com/status-im/nimbus-eth2/pull/5765 (#5867)
* unrevert rest of https://github.com/status-im/nimbus-eth2/pull/5765

* rm stray e2store docs changes

* reduce diff

* fix indent

---------

Co-authored-by: Jacek Sieka <jacek@status.im>
2024-02-09 09:35:41 +01:00
tersec
225ef5e69a
partially revert https://github.com/status-im/nimbus-eth2/pull/5765 (#5833) 2024-01-28 23:45:52 +01:00
Jacek Sieka
3ff9b69bf1
simplify eth2_network error handling (#5765)
This PR gets rid of a bunch of redundant exception handling through
async raises guarantees.

More can be removed once libp2p gets properly annotated.
2024-01-19 21:05:52 +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
2fc43c9ba7
track block/blob matching/quarantines using both indices and commitments (#5621) 2023-12-01 18:58:46 +00:00
tersec
91b5204e52
stop checking beacon parent root for fcU caching (#5635) 2023-12-01 12:24:23 +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
a05278e263
wrap kzgs/proofs/blobs fields as BlobsBundle (#5562)
Less type conversion / copying by keeping the `BlobsBundle` together.
2023-11-04 13:49:58 +00:00