agnxsh
4cd641372a
fix message handlers
2025-02-01 00:22:04 +05:30
agnxsh
c6ef55a310
fix indentation
2025-02-01 00:22:04 +05:30
Agnish Ghosh
bdd3d5081d
don't ignore data column sidecars, even if you already have block
2025-02-01 00:22:04 +05:30
Agnish Ghosh
0afb4a2edc
halt rman blob loop post fulu fork epoch
2025-02-01 00:22:04 +05:30
Agnish Ghosh
3762c2c60e
gate more
2025-02-01 00:22:04 +05:30
Agnish Ghosh
947a71ba79
try to gate a few operations to < Fulu
2025-02-01 00:22:04 +05:30
Agnish Ghosh
1fef674040
resolved review comments, enabled more debug logs, fixed a couple of things
2025-02-01 00:22:04 +05:30
Agnish Ghosh
ceff7058b7
fix copyright years
2025-02-01 00:22:04 +05:30
Agnish Ghosh
e7bc436289
several fixes
2025-02-01 00:22:04 +05:30
Agnish Ghosh
e73379eabb
add column support to light forward sync
2025-02-01 00:22:04 +05:30
Agnish Ghosh
21d771a2a0
save progress
2025-02-01 00:22:04 +05:30
Agnish Ghosh
222cff0532
add columns to initializers of Eth2 and BlockProcessor
2025-02-01 00:22:04 +05:30
Agnish Ghosh
eebbdc50d8
init: columns to the block/eth2 processor
2025-02-01 00:22:04 +05:30
tersec
5547d2a143
automated consensus spec URL updating to v1.5.0-beta.1 ( #6871 )
2025-01-25 05:11:15 +01:00
tersec
5d26134591
ramify the new ELECTRA blob settings through more; add single_attestation event queue; add initial vanity logs phrasing ( #6865 )
...
* ramify the new ELECTRA blob settings through more; add single_attestation event queue; add initial vanity logs phrasing
* add REST test rule
2025-01-23 18:53:12 +01:00
tersec
bb22476175
some manual consensus spec URL updates to v1.5.0-alpha.10 ( #6827 )
...
* some manual consensus spec URL updates to v1.5.0-alpha.10
* copyright year linting
2025-01-08 06:47:22 +00:00
Agnish Ghosh
0a2da6897c
clean up eip7594 naming, useful links, test suite naming ( #6820 )
...
* clean up eip7594 naming, useful links, test suite naming
* fix copyright year
* updated tests
2025-01-07 22:49:22 +00:00
tersec
177897929b
fix Electra aggregated attestation gossip verification committee index ( #6800 )
2024-12-29 16:12:43 +01:00
Agnish Ghosh
c0108c2f2a
introduced custody groups, and renamed csc to cgc ( #6789 )
...
* introduced custody groups, and renamed csc to cgc
* accomodate tests
* revert to naming columns
* applied review changes
* updated all tests file
* addressed review 2
* merged in typo fixes by airdop farmers/other spam PRs
* handle lint ci
* shift to iterators, avoid redundant copying
2024-12-28 22:07:12 +01:00
tersec
9c9cbed987
implement SingleAttestation ( #6783 )
...
* implement SingleAttestation
* improve SingleAttestation shortLog
* avoid double ShuffleRef lookups in majority/happy case
* restore full electra check_aggregation_count, separately from phase0 one
2024-12-23 16:32:29 +00:00
tersec
ba5beffb52
restore electra aggregate gossip validation to parity ( #6787 )
2024-12-23 17:10:23 +01:00
tersec
79e886c6fc
implement EIP-7691 gossip validation for increased max blobs per block ( #6785 )
2024-12-23 14:06:14 +01:00
Agnish Ghosh
c728d8754c
custody subnet count decoding during discovery ( #6777 )
...
* renamed eip7594_helpers to peerdas_helpers, added csc subnet decoding during discovery
* added link
2024-12-20 11:23:46 +01:00
Jacek Sieka
031d24ff41
taskpools: bump ( #6757 )
...
* taskpools: bump
* better raises effects
* get rid of custom naming
* bump
* oops
* bump stable
2024-12-11 11:12:56 +00:00
tersec
5579c5234f
automated consensus spec URL updating to v1.5.0-alpha.9 ( #6725 )
2024-11-24 13:16:09 +01:00
Agnish Ghosh
a157760643
Init Fulu fork ( #6677 )
...
* fulu
* fix ci
* fix ncli
* attempt to fix ci
* fix wss_sim build
* fix vc api
* updated tests
* resolve merge conflicts
* fix tests
* fix check
* attempt to fix minimal test in CI
* addressed reviews
---------
Co-authored-by: tersec <tersec@users.noreply.github.com>
2024-11-13 10:29:14 +07:00
Eugene Kabanov
18409a69e1
Light forward sync mechanism ( #6515 )
...
* Initial commit.
* Add hybrid syncing.
* Compilation fixes.
* Cast custom event for our purposes.
* Instantiate AsyncEventQueue properly.
* Fix mistype.
* Further research on optimistic updates.
* Fixing circular deps.
* Add backfilling.
* Add block download feature.
* Add block store.
* Update backfill information before storing block.
* Use custom block verifier for backfilling sync.
* Skip signature verification in backfilling.
* Add one more generic reload to storeBackfillBlock().
* Add block verification debugging statements.
* Add more debugging
* Do not use database for backfilling, part 1.
* Fix for stash.
* Stash fixes part 2.
* Prepare for testing.
* Fix assertion.
* Fix post-restart syncing process.
* Update backfill loading log statement.
Use proper backfill slot callback for sync manager.
* Add handling of Duplicates.
* Fix store duration and block backfilled log statements.
* Add proper syncing state log statement.
* Add snappy compression to beaconchain_file.
Format syncing speed properly.
* Add blobs verification.
* Add `slot` number to file structure for easy navigation over stream of compressed objects.
* Change database filename.
* Fix structure size.
* Add more consistency properties.
* Fix checkRepair() issues.
* Preparation to state rebuild process.
* Add plain & compressed size.
* Debugging snappy encode process.
* Add one more debugging line.
* Dump blocks.
* One more filedump.
* Fix chunk corruption code.
* Fix detection issue.
* Some fixes in state rebuilding process.
* Add more clearance steps.
* Move updateHead() back to block_processor.
* Fix compilation issues.
* Make code more async friendly.
* Fix async issues.
Add more information when proposer verification failed.
* Fix 8192 slots issue.
* Fix Future double completion issue.
* Pass updateFlags to some of the core procedures.
* Fix tests.
* Improve initial sync handling mechanism.
* Fix checkStateTransition() performance improvements.
* Add some performance tuning and meters.
* Light client performance tuning.
* Remove debugging statement.
* Use single file descriptor for blockchain file.
* Attempt to fix LC.
* Fix timeleft calculation when untrusted sync backfilling started right after LC block received.
* Workaround for `chronicles` + `results` `error` issue.
Remove some compilation warnings.
Fix `CatchableError` leaks on Windows.
* Address review comments.
* Address review comments part 2.
* Address review comments part 1.
* Rebase and fix the issues.
* Address review comments part 3.
* Add tests and fix some issues in auto-repair mechanism.
* Add tests to all_tests.
* Rename binary test file to pass restrictions.
* Add `bin` extension to excluded list.
Recover binary test data.
* Rename fixture file to .bin again.
* Update AllTests.
* Address review comments part 4.
* Address review comments part 5 and fix tests.
* Address review comments part 6.
* Eliminate foldl and combine from blobs processing.
Add some tests to ensure that checkResponse() also checks for correct order.
* Fix forgotten place.
* Post rebase fixes.
* Add unique slots tests.
* Optimize updateHead() code.
* Add forgotten changes.
* Address review comments on state as argument.
2024-10-30 05:38:53 +00:00
Eugene Kabanov
a3d4a3ee5e
BN: Fix el_manager timeouts issue in block processing. ( #6665 )
...
* Fix el_manager + block_processor NEWPAYLOAD_TIMEOUT timeouts issue.
Use predefined array of exponential timeouts when all the requests to EL has been failed.
* Increase timeout value to (next_slot.start_time - 1.second)
* Address review comments.
* Do not repeat requests when node is optimistically synced.
2024-10-23 00:42:46 +00:00
Agnish Ghosh
250a80eb0c
add gossip validation for dc, and data column quarantine strategy ( #6581 )
...
* add gossip validation for dc
* review 1
* rm callback
* review 2
* added custody columns as a global entity
* alpha 8
* few typosA
2024-10-22 05:19:34 +00:00
Etan Kissling
6f6de8d9dc
Implement latest EIP-7685 requestsHash
method ( #6667 )
...
It's now this weird one-off hashing method so that EL can partially
forget in some modules what the data schema is.
2024-10-21 17:09:26 +02:00
tersec
7e5338deb3
disable optimistic Electra EL block hash verification ( #6664 )
2024-10-21 05:09:33 +02:00
tersec
5608a803d7
update beacon_validators to be more Nim 2.2-compatible ( #6637 )
2024-10-11 15:39:45 +02:00
tersec
3868365ac0
automated consensus spec URL updating to v1.5.0-alpha.8 ( #6617 )
2024-10-09 08:37:35 +02:00
tersec
b370112fe0
some manual updates to EF consensus-specs v1.5.0-alpha.7 URLs ( #6604 )
2024-10-07 12:30:09 +02:00
tersec
17d66118e8
automated consensus spec URL updating to v1.5.0-alpha.7 ( #6601 )
2024-10-06 14:03:56 +00:00
tersec
28b20936e9
add Electra attester slashing gossip support ( #6582 )
2024-09-26 08:11:58 +02:00
tersec
d4e441e694
add Electra attester slashing pool ( #6579 )
2024-09-24 11:01:40 +02:00
tersec
ff9d32d30d
some v1.5.0-alpha.6 consensus spec URL updates ( #6572 )
2024-09-21 06:53:34 +02:00
tersec
256f6b8b89
automated consensus spec URL updating to v1.5.0-alpha.6 ( #6571 )
2024-09-21 03:22:41 +02:00
tersec
16c21e1c1e
rm unused code/type conversoins; re-enable Electra block gossip verification ( #6545 )
2024-09-12 11:11:08 +02:00
Agnish Ghosh
5a44e39e31
bump nim-kzg4844, enable ckzg2.0.0, fix whatever needed ( #6502 )
2024-09-02 11:47:00 +00:00
tersec
8c2e8f2b0f
some v1.5.0-alpha.5 consensus spec URL updates ( #6509 )
2024-08-23 12:43:54 +02:00
Etan Kissling
a597fe95fa
check blob versioned hashes when no EL is connected ( #6501 )
...
* check blob versioned hashes when no EL is connected
When no EL is conencted, we have to at the very least ensure that the
data in the beacon block is consistent with the execution payload.
We already do this for the block hash, but also have to do it for the
`blob_kzg_commitments`. To validate that they are linked with the
execution payload, we have to RLP decode all EIP-4844 blob transactions
and compare their blob versioned hashes with the hashed commitments.
* simplify loop in case where `blob_versioned_hashes` doesn't exist
* skip blob transaction parsing pre Deneb
2024-08-22 06:04:03 +00:00
tersec
21aeeaf561
automated consensus spec URL updating to v1.5.0-alpha.5 ( #6504 )
2024-08-21 14:25:19 +02:00
Etan Kissling
b511f3eeb7
Use Pippenger multiplication for combining multiple sigs of same msg ( #6484 )
...
Newer `blst` releases expose multiscalar Pippenger multiplication that
allows accelerated verification of signatures pertaining to same msg.
- https://gist.github.com/wemeetagain/d52fc4b077f80db6e423935244c2afb2
2024-08-16 23:42:46 +02:00
Etan Kissling
6f7c4fffe7
Synchronously check all transactions
to have non-zero length ( #6491 )
...
Reject blocks with zero length transactions early when no EL connected.
- https://github.com/ethereum/consensus-specs/pull/3885
2024-08-16 22:52:35 +02:00
tersec
904318cf83
automated consensus spec URL updating to v1.5.0-alpha.4 ( #6483 )
2024-08-09 18:24:49 +02:00
Etan Kissling
ea16edd886
add test for shuffled attestation signatures ( #6459 )
...
Followup of #3212 to test proper signature verification. Also document
possible further optimization based on blst `v0.3.13`.
2024-07-26 23:31:05 +00:00
Etan Kissling
9f21182646
construct info object for BlobSidecar
earlier ( #6445 )
...
To avoid "forked" types creeping into `BlobSidecar`, move the reduction
to `BlobSidecarInfoObject` to the sole caller. The info object is fork
agnostic, so does not need "forked" if `BlobSidecar` ever updates.
2024-07-23 20:22:29 +00:00
Etan Kissling
7f59e80aaa
validate EL block hash in Electra when no EL is connected ( #6407 )
...
When no EL is connected, it is still required to validate the block hash
of `ExecutionPayload` to prevent attacks that trick us into attesting to
a circular chain with invalid in-between block hashes. This is already
done through Deneb but was still missing in Electra to be rectified now.
2024-07-05 10:18:50 +02:00