Commit Graph

4242 Commits

Author SHA1 Message Date
Danny Ryan 84830e8f26
Merge pull request #2131 from ethereum/bbr-ws
BlocksByRange under WS
2021-05-12 08:51:16 -06:00
Danny Ryan 1a7aa898ab
Merge branch 'dev' into sync-seed 2021-05-12 08:46:11 -06:00
Danny Ryan dff12dd644
Merge pull request #2400 from ethereum/sync-committee-off-by-1
add logic for handling sync committee off by one issue
2021-05-12 08:45:05 -06:00
Danny Ryan 6371707779
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-05-12 08:40:34 -06:00
Danny Ryan f52f067b8e
add resourceunavailable error code 2021-05-12 08:36:27 -06:00
Danny Ryan 82b7a7be3b
Apply suggestions from code review
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
Co-authored-by: Jacek Sieka <jacek@status.im>
2021-05-12 08:29:42 -06:00
Hsiao-Wei Wang 8e07ece492
Minor rephrase 2021-05-12 14:11:33 +08:00
protolambda 0390ab819a
Protocols pyspec support + execution payload tests cleanup 2021-05-12 02:40:23 +02:00
Danny Ryan 8bb0531f58
only give counter-weight penalty if leak. TMP 2021-05-11 16:23:31 -06:00
Danny Ryan 09cefa03f3
remov sync signature todo 2021-05-11 16:07:24 -06:00
Danny Ryan 468f42c545
Merge branch 'simplify-sync-committee-calc' into sync-seed 2021-05-11 16:03:19 -06:00
Danny Ryan 200c049778
fix seed calc issue 2021-05-11 15:55:33 -06:00
Danny Ryan 2747882776
use current_Epoch seed when calculating next_sync_committee 2021-05-11 15:18:18 -06:00
Danny Ryan 43ba615b75
Apply suggestions from code review 2021-05-11 14:13:22 -06:00
Alex Stokes 859a7d743e
Only allow sync committee period calculation at period boundaries 2021-05-11 12:42:21 -07:00
Alex Stokes f328f77e65
clarify fork upgrade conditions 2021-05-11 10:58:45 -07:00
Danny Ryan a9cc036184
remove timely_head penalty 2021-05-11 11:48:26 -06:00
Danny Ryan 488ceed4f9
add notes about repeatedly failing tos erve blocks as being disconncetable 2021-05-11 11:29:37 -06:00
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