Anton Nashatyrev
554f5141d3
Replace the {shard}_{slot} with {subnet_id}. Add {subnet_id} calculation function
2021-05-11 20:16:58 +03:00
Danny Ryan
5792afca46
Merge branch 'dev' into bbr-ws
2021-05-11 09:51:57 -06:00
Danny Ryan
e31a2af87b
remove extra if
2021-05-11 08:15:04 -06:00
Danny Ryan
b1d0364105
Merge branch 'dev' into vbuterin-patch-11
2021-05-11 08:12:27 -06:00
Danny Ryan
3c609e02ea
pr feedback
2021-05-11 07:28:24 -06:00
Danny Ryan
a6b8574962
test
2021-05-10 16:18:42 -06:00
Danny Ryan
85198fabfa
lint
2021-05-10 13:26:43 -06:00
Danny Ryan
d8e2d19ecc
spelling
2021-05-10 13:01:31 -06:00
Danny Ryan
ff706e5c7a
add logic for handling sync committee off by one issue
2021-05-10 12:57:11 -06:00
Danny Ryan
1494fe6ace
add get_inactivity_penalty_deltas back in
2021-05-10 12:21:49 -06:00
Danny Ryan
cd78425570
lint
2021-05-10 10:30:47 -06:00
Danny Ryan
95e2aa6471
Merge branch 'dev' into dankrad-altair-review
2021-05-10 10:23:38 -06:00
Danny Ryan
1564f6217f
Merge pull request #2386 from Nashatyrev/fix/effective-balance-max-deviation
...
[Sharding] Fix the EFFECTIVE_BALANCE_MAX_DOWNWARD_DEVIATION constant calculation
2021-05-10 10:19:00 -06:00
protolambda
f58ba8f5b2
define execution engine protocol
2021-05-10 16:11:12 +02:00
Danny Ryan
71eea1a0f1
Merge pull request #2382 from ethereum/vbuterin-patch-12
...
Reorganization of config params to put sync committee in one section
2021-05-10 07:48:17 -06:00
Danny Ryan
d239b7a59b
Merge pull request #2396 from terencechain/patch-117
...
Shard fees: `adjustment_quotient` to use `previous_epoch`
2021-05-10 07:44:40 -06:00
Danny Ryan
dd9fb06d25
Merge branch 'dev' into vbuterin-patch-12
2021-05-10 07:38:32 -06:00
Danny Ryan
2539d4e11d
Merge pull request #2380 from ethereum/merge-test-vectors
...
Merge test vectors: enable phase0 tests for Merge + start on new testing
2021-05-10 07:30:21 -06:00
terence tsao
e38f758d21
`adjustment_quotient` to use `previous_epoch`
2021-05-09 17:08:54 -07:00
Alex Stokes
b336b710e9
Update specs/altair/beacon-chain.md
...
Co-authored-by: vbuterin <v@buterin.com>
2021-05-07 16:48:16 -07:00
vbuterin
d1bedbfbec
Update inactivity penalty deltas processing
...
Two main changes:
1. Inactivity scores are modified to decrease slowly for inactive validators when we are not in a leak, and quickly for active validators
2. The inactivity penalties are applied even not during a leak (note that inactivity _scores_ decrease when outside of a leak)
This has the effect that the inactivity leak "overshoots" the target of finalizing again, and keeps leaking balances a bit more. For inactive validators, this PR sets post-leak recovery to happen 3x faster than the during-leak increase, so if a validator loses 3% during a leak, if they stay offline they should expect to lose another 1% until their score decreases back to zero.
2021-05-07 11:05:27 -07:00
Alex Stokes
04a9595415
Add notes about sync committee stability
2021-05-07 10:06:44 -07:00
Alex Stokes
86104ea361
Use stable sync committee indices when processing block rewards
2021-05-07 09:55:21 -07:00
Anton Nashatyrev
bd376fa649
Fix the table of contents
2021-05-07 17:09:03 +03:00
Anton Nashatyrev
22b7c393cc
Include {slot} param to shard_blob_ subnets
2021-05-07 16:52:44 +03:00
dankrad
2fc68c451e
Update specs/altair/beacon-chain.md
...
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2021-05-06 22:55:55 +01:00
Dankrad Feist
ba2c717bf1
Remove PARTICIPATION_FLAGS
2021-05-06 22:55:17 +01:00
Danny Ryan
637cf0743c
Merge pull request #2376 from ralexstokes/adjust-sync-committee-subnet-count
...
Adjust subnet count to reflect smaller sync committees
2021-05-06 12:51:24 -06:00
Danny Ryan
b979ea144a
Merge pull request #2378 from ralexstokes/update-altair-sync-protocol
...
Updates to Altair light client sync protocol
2021-05-06 12:50:52 -06:00
Danny Ryan
13409dc1bc
Merge branch 'dev' into adjust-sync-comm-params
2021-05-06 12:43:11 -06:00
Danny Ryan
609172d790
Merge pull request #2370 from ralexstokes/simplify-sync-committee-aggregates
...
Simplify sync committee aggregates
2021-05-06 12:38:49 -06:00
Alex Stokes
4c73fec88e
convert `LightClientStore` to python object instead of SSZ object
...
this avoids the type overhead of having to define a max size for
the object's data and skips the overhead of serialization/consensus
for a type that does not need it
2021-05-06 10:52:48 -07:00
Dankrad Feist
81a8c2748f
Integrate get_inactivity_penalty_deltas into reward computation for better readability
2021-05-06 13:03:26 +01:00
Dankrad Feist
cf724daa7a
No inactivity penalty for untimely head
2021-05-06 12:42:05 +01:00
Dankrad Feist
cbf9f85537
Remove duplicate inactivity leak
2021-05-06 12:28:18 +01:00
Michael Sproul
ea6c042918
Altair: carry-over prev epoch participation
2021-05-06 10:55:10 +10:00
protolambda
76b5974d11
is_execution_enabled function + misc review fixes
...
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2021-05-06 02:23:13 +02:00
Dankrad Feist
b041a9b0d6
Further flag_index revert
2021-05-05 22:22:32 +01:00
Dankrad Feist
77524036f5
Revert "Flags to BitVector"
...
This reverts commit 786e611c71
.
# Conflicts:
# specs/altair/beacon-chain.md
2021-05-05 22:02:37 +01:00
Dankrad Feist
55471bc5d4
Revert "BitVector -> Bitvector"
...
This reverts commit df6bd1b6c3
.
2021-05-05 21:58:03 +01:00
Dankrad Feist
687641a79b
Remove extra variable
2021-05-05 21:55:36 +01:00
Dankrad Feist
227d1007e6
Update toc
2021-05-05 20:09:14 +01:00
Dankrad Feist
a382cf6d5c
Refactor participation flag list
2021-05-05 20:04:06 +01:00
Anton Nashatyrev
2aef63be01
Fix back the EFFECTIVE_BALANCE_MAX_DOWNWARD_DEVIATION constant calculation
2021-05-05 20:17:09 +03:00
Dankrad Feist
238a9b03fc
Correct confusing comments in "get_sync_committee_indices"
2021-05-05 18:09:36 +01:00
Alex Stokes
a2cf833437
Update specs/altair/beacon-chain.md
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-05-05 09:32:28 -07:00
terence tsao
ed4b8d5f18
`get_shard_proposer_index` to use `DOMAIN_SHARD_PROPOSER`
2021-05-05 07:40:23 -07:00
protolambda
e2be7614cc
introduce merge fork version
2021-05-05 15:35:36 +02:00
Hsiao-Wei Wang
ded6d5bad4
Merge pull request #2377 from ralexstokes/altair-whitespace
...
clean up whitespace on altair files
2021-05-05 20:44:15 +08:00
Hsiao-Wei Wang
6a9b3671f0
Fix the type of `EPOCHS_PER_SYNC_COMMITTEE_PERIOD` and update the config files
2021-05-05 19:53:37 +08:00
Hsiao-Wei Wang
d383a14213
Fix ToC
2021-05-05 19:47:26 +08:00
Dankrad Feist
df6bd1b6c3
BitVector -> Bitvector
2021-05-05 12:26:37 +01:00
Dankrad Feist
786e611c71
Flags to BitVector
2021-05-05 12:05:32 +01:00
Anton Nashatyrev
3cc1256a72
update_pending_votes: search pending header by header.(root + slot + shard)
2021-05-05 13:31:19 +03:00
Anton Nashatyrev
befe4c7db3
Revert "Search winning 'empty' PendingShardHeader index by the empty DataCommitment instead of zero Root"
...
This reverts commit dca6d337
2021-05-05 13:21:25 +03:00
Anton Nashatyrev
ddc59422ba
Revert "Calc the right root with respect to (slot, shard) for an empty PendingShardHeader"
...
This reverts commit 2199b8e0
2021-05-05 13:21:15 +03:00
Mikhail Kalinin
79fc41146d
Adjust is_transition_block call in fork-choice
2021-05-05 13:37:07 +06:00
vbuterin
b310482bce
Update specs/altair/beacon-chain.md
2021-05-04 17:19:51 -07:00
vbuterin
9dcdbafba3
Reorganization of config params to put sync committee in one section
...
This may be marginally "cleaner" than the previous approach, keeping constants with the same topic together.
2021-05-04 17:19:15 -07:00
vbuterin
a562f2aeb4
"toward" -> "closer to" for penalty adjustments
...
Makes it clearer that even the Altair values are not final
2021-05-04 17:05:15 -07:00
protolambda
521cffc3e9
update execution-payload processing to isolate payload from block body
2021-05-05 00:17:10 +02:00
Alex Stokes
3b80324119
Compute `LIGHT_CLIENT_UPDATE_TIMEOUT` in lieu of maintaining a constant
2021-05-04 13:47:46 -07:00
Alex Stokes
7a168be862
allow fault tolerance equal to threshold, not just above
2021-05-04 13:25:34 -07:00
Alex Stokes
eae64fd18c
clean up whitespace on altair files
2021-05-04 12:43:21 -07:00
Alex Stokes
7d236561bd
adjust subnet count to reflect smaller sync committees
2021-05-04 12:41:19 -07:00
Alex Stokes
9c3d5982cf
add documentation about duplicate pubkeys
2021-05-04 12:20:48 -07:00
Alex Stokes
7b33c1119a
simplify sync committee pubkey aggregation in altair
2021-05-04 12:19:33 -07:00
Alex Stokes
0438f2f27c
whitespace
2021-05-04 12:19:33 -07:00
Diederik Loerakker
8558bd773d
Merge pull request #2367 from Nashatyrev/fix/unknown-shard-count-const
...
[Sharding] Fix unspecified SHARD_COUNT and DOMAIN_SHARD_HEADER constants
2021-05-04 21:13:29 +02:00
Hsiao-Wei Wang
9980d2098d
Fix lint
2021-05-04 22:21:58 +08:00
Danny Ryan
80df9e6b0b
Merge branch 'dev' into altair-pass
2021-05-04 07:41:25 -06:00
Danny Ryan
053179cee9
comments and tests on altair
2021-05-04 07:39:22 -06:00
terence tsao
930ca61690
Fix lint (124 > 120 characters)
2021-05-02 20:47:57 -07:00
terence tsao
780121f9b0
Add backticks to the arguments in functional comments
2021-05-02 20:31:52 -07:00
Alex Stokes
68d6e4319a
Adjust sync committee size and duration
2021-05-01 16:30:23 -07:00
Anton Nashatyrev
dca6d3370a
Search winning 'empty' PendingShardHeader index by the empty DataCommitment instead of zero Root
2021-04-30 15:21:51 +03:00
Anton Nashatyrev
2199b8e0f0
Calc the right root with respect to (slot, shard) for an empty PendingShardHeader
2021-04-30 14:58:30 +03:00
Anton Nashatyrev
99d50108d0
Replace unspecified SHARD_COUNT const with get_active_shard_count(previous_epoch)
2021-04-30 14:39:37 +03:00
Anton Nashatyrev
637f232ab3
Need to specify MAX_SHARDS since we are filling the Vector of MAX_SHARDS length
2021-04-30 14:35:34 +03:00
Anton Nashatyrev
36fd9195f3
Replace unspecified DOMAIN_SHARD_HEADER const with DOMAIN_SHARD_PROPOSER
2021-04-30 14:14:09 +03:00
Anton Nashatyrev
86d8a10495
Replace unspecified SHARD_COUNT const with get_active_shard_count(previous_epoch)
2021-04-30 14:09:09 +03:00
protolambda
c5986106ca
fix note about sharding beacon state extension
2021-04-29 15:39:57 +02:00
Danny Ryan
c3dfc2e085
Merge pull request #2362 from ethereum/sync-cleanup
...
Minor altair cleanups
2021-04-28 08:42:23 -06:00
Danny Ryan
e89fae86a6
Apply suggestions from code review
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-04-28 06:52:16 -06:00
Danny Ryan
9f74f1f9e5
minor sync committee cleanups
2021-04-27 15:06:45 -06:00
Danny Ryan
2628721f96
Merge pull request #2323 from ethereum/prepare_state
...
Simplify Altair "genesis"
2021-04-27 12:32:13 -06:00
Danny Ryan
c090d6aa21
Merge pull request #2352 from ralexstokes/add-altair-metadata-updates
...
Add `syncnets` data to Altair `MetaData`
2021-04-27 12:20:03 -06:00
Danny Ryan
ae429a38a0
add Modified comment
2021-04-27 12:11:15 -06:00
Alex Stokes
9bb3444c89
Add `syncnets` data to Altair `MetaData`.
2021-04-27 09:34:24 -07:00
ericsson
e3c95e967c
use `committee_index` instead of `shard`
2021-04-27 17:09:16 +03:00
ericsson
a0c30313fa
convert `shard` to `CommitteeIndex` using `compute_committee_index_from_shard`, based on @djrtwo comment
2021-04-27 17:07:56 +03:00
ericsson
4d684bd8d9
convert `shard` to `CommitteeIndex` in `charge_confirmed_header_fees`
2021-04-27 15:44:25 +03:00
ericsson
865a077aa3
convert `shard` and `index` to `CommitteeIndex` in `reset_pending_headers`
2021-04-27 14:14:25 +03:00
ericsson
17bc3c1c72
convert `shard` to `CommitteeIndex` when passing to `get_beacon_committee`
2021-04-27 13:44:22 +03:00
Diederik Loerakker
f2c47debb9
Merge pull request #2355 from ericsson49/ericsson49/fix_upgrade_to_altair
...
Fix: `upgrade_to_altair` should use `phase0.get_current_epoch`
2021-04-26 20:34:33 +02:00
Diederik Loerakker
ac98da6c7d
Merge pull request #2359 from ericsson49/ericsson49/fix_pass_set_instead_of_sequence_to_get_total_balance
...
Fix: pass Set instead of Sequence to get_total_balance
2021-04-26 20:31:15 +02:00
Diederik Loerakker
fd9c96d41d
Merge pull request #2358 from ericsson49/ericsson49/fix_process_shard_header
...
More typos fixes in `sharding`
2021-04-26 20:27:07 +02:00
ericsson
d99cfee853
typing problem fixed: `get_total_balance` expected second argument to be of `Set[ValidatorIndex]` type, however, `Sequence` is passed
2021-04-24 18:21:59 +03:00
ericsson
6288252d44
fix typo: `process_confirmed_header_fees` called instead of `charge_confirmed_header_fees`
2021-04-24 17:46:55 +03:00
ericsson
e05356893f
fix typo: `c` var name used instad of `header` in `process_pending_headers`
2021-04-24 17:38:09 +03:00
ericsson
77bceeae69
fix typo: `SLOTS_IN_EPOCH` used instead of `SLOTS_PER_EPOCH`
2021-04-24 17:33:53 +03:00
ericsson
6814efac2e
fix typo: `state` missed in `get_committee_count_per_slot` call
2021-04-24 17:32:59 +03:00
ericsson
47e52a6361
fix typo: `get_shard_proposer_index` vs `get_shard_proposer`
2021-04-24 17:32:05 +03:00
ericsson
ee360df689
missed `body_summary` attribute when accessing`ShardBlobBodySummary.beacon_block_root`
2021-04-24 00:12:28 +03:00
ericsson
f55b327c51
fix typos in sharding
2021-04-23 18:47:25 +03:00
ericsson
93378afcd0
Fix typing problem: `upgrade_to_altair` should use `phase0.get_current_epoch`
2021-04-23 18:21:29 +03:00
Anton Nashatyrev
8f371f5627
Cleanup: move var calculation down right before its usage
2021-04-22 22:08:44 +03:00
Anton Nashatyrev
d7c276bcd5
Remove obsolete var and calculation
2021-04-22 22:06:24 +03:00
Danny Ryan
7f0ea0eb01
Merge pull request #2350 from Nashatyrev/fix/get-active-shard-count-missing-arg
...
Sarding: missing argument in get_active_shard_count() call
2021-04-22 12:40:38 -06:00
Alex Stokes
ebd16e1b79
add helper in p2p document to executable spec
2021-04-22 11:05:06 -07:00
Anton Nashatyrev
917d40b4d3
Fix missing argument in get_active_shard_count() call
2021-04-22 20:38:21 +03:00
Alex Stokes
3c07303c5c
Update specs/altair/p2p-interface.md
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-04-22 10:34:16 -07:00
Alex Stokes
99b2cc2f3e
Clarify usage of field in data
2021-04-22 10:34:16 -07:00
Alex Stokes
f992a9ae65
Remove duplicate validation
2021-04-22 10:34:16 -07:00
Alex Stokes
360a1dd598
Respect subcommittees in gossip validations for Altair
2021-04-22 10:34:15 -07:00
Diederik Loerakker
9d0bfec2d6
Merge pull request #2345 from ralexstokes/use-markdown-parser-for-literate-pyspec
...
Use markdown parser for literate pyspec
2021-04-22 18:05:06 +02:00
Diederik Loerakker
1bd73eaa5e
Merge pull request #2348 from Nashatyrev/fix/shard-proposer-index-seed-slot
...
get_shard_proposer_index: Use slot instead of beacon_state.slot
2021-04-22 18:04:18 +02:00
Alex Stokes
a9e3ecabbd
demo spec comment feature
2021-04-21 18:49:51 -07:00
Alex Stokes
b870f92801
Update validator.md
2021-04-21 17:08:38 -07:00
Anton Nashatyrev
d09a0c2bce
get_shard_proposer_index: Use slot instead of beacon_state.slot
2021-04-21 18:55:05 +03:00
Hsiao-Wei Wang
93f6a541ad
PR feedback from @djrtwo
2021-04-21 16:42:54 +08:00
Hsiao-Wei Wang
2063c96c80
Merge branch 'dev' into prepare_state
2021-04-21 16:34:29 +08:00
Hsiao-Wei Wang
66e1a2858f
Use `ALTAIR_FORK_EPOCH` instead of `ALTAIR_FORK_SLOT`
2021-04-21 00:24:44 +08:00
Hsiao-Wei Wang
baf4b73c18
Fix ToC
2021-04-20 23:38:48 +08:00
Hsiao-Wei Wang
666f847354
Update specs and test format note.
2021-04-20 23:37:53 +08:00
terence tsao
b49869a784
Use `process_execution_payload` in sharding doc
2021-04-19 21:19:38 -07:00
Paul Hauner
c0f1231522
Rename MAX_APPLICATION_TRANSACTIONS
2021-04-19 15:24:06 +10:00
Hsiao-Wei Wang
1961831348
Merge branch 'dev' into prepare_state
2021-04-16 11:36:02 +08:00
Hsiao-Wei Wang
57ac8c3f28
Fix doc
2021-04-16 11:34:50 +08:00
Danny Ryan
c7166a37af
change eth1data block_hash type to Hash32 in phase 0
2021-04-15 06:47:11 -05:00
Hsiao-Wei Wang
b65566f184
Fix ToC
2021-04-15 15:41:12 +08:00
Mikhail Kalinin
9d79831b56
Rename validate_execution_payload to verify_execution_state_transition
2021-04-14 13:03:58 +06:00
Mikhail Kalinin
292fd604f8
Replace boolean with bool whenever make sense
2021-04-14 12:54:49 +06:00
Mikhail Kalinin
7d8570d488
Warn about potential overflows in compute_time_at_slot
2021-04-14 12:53:30 +06:00
Mikhail Kalinin
dbbc63b7a3
Replace execution_state_transition with validate_execution_payload
2021-04-13 19:13:54 +06:00
Mikhail Kalinin
ad0f1e5620
Add timestamp field into ExecutionPayload
2021-04-13 19:08:47 +06:00
Mikhail Kalinin
13edd20a36
Change Eth1Data.block_hash type to Hash32
2021-04-13 15:29:07 +06:00
Mikhail Kalinin
44de07fee9
Replace hash: Hash32 with block_hash: Hash32
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-04-13 15:20:45 +06:00
Hsiao-Wei Wang
8708ec4bb0
Update doc
2021-04-12 22:02:04 +08:00
Hsiao-Wei Wang
a8160f1634
Try to initialize state with pure Altair spec in tests
2021-04-10 00:53:37 +08:00
Mikhail Kalinin
c4c4dade27
Add missing timestamp in validator.md/get_execution_payload
2021-04-09 22:50:37 +06:00
Mikhail Kalinin
ac175fd325
Replace state with its root in execution_state_transition params
2021-04-09 19:16:52 +06:00
Mikhail Kalinin
334a9b2434
Pass timestamp to execution state transition and payload production
2021-04-09 19:14:58 +06:00
Mikhail Kalinin
a1ded22b3a
Introduce Hash32 custom type
2021-04-09 19:09:00 +06:00
Danny Ryan
af9ea0efb6
Merge branch 'dev' into merge-exe
2021-04-09 07:21:51 -05:00
Danny Ryan
f8c4977414
Merge pull request #2319 from mkalinin/merge-terminology
...
Apply new terminology to the merge spec
2021-04-09 07:11:04 -05:00
Mikhail Kalinin
ffe7d6db6a
Add pre-merge path to the process_execution_payload
2021-04-09 15:36:45 +06:00
Mikhail Kalinin
68b11ad4ad
Fix pre-condition checks in process_execution_payload
2021-04-08 20:14:34 +06:00
Mikhail Kalinin
13586cd9f8
Polishing and fixes according to github comments
2021-04-08 20:14:01 +06:00
Mikhail Kalinin
c1101a8181
Apply new terminology to the merge spec
2021-04-08 14:29:05 +06:00