Commit Graph

4541 Commits

Author SHA1 Message Date
Danny Ryan d7665681a2
simplify merge block gossip conditions 2021-09-24 06:08:01 -06:00
Danny Ryan 940d6b1cc5
Merge pull request #2613 from mkalinin/execution-engine-update
Update execution engine calls
2021-09-24 05:57:27 -06:00
Mikhail Kalinin 11840ce51f Map EE calls on the PoS events defined in EIP-3675 2021-09-24 16:31:09 +06:00
Dmitrii Shmatko 8ae078a4f5 Merge branch 'dev' into tests/merge 2021-09-23 22:24:33 +03:00
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