Commit Graph

7352 Commits

Author SHA1 Message Date
Jacek Sieka 0c4058b7be
Update specs/phase0/p2p-interface.md
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-04-08 13:23:13 +02:00
Jacek Sieka 99186f775e
deprecate `BeaconBlocksByRange.step`
The `step` parameter has not seen much implementation in real life
clients which instead opt to request variations on a few epochs at a
time (instead of interleaving single blocks, entire epochs are
interleaved).

At the same time, supporting `step` on the server side brings several
complications: more complex bounds checking logic, more complex loading
of blocks from linear storage (which presumably stores all blocks and
not just certain increments).

This PR suggests that we deprecate the whole idea. Backwards
compatibility is kept by simply responding with a single block when
`step > 0` - this is allowed by the spec and should thus be handled
gracefully by requesting clients already, should there exist any that
use larger step counts.

Removing `step` now allows simplifying the EL-CL protocol for serving
execution data from the EL to avoid double storage.
2022-03-18 14:26:09 +01:00
Mikhail Kalinin cc347c6ff4
Merge pull request #2851 from mkalinin/safe-head
Add safe_block_hash to notify_forkchoice_updated
2022-03-16 13:29:23 +06:00
Danny Ryan 80292f7957
Update specs/bellatrix/validator.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-03-15 13:14:40 -06:00
Danny Ryan b8c061cfd7
Merge pull request #2850 from protolambda/eip4844
EIP-4844: consensus-layer specs of Shard Blob Transactions
2022-03-15 13:13:48 -06:00
protolambda dc5f9dffa0
eip4844: process_blob_kzgs - move TODO to issue, add missing input argument 2022-03-14 21:50:07 +01:00
protolambda 9b760dfb54
eip4844: beacon doc - update TOC 2022-03-14 19:08:50 +01:00
protolambda 45e207be4d
EIP-4844 consensus-specs review fixes
Co-Authored-By: terenc3t <terence@prysmaticlabs.com>
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2022-03-14 18:57:11 +01:00
Hsiao-Wei Wang 3458d12c2b
Merge pull request #2849 from ethereum/yield-attester-slashing
Output `attester_slashing` data to fork choice test vectors
2022-03-14 07:14:14 -07:00
Mikhail Kalinin 84ab086d94 Add safe_block_hash to notify_fc_updated 2022-03-14 19:09:21 +06:00
protolambda 8ec4773339
EIP-4844: consensus layer changes 2022-03-10 06:52:27 +01:00
Hsiao-Wei Wang 3cdc0e61ed Add `on_attester_slashing` execution step 2022-03-09 10:18:00 +08:00
Hsiao-Wei Wang 95c712598a Fix `test_discard_equivocations` test vectors 2022-03-09 10:16:37 +08:00
Danny Ryan 825a39577e
Merge pull request #2845 from ethereum/discard-equivocations
Remove equivocating validators from fork choice consideration
2022-03-08 11:41:04 -07:00
Danny Ryan bd6d2ad4ce
minor copy edit 2022-03-08 11:33:59 -07:00
Danny Ryan 0197a1464c
Merge pull request #2846 from nisdas/patch-2
Ignore Aggregates Which Are Following the Wrong Finalized Checkpoint
2022-03-08 11:28:20 -07:00
Aditya Asgaonkar a0ba6b2a1a Add note about syncing 2022-03-08 06:52:03 -08:00
Danny Ryan 75f94cbc74
Merge pull request #2848 from ethereum/fix-updatetimeout-typo
Fix UPDATE_TIMEOUT unit typo
2022-03-04 10:44:41 -07:00
Aditya Asgaonkar 1e10e7dc1c Fix UPDATE_TIMEOUT unit typo 2022-03-03 20:16:32 -08:00
Danny Ryan 15a90407ef
minor comment change 2022-03-03 13:50:05 -07:00
Aditya Asgaonkar 37b8a89bb1 Apply code review from @djrtwo 2022-03-03 11:43:52 -08:00
Danny Ryan 0b883a8692
Merge pull request #2844 from sigp/opt-import
Optimistically import any post-merge block
2022-03-03 09:46:15 -07:00
Paul Hauner bf25d323fc
Use merge consistently 2022-03-02 19:03:06 +11:00
Nishant Das 70e8243450
Update p2p-interface.md 2022-03-02 12:39:21 +08:00
Aditya Asgaonkar 7f31c80b8f Fix lint & CI 2022-03-01 11:47:45 -08:00
Aditya Asgaonkar 4fbe162655 Add on_attester_slashing() and related test 2022-03-01 11:42:49 -08:00
Paul Hauner f071931e46
Address indenting 2022-03-01 18:46:39 +11:00
Paul Hauner c2ff09441d
Allow any non-merge block 2022-03-01 18:34:53 +11:00
Danny Ryan 72d4597131
Merge pull request #2828 from ethereum/is_finality_update
Refactoring: add `is_finality_update` helper
2022-02-28 08:39:38 -07:00
Danny Ryan 3f2d5ecda7
Merge pull request #2838 from ethereum/revert-dupe-condition
revert removal of aggregate deduplication condition from #2183
2022-02-28 08:19:45 -07:00
Danny Ryan 22e476b666
Merge pull request #2840 from ethereum/bump-version
bump VERSION.txt to 1.1.10
2022-02-25 11:23:42 -07:00
Danny Ryan 1fb7a95329
bump VERSION.txt to 1.1.10 2022-02-25 11:23:15 -07:00
Danny Ryan bbdb50278c
Merge pull request #2830 from status-im/ignore-atts
Ignore attestations voting for the wrong finalized checkpoint
2022-02-25 11:18:41 -07:00
Danny Ryan 03f0f6762a
revert removal of aggregate deduplication condition from #2183 2022-02-25 10:25:27 -07:00
Danny Ryan f4967bc47e
Merge pull request #2835 from mkalinin/random-to-prevrandao
Bellatrix: random -> prev_randao
2022-02-22 11:47:24 -07:00
Mikhail Kalinin 1280fe2a02 Bellatrix: random -> prev_randao 2022-02-22 17:16:33 +06:00
Jacek Sieka 9fb2dd16c1
Ignore attestations voting for the wrong finalized checkpoint
When nodes are syncing but have not yet reached the canonical `head`,
they cannot determine whether nodes they are connected to serve a valid
history or are making bogus claims in their `Status` advertisement.

