Roberto Saltini
ffb84598cf
Fixed doc in get_checkpoint_block
2023-04-18 16:03:10 +10:00
Roberto Saltini
c985605973
Fix copy and past error
2023-04-18 13:49:08 +10:00
Roberto Saltini
36fcb81b88
Break long statement into two statements
2023-04-18 13:26:16 +10:00
Roberto Saltini
334114d9d3
Rename get_ancestor_at_epoch_boundary to get_checkpoint_block
2023-04-18 13:14:53 +10:00
Age Manning
6e423f6c42
Stagger node rotations
2023-04-12 11:29:48 +10:00
Roberto Saltini
41386092b7
Apply changes to p2p-interface.md
2023-04-08 14:00:01 +10:00
Age Manning
a0d03378fa
Correct subnet subscription duration variable
2023-04-06 12:40:55 +10:00
Hsiao-Wei Wang
4cac761818
make linter happy
2023-04-05 11:38:20 +08:00
Hsiao-Wei Wang
cdcf45855a
Merge branch 'dev' into pr3308
2023-04-05 11:19:09 +08:00
Suphanat Chunhapanya
912c9b37a1
Fix typos
2023-04-04 13:33:42 +07:00
Hsiao-Wei Wang
0dd8db76cd
Make linter happy. Add `SUBNET_DURATION_IN_EPOCHS` definition.
2023-03-30 14:51:41 +08:00
Age Manning
7cb1630902
Attnet revamp draft
2023-03-30 15:32:35 +11:00
Roberto Saltini
c7029ce19e
Rename get_epoch_boundary_block to get_ancestor_at_epoch_boundary
2023-03-29 12:40:58 +11:00
Roberto Saltini
ddbd82e1be
Add toc
2023-03-28 15:51:34 +11:00
Roberto Saltini
201f113b50
Introduce get_epoch_boundary_block
2023-03-28 15:43:48 +11:00
omahs
3115d1140b
Fix: typos
2023-03-25 13:14:57 +01:00
Danny Ryan
a0eb23f108
Merge pull request #3290 from ethereum/fork-choice-upgrade
...
Fork choice upgrade
2023-03-15 10:51:09 -06:00
Aditya Asgaonkar
1a2967a542
Apply suggestions from @djrtwo
2023-03-14 14:49:41 -07:00
Aditya Asgaonkar
3de96f7a19
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2023-03-14 13:54:57 -07:00
Danny Ryan
b53392b463
Merge pull request #3177 from mkalinin/deposits
...
In-protocol deposits flow (no queue approach)
2023-03-14 11:33:36 -06:00
Aditya Asgaonkar
23c5b7c66e
fix typo
2023-03-13 13:48:34 -07:00
Aditya Asgaonkar
e9551715d5
large fork choice upgrade
2023-03-13 11:52:43 -07:00
Ben Edgington
7f74a08a6c
Fix trailing whitespace
2023-03-09 11:07:01 +00:00
Mikhail Kalinin
13f3654296
Apply suggestions from @djrtwo
2023-03-02 17:29:22 +06:00
Ben Edgington
7637158a2f
Change get_latest_attesting_balances() to get_weight()
2023-02-15 11:39:33 +00:00
Potuz
86962b9437
Simplify commitee weight computation
2023-02-10 11:43:38 -03:00
Hsiao-Wei Wang
127edf3af1
Merge pull request #3221 from benjaminion/fc-on-attester-slashing
...
Add on_attester_slashing() to handlers list
2023-01-27 21:49:34 +08:00
Ben Edgington
8a0de1c595
Add on_attester_slashing() to handlers list
2023-01-24 13:25:40 +00:00
Ben Edgington
d54c87a5c0
Add genesis_block to get_forkchoice_store() params
2023-01-24 13:08:41 +00:00
Dustin Brody
b5bcec8d34
deprecate phase 0-only versions of beacon_blocks_by_{range,root}
2022-09-26 15:01:45 +00:00
Hsiao-Wei Wang
d133dae471
Fix codespell errors ( #2975 )
2022-08-18 22:08:44 +08:00
David Theodore
c51e67a059
fixed typo in on_block() definition
2022-07-29 00:13:32 -07:00
fradamt
67d62025d9
fix typo and specify something
...
- committee_index is used as an input to compute_subnet_for_attestation but it's not previously defined
- attestation.data.committee_index is incorrect, the field is "index"
2022-06-27 14:20:25 +02:00
Jacek Sieka
0e6a7cd39a
deprecate `BeaconBlocksByRange.step` ( #2856 )
...
* 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.
* Update specs/phase0/p2p-interface.md
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-05-20 13:18:24 -06:00
Caspar Schwarz-Schilling
72f7b88f2a
Update PROPOSER_SCORE_BOOST to 40 percent ( #2895 )
2022-05-20 13:15:40 -06:00
Mikhail Kalinin
d62ebaeaca
Run on_tick before picking the head for proposal ( #2897 )
2022-05-19 07:56:49 -06:00
Alex Stokes
5337da5dff
use python syntax for bitwise AND operation ( #2894 )
2022-05-17 07:14:19 -06:00
Jacek Sieka
bab5e402df
Ignore subset aggregates ( #2847 )
...
* Ignore subset aggregates
When aggregates are propagated through the network, it is often the case
that a better aggregate has already been seen - in particular, this
happens when an aggregator has not been able to include itself in the
mesh and therefore publishes an aggregate with only its own
attestations.
This new ignore rule allows dropping all aggregates that are
(non-strict) subsets of aggregates that have already been seen on the
network. In particular, it does not mandate dropping aggregates where a
union of previous aggregates would cause it to become a subset).
The logic for allowing this is based on the premise that any aggregate
that has already been seen by a peer will also have been seen by its
neighbours - a subset aggregate (strict or not) brings no new value to
the aggregation algorithm, except in the extreme edge case where you
could combine several such sparse aggregates into a single, more dense
"combined" aggregate and thus use less block space.
Further, as a small benefit, computing the `hash_tree_root` of the full
aggregate is generally not done -however, `hash_tree_root(data)` is
already done for other purposes as this is used as index in the beacon
API.
* add subset ignore rule to sync contributions as well
* typo
2022-05-17 07:05:22 -06:00
Alex Stokes
20a90f1df7
Add new `DomainType` for application usage ( #2884 )
2022-05-16 08:08:15 -06:00
Danny Ryan
af1fbab181
Merge pull request #2888 from casparschwa/update-proposer-score-boost
...
Update proposer score boost
2022-05-16 08:06:59 -06:00
Caspar Schwarz-Schilling
712a4f9cf1
Fix linting
2022-05-09 15:05:05 +02:00
Caspar Schwarz-Schilling
f5303ca58e
Update PROPOSER_SCORE_BOOST to 33 percent
2022-05-09 10:17:24 +02:00
Michael Sproul
3f76792ee3
Require fork choice to run before proposal
2022-05-05 11:21:55 +10:00
Alex Stokes
0afa7e1b38
update language to reflect latest work on withdrawals
2022-03-15 18:01:47 -06: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
Aditya Asgaonkar
a0ba6b2a1a
Add note about syncing
2022-03-08 06:52:03 -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
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
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
03f0f6762a
revert removal of aggregate deduplication condition from #2183
2022-02-25 10:25:27 -07: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
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
Alex Stokes
2b45496fe4
clean up unused argument from `phase0`
2022-01-13 11:39:36 -08:00
Hsiao-Wei Wang
8c226013fd
minor fix
2021-12-23 17:32:15 +08:00
Hsiao-Wei Wang
41af639517
PR feedback from @mkalinin
2021-12-23 17:26:48 +08:00
Hsiao-Wei Wang
200ed58dd9
Merge branch 'dev' into ex-ante-tests
2021-12-07 18:29:48 +08:00
Danny Ryan
3a9777eebc
Update specs/phase0/fork-choice.md
2021-12-02 14:00:06 -07:00
Aditya Asgaonkar
0d8fab3986
Apply Danny's suggestion
2021-12-02 09:57:28 -08:00
Aditya Asgaonkar
6f3379c7be
Apply HWW's suggestion
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-12-01 20:11:52 -08:00
Aditya Asgaonkar
3e2890bb3e
Apply proposer boost to ancestors correctly
2021-12-01 18:03:40 -08:00
realbigsean
0bc0769767
Simplify logic in calculating proposer score
2021-11-30 15:44:56 -05:00
Hsiao-Wei Wang
d7f6a42729
[WIP] Add ex-ante fork choice test cases
2021-12-01 02:37:22 +08:00
Danny Ryan
395fdd4566
Merge pull request #2730 from ethereum/proposer-score-boost
...
Proposer LMD Score Boosting
2021-11-23 11:39:07 -07:00
Aditya Asgaonkar
2a5c9d8dc5
Set PROPOSER_SCORE_BOOST to 70%
2021-11-23 07:23:59 -08:00
Ben Edgington
44fec310b3
Eth1 block hashes have type Hash32 ( #2693 )
...
* Eth1 block hashes have type Hash32
* Modify other forks as well
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-11-23 08:20:26 -07:00
Aditya Asgaonkar
a0b5a809d5
Apply HWW code's review - fix is_before_attesting_interval
2021-11-23 07:02:04 -08:00
Aditya Asgaonkar
1d835c5198
Apply Danny's code review & suggestions
2021-11-22 14:44:52 -08:00
Danny Ryan
ea09df50db
toc
2021-11-22 11:39:08 -07:00
Danny Ryan
282d85b9e7
simplify on_tick proposer boost update
2021-11-22 11:31:44 -07:00
Danny Ryan
cebe6ba7e7
minor formatting cleanups
2021-11-22 11:31:17 -07:00
Aditya Asgaonkar
88c76abd7f
Apply Danny's code review
2021-11-22 11:12:25 -07:00
Aditya Asgaonkar
859bbf4358
This reverts commit 4c726cdff39a10c5d096b294fb562cfc99c1f068.
2021-11-22 11:12:24 -07:00
Aditya Asgaonkar
3b20e3ea02
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-11-22 11:12:24 -07:00
Aditya Asgaonkar
b0fb861cf5
Make PROPOSER_SCORE_BOOST a percentage value
2021-11-22 11:12:24 -07:00
Aditya Asgaonkar
504d82cc1a
Add datatype to new parameters
2021-11-22 11:12:24 -07:00
Aditya Asgaonkar
47fa6d108a
Add parameter for score boost value
2021-11-22 11:12:24 -07:00
Aditya Asgaonkar
281c1b2d1a
Update validator guide with ATTESTATION_OFFSET_QUOTIENT
2021-11-22 11:12:24 -07:00
Aditya Asgaonkar
2d161b4244
Add proposer score boosting & related tests
2021-11-22 11:12:24 -07:00
Danny Ryan
3d4ece44df
port phase0 forkchocie changes to merge
2021-11-17 18:37:45 -07:00
Danny Ryan
eb00f8f735
cleanup forkchoice tests
2021-11-17 18:24:47 -07:00
Hsiao-Wei Wang
d9e8306c5a
Refactoring
2021-11-13 18:38:53 +08:00
Hsiao-Wei Wang
f643554aa5
Fix issue around on_attestation validation by skipping epoch scope
...
validation if attestation is from a block message
2021-11-13 18:28:05 +08:00
Danny Ryan
cd3d2ce692
working through test issues
2021-11-12 12:43:54 -07:00
Fredrik Svantes
46f7845c42
Fixed link to Attesting in beacon chain responsibilities
2021-11-06 16:28:13 +01:00
Hsiao-Wei Wang
d0bcf294a8
Fix typo
2021-10-28 18:42:16 +08:00
Hsiao-Wei Wang
15a6c48a46
Merge pull request #2518 from ethereum/fix-store-justified-checkpoint
...
Fix fork choice store checkpoints inconsistency issue
2021-08-23 23:41:11 +08:00
Hsiao-Wei Wang
206126644f
More fixes
2021-08-19 23:34:54 +08:00
Hsiao-Wei Wang
59d8ee34f9
Update some "1.0" "2.0" wording
2021-08-19 23:24:04 +08:00
Danny Ryan
4c1156d504
rename eth1 and eth2 throughout specs and readme where reasonable
2021-08-18 17:13:24 -06:00
Hsiao-Wei Wang
6ffc735642
Merge branch 'dev' into fix-store-justified-checkpoint
2021-08-17 21:28:42 +08:00
Hsiao-Wei Wang
43a1617ffa
Ensure that the given PKs are valid PKs + fix typos
2021-08-04 21:25:37 +08:00
Hsiao-Wei Wang
63ca480ea3
Add condition check in `on_tick` to ensure that `store.justified_checkpoint` is a descendant of `store.finalized_checkpoint`
2021-07-14 20:02:28 +08:00
Danny Ryan
bca467c926
fmt
2021-05-21 14:36:43 -06:00
Danny Ryan
5bf01c4298
add resourceunavailable error code with more guidance
2021-05-21 14:24:58 -06:00
protolambda
ff021da551
change line formatting, new refence as config var implicitly takes more space
2021-05-19 17:21:30 +02:00
protolambda
291168e1e3
clarify config/preset separation, address review comments by @djrtwo
2021-05-19 17:15:34 +02:00