Commit Graph

7315 Commits

Author SHA1 Message Date
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
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
Etan Kissling 20c8d0d641
Update reserved libp2p error documentation
The spec reserves the libp2p error code range `[3, 127]` for future use
but actually defines error code `3` as `ResourceUnavailable`. This patch
updates the reserved range to `[4, 127]`.
2022-01-28 00:33:38 +01:00
Paul Hauner cbbe6e744a
Add aliases 2022-01-28 09:45:08 +11:00
Paul Hauner 020d72c756
Remove link fragment 2022-01-28 08:43:18 +11:00
Danny Ryan 420ec14713
Merge pull request #2817 from mkalinin/rename-execute-payload
Bellatrix: Rename execute_payload to notify_new_payload
2022-01-27 06:40:17 -07:00
Mikhail Kalinin eb4497fae7 Bellatrix: Rename execute_payload to notify_new_payload 2022-01-27 15:24:53 +06:00
Danny Ryan b517092770
Merge pull request #2812 from tersec/intervals_per_slot
use INTERVALS_PER_SLOT in sync committee specs
2022-01-25 15:18:53 -07:00
Danny Ryan d5e4828aec
Merge pull request #2770 from sigp/opt-sync-2
Optimistic Sync
2022-01-25 10:26:29 -07:00
Etan Kissling 0e9460b8dd
Ensure light client `optimistic_header` to be at head
When a light client updates its `finalized_header` using a forced update
because of the timeout, and the new header was not signed by enough sync
committee participants to pass `get_safety_threshold(store)`, it may
occur that `store.finalized_header.slot > store.optimistic_header.slot`.
This patch ensures that the `optimistic_header` is updated to the latest
`finalized_header` if that happens, so that it always indicates the
latest known and accepted head.
2022-01-25 10:09:10 +01:00
Dustin Brody 182e4496c3
use INTERVALS_PER_SLOT in sync committee specs 2022-01-21 19:01:56 +00:00
Paul Hauner b50bea86a0
Merge pull request #2 from ethereum/build-opt-sync
build opimistic sync file
2022-01-21 09:50:02 +11:00
Danny Ryan a5b3c91f25
build opimistic sync file and fix a minor lint/typing issue 2022-01-20 09:25:02 -07:00
Danny Ryan 2232d76735
Merge pull request #2808 from ethereum/receipts-root
receipt_root -> receipts_root
2022-01-20 08:37:57 -07:00
Alex Stokes 02b32100ed
Merge pull request #2803 from ralexstokes/clean-up-linter
add `pylint` to catch unused args
2022-01-18 09:29:54 -06:00
Danny Ryan f77fc055f8
Update specs/bellatrix/beacon-chain.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-01-18 07:19:00 -07:00
Paul Hauner 50b236e5eb
Address TERMINAL_BLOCK_HASH 2022-01-18 14:55:10 +11:00
Paul Hauner be4319a048
Rename `justified_is_verified` 2022-01-18 12:31:36 +11:00
Paul Hauner 24947be7c3
Rename should_optimistically_import... 2022-01-18 12:29:20 +11:00
Paul Hauner bfe4172584
Define `current_slot` 2022-01-18 12:26:30 +11:00
Paul Hauner 0ec61bd195
Clarify liveness 2022-01-18 12:21:34 +11:00
Paul Hauner f4a125c89a
Remove reorg section 2022-01-18 11:36:36 +11:00
Paul Hauner 4ccd38b54e
Tidy tracking note 2022-01-18 11:32:47 +11:00
Paul Hauner b50bee16f6
Rename Store -> OptimisticStore 2022-01-18 11:30:28 +11:00
Paul Hauner 52caba6eae
Add section about backwards compat 2022-01-18 11:28:08 +11:00
Paul Hauner 092f3e0b16
Propose -> Propagate 2022-01-18 11:22:07 +11:00
Paul Hauner 6225236a52
Specify about EL/CL scoring rules 2022-01-18 11:20:52 +11:00
Paul Hauner b1ec9bcfbc
Update gossip conditions 2022-01-18 11:12:55 +11:00
Paul Hauner 15ef2f30d2
Apply suggestions from @djrtwo review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-01-18 09:30:01 +11:00
Danny Ryan 671c4f0e3a
receipt_root -> receipts_root 2022-01-17 13:42:10 -07:00
Etan Kissling 8319d07084
Consistently use `compute_sync_committee_period`
There were a couple instances where a division was used on an epoch
to derive the corresponding sync committee period instead of calling the
`compute_sync_committee_period` function.
These instances were changed to also use the function.
2022-01-17 17:38:24 +01:00
Hsiao-Wei Wang e9c0bbfa86
Merge pull request #2804 from etan-status/doctoc-custodygame
`doctoc` on `custody_game` specs
2022-01-17 21:42:28 +08:00
Etan Kissling fd89b72c6b
`doctoc` on `custody_game` specs
This updates the TOC in `custody_game/beacon-chain.md` using
`make doctoc specs`.
2022-01-17 12:56:51 +01:00
Alex Stokes 10603b71c0
indicate unused argument in utility function 2022-01-13 11:39:37 -08:00
Alex Stokes 2b45496fe4
clean up unused argument from `phase0` 2022-01-13 11:39:36 -08:00
Alex Stokes fd27d93898
add `pylint` to catch unused args 2022-01-13 11:27:11 -08:00
Alex Stokes 50a63c4135
Merge pull request #2790 from asanso/patch-5
Add 3 new invalid test cases
2022-01-13 12:56:38 -06:00
Hsiao-Wei Wang 67b18334b6
Merge pull request #2799 from terencechain/patch-130
Remove client settings link
2022-01-13 21:08:19 +08:00
Hsiao-Wei Wang 16c350ebcd
Merge pull request #2796 from etan-status/lc-aggregate
Rename `sync_committee_aggregate` > `sync_aggregate`
2022-01-13 21:07:50 +08:00