Thus, the best course of action that a client can take is to vote for
its "current" best synced head, regardless of whether it's connected to
peers that claim to have other heads or not.

However, in the p2p spec, we penalize such peers with a `REJECT` - this
should be an `IGNORE` instead because this vote is correct per the spec,
albeit "late" according to the validating clients' view of the chain.
2022-02-11 17:12:13 +01:00
Hsiao-Wei Wang 6d11d627f8 Refactoring: add `is_finality_update` helper 2022-02-09 18:13:51 -07:00
Danny Ryan 8ae93b8265
Merge pull request #2826 from ethereum/get_sync_aggregate
Minor refactoring for test_sync_protocol.py
2022-02-09 10:19:10 -07:00
Danny Ryan 5a09b5f8a8
Merge pull request #2814 from etan-status/lc-opt-fin
Ensure light client `optimistic_header` to be at head
2022-02-09 10:06:57 -07:00
Danny Ryan 7879ed58c6
Merge pull request #2827 from terencechain/patch-131
Fix typo justified
2022-02-07 07:16:28 -07:00
terence tsao 7c492ce4ce
Fix typo 2022-02-06 13:32:21 -08:00
Hsiao-Wei Wang 3d7f307020 Refactor test_sync_protocol.py a bit 2022-02-04 17:46:37 -08:00
Danny Ryan 824ff970f5
Merge pull request #2818 from etan-status/err-unavailable
Update reserved libp2p error documentation
2022-02-03 09:00:34 -07:00
Hsiao-Wei Wang f2fd673a66
Merge pull request #2807 from etan-status/compute-sync-period
Consistently use `compute_sync_committee_period`
2022-02-01 16:05:58 -08:00
Danny Ryan adf20c5663
Merge pull request #2822 from ethereum/bump-version
bump version
2022-01-28 06:48:09 -07:00
Danny Ryan 67fcbf22ec
bump version 2022-01-28 06:44:04 -07:00
Danny Ryan 4f73e3af9d
Merge pull request #2820 from sigp/opt-statuses
Add more statuses to opt sync spec
2022-01-28 06:33:00 -07:00
Danny Ryan ccf6f35210
Merge pull request #2821 from ralexstokes/add-bellatrix-random-tests
add randomized tests for bellatrix
2022-01-28 06:30:04 -07:00
Alex Stokes 129d9e28b4
add randomized tests for bellatrix 2022-01-27 19:41:09 -08:00