Commit Graph

4235 Commits

Author SHA1 Message Date
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
Hsiao-Wei Wang 6e8b4b3ea9
Add eth2spec.merge.spec 2021-04-08 05:57:16 +08:00
Adrian Sutton 08f9f81c1f
Update note about changes to slash_validator. 2021-04-07 11:44:24 +10:00
Danny Ryan 680e264fa9
Merge pull request #2295 from mkalinin/application-payload-fields
New application payload fields
2021-04-06 15:38:40 -06:00
Danny Ryan 0c1fae6079
Merge pull request #2302 from ethereum/shardblobs
Shard blob, headers and slashings
2021-04-06 15:24:58 -06:00
Diederik Loerakker f3dbb8b46f
Merge pull request #2307 from ericsson49/ericsson49/fix_uint64_overflow
Fix uint64 overflow when computing ROOT_OF_UNITY
2021-04-06 23:15:47 +02:00
protolambda cb29a7ed91
Merge branch 'dev' into shardblobs 2021-04-06 19:49:48 +02:00
protolambda 2119efc1bf
change to block-root anchor of shard blob 2021-04-06 19:31:20 +02:00
protolambda ead3510704
update TOC, check slot range to avoid future-slot state-root lookup 2021-04-06 17:07:29 +02:00
Mikhail Kalinin 2a4756da2e Add transactions_root to ApplicationBlockHeader 2021-04-06 11:48:33 +06:00
protolambda 36e871dc88
Enforce state sub-tree in shard blob proposal to avoid inconsistent replays on reorg, and provide context for proposer_index computation 2021-04-06 04:00:55 +02:00
protolambda 2cbc52b9dc
Implement review suggestions
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-04-06 03:17:07 +02:00
Danny Ryan 05581e759c
Merge pull request #2309 from terencechain/fix-spelling
Fix spelling
2021-04-05 18:48:40 -06:00
protolambda f7069510e6
update shard blob and headers types, implement shard blob slashings, update shard gossip validation 2021-04-06 02:23:43 +02:00
terence tsao b2f42bf4d7 broadast -> broadcast 2021-04-05 17:05:59 -07:00
Alex Stokes 746d6453bc
Clean up unnecessary function arguments
Some of the inputs to some functions in the Altair validator guide
were required in earlier iterations of the aggregation scheme but are
no longer required in the current version. This commit cleans up these
functions.
2021-04-05 16:56:13 -07:00
ericsson 37fe8068ca Cast `MAX_SAMPLES_PER_BLOCK * POINTS_PER_SAMPLE` to `int` to avoid `uint64` overflow 2021-04-05 23:13:54 +03:00
Danny Ryan 0b069fbfca
Merge pull request #2303 from ericsson49/ericsson49/fix_typos
Sharding spec typos fixed
2021-04-05 12:27:33 -06:00
Danny Ryan 52e4ce3bcf
Merge pull request #2276 from barnabemonnot/altair_incentives
Modify incentives to preserve invariant
2021-04-05 12:23:17 -06:00
Alex Stokes bf7c61ff30
Merge pull request #2299 from ralexstokes/update-altair-p2p
Fix language with sync committee selection proofs
2021-04-05 11:03:36 -07:00
Hsiao-Wei Wang 8d60614728
Merge branch 'dev' into altair_incentives 2021-04-06 00:01:11 +08:00
Meredith Baxter 4a1126d916 Fix table formatting 2021-04-05 11:34:06 -04:00
ericsson 01dc8c6624 Type fixed: `boolean` instead of `bool` in `PendingShardHeader` 2021-04-05 18:22:53 +03:00
ericsson c0a2ab54f1 Type fixed: made BLSCommitment descending from Bytes48 instead of bytes48 2021-04-05 17:39:04 +03:00
ericsson 99c1b75e59 More backquotes to make DocToc happy 2021-04-05 17:08:38 +03:00
ericsson 71a609464c fixed some typos, which blocks Python parser 2021-04-05 16:53:03 +03:00
ericsson 1a8ff79a18 Add backquotes around DASSample, since setup.py/get_spec fails w/o them 2021-04-05 16:51:26 +03:00
Alex Stokes 9aaf548c37
Fix language with sync committee selection proofs 2021-04-02 18:37:30 -07:00
Mikhail Kalinin 79aee8645d Implement ApplicationBlockHeader 2021-04-02 21:01:49 +06:00
Justin 48fb9c39c2
Update beacon-chain.md 2021-04-02 15:05:54 +01:00
Justin 88d8f80957
Fix two bugs (and some cleanups)
Fix two bugs:

1) The participant reward (previously known as "inclusion reward") should not be proportional to `effective_balance` because a sync committee member is already chosen with probability proportional to the effective balance. Credit to @vbuterin.
2) The participant reward (previously known as "inclusion reward") was too large by a factor of `len(participant_indices)`, not taking into account the `for` loop.

Fixing these two bugs actually makes the code significantly simpler and cleaner :)

@barnabemonnot: Could you check the logic? :) If confirmed happy to update the tests.
2021-04-02 14:52:32 +01:00
Danny Ryan acfbd9375e
Merge pull request #2293 from ralexstokes/reorder-aggregation-conditions
Reorder Altair gossip validation conditions
2021-04-01 11:25:10 -06:00
Danny Ryan b81c64fa15
Merge pull request #2287 from mbaxter/altair/change-altair-fork-default
Set tmp ALTAIR_FORK_SLOT to max value
2021-04-01 06:39:14 -06:00
Danny Ryan b3f72075cb
Merge pull request #2294 from michaelsproul/sync-committee-balance
Simplify balance calc in `process_sync_committee`
2021-04-01 06:36:41 -06:00
Adrian Sutton 45c764618a
Fix missed rename from aggregate_and_proof to contribution_and_proof 2021-04-01 15:18:31 +10:00
Danny Ryan 28216cbcda
fix lint
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2021-03-31 13:22:45 -06:00
Mikhail Kalinin 106e1b98ba Add parent_hash, number to ApplicationPayload 2021-03-31 16:10:02 +06:00
Mikhail Kalinin b52cde0c86 Fix redundant application_parent_hash in validator.md 2021-03-31 15:06:32 +06:00
Michael Sproul e8b758f9a6
Simplify balance calc in `process_sync_committee` 2021-03-31 17:21:51 +11:00
Alex Stokes b151adbd4e
Reorder Altair gossip validation conditions
Validate the `selection_proof` selects the incoming validator as an
aggregator before doing other checks like committee inclusion and
(relatively) expensive signature checks.
2021-03-30 16:18:14 -07:00