Dmitrii Shmatko
b1aa227983
Added `on_merge_block` client tests
2021-09-23 22:22:34 +03:00
Mark Mackey
d9a183b5cb
Modify Merge Gossip Block Validation Conditions
2021-09-23 13:30:43 -05:00
Mark Mackey
08ca12ba97
Fixed Altair p2p-interface.md Link
2021-09-23 13:16:57 -05:00
lsankar4033
1ccb7d0a52
Inline TERMINAL_BLOCK_HASH and TERMINAL_TOTAL_DIFFICULTY usages
2021-09-23 09:52:02 -07:00
Lakshman Sankar
9d1cdf5ce1
Bytes32 -> Hash32
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2021-09-23 09:31:43 -07:00
Mikhail Kalinin
0e2eb50675
Fix spelling
2021-09-23 15:30:14 +06:00
Mikhail Kalinin
41e06aec1b
Introduce PayloadId type
2021-09-23 15:03:43 +06:00
Mikhail Kalinin
7d577ed422
Introduce ExecutionAddress type
2021-09-23 14:35:55 +06:00
Mikhail Kalinin
b7deef1629
Clarity which state should be used in prepare_payload in a better way
2021-09-23 13:50:46 +06:00
Mikhail Kalinin
7ef938da77
Add notify_ prefix to EE functions sending notifications
2021-09-23 13:37:52 +06:00
Mikhail Kalinin
c815f695cd
Polish comment in get_payload body
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-09-23 13:17:55 +06:00
Mikhail Kalinin
eada985e9e
Better wording for consensus_validated
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-23 13:16:18 +06:00
lsankar4033
56fc984333
Re-run doctoc
2021-09-22 11:24:05 -07:00
lsankar4033
df6a834889
Add TERMINAL_BLOCK_HASH override
2021-09-22 11:18:41 -07:00
Mikhail Kalinin
f4bd37a108
Fix spelling 2
2021-09-22 23:58:04 +06:00
Mikhail Kalinin
38a4fd907e
Fix spelling
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-09-22 23:56:10 +06:00
Mikhail Kalinin
24bacafeee
Update consensus_validated description
2021-09-22 23:52:15 +06:00
Anton Nashatyrev
df01588464
Return back `proposer_index` validation for Gossip messages
2021-09-22 18:40:10 +03:00
Mikhail Kalinin
06107ce7d8
Polish the description of execution engine functions
2021-09-22 18:29:58 +06:00
Mikhail Kalinin
8cecf405cb
Merge branch 'dev' into execution-engine-update
2021-09-22 17:47:02 +06:00
Mikhail Kalinin
18bfe3555f
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-22 17:45:26 +06:00
Anton Nashatyrev
b292f0b7b3
Remove beacon_block_root field from ShardBlob
2021-09-21 18:04:39 +03:00
Danny Ryan
e2af59c8cd
ensure random is validated for all payloads including transition
2021-09-20 23:18:39 +06:00
Mikhail Kalinin
cb9e65ab85
Bring on extra_data field
2021-09-20 23:18:39 +06:00
Mikhail Kalinin
b530e01761
Update calls to execution_engine
2021-09-20 20:57:45 +06:00
Mikhail Kalinin
9ca8c592c5
Add TBD for TTD and add the value to the configs
2021-09-18 12:39:54 +06:00
Mikhail Kalinin
a48ea83ab8
Fix toc
2021-09-17 16:54:06 +06:00
Mikhail Kalinin
d0889b9001
Hardcode terminal total difficulty
2021-09-17 16:20:25 +06:00
Mikhail Kalinin
df657f7c93
Merge branch 'dev' into set-random-to-prev-randao-mix
2021-09-17 14:41:43 +06:00
Mikhail Kalinin
6f78e6a3ee
Remove randao_reveal from validator.md
2021-09-16 11:28:04 +06:00
Danny Ryan
c396ee1e3f
Merge pull request #2595 from mkalinin/terminal-pow-block-verification
...
Verify terminal PoW block after call to state_transition
2021-09-15 17:11:27 -06:00
Alex Stokes
899bde0873
Rename client_settings.md to client-settings.md
2021-09-13 06:31:11 -07:00
Mikhail Kalinin
960a49afc9
Verify terminal PoW block after call to state_transition
2021-09-10 16:07:26 +06:00
lsankar4033
879a60a169
Run doctoc
2021-09-09 08:45:21 -07:00
Lakshman Sankar
83471fe461
Apply suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:38:33 -07:00
Lakshman Sankar
252f4ea14a
Wording change
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:37:39 -07:00
Lakshman Sankar
771933d1a7
Stronger language around usage of the setting
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:37:27 -07:00
Lakshman Sankar
385ee12ef0
'should' -> 'must'
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:36:54 -07:00
Lakshman Sankar
de1487564a
Wording change
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2021-09-09 08:36:42 -07:00
Lakshman Sankar
10f4ea4b51
Wording change
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-09-09 08:36:25 -07:00
lsankar4033
a542a07578
Fix links
2021-09-08 13:06:22 -07:00
lsankar4033
0f7d8e5552
Add notes in merge/fork.md
2021-09-08 13:03:05 -07:00
lsankar4033
01fe3cdb08
Add note about default behavior
2021-09-08 12:57:49 -07:00
lsankar4033
49d225bb78
Add new --terminal-total-difficulty-override client_setting
2021-09-08 12:34:33 -07:00
Mikhail Kalinin
02057cb13e
Fix spelling
2021-09-01 20:59:16 +06:00
Mikhail Kalinin
6ba1f22404
Set ExecutionPayload.random to the previous randao_mix
2021-09-01 18:42:58 +06:00
Mikhail Kalinin
5a84224d1a
Change transition_td to terminal_td in the merge spec
2021-08-30 18:23:25 +06:00
Danny Ryan
dfef7fc442
Merge pull request #2565 from ericsson49/ericsson49/fix_typos_in_sharding_2
...
Fix typos in `sharding/beacon-chain.md`
2021-08-23 12:14:12 -06:00
ericsson
34d42b640d
Fix typo in `get_start_shard`
2021-08-23 20:09:41 +03:00
ericsson
33552279bf
Fix typos in `get_shard_proposer_index`: `beacon_state` vs `state`
2021-08-23 20:09:01 +03:00
ericsson
96c05adcf8
Fix typing problem: `is_merge_block` accepts `BeaconBlockBody` as a second argument, while `BeaconBlock` is provided
2021-08-23 18:52:09 +03:00
Hsiao-Wei Wang
15a6c48a46
Merge pull request #2518 from ethereum/fix-store-justified-checkpoint
...
Fix fork choice store checkpoints inconsistency issue
2021-08-23 23:41:11 +08:00
ericsson
43a6beceb6
make doctoc happy
2021-08-23 14:46:06 +03:00
ericsson
fe1b9961ff
Fix typos in sharding.md
2021-08-23 14:21:38 +03:00
Danny Ryan
a3953a10fe
minor format
2021-08-19 10:11:02 -06:00
Hsiao-Wei Wang
206126644f
More fixes
2021-08-19 23:34:54 +08:00
Hsiao-Wei Wang
59d8ee34f9
Update some "1.0" "2.0" wording
2021-08-19 23:24:04 +08:00
Danny Ryan
911a4169fe
spelling
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2021-08-19 07:59:05 -06:00
Danny Ryan
4c1156d504
rename eth1 and eth2 throughout specs and readme where reasonable
2021-08-18 17:13:24 -06:00
Hsiao-Wei Wang
6ffc735642
Merge branch 'dev' into fix-store-justified-checkpoint
2021-08-17 21:28:42 +08:00
Mikhail Kalinin
e3cad13497
Make base_fee_per_gas little-endian
2021-08-16 18:35:11 +06:00
Mikhail Kalinin
301157c027
Change base_fee_per_gas type to Bytes32
2021-08-13 14:21:37 +06:00
Anton Nashatyrev
68db644ae9
Rename DataCommitment.length field to samples_count and fix degree_proof validation
2021-08-11 15:11:37 +02:00
Danny Ryan
c404cd144a
Merge pull request #2533 from mkalinin/rebase-with-london
...
Rebase Merge spec with London
2021-08-10 16:37:32 -06:00
Danny Ryan
08210fe067
Merge pull request #2531 from ethereum/merge-p2p
...
add base merge p2p spec
2021-08-10 16:29:33 -06:00
Danny Ryan
c5b958e9d0
Merge pull request #2486 from ethereum/shard-building
...
Shard builder <> proposer separation
2021-08-10 16:15:24 -06:00
protolambda
da893c123e
update p2p shard blob/header/tx propagation windows
2021-08-10 23:18:59 +02:00
Diederik Loerakker
d005fee67d
sharding p2p code review fixes
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-08-10 13:48:26 +02:00
Mikhail Kalinin
ef71a4af1d
Polishing as per code review
2021-08-10 17:15:07 +06:00
Danny Ryan
600f55ba7f
add basic execution-layer p2p beacon_block validations
2021-08-09 17:50:56 -06:00
Hsiao-Wei Wang
93af122b2d
PR feedback from @ralexstokes and add single pubkey aggregate tests
2021-08-05 12:09:30 +08:00
Hsiao-Wei Wang
56c92136f2
Merge branch 'dev' into altair-bls-tests
2021-08-05 11:18:41 +08:00
protolambda
fc3e651817
samples -> samples_length
2021-08-04 23:25:25 +02:00
Hsiao-Wei Wang
43a1617ffa
Ensure that the given PKs are valid PKs + fix typos
2021-08-04 21:25:37 +08:00
Diederik Loerakker
424f838747
Update specs/sharding/beacon-chain.md
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-08-04 12:44:42 +02:00
Hsiao-Wei Wang
b262854bb1
Rename the `eth2_*` functions to `eth_`
2021-08-03 21:51:02 +08:00
protolambda
322f072703
sharding: remove outdated comment, timely shard attesters are marked in attestation-processing, no need for epoch processing additions
2021-07-31 13:22:26 +02:00
protolambda
2d17c8c3c4
move back INITIAL_ACTIVE_SHARDS to preset, avoid changing mainnet config
2021-07-30 22:22:43 +02:00
protolambda
add5810d71
remove unused pending attestation fields
2021-07-30 22:06:04 +02:00
protolambda
ab78339350
fix variable name of summary field
2021-07-30 21:54:55 +02:00
Mikhail Kalinin
f1982d4fc3
Replace underflow check with respective comment
2021-07-30 16:18:05 +06:00
Mikhail Kalinin
d58ffc7dfc
Add genesis settings section
2021-07-30 16:10:33 +06:00
Mikhail Kalinin
5d5a9e392b
Rename GAS_LIMIT_DIVISOR to GAS_LIMIT_DENOMINATOR
2021-07-30 12:43:54 +06:00
Mikhail Kalinin
c311712bca
Apply suggestions from code review
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-07-30 12:36:02 +06:00
protolambda
0daaafbc98
fix union value retrieval, thanks @terencechain
2021-07-28 22:00:23 +02:00
protolambda
d47d2f92cc
shard fees: implement review suggestions from @nashatyrev
2021-07-27 14:48:21 +02:00
protolambda
756eb90bfe
consider per-slot sample target adjustment, to avoid racing and ordering problems
2021-07-26 16:27:19 +02:00
Mikhail Kalinin
789e10ea7c
Update toc
2021-07-26 20:09:57 +06:00
Mikhail Kalinin
9a1a30c3d4
Rebase Merge spec with London
2021-07-26 19:55:35 +06:00
protolambda
1a966d1e37
work in progress new sharding fee mechanism
2021-07-26 15:26:55 +02:00
Danny Ryan
35df4b2d4f
rephrase context enum for blocks_by requests
2021-07-23 07:54:26 -06:00
protolambda
a7f58ef08a
fix comment + handle missing pending headers
2021-07-23 12:56:01 +02:00
protolambda
f791fe7d1c
implement review suggestions
...
Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
2021-07-23 12:56:01 +02:00
protolambda
b25afc88fd
update networking spec with aggregate proposer/builder types, update TOCs
2021-07-23 12:56:00 +02:00
protolambda
5034e2d7bc
update shard spec wording + fix shard slashings
2021-07-23 12:56:00 +02:00
protolambda
5726cb9374
aggregate builder and proposer for simplified typing and optimized verification
2021-07-23 12:56:00 +02:00
protolambda
2a105f4581
fix toc
2021-07-23 12:56:00 +02:00
protolambda
b3d5858cc9
update data fee payment, todo
2021-07-23 12:55:59 +02:00
protolambda
9e10f58299
update networking spec
2021-07-23 12:55:59 +02:00
protolambda
4b25239617
builders make blobs, proposers make blocks
2021-07-23 12:55:59 +02:00
protolambda
bc936768c7
global selection of shard proposers
2021-07-23 12:55:55 +02:00
Anton Nashatyrev
06b8bb1a57
Simplify get_start_shard function
2021-07-23 12:45:03 +02:00
protolambda
bf6ad465ce
remove old BeaconState extension
2021-07-22 20:01:50 +02:00
protolambda
bb0848b6f6
carry over current and previous_sync_committee in Merge state upgrader, review from @djrtwo
2021-07-22 19:58:10 +02:00
Danny Ryan
3b34f16e5a
add base merge p2p spec
2021-07-22 11:09:36 -06:00
protolambda
17fad2dea2
rebase The Merge onto Altair base functionality
2021-07-22 16:36:41 +02:00
Danny Ryan
f7a2a973ac
Update specs/altair/p2p-interface.md
...
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2021-07-21 15:51:59 -06:00
Danny Ryan
02a9fc460e
require aggregation bits to have at least one participant in sync contributions
2021-07-21 11:10:09 -06:00
Mikhail Kalinin
65f6aa1b33
Replace PyUnion with Optional
2021-07-20 17:37:52 +06:00
Mikhail Kalinin
add00ad2e0
Replace get_pow_chain_head with get_pow_block_at_total_difficulty in validator.md
2021-07-17 12:33:06 +06:00
Mikhail Kalinin
a4a050e97a
Enforce terminal PoW block to be on the cusp
2021-07-16 19:16:32 +06:00
Hsiao-Wei Wang
63ca480ea3
Add condition check in `on_tick` to ensure that `store.justified_checkpoint` is a descendant of `store.finalized_checkpoint`
2021-07-14 20:02:28 +08:00
Danny Ryan
6d0deddbe5
modify target sync committee aggregators to more sound 16
2021-07-12 09:03:43 -06:00
Danny Ryan
8140a789c4
Merge pull request #2509 from terencechain/patch-124
...
Rename a few instances of `signature` to `message`
2021-07-08 10:09:12 -06:00
Danny Ryan
88bb7562aa
Update specs/altair/beacon-chain.md
2021-07-07 16:11:58 -06:00
terence tsao
6f31077afa
Update `get_next_sync_committee` notes
2021-07-07 10:42:52 -07:00
terence tsao
3a59c1b789
Rename a few instances of signature to message
2021-07-07 10:04:26 -07:00
Justin
c8d22b1d91
fix minor cosmetic typo
2021-07-07 13:44:22 +01:00
Danny Ryan
00afb341de
Merge pull request #2479 from mkalinin/randao_in_execution_payload
...
Add randao to execution payload
2021-06-23 08:30:21 -06:00
Danny Ryan
c61eeb8a27
optimize sync committee message gossip and caches
2021-06-22 12:31:02 -06:00
Mikhail Kalinin
ac19aa3e2d
Accept polishing suggested by Justin
2021-06-22 14:23:26 +06:00
Danny Ryan
8107d0d582
Merge pull request #2485 from nisdas/patch-1
...
Make The Nature of Validator Sync Committee Assignments Clearer
2021-06-21 16:51:11 -05:00
Danny Ryan
fc1012b632
typo
2021-06-21 12:49:41 -06:00
Danny Ryan
a61aa7968d
clean up
2021-06-21 12:48:44 -06:00
Mikhail Kalinin
199d6aee58
Merge remote-tracking branch 'origin/dev' into randao_in_execution_payload
2021-06-19 00:28:38 +06:00
Justin
878b15df6a
polish merge/beacon-chain.md ( #2472 )
...
Polish `merge/beacon-chain.md` with mostly non-substantive changes.
**Non-substantive changes**
* rename `MAX_EXECUTION_TRANSACTIONS` to `MAX_TRANSACTIONS_PER_PAYLOAD`
- rename "execution transaction" to just "transaction" as per discussion with Danny
* rename `compute_time_at_slot` to `compute_timestamp_at_slot`
- the function returns a Unix timestamp
- "timestamp" matches `execution_payload.timestamp`
* be explicit about `ExecutionEngine.execution_state` for clarity
* rename `ExecutionPayload.number` to `ExecutionPayload.block_number`
- more specific ("number" is pretty vague)
- consistent with `ExecutionPayload.block_hash`
* rename `new_block` to `on_payload`
- the `on_` prefix is consistent with other event handlers (e.g. see `on_tick`, `on_block`, `on_attestation` [here](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/fork-choice.md#handlers ))
- the `_payload` suffix is more to the point given the function accepts an `execution_payload`
- avoids conflict with `on_block` which is already used in the fork choice
* rework the table of contents for consistency
* order `is_execution_enabled` after `is_transition_completed` and `is_transition_block`
- `is_execution_enabled` refers to `is_transition_completed` and `is_transition_block`
* rename "transition" to "merge"
- "transition" is a bit vague—we will have other transitions at future hard forks
- there is no need for two words to refer to the same concept
* add a bunch of inline comments, e.g. in `process_execution_payload`
* make the `process_execution_payload` signature consistent with the other `process_` functions in `process_block` which take as arguments `state` and `block.body`
* remove `TRANSITION_TOTAL_DIFFICULTY`
- to be put in `merge/fork-choice.md` where it is used
* various misc cleanups
**Substantive changes**
* reorder `ExecutionPayload` fields
- for consistency with yellow paper and Eth1
- same for `ExecutionPayloadHeader`
- added comments separating out the execution block header fields from the extra fields (cosmetic)
2021-06-18 11:09:30 +01:00
protolambda
dadcb2a06a
Merge branch 'dev' into ericsson49/fix_reset_pending_shard_work
2021-06-17 18:54:29 +02:00
Diederik Loerakker
c68ce56407
Merge pull request #2483 from ericsson49/ericsson49/fix_append_in_process_shard_header
...
Fix typing problem: append is invoked on a ShardWork instance
2021-06-17 18:50:40 +02:00
Mikhail Kalinin
6e86d8a696
Rename randao->random, other fixes as per review
2021-06-17 21:20:17 +06:00
Nishant Das
67f1c2c2bd
Update validator.md
2021-06-17 23:05:23 +08:00
ericsson
22b2a73615
convert `int` to `CommitteeIndex` when passing to `get_beacon_committee`
2021-06-16 19:07:24 +03:00
ericsson
5b4f89875c
use `List[PendingShardHeader,...]` instead of `MutableSequence`, since `remerkleable.List` does not implement the latter
2021-06-16 14:06:17 +03:00
ericsson
d83ca352d5
Fix typing problem: `append` is invoked on a `ShardWork` instance
2021-06-16 13:33:56 +03:00
ericsson
27889860f0
fix typo: sometimes `change()` invoked on `ShardWork` itself, should be invoked on its `status` field
2021-06-16 12:03:20 +03:00
Mikhail Kalinin
cc20b80103
Fix linter, add more test helpers
2021-06-15 14:55:06 +06:00
Mikhail Kalinin
2e87a6b44e
Apply review comments
2021-06-11 22:50:11 +06:00
Mikhail Kalinin
7d617bc7c0
Fix timestamp passed to produce_execution_payload
2021-06-11 22:46:24 +06:00
Mikhail Kalinin
95775e1b90
Add randao to execution payload
2021-06-11 16:05:19 +06:00
protolambda
5140b59c57
add missing parenthesis
2021-06-08 21:51:26 +02:00
Diederik Loerakker
8f8b5ab648
Merge pull request #2475 from ralexstokes/discriminate-sync-comm-msg
...
Add `message.topic` to gossipsub `message-id` in Altair
2021-06-08 21:47:06 +02:00
Alex Stokes
a343680fd4
Add implementation note on message id fn
2021-06-08 14:29:08 -05:00
Alex Stokes
f60f13964c
Harden topic serialization
2021-06-08 14:15:57 -05:00
Alex Stokes
25a2e3463e
Update specs/altair/p2p-interface.md
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2021-06-08 12:06:02 -07:00
Alex Stokes
d64b4e7d24
Add `message.topic` to gossipsub `message-id` in Altair
2021-06-08 13:44:06 -05:00
Alex Stokes
c7980d3cd0
Clarify p2p validation conditions for Altair sync committees
2021-06-08 13:34:16 -05:00
Danny Ryan
5d9d786499
Merge pull request #2462 from mkalinin/merge-transition-with-dynamic-ttd
...
Merge transition process with computed transition total difficulty
2021-06-08 09:55:10 -06:00
Mikhail Kalinin
5228dc814f
Redefine initialize_beacon_state_from_eth1
2021-06-08 18:44:53 +06:00
Mikhail Kalinin
6350e27366
Add difficulty field to PowBlock
2021-06-08 17:56:07 +06:00
Mikhail Kalinin
038edb5b34
Rename SECONDS_SINCE_MERGE_FORK -> TARGET_SECONDS_TO_MERGE
2021-06-08 17:16:52 +06:00
Mikhail Kalinin
3a6a565a8f
Replace fractional division with integer one
...
Co-authored-by: vbuterin <v@buterin.com>
2021-06-08 15:03:59 +06:00
protolambda
64f217d3e1
update sync aggregate processing reference in validator doc
2021-06-08 01:05:50 +02:00
Danny Ryan
cfc66a3794
patch tests
2021-06-07 16:36:18 -06:00
Danny Ryan
09b6fb0e64
ensure consistency about sync committees vs aggregates in naming throughout
2021-06-07 16:17:46 -06:00
Mikhail Kalinin
96334e3ee7
Switch to suggested td computation formula
2021-06-07 22:21:36 +06:00
Danny Ryan
30f2a07637
Merge pull request #2438 from ralexstokes/add-aggregate-pks-fn
...
Move BLS extensions to new file in Altair
2021-06-07 07:18:31 -06:00
Danny Ryan
335d7ce1dc
Merge pull request #2446 from ethereum/SyncCommitteeSignature-to-SyncCommitteeMessage
...
Rename `SyncCommitteeSignature` to `SyncCommitteeMessage` to avoid name conflicts
2021-06-07 07:06:14 -06:00
Danny Ryan
1d5c4ecffb
Merge pull request #2453 from ethereum/vbuterin-patch-11
...
Modify sync committee logic and parameters to reduce variance
2021-06-04 12:23:16 -06:00
Diederik Loerakker
44f6453ce3
Merge pull request #2452 from Nashatyrev/fix/no-committee-for-shard-case
...
[Sharding] Handle the case when committee count < active shards
2021-06-04 18:19:33 +02:00
Diederik Loerakker
f679a0a086
Merge pull request #2455 from ethereum/sharding-state
...
New union-based shard headers/commitments representation
2021-06-04 18:18:43 +02:00
Anton Nashatyrev
0ae9a85b17
Adopt shard_blob gossip validation on top of PR #2455 : here the `compute_committee_index_from_shard` raises an error if no committee assigned to a shard
2021-06-04 18:48:09 +03:00
Anton Nashatyrev
071abfa846
Revert beacon-chain changes as they are handled in PR #2455
2021-06-04 18:44:35 +03:00
Anton Nashatyrev
116c1c0f3a
Merge remote-tracking branch 'EF/dev' into fix/no-committee-for-shard-case
...
# Conflicts:
# specs/sharding/p2p-interface.md
2021-06-04 18:43:12 +03:00
protolambda
9050897cb2
fix committee work status and commitment references
2021-06-03 19:11:47 +02:00
Diederik Loerakker
d4f6459108
Define missing header_root
...
Co-authored-by: Anton Nashatyrev <Nashatyrev@users.noreply.github.com>
2021-06-03 18:00:51 +02:00
protolambda
c0af420130
shard work status enum, prefix instead of suffix + move full committee balance init line
2021-06-03 17:32:35 +02:00
Hsiao-Wei Wang
45d554aee8
Merge branch 'dev' into SyncCommitteeSignature-to-SyncCommitteeMessage
2021-06-03 22:13:53 +08:00
Mikhail Kalinin
7f64757b51
Fix Optional[TransitionStore] issue to satisfy linter
2021-06-03 16:08:56 +06:00
Mikhail Kalinin
6872c01682
Add an extra line between function def
2021-06-03 12:31:59 +06:00
Danny Ryan
b3f2635ce7
Merge pull request #2466 from terencechain/patch-123
...
Altair: missing `block_root` in `SyncCommitteeSignature`
2021-06-02 16:09:13 -06:00
Danny Ryan
45a71eb267
line length lint
2021-06-02 15:58:51 -06:00
terence tsao
65f48178b7
Include block_root in SyncCommitteeSignature
2021-06-02 14:41:24 -07:00
Mikhail Kalinin
6604830729
Apply suggestions after the review
2021-06-02 15:00:01 +06:00
protolambda
417dda8326
fix committee index assertion
2021-06-01 22:38:36 +02:00
Justin
d87e076ce3
Minor Altair cosmetic polishing
2021-06-01 17:05:12 +01:00
Hsiao-Wei Wang
65f8d3d296
Merge branch 'dev' into SyncCommitteeSignature-to-SyncCommitteeMessage
2021-06-01 22:05:10 +08:00
Mikhail Kalinin
db32c8b013
Fix linter errors
2021-06-01 17:44:58 +06:00
Mikhail Kalinin
6226be9e1e
Implement TransitionStore and transition total difficulty computation
2021-06-01 16:28:30 +06:00
protolambda
2545c3e2d0
update pending header weights after epoch transition, fix committee index loop, fix header processing status assert, add todos for Altair-like shard attestation rewards
2021-05-31 18:55:08 +02:00
Diederik Loerakker
5a235d0251
Review suggestions
...
Co-authored-by: Anton Nashatyrev <Nashatyrev@users.noreply.github.com>
2021-05-31 17:03:06 +02:00
Mikhail Kalinin
fd4369dc7c
Add merge/fork.md with upgrade_to_merge definition
2021-05-31 19:30:54 +06:00
protolambda
bb3d581b13
update shard processing naming and doc structure
2021-05-29 23:55:16 +02:00
protolambda
31f48b7b3b
update sharding presets
2021-05-29 22:39:25 +02:00
protolambda
3665dbea8b
name (slot, shard) union wrapper ShardWork
2021-05-29 21:28:00 +02:00
Diederik Loerakker
482b028b88
Merge pull request #2436 from terencechain/patch-122
...
Sharding p2p: minor fixes
2021-05-28 22:09:58 +02:00
protolambda
72215412fa
For slow shard confirmation, assuming it is available via DAS, we could confirm the best pending header
2021-05-28 21:56:13 +02:00
protolambda
38a0f4f211
update to wrap the union, clean up initialization and typing
2021-05-28 21:27:05 +02:00
protolambda
e5521af1f8
new union-based shard headers/commitments representation
2021-05-28 20:18:29 +02:00
Alex Stokes
b0500c3de1
Update specs/altair/beacon-chain.md
2021-05-27 12:06:01 -07:00
Alex Stokes
4d5bc83af4
Re-org files
2021-05-27 11:59:15 -07:00
Alex Stokes
3cd842a94d
Update specs/altair/beacon-chain.md
2021-05-27 11:39:29 -07:00
vbuterin
a89ecced1c
Modify sync committee logic and parameters to reduce variance
...
Sync committee rewards as currently implemented significantly increase variance in proposer rewards: https://github.com/ethereum/eth2.0-specs/issues/2448
For example, if there are 200000 validators (6.4m ETH staked), then during each 1/4-eek (~54 hour) period there is a chance of 512/200000 that a validator will get accepted into the sync committee, so on average that will happen once every 200000/512 * 1/4 = 97.6 eeks, or close to two years. The payout of this "lottery" is 1/8 of that, or ~12.2 eeks (a bit less than four months) of revenue. This is much more severe than block proposing (a chance of 1/200000 per slot, or a lottery worth ~0.38 eeks of revenue once every ~3.05 eeks).
This PR makes three changes to cut make the sync committee lottery less drastic and bring variance closer in line with what is available from block proposing:
* Reduce the `SYNC_REWARD_WEIGHT` from 8 to 2
* Add a penalty for not participating in the sync committee, so that despite the first change the total net reward for participating vs not participating is only cut down by 2x
* Reduce the sync committee period from 1/4 eek to 1/8 eek (~27 hours)
With these three factors combined, the lottery reduces to ~1.5 eeks of revenue, on average occurring every ~48 eeks. Validators who are maximally unlucky (ie. never become part of a sync committee) only lose ~3.12% of their rewards instead of ~12.5%.
The compromises that this approach makes are:
* In the extreme case where >50% of proposers are operating efficiently, being in a sync committee becomes a net burden. However, this should be extremely rare, and in such cases validators would likely be suffering inactivity leak penalties anyway.
* Incentive to participate in a sync committee decreased by 2x (but this is IMO an improvement; sync committees are _not_ as important as proposals and deserve to have lower rewards)
* Minimum data syncing needed to maintain a light client increases by 2x (from 24 kB per 54 hours to 24 kB per 27 hours). A burden for on-chain light clients, but still insignificant for others.
2021-05-27 09:02:51 -06:00
Danny Ryan
d50a12cb18
Merge pull request #2449 from ethereum/fix-sharding-comments
...
add/update comments on shard blob/header/reference body field
2021-05-27 08:06:32 -06:00
Anton Nashatyrev
414ef614cb
Handle the case when a shard may not have a committee at slot.
...
Block is invalid if contains ShardBlobHeader lacking committee
Reject Gossip ShardBlobHeader and ShardBlob messages which lacks committee
2021-05-27 15:13:13 +03:00
Paul Hauner
48f989070d
Remove naughty space
2021-05-27 15:30:44 +10:00
Paul Hauner
103d029a1a
Add clock disparity tolerance for sync subnets
2021-05-27 15:28:51 +10:00
protolambda
1360860d1e
add/update comments on shard blob/header/reference body field
2021-05-27 03:57:59 +02:00
Alex Stokes
a08d23189e
Update specs/altair/validator.md
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-05-26 15:51:22 -07:00
Hsiao-Wei Wang
a25bc832b9
Update section headers
2021-05-26 03:01:38 +08:00
Hsiao-Wei Wang
0142978b60
Rename `SyncCommitteeSignature` to `SyncCommitteeMessage`
2021-05-26 02:36:54 +08:00
Alex Stokes
41ca149429
Explicitly define `bls.AggregatePKs`
2021-05-24 11:56:10 -07:00