Commit Graph

4514 Commits

Author SHA1 Message Date
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
Danny Ryan b9c95b722d
one more hf-1 to Altair conversion 2021-03-11 08:55:55 -07:00
Hsiao-Wei Wang b44e576e95
LIGHTCLIENT_PATCH/HF1 -> ALTAIR 2021-03-11 21:32:00 +08:00
Hsiao-Wei Wang 69489d1541
Rename folders and file names to `altair` 2021-03-11 21:12:46 +08:00
Hsiao-Wei Wang 9d3556668b
Fix domain generation 2021-03-11 21:02:05 +08:00
Hsiao-Wei Wang 86fe6bc094
Fix apply_light_client_update calls 2021-03-11 14:27:23 +08:00
Danny Ryan dd341adc20
remove faulty de-duplication condition for seen aggregates 2021-03-10 18:55:21 -07:00
Danny Ryan 36b6f8c3bf
Merge branch 'dev' into lightclient-sync-exe 2021-03-10 16:25:01 -07:00
Danny Ryan cc191a0e2c
Merge branch 'dev' into leak-scores 2021-03-10 13:18:58 -07:00
Danny Ryan b2a172ab21
@hwwhww review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-10 13:12:48 -07:00
Danny Ryan e2abdb74ae
port testing 2021-03-09 15:41:28 -07:00
Danny Ryan 70a2834058
incorporate justin's pr 2021-03-09 13:21:16 -07:00
Danny Ryan d59f1945e6
port leak-score feature without 64-epoch 2021-03-09 12:56:08 -07:00
Danny Ryan 6bd1efc73b
rename fork files 2021-03-08 17:16:13 -07:00
Alex Stokes e1023f55d1
Fix a small typo 2021-03-05 18:05:15 -08:00
Danny Ryan 8ea5e37608
add another 'modified' tag
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-02 07:56:30 -06:00
Danny Ryan deace8768e
port @justindrake's general cleanups from #2212 2021-03-01 19:41:28 -07:00
Danny Ryan 63e014791c
Merge branch 'dev' into dev-merge 2021-02-24 16:23:04 -07:00
Danny Ryan 396d399129
Apply suggestions from code review form @hwwhww
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-02-24 08:53:54 -06:00
Hsiao-Wei Wang b789b10397
Minor update ToC 2021-02-23 16:31:19 -07:00
Danny Ryan 1f7e9fabf2
minor 0x01 PR feedback 2021-02-23 16:16:46 -07:00
Danny Ryan a0ae048395
copy edits 2021-02-23 16:16:46 -07:00
Justin 5992e8ff05
Update deposit-contract.md 2021-02-23 16:16:46 -07:00
Justin 809fc7afaf
Update validator.md 2021-02-23 16:16:45 -07:00
Justin 1f8ca7179f
Update validator.md 2021-02-23 16:16:45 -07:00
Justin 80613a99bd
Update validator.md 2021-02-23 16:16:45 -07:00
Justin 0f94fa51b8
Update validator.md 2021-02-23 16:16:45 -07:00
Justin e93f1e1fa8
Copy-edit deposit-contract.md 2021-02-23 16:16:45 -07:00
Justin 47ebf438b3
Cleaner section title
"Withdrawal prefixes" matches `[BLS]/[ETH1_ADDRESS]_WITHDRAWAL_PREFIX`
2021-02-23 16:16:45 -07:00
Justin 128efdd34d
Fix table for withdrawal credentials prefixes
Minor cosmetic fixes (misformated table, section title).
2021-02-23 16:16:45 -07:00
Danny Ryan 7af50cc827
add eth1 withdrawal credentials to spec 2021-02-23 16:16:35 -07:00
Danny Ryan e35b850181
Merge pull request #2198 from ethereum/hf1-config
update penalty config values for hf1
2021-02-22 18:26:43 -06:00
Danny Ryan 8ec082fcf9
Merge pull request #2149 from ethereum/0x01-creds
Eth1 withdrawal credentials (0x01)
2021-02-16 13:06:34 -06:00
Danny Ryan 7050cb0add
minor 0x01 PR feedback 2021-02-16 11:55:01 -07:00
Danny Ryan c9ba641800
note penalties in hf1 list 2021-02-15 11:22:11 -07:00
Danny Ryan 2b8b0d9e2b
update penalty config values for hf1 2021-02-11 15:55:43 -07:00
Paul Hauner 7d715220bb
Don't propagate blocks with a faulty slot (#2196) 2021-02-10 12:39:42 -07:00
Phong Phan 0fd0db1ffc
Fix some typos (#2195)
* Fix typo for P2P Networking document

* Fix link typo of P2P networking document

* fix typo for light clients beacon chain document
2021-02-06 06:20:35 -07:00
Danny Ryan 6f2c69e79f
Merge pull request #2176 from ethereum/accounting-reform
Accounting reform [isolated]
2021-02-04 11:16:40 -06:00
Danny Ryan b08600156e
hww feedback
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-02-04 11:05:00 -06:00
Danny Ryan fe52f377e6
Merge pull request #2190 from ethereum/update-ws-calc
Updated Weak Subjectivity Calculations
2021-02-04 10:23:08 -06:00
Danny Ryan 9313815976
put 'validator' in flags methods 2021-02-04 08:47:46 -07:00
Danny Ryan 34cea67b91
ValidatorFlags -> ValidatorFlag 2021-02-04 08:45:25 -07:00
Aditya Asgaonkar 8b217d9277
Fix typo
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-02-02 12:17:56 -08:00
Danny Ryan 1c1ba5cba2
minor PR feedback 2021-02-02 12:35:00 -07:00
protolambda b4ba6c57de
linter: first tuple element type is ValidatorFlags, not just int 2021-02-01 22:02:12 +01:00
protolambda 71c28e67a1
toc update 2021-02-01 21:48:55 +01:00
protolambda 3677073812
bitvector[8] -> uint8, for efficient packing in flags merkle tree 2021-02-01 21:46:27 +01:00
Danny Ryan b029c75d88
must be correct target to get correct head 2021-02-01 07:52:06 -07:00
Danny Ryan ad01c85ff6
minor reorder to process_epoch calls 2021-02-01 07:06:29 -07:00
Danny Ryan 007a6f0ecc
a couple of hf1 notes 2021-01-29 10:37:19 -07:00
Danny Ryan 46848e4202
Merge branch 'dev' into accounting-reform 2021-01-29 08:49:51 -07:00
Aditya Asgaonkar a28f52729d Rename variables for clarity 2021-01-27 15:58:19 -08:00
Aditya Asgaonkar 742d21e914 Updates based on review 2021-01-27 15:16:15 -08:00
Hsiao-Wei Wang 1b00c10ed3
Apply @michaelsproul's feedback 2021-01-27 14:47:52 +08:00
Hsiao-Wei Wang ae218015b7
Merge branch 'dev' into re_process_final_updates_fix 2021-01-27 03:02:24 +08:00
Hsiao-Wei Wang 15e48f712b
Fix Phase 1 epoch_processing and fix epoch_processing testgen 2021-01-27 03:02:12 +08:00
Danny Ryan b47f083168
Merge pull request #2181 from ethereum/adjust_minimal_config
Adjust minimal config and fix sync committee tests
2021-01-26 08:05:28 -06:00
Aditya Asgaonkar c932fc2798 Fix linter errors 2021-01-21 17:07:45 -08:00
Aditya Asgaonkar 900eb4a83c Fixed CI errors 2021-01-20 19:33:25 -08:00
Hsiao-Wei Wang e53213a585
Minor refactor 2021-01-20 13:06:24 +08:00
Hsiao-Wei Wang fa6094837b
Update lightclient patch and phase1 specs 2021-01-19 22:03:00 +08:00
Hsiao-Wei Wang daa4798704
Break down process_final_updates 2021-01-19 21:41:55 +08:00
Justin 12593e8782
Update comments 2021-01-19 12:52:40 +00:00
Hsiao-Wei Wang f3d7dee71f
Apply @djrtwo's suggestion 2021-01-19 20:44:21 +08:00
Hsiao-Wei Wang fb0c6d54f8
Add @ralexstokes's fix 2021-01-19 20:27:18 +08:00
Hsiao-Wei Wang c877d142bd
Add duplicate elements warning to the docstring 2021-01-19 20:24:25 +08:00
Aditya Asgaonkar 93c4c62900
Remove python tag from fenced code block 2021-01-19 02:04:55 -08:00
Aditya Asgaonkar 37874f9b79 Update WS calc 2021-01-19 01:53:12 -08:00
protolambda 65696ca68b
fix typo: same condition, but non-aggregate attestation here 2021-01-16 22:48:22 +01:00
Danny Ryan 2ad8fdb818
add ability for node to randomly request and descore if not serving blocks on WS period 2021-01-14 06:53:04 -07:00
Hsiao-Wei Wang 2a6699290f
Revert "Fix SyncCommittee"
This reverts commit b2658f1091.
2021-01-14 01:47:40 +08:00
Hsiao-Wei Wang b2658f1091
Fix SyncCommittee
1. Make `get_sync_committee_indices` do not return duplicate indices
2. Pad default values to Vectors
2021-01-13 20:12:52 +08:00
Hsiao-Wei Wang a340f30e61
Merge branch 'dev' into accounting-reform 2021-01-13 14:44:17 +08:00
Hsiao-Wei Wang f113413e5b
Fix ToC 2021-01-11 18:06:37 +08:00
Hsiao-Wei Wang ce87914326
Fix the 2/3 threshold calculation
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-01-07 11:14:32 +08:00
Alex Stokes a3bf632b4f
Bugfix in sync committee proposer rewards
The variable used to accumulate proposer rewards across the sync committee processing was shadowed by the per-participant proposer reward.

This means the total proposer reward would simply be twice the output of `get_proposer_reward` for the last participant in the sync committee.

I believe we want to sum all contributions to the proposer reward across sync committee participants which is what this PR does.
2021-01-06 08:39:21 -08:00
Victor Farazdagi 70e25e6390
Update specs/phase0/weak-subjectivity.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-01-05 21:13:35 -08:00
Danny Ryan 271b9dff83
toc 2021-01-05 14:17:34 -07:00
Danny Ryan b8d3589b46
remove global quotient penalties from fork spec [temp] 2021-01-05 13:48:26 -07:00
Hsiao-Wei Wang 9c75c3819d
Fix `previous_epoch_participation` and `current_epoch_participation` initialization 2021-01-06 02:09:39 +08:00
Hsiao-Wei Wang 53ad66a4e8
Arrange constants and configurations 2021-01-06 01:11:46 +08:00
Hsiao-Wei Wang 39d3a18d48
Fix `upgrade_to_lightclient_patch` 2021-01-06 00:42:01 +08:00
Hsiao-Wei Wang 958173b5bf
Fix typo 2021-01-05 22:19:08 +08:00
Hsiao-Wei Wang 5cf0514816
Fix ToC and minor linter issues 2021-01-05 22:10:02 +08:00
Victor Farazdagi 7d60e482b9 fix typo 2021-01-05 08:48:25 +03:00
Danny Ryan 86f616b607
Merge pull request #2162 from ethereum/ralexstokes-patch-1
Refactor sync committee rewards to use helper
2021-01-03 11:00:14 -06:00
multisignature cc80dd758c
Update README.md (#2164)
* Update README.md

I've removed an incorrectly placed comma.

Since the comma is placed before 'and', and the conjunction isn't being used to either a) denote the last element of a list with more than two elements or b) separate two independent clauses, it's not necessary here.

* Update validator.md

Fixed a couple of minor errors.
2020-12-26 14:53:42 +08:00
Alex Stokes edfd04c212
Refactor sync committee rewards to use helper
This change is functionally equivalent but uses the helper we already have for proposer rewards.

The argument for this change is better encapsulation of the reward which makes it easier in general to reason about properties of the spec ("are the attestation proposer rewards and the sync committee proposer rewards equivalent?") and a single point of maintenance in the event that rewards get refactored in the future (which makes refactoring safer overall).
2020-12-22 10:42:59 -08:00
Ben Edgington 452e3301be Fix typo 2020-12-21 10:22:04 +00:00
vbuterin 682f6c02c7
Update specs/lightclient/beacon-chain.md 2020-12-20 18:54:57 +08:00
vbuterin 9e2fa30567
Complete HF1 beacon-chain.md 2020-12-19 07:22:11 +08:00
Danny Ryan f137bb037a
Merge pull request #2130 from ethereum/vbuterin-patch-2
Added standalone light client patch
2020-12-17 07:53:33 -06:00
Danny Ryan cc9a4cdc46
add base sanity light client tests 2020-12-16 17:14:42 -07:00
Hsiao-Wei Wang e63c96416a
Add a FIXME comment. 2020-12-16 15:10:54 +08:00
Hsiao-Wei Wang d01a4ad823
Fix depth calculation...again(!) and add unittests 2020-12-16 15:01:22 +08:00
Hsiao-Wei Wang cf6933ac45
Fix depth calculation and add `get_subtree_index` helper 2020-12-15 13:24:53 +08:00
Hsiao-Wei Wang bcde37c39f
Make `sync-protocol.md` pass the linter 2020-12-15 13:24:43 +08:00
Hsiao-Wei Wang acfe49e3f3
executable light client patch: beacon-chain.md (#2141)
* Bump remerkleable to 0.1.18

* Disable `sync-protocol.md` for now. Make linter pass

* Enable lightclient tests

* Use *new* `optional_fast_aggregate_verify`

* Fix ToC and codespell

* Do not run phase1 tests with Lightclient patch

* Fix the Eth1Data casting bug. Add a workaround.

* Fix `run_on_attestation` testing helper

* Revert

* Rename `optional_fast_aggregate_verify` to `eth2_fast_aggregate_verify`

* Apply Proto's suggestion

* Apply Danny's suggestion

* Fixing tests

* Fix after rebasing

* Rename `LIGHTCLIENT` -> `LIGHTCLIENT_PATCH`

* New doctoc

* Add lightclient patch configs

* fix gitignore light client patch generator output

* Upgrade state for light client patch

* Add `lightclient-fork.md` to deal the fork boundary and fix
`process_block_header`

* Misc cleanups

1) Add a summary note for every function that is changed.
2) Avoid changing `process_block` (instead only change `process_block_header`).
3) Rename `G2_INFINITY_POINT_SIG` to `G2_POINT_AT_INFINITY` to avoid `SIG` contraction.
4) Misc cleanups

