Commit Graph

4379 Commits

Author SHA1 Message Date
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
Hsiao-Wei Wang 2def461298
Merge branch 'dev' into altair_incentives 2021-03-31 00:53:58 +08:00
Danny Ryan ed6358a719
Merge pull request #2248 from hukkinj1/dev
Fix list indentation
2021-03-30 07:32:35 -06:00
Danny Ryan 51db49988a
Merge pull request #2254 from ethereum/phase1-rebased
Modularize Phase1 into post-Merge features: Sharding, Custody Game, Data Availability Sampling
2021-03-30 07:24:26 -06:00
protolambda 07b7774241
misc. phase1 modules refactor updates 2021-03-30 01:46:02 +02:00
protolambda 9420c29899
custody game doc naming updates 2021-03-30 01:39:01 +02:00
Diederik Loerakker 430627f290
Apply suggestions from @djrtwo
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-03-30 01:33:17 +02:00
Meredith Baxter 4b81cc21f4 Update altair/fork.md 2021-03-29 15:15:53 -04:00
terence tsao eca6bd7d62 Fix merge beacon chain spec's toc 2021-03-29 11:56:43 -07:00
Danny Ryan 41c5f1c4d6
Merge pull request #2279 from ethereum/ralexstokes-patch-2
Fix aggregation bits example in Altair validator guide
2021-03-29 12:37:47 -06:00
Danny Ryan 6f07448883
Merge pull request #2282 from benjaminion/altair-1
Make if condition more precise
2021-03-29 07:59:19 -06:00
Danny Ryan 48d619d299
Merge pull request #2277 from ralexstokes/fix-altair-val-guide
Fix use of block root in Altair validator guide
2021-03-29 07:59:02 -06:00
Danny Ryan ef4a5af645
Merge pull request #2278 from ethereum/ralexstokes-patch-1
Fix typo from earlier edit to field name
2021-03-29 07:55:09 -06:00
Danny Ryan a51c5ee4c2
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-29 07:51:49 -06:00
terence tsao f73aa2f98d
Fix spelling: negotiatied -> negotiated 2021-03-28 17:06:12 -07:00
Taneli Hukkinen b02aed93a3 Fix another list's indent 2021-03-29 01:17:29 +03:00
Taneli Hukkinen b23b16c7b7 Fix list indentation 2021-03-29 01:10:36 +03:00
Ben Edgington 64fc912ce7 Make if condition more precise 2021-03-27 16:13:46 +00:00
protolambda 2bc3e814b0
rename to custody game 2021-03-27 01:58:39 +01:00
protolambda 5e186fc136
update sharding spec to extend Merge types 2021-03-27 01:28:52 +01:00
protolambda 29f78a7f06
proof of custody full name 2021-03-27 00:53:25 +01:00
protolambda 379ba98eb7
move static sharding configuration into constants 2021-03-27 00:47:10 +01:00
protolambda 112056fa80
add custom types to TOC 2021-03-26 22:38:52 +01:00
protolambda 65dbf6a5c4
toc 2021-03-26 22:37:33 +01:00
protolambda b627f708b9
fix body type 2021-03-26 22:37:33 +01:00
protolambda 4e4d0eb24a
update custody doc wording 2021-03-26 22:37:33 +01:00
protolambda d4c057a0bd
bls point type back to sharding spec 2021-03-26 22:37:33 +01:00
protolambda f618f3c59d
move custody-specific operations to custody spec 2021-03-26 22:37:32 +01:00
protolambda 8542d349bf
update sharding p2p doc 2021-03-26 22:37:32 +01:00
protolambda 0b8e3aee44
move shard blob types from das to sharding spec 2021-03-26 22:37:32 +01:00
protolambda 306fc95c60
Update doc names and sharding readme section 2021-03-26 22:37:32 +01:00
protolambda c748c1d7d5
cleanup sharding docs 2021-03-26 22:37:32 +01:00
protolambda 6d2d8cb982
toc updates 2021-03-26 22:37:32 +01:00
protolambda 882aa81ee9
cleanup 2021-03-26 22:37:31 +01:00
protolambda 4068a887c5
split phase1 features 2021-03-26 22:37:31 +01:00
protolambda 3f97cca531
remove light-client-sync. Altair implements this. Shard-specific part can be implemented later. 2021-03-26 22:37:31 +01:00
protolambda 2696968f24
cleanup validator doc; lightclient was moved to altair, shards are data-heavy, no transitions for now 2021-03-26 22:37:31 +01:00
protolambda b3c5e65698
cleanup old docs about transition-full sharding 2021-03-26 22:37:31 +01:00
protolambda 8116e1c0a3
minor fixes to appease CI 2021-03-26 22:37:31 +01:00
protolambda cf8676690a
notes about backbone identification function claims 2021-03-26 22:37:31 +01:00
protolambda b7d965b543
split out general phase1 networking from DAS 2021-03-26 22:37:30 +01:00
protolambda 02e3144283
fix DAS p2p validation rule wording 2021-03-26 22:37:30 +01:00
protolambda 8e21a31d0f
DAS docs TOC updates 2021-03-26 22:37:30 +01:00
protolambda 4c5afb92f4
refactor/polish style of DAS docs, move DAS validator work to new doc 2021-03-26 22:37:30 +01:00
Diederik Loerakker c6af2ec687
Code review - apply suggestions to DAS doc
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-03-26 22:37:30 +01:00
Danny Ryan a8c9cfbe84
minor cleanups/fixes to shard data avail PR 2021-03-26 22:37:30 +01:00
protolambda a1831940ea
adjustments based on review by @dankrad 2021-03-26 22:37:30 +01:00
Diederik Loerakker 5e57ff0ab1
Update specs/phase1/data-availability-sampling.md
Co-authored-by: dankrad <dankrad@ethereum.org>
2021-03-26 22:37:29 +01:00
protolambda 334c88961c
toc 2021-03-26 22:37:29 +01:00
protolambda a02f856e54
update bit-reverse-ordering/presentation + shard blob signature verification 2021-03-26 22:37:29 +01:00
protolambda 91e935d4f3
more DAS spec work: DAS function signatures, gossip details 2021-03-26 22:37:29 +01:00
protolambda e3a7e169f5
DAS doc 2021-03-26 22:37:29 +01:00
protolambda 6f0b613f08
work in progress DAS network + validator spec 2021-03-26 22:37:29 +01:00
vbuterin be91e59823
DAS phase 1 2021-03-26 22:37:29 +01:00
Danny Ryan 304e87a98c
typo 2021-03-26 22:37:28 +01:00
protolambda be93b03cc8
pending_commitment.votes -> pending_header.votes 2021-03-26 22:37:28 +01:00
Danny Ryan 1192158848
minor cleanups/fixes to shard data avail PR 2021-03-26 22:37:28 +01:00
vbuterin 3e6baf1ef1
Fixed index vs shard and beacon committee getting 2021-03-26 22:37:28 +01:00
vbuterin ca6323866d
Apply suggestions from code review
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: dankrad <dankrad@ethereum.org>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-26 22:37:28 +01:00
Dankrad Feist 0af9e25e6b
Revert hackmd link -- original link was good, just accidentally overwritten 2021-03-26 22:37:28 +01:00
Dankrad Feist ac0686de04
Refactor loop 2021-03-26 22:37:28 +01:00
Dankrad Feist fc4dad6a13
Fix degree proof for length 0 (degree -inf) 2021-03-26 22:37:27 +01:00
Dankrad Feist 29a5d4c836
BLSCommitment -> DataCommitment 2021-03-26 22:37:27 +01:00
dankrad eccae0aa89
Update specs/phase1/beacon-chain.md
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-26 22:37:27 +01:00
Dankrad Feist f216000815
MAX_COMMITTEE_SIZE -> MAX_VALIDATORS_PER_COMMITTEE (missed one) 2021-03-26 22:37:27 +01:00
dankrad 7fc34c801d
Update specs/phase1/beacon-chain.md
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-26 22:37:27 +01:00
Dankrad Feist 41f97162d6
most_recent_confirmed_commitments -> grantparent_epoch_confirmed_commitments 2021-03-26 22:37:27 +01:00
Dankrad Feist f44b7ffe48
Change length proof to degree proof 2021-03-26 22:37:27 +01:00
Dankrad Feist a260dbcf15
Kate -> KZG10 (better in formal contexts) 2021-03-26 22:37:26 +01:00
dankrad 6660262f5d
Update specs/phase1/beacon-chain.md
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2021-03-26 22:37:26 +01:00
dankrad 0408aa52cc
Update specs/phase1/beacon-chain.md
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2021-03-26 22:37:26 +01:00
Dankrad Feist f0fc9c6462
Add modulus 2021-03-26 22:37:26 +01:00
Dankrad Feist 126d07cfb3
MAX_COMMITTEE_SIZE -> MAX_VALIDATORS_PER_COMMITTEE 2021-03-26 22:37:26 +01:00
dankrad 6e249e8932
Update specs/phase1/beacon-chain.md
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-26 22:37:26 +01:00
Dankrad Feist c674a27a25
Fix seed in get_shard_proposer_index 2021-03-26 22:37:26 +01:00
Dankrad Feist 0769b2ca6d
Fill in with zeroes only up to the next power of two, to reduce degrees of polynomials 2021-03-26 22:37:25 +01:00
Dankrad Feist 68844f2e9d
Increase maximum allowable gas price and restrict proposer selection so it is guaranteed to be covered 2021-03-26 22:37:25 +01:00
Dankrad Feist 7d05c42cad
Improve/correct length checking 2021-03-26 22:37:25 +01:00
Dankrad Feist 4348d3b255
Add data availability coding rate as a constant (makes it more explicit what's going on) 2021-03-26 22:37:25 +01:00
vbuterin 315fe92f08
Added size check to include the degree check 2021-03-26 22:37:25 +01:00
vbuterin d3cb261a16
Delta minimum 1 2021-03-26 22:37:25 +01:00
Dankrad Feist 4647a1b6e2
Some small fixes 2021-03-26 22:37:25 +01:00
vbuterin 2abc7a4cf2
pending_headers -> pending_shard_headers 2021-03-26 22:37:24 +01:00
vbuterin 42ad1208a9
Update specs/phase1/beacon-chain.md
Co-authored-by: dankrad <dankrad@ethereum.org>
2021-03-26 22:37:24 +01:00
vbuterin 1bccf9ff02
Update specs/phase1/beacon-chain.md
Co-authored-by: dankrad <dankrad@ethereum.org>
2021-03-26 22:37:24 +01:00
vbuterin badc3eaa8e
Update specs/phase1/beacon-chain.md
Co-authored-by: dankrad <dankrad@ethereum.org>
2021-03-26 22:37:24 +01:00
vbuterin 27dbb5e4a4
Update specs/phase1/beacon-chain.md
Co-authored-by: dankrad <dankrad@ethereum.org>
2021-03-26 22:37:24 +01:00
Hsiao-Wei Wang 3211c11c17
Revert: `BeaconBlockHeader` was not changed 2021-03-26 22:37:24 +01:00
Hsiao-Wei Wang 55d9f62bf2
(OOP SSZ) if the fields are updated, we need to redefine them when defining the new SSZ class with the new field classes 2021-03-26 22:37:23 +01:00
Hsiao-Wei Wang 1ce25c19e8
Minor fixes 2021-03-26 22:37:23 +01:00
vbuterin 2190c13858
Added dependencies to fork choice section 2021-03-26 22:37:23 +01:00
vbuterin ed357b9f9f
Abstracted (Kate commitment, length) into separate object 2021-03-26 22:37:23 +01:00
vbuterin 3d108e7fe2
Made confirmed headers a separate object 2021-03-26 22:37:23 +01:00
vbuterin 623f164bf1
Fixed custom types 2021-03-26 22:37:23 +01:00
vbuterin f75ea377d5
Second pass 2021-03-26 22:37:23 +01:00
vbuterin d02a6422e3
Combing... part 1 2021-03-26 22:37:22 +01:00
vbuterin e17ab8e8de
DAS phase 1 2021-03-26 22:37:16 +01:00
Diederik Loerakker 54279f9e3b
Merge pull request #2281 from ethereum/the-merge
Merge `the-merge` into `dev`
2021-03-26 22:27:41 +01:00
Danny Ryan 223aba3e78
byte-list for opaque transaction payload 2021-03-26 13:50:46 -06:00
Danny Ryan 41a087a78d
minor edits from code review
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-26 13:12:53 -06:00
Alex Stokes ccfbf5c70a
Fix use of block root in Altair validator guide 2021-03-26 11:59:01 -07:00
Alex Stokes 875aac4c43
Fix aggregation bits example in Altair validator guide
The sub-index calculation was incorrect when demonstrating how to map a validator in the sync committee to a particular bit in the `aggregation_bits` in the sync committee aggregation scheme. The correct index is given in this commit.
2021-03-26 11:50:48 -07:00
Alex Stokes f9ba7f616e
Fix typo from earlier edit to field name
The field name `aggregation_bits` was changed from `aggregate_bits` to reflect the same usage under the attestation scheme. This PR cleans up left-over references to the old field name in the section header and TOC.
2021-03-26 11:38:47 -07:00
Justin 0481e920f0
Deprecate the use of PROPOSER_REWARD_QUOTIENT 2021-03-26 10:51:29 +00:00
Barnabé Monnot 71d03a411c Scale up weights; use existing constants and new PROPOSER_WEIGHT 2021-03-26 18:36:49 +08:00
Barnabé Monnot 59134fb0ae Modify incentives to preserve invariant 2021-03-26 12:18:51 +08:00
Alex Vlasov 020895e35d
Typing problems fixes (#2271)
* Typing problem fixed: `process_block_header` passes `Bytes32()` to `state_root` of `BeaconBlockHeader`, which type is `Root`

* Typing problem fixed in `initialize_beacon_state_from_eth1`: `len` returns an `int` value, while `deposit_count=uint64` of `Eth1Data` has type `uint64`

* Typing problem fixed in `process_rewards_and_penalties`: `numerator` of type `int` passed to `weight` parameter of `get_flag_index_deltas`, which has type `uint64`

* Typing problem fixed in `process_attestation`; `False` passes as `crosslink_success` parameter of `PendingAttestation`, which has type `boolean`. `False` is an instance of `(python.)bool` and is not an instance of `(ssz.)boolean`

* Typing problem fixed: `shard_data_roots` of `ShardTransition` has type `List[Bytes32]`, but its elements are used as if they were `Root` values, e.g. in `process_chunk_challenge` method: passed to `data_root` of `CustodyChunkChallengeRecord` which has type `Root`

* Typing problem fixed in `process_custody_final_updates`: `index` has type `int`, while `validator_indices_in_records` has type `Set[ValidatorIndex]`, so tesing whether `index in validator_indices_in_records` can be risky, depending on implementation details. `ValidatorIndex(index) in validator_indices_in_records` is a safer variant.

* Typing problem fixed: `slashed` parameter of `pack_compact_validator` has type `(python.)bool`, however in `committee_to_compact_committee` a value of `(ssz.)boolean` is passed as a value of the parameter

* Typing problem fixed: `inactivity_scores` is a `List[uint64,...]`, while it is intialized/appended with values of `(python.)int` type

* fixed according to @protolambda suggestions

* changed types of _WEIGHT constants and appropriate variables/parameters, according to @protolambda suggestions

* revert code formatting back

* Introduced ZERO_ROOT according to @protolambda 's suggestion

* Reverted back to , according to @protolambda comments
2021-03-25 22:03:21 +01:00
Mikhail Kalinin 81a2c2c2b5 Use ByteList[N] and ByteVector[N] types 2021-03-25 18:41:00 +06:00
Mikhail Kalinin 260a0a5273 Polish merge/fork-choice.md 2021-03-25 17:53:15 +06:00
Mikhail Kalinin a23bde347b Bytes1 to byte in ApplicationPayload.logs_bloom 2021-03-25 17:51:32 +06:00
Mikhail Kalinin ee5ecf8e2b Address a new portion of comments and fixes 2021-03-25 17:49:13 +06:00
Mikhail Kalinin 63ae9f2bdb Standardise PowBlock between fork-choice and validator 2021-03-24 20:58:31 +06:00
Mikhail Kalinin ea5f606bd0 Address various cleanups and formatting suggestions 2021-03-24 16:30:29 +06:00
terence tsao d0b1ac1934
Update beacon-chain.md 2021-03-22 16:28:45 -07:00
Danny Ryan d49cddc1d8
Merge pull request #2255 from ralexstokes/update-subcommittee-name
Use different name for constant for sync committee aggregates
2021-03-22 11:34:32 -06:00
Danny Ryan bb85ef5a57
pr cleanup 2021-03-22 10:53:26 -06:00
Mikhail Kalinin 96de910b22 Distinguish invalid and not processed transition block 2021-03-22 21:55:35 +06:00
Mikhail Kalinin 7e6ac4e7f7 Boolean -> boolean 2021-03-22 21:20:05 +06:00
Mikhail Kalinin 83453d212e Simplify merge.BeaconState definition 2021-03-22 21:14:31 +06:00
Mikhail Kalinin 38a455c79f Verify that ApplicationPayload is zeroed before the transition 2021-03-22 20:58:34 +06:00
Mikhail Kalinin 24dc8a277f
Fix block_body variable in is_transition_block
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2021-03-22 20:54:44 +06:00
protolambda 493dd17cc4
reduce justification and finalization Altair diff 2021-03-21 04:22:45 +01:00
Mikhail Kalinin 3420e51a0f Verify transition block to be assembled correctly 2021-03-20 21:46:20 +06:00
Mikhail Kalinin 46fc8a196d Strip down the merge to the pure consensus upgrade 2021-03-20 19:21:11 +06:00
Hsiao-Wei Wang 2ce389216d
Executable Altair validator guide 2021-03-19 23:38:59 +08:00
Alex Stokes 484fae3c2b
update constant name 2021-03-19 07:59:49 -06:00
Justin 053661ad20
Update beacon-chain.md 2021-03-19 10:04:46 +00:00
Alex Stokes 208a658305
Use different name for constant for sync committee aggregates 2021-03-18 15:53:57 -06:00
Mikhail Kalinin bf151641a7 Add rebase-to-Altair warning 2021-03-17 22:42:29 +06:00
Alex Stokes c661ddf12c
hoist container definitions to preamble 2021-03-17 09:35:39 -06:00
Mikhail Kalinin b8e16c1610 Remove min(..., ...) in get_evm_beacon_block_roots 2021-03-17 15:59:14 +06:00
Mikhail Kalinin a368f5d224 Lable Added/Remove notes with Merge explicitly 2021-03-17 15:59:14 +06:00
Mikhail Kalinin 3c9cd855a0 Fix spelling
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin 5435324693 Add a line break in get_recent_beacon_block_roots
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin 3fb5f2ec81 Use Vector struct for recent_block_roots field
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin f6f36872d8 Index from GENESIS_SLOT in compute_time_at_slot
Co-authored-by: Paul Hauner <paul@paulhauner.com>
2021-03-17 15:59:14 +06:00
Mikhail Kalinin ee161634b2 Polish beacon chain spec and validator guide 2021-03-17 15:59:14 +06:00
Mikhail Kalinin 0dec828d89 Add initial merge spec 2021-03-17 15:59:14 +06:00
Danny Ryan e2c9a15aaf
Merge pull request #2246 from ethereum/sync_rewards
refactor sync committee rewards
2021-03-16 20:27:04 -06:00
protolambda 0fe5e1ef6e
update of req-resp, v2 sync methods, gossip topics 2021-03-17 00:54:29 +01:00
Alex Stokes 893134d2ab
Add validator guide and initial P2P spec for Altair 2021-03-16 17:37:42 -06:00
Justin Drake 27e88a2484 (WIP) refactor sync committee rewards 2021-03-16 15:30:25 +00:00
Danny Ryan 85d323c227
Merge pull request #2242 from ethereum/sync_aggregate
Define SyncAggregate to bundle sync committee bits and signature
2021-03-15 15:48:20 -06:00
protolambda 1eaa3c1742
Define SyncAggregate to bundle sync committee bits and signature, update tests to better isolate the state-change, introduce helper function for future tests, and update test doc 2021-03-15 21:55:36 +01:00
Danny Ryan 4afb6533a2
suffix ALTAIR on update constants 2021-03-15 11:46:53 -06:00
Hsiao-Wei Wang 8fdc0338ac
Merge pull request #2240 from ethereum/altair-genesis-tests
Enable Altair genesis tests + rename `SpecLightclient` -> `SpecAltair` + disable too slow test
2021-03-16 01:19:14 +08:00
Hsiao-Wei Wang 40fa73a311
Fork to Altair 2021-03-16 00:05:13 +08:00
Justin b4c1520bc2
Minor formatting fix 2021-03-15 15:02:57 +00:00
Danny Ryan b8bf7f0f80
Merge pull request #2236 from ethereum/justin_altair_cleanups
Altair cosmetic cleanups plus a couple substantive changes
2021-03-15 08:57:35 -06:00
Danny Ryan 2a0e0eb119
fix typo 2021-03-15 08:42:50 -06:00
Danny Ryan 6f473af395
Merge pull request #2225 from ethereum/seen-aggregates
remove faulty de-duplication condition for seen aggregates
2021-03-15 07:43:33 -06:00
Danny Ryan 178a994804
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-15 07:33:14 -06:00
Justin Drake e7ebd08d69 Altair cosmetic cleanups plus a couple substantive changes 2021-03-15 11:08:41 +00:00
protolambda c979e69003
Altair in description and titles 2021-03-14 22:54:30 +01:00
Danny Ryan 65dcf897c2
Merge pull request #2147 from ethereum/lightclient-sync-exe
Make `sync-protocol.md` pass the linter and add basic tests
2021-03-12 07:52:45 -07:00
Hsiao-Wei Wang c34eae33d0
Merge branch 'dev' into lightclient-sync-exe 2021-03-12 00:49:29 +08:00
Danny Ryan 79f351cfca
Merge branch 'dev' into leak-scores 2021-03-11 09:28:58 -07:00