3257 Commits

Author SHA1 Message Date
Danny Ryan
38f29ba0a8
remove PERSISTENT_COMMITTEE_PERIOD in favor of SHARD_COMMITTEE_PERIOD 2020-05-05 11:44:53 -06:00
Danny Ryan
b2c36112f6
Merge branch 'dev' into v012x 2020-05-05 09:44:27 -06:00
Danny Ryan
71dc744f42
Merge pull request #1703 from ethereum/hwwhww/signed_pattern
Rework shard block and fraud proof (shard state transition) spec
2020-05-04 10:39:47 -06:00
Hsiao-Wei Wang
7a770186b5
Reorg beacon-chain spec a bit 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang
4558c7db4e
Reorg the file structure 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang
b43e24acb6
specs/phase1/fraud-proofs.md -> specs/phase1/shard-transition.md 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang
ff85025113
PR feedback from terence 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang
e758fb76c2
Check head_shard_root of all transition_attestations 2020-05-02 02:32:36 +08:00
Hsiao-Wei Wang
524ba166d1
[squashed] shard chain updates wip
Fix wrong field names

Fix `build_attestation_data` and other PR feedback from Danny and
Terence

1. Rename `get_previous_slot` to `compute_previous_slot`
2. Break down `build_empty_block` into
`get_state_and_beacon_parent_root_at_slot`, use it in
`build_shard_block`
3. Set defult `slot` to `shard_state.slot + 1` in `build_shard_block`

Update `verify_shard_block_message`: check beacon_parent_root at fork
choice rule stage instead of state transition

Fix  `beacon-chain.md`

1. Fix typo `attestation.slot == state.slot` -> `attestation.data.slot == state.slot` in `is_winning_attestation`
2. Check `verify_shard_transition_false_positives` **after** `process_operations`
3. Fix `shard_attestations` filter in `process_crosslinks`: since attestations come from block, should use `attestation.data.slot + MIN_ATTESTATION_INCLUSION_DELAY == state.slot`
4. [TBD] Allow empty `light_client_signature` to make the tests pass
5. [TBD] Add `is_shard_attestation`, filter out empty `ShardTransition()`

Rework `test_process_crosslink`

Add basic phase 1 `test_blocks`

Add more test cases

Revert `is_shard_attestation` and fix test cases backward compatibility.

Remove `test_process_beacon_block_no_shard_transition` and consider it as invalid case.
2020-05-02 02:32:31 +08:00
Hsiao-Wei Wang
c8a473ba24
Apply suggestions from code review
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2020-05-02 02:32:30 +08:00
Hsiao-Wei Wang
40483b587b
[squashed] shard chain updates wip
Use `ShardBlock` in `shard_state_transition`

PR feedback

1. Rename `ShardState.data` -> `ShardState.transition_digest`
2. Rename `compute_shard_transition_data` to `compute_shard_transition_digest`
3. Add `assert state.slot > PHASE_1_GENESIS_SLOT` just in case, may move it later

Add `get_post_shard_state` as a pure function wrapper
2020-05-02 02:32:24 +08:00
Hsiao-Wei Wang
85d5a9abaf
[squashed] shard chain updates wip
PR feedback from Danny and some refactor

1. Add stub `PHASE_1_GENESIS_SLOT`
2. Rename `get_updated_gasprice`  to `compute_updated_gasprice`
3. Rename `compute_shard_data_roots` to `compute_shard_body_roots`

Apply shard transition for the skipped slots

Refactor `shard_state_transition`

Get `beacon_parent_root` from offset slot

Add more test

Add `verify_shard_block_message`

Add `> 0`

Keep `beacon_parent_block` unchanged in `is_valid_fraud_proof`

Remove some lines

Fix type

Refactor + simplify skipped slot processing
2020-05-02 02:31:54 +08:00
Hsiao-Wei Wang
9724cb832d
Apply suggestions from code review from @djrtwo
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2020-05-02 02:31:53 +08:00
Hsiao-Wei Wang
afa12caf1f
Refactor get_shard_state_transition_result 2020-05-02 02:31:53 +08:00
Hsiao-Wei Wang
4e8a7ff115
[squashed] shard transition wip
Fix the wrong `get_shard_proposer_index` parameters order

Phase 1 WIP

Add shard transition basic test

Fix lint error