* Update block.py

* Update beacon-chain.md

* Fix typo "minimal" -> "mainnet"

Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>

* Use the new `BeaconBlockHeader` instead of phase 0 version

* Update config files

* Move `sync_committee_bits` and `sync_committee_signature` back to `BeaconBlockBody`

Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: Justin <drakefjustin@gmail.com>
Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>
2020-12-15 13:18:20 +08:00
Danny Ryan 2c90ffa2f4
copy edits 2020-12-14 13:09:25 -07:00
Justin 645a3851af
Update deposit-contract.md 2020-12-12 22:02:56 +00:00
Justin 85c1347ffc
Update validator.md 2020-12-12 21:57:58 +00:00
Justin f9edecf23c
Update validator.md 2020-12-12 21:56:30 +00:00
Justin b085436f2f
Update validator.md 2020-12-12 21:51:21 +00:00
Justin ae0b10edb7
Update validator.md 2020-12-12 21:46:39 +00:00
Justin 2cc9a12c98
Copy-edit deposit-contract.md 2020-12-12 20:50:10 +00:00
Justin ef3802b8e7
Cleaner section title
"Withdrawal prefixes" matches `[BLS]/[ETH1_ADDRESS]_WITHDRAWAL_PREFIX`
2020-12-12 20:40:59 +00:00
Justin 784e567d4b
Fix table for withdrawal credentials prefixes
Minor cosmetic fixes (misformated table, section title).
2020-12-12 20:38:40 +00:00
Danny Ryan 6b728c1880
add eth1 withdrawal credentials to spec 2020-12-11 15:03:58 -07:00
Danny Ryan 56aafbe533
add note about signature check when backfilling beaconblocks 2020-12-09 12:37:56 -07:00
Danny Ryan 17221c8065
more clearly define min epoch range for blocksbyrange requests 2020-12-09 12:27:01 -07:00
Justin f2fe390638
secret_key => privkey 2020-12-08 09:20:50 +00:00
Hsiao-Wei Wang 1a30ea9da9
Merge branch 'dev' into vbuterin-patch-2 2020-12-08 00:24:55 +08:00
Justin 0b9e80d1eb
grammar 2020-12-07 23:15:34 +08:00
Danny Ryan 3b7c02514b
straightforward light client edits 2020-12-07 08:10:39 -07:00
Justin 56048cbf56
Cosmetic cleanups to BLS signatures section
Miscellaneous cosmetic cleanups to the " BLS signatures" section:

1) fix section capitalisation for spec consistency
2) avoid uncapitalised "eth2" for spec consistency
3) avoid contractions (such as `PK` for `pubkey`) for spec consistency
4) various copyedits
2020-12-07 07:28:01 -07:00
Hsiao-Wei Wang 64412be0d7
Minor update ToC 2020-12-07 11:10:19 +08:00
Justin b2d25f7454
Nitpicks 2020-11-25 11:59:01 +00:00
vbuterin 5bfe61f865
Embiggened sync committee size and added sub-aggregates 2020-11-25 19:38:45 +08:00
Justin 09ec58131d
Optimised updates as suggested by @vbuterin 2020-11-18 10:33:42 +00:00
Justin d16900a753
Fixes from @ralexstokes 2020-11-18 09:31:41 +00:00
Justin 664bc4b42e
Polish and fixes including fixed-size sync committees 2020-11-18 09:19:32 +00:00
vbuterin 171b21301b
Added support for updates that point to finalized ancestors 2020-11-18 16:27:19 +08:00
vbuterin 830efa496a
Removed compact validators, make committee balance-based 2020-11-18 16:15:30 +08:00
Justin 5e717a456d
More polish and fixes 2020-11-17 15:30:09 +00:00
Justin 7ffc9c5bc0
More polish and fixes to the sync protocol 2020-11-17 14:18:58 +00:00
Justin 99219c874f
Revamp minimal light client (lots of polish and some bug fixes) 2020-11-17 12:42:09 +00:00
vbuterin 692a0aaaa5
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:26:26 +08:00
vbuterin 5e5d03d56f
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:26:18 +08:00
vbuterin 1c146b2c03
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:26:08 +08:00
vbuterin a5e6d77165
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:25:59 +08:00
vbuterin 117d31985f
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 10:45:16 +08:00
vbuterin f9e9d7cabf
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 10:45:02 +08:00
Hsiao-Wei Wang 4df3547edf
Make `lightclient` patch pass the linter (#2133)
* Make `lightclient` an executable patch fork

* fix conflicts

* Fix ToC

* Lightclient -> Light client

* Try protolambda/remerkleable#8

* Fix sync-protocol.md ToC

* Build lightclient/sync-protocol

* Fix typo

Co-authored-by: vbuterin <v@buterin.com>

Co-authored-by: vbuterin <v@buterin.com>
2020-11-17 10:41:26 +08:00
Justin cbb3856ab9
Fix ToC (cherry-picked from @hwwhww's PR) 2020-11-16 09:09:04 +00:00
vbuterin ca88dd6922
Removed extraneous data 2020-11-16 15:08:43 +08:00
vbuterin 97dc916c9e
Python syntax highlighted updates 2020-11-16 15:07:40 +08:00
vbuterin 1f210fd1f8
Added light client syncing protocol 2020-11-16 15:02:11 +08:00
Justin 114e388d12
Fix bugs—thanks @hwwhww 2020-11-15 17:23:44 +00:00
Justin e7d52d9056
Significant polishing and a few substantive fixes
See discussion for further details.
2020-11-15 10:56:24 +00:00
vbuterin 555e131e2c
Small changes to make Justin happy 2020-11-14 13:56:00 +08:00
vbuterin 620b812c2e
Reduce reward by SLOTS_PER_EPOCH 2020-11-13 10:21:30 +08:00
vbuterin 9e3690ad17
Update specs/lightclient/beacon-chain.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-13 10:19:37 +08:00
vbuterin 7c6ede5eac
Added standalone light client patch 2020-11-12 17:28:05 +08:00
Danny Ryan 7589af8e8d
remove wip notice on phase 0 specs 2020-11-04 09:30:29 -06:00
Danny Ryan cd7b1056b4
add mainnet deposit contract address and min genesis time 2020-11-04 09:11:52 -06:00
Danny Ryan 2aa827c07f
Merge pull request #2107 from bloxapp/honest_val_time_attack
added best practices section according to https://github.com/ethereum
2020-11-04 07:36:27 -06:00
Alon Muroch 6996a897b5
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-11-04 15:29:06 +02:00
Alon Muroch 5b95219d18
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-11-04 15:19:41 +02:00
Danny Ryan cfc91cdef7
Merge pull request #2121 from AgeManning/gossipsub-mesh
Increase gossipsub mesh degree
2020-11-04 06:59:59 -06:00
Age Manning 82cdbba703
Increase mesh degree 2020-11-04 11:27:35 +11:00
Danny Ryan c4ccdc90de
Merge branch 'dev' into v1.0-candidate 2020-11-03 17:09:48 -06:00
Danny Ryan 6b44f63751
Merge pull request #2104 from ethereum/state_transition_patch
Make `state_transition` not return post-state
2020-11-03 14:57:29 -06:00
Danny Ryan bfaef689e4
Merge pull request #2092 from ethereum/ralexstokes-patch-1
Simplify fork choice spec
2020-11-03 06:58:35 -07:00
Danny Ryan b356f52c5c
ensure aggregate attestation's slot and target are consistent 2020-10-28 17:54:46 -06:00
Alon Muroch 0835c78b56
Apply suggestions from Dankrad's code review
Co-authored-by: dankrad <mail@dankradfeist.de>
2020-10-27 08:38:54 +02:00
Alon Muroch fe5e2f6a8b table of content 2020-10-20 12:07:54 +03:00
Alon Muroch 73cd1a84fd added best practices section according to https://github.com/ethereum/eth2.0-specs/issues/2085 2020-10-20 12:00:40 +03:00
Hsiao-Wei Wang f1e4b3c88b
Refactor shard_state_transition 2020-10-15 16:14:01 +08:00
Hsiao-Wei Wang 7fb9226ec6
Make `state_transition` not return post state; the given pre state should have been mutated to post state. 2020-10-15 15:58:26 +08:00
Danny Ryan c17a95a175
add note about how slashings and exits can interact. add test 2020-10-14 17:33:14 -06:00
Danny Ryan 427c7bb236
fix minor typo in validator guide 2020-10-08 10:18:15 -06:00
Danny Ryan 91deacbf9c
double eth1data params 2020-10-07 18:52:47 -06:00
Alex Stokes 663af77737
Clean up unused variable for linter 2020-10-07 17:11:13 -07:00
Alex Stokes d0cf4e7bad
Simplify fork choice spec
This change should be non-substantive as any blocks in `blocks` should be descendants (inclusive) of the `store.justified_checkpoint` (refer `get_filtered_block_tree`) so that in `get_head` all blocks considered as potential heads will have `slot > justified_slot`. Considering this condition universally applies, adding the `and ...` arm to the conditional is unnecessary overhead.
2020-10-07 16:52:51 -07:00
Danny Ryan d3d9bbd479
add note about coming gs v1.1 params 2020-10-07 17:46:20 -06:00