Fix
2020-05-02 02:31:10 +08:00
Hsiao-Wei Wang
849d3f83bf
Apply @terencechain 's review feedback
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
2020-05-02 02:31:09 +08:00
Hsiao-Wei Wang
247a6c8fca
Add verify_fraud_proof function 2020-05-02 02:31:09 +08:00
Hsiao-Wei Wang
be50020bf8
Refactor get_light_client_committee to similar to
`get_shard_committee`
2020-05-02 02:31:08 +08:00
Hsiao-Wei Wang
5f69afea38
Make shard_state_transition more like beacon state_transition function 2020-05-02 02:31:08 +08:00
Hsiao-Wei Wang
e9f1e4186d
Add proposer_index to shard block 2020-05-02 02:31:08 +08:00
Hsiao-Wei Wang
feb27a14be
beacon-chain.md: Replace block wrapper with signable pattern 2020-05-02 02:31:08 +08:00
Danny Ryan
4b4fc32f9c
Merge pull request #1755 from paulhauner/patch-23
Fork choice: Remove redundant check in validate_on_attestation
2020-04-30 11:06:29 -06:00
Paul Hauner
2dc5156651
Add message about delaying consideration 2020-04-30 16:27:02 +10:00
Danny Ryan
6a40f71a31
add note about beacon committees not going into attnets 2020-04-29 20:29:48 -06:00
Danny Ryan
87586837c3
remove interop from phase 0 p2p specs 2020-04-27 17:39:39 -06:00
Danny Ryan
d128400da5
remove interop from header and gossip sections in network spec 2020-04-27 17:39:31 -06:00
Danny Ryan
553a33cd2d
Merge pull request #1766 from ethereum/dev
backport dev to v012x
2020-04-27 17:35:28 -06:00
Diederik Loerakker
9d39c292e0
Merge pull request #1763 from ethereum/master
Backport v0.11.2 hotfixes from master to dev
2020-04-28 00:18:52 +02:00
Danny Ryan
dae623b097
Merge pull request #1756 from byz-f/q9-genesis-eth1
genesis: clarify that eth1 timestamp can be less than min genesis time
2020-04-27 10:15:18 -06:00
Hsiao-Wei Wang
2dbc333270
Make compute_new_state_root a pure function 2020-04-27 22:18:43 +08:00
Hsiao-Wei Wang
4d980aec71
Fix validator guide
1. Avoid negative computation in `is_candidate_block`
2. Fix `get_block_signature`: avoid extra casting; it's simpler to use BeaconBlock instead of
BeaconHeader
2020-04-27 21:47:24 +08:00
Raw Pong Ghmoa
c841aa102b
genesis: clarify that eth1 timestamp can be less than min genesis time 2020-04-26 10:09:22 +02:00
Paul Hauner
1a81c873af
Remove redundant check in fork choice 2020-04-26 16:24:16 +10:00
protolambda
0c67aaa68e
Include fork digest in example gossip topic name 2020-04-25 00:05:37 +02:00
Danny Ryan
fde9b410f0
Merge pull request #1752 from ethereum/dev
sync v0.11.2 to `v012x`
2020-04-24 11:36:17 -06:00
Paul Hauner
bf806b9efa
Require "seen" aggregates to be valid 2020-04-24 15:01:18 +10:00
Danny Ryan
11d164748c
add 'valid' when de-deduplication of attestations on gossip subnets 2020-04-22 14:45:01 -06:00
Danny Ryan
d8662d49ea
Merge pull request #1730 from ethereum/bootnode-enr
add note about distributing bootnode ENRs prior to genesis
2020-04-22 14:38:38 -06:00
Danny Ryan
3d4122a2f6
add note about distributing bootnode ENRs prior to genesis 2020-04-22 14:33:57 -06:00
Justin
5929aac799
Cosmetic changes from #1737 2020-04-22 11:40:10 +08:00
Danny Ryan
a6b2679cb0
Merge pull request #1739 from ethereum/JustinDrake-patch-4
Partial fix for #1701
2020-04-21 08:44:22 -06:00
Justin
3436021e72
Update beacon-chain.md 2020-04-21 15:34:55 +01:00
Danny Ryan
ebf888bcf7
Merge pull request #1736 from status-im/rannge-req
simplify block range request description
2020-04-21 08:21:57 -06:00
Justin
e2a320ef32
Partial fix for #1701
Clarify that state transitions with `uint64` overflows are invalid.
2020-04-21 08:59:53 +01:00
Justin
508811d641
Fix #1735—remove redundant check
As per #1735 the check `if not len(indices) <= MAX_VALIDATORS_PER_COMMITTEE: return False` is redundant. As such this PR should be purely cosmetic.
2020-04-21 08:50:42 +01:00
Jacek Sieka
4915014a19
simplify block range request description
There's room for ambiguity as to what `count` means - this clarifies
that it always relates to the slot, and not the number of blocks in the
response which allows clients to request ranges epoch by epoch (for
example) without worrying about overlaps caused by empty slots.
2020-04-20 20:03:15 +02:00
Hsiao-Wei Wang
6fdee75475
Fix phase0 types 2020-04-17 23:55:25 +08:00
Danny Ryan
e58cfedb68
clarify ssz_snappy for gossip 2020-04-16 11:12:24 -06:00
Danny Ryan
4a94200c0b
Merge pull request #1712 from ethereum/hwwhww/inactivity_penalty_quotient_bug
Fix `INACTIVITY_PENALTY_QUOTIENT`
2020-04-14 11:53:43 -06:00
Hsiao-Wei Wang
b2f6325db3
Fix compute_committee 2020-04-09 17:50:23 +08:00