Hsiao-Wei Wang
92db6da508
Apply suggestions from Terence
...
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2020-06-01 17:56:22 +08:00
Hsiao-Wei Wang
31127b7024
Merge branch 'dev' into hwwhww/phase1_refactor_part2
2020-06-01 17:50:49 +08:00
Hsiao-Wei Wang
6317bd68aa
PR feedback from Danny
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-01 17:47:47 +08:00
Hsiao-Wei Wang
8e5db1b49f
Merge pull request #1856 from ethereum/hwwhww/verify_empty_shard_transition
...
Rework `Shard transition processing`
2020-06-01 17:47:00 +08:00
Hsiao-Wei Wang
8f570b461d
Merge pull request #1854 from ethereum/hwwhww/phase1_refactor
...
Some phase1 refactoring
2020-06-01 17:46:16 +08:00
Hsiao-Wei Wang
63de59d5f6
Merge branch 'dev' into hwwhww/shard_fork_choice_3
2020-05-30 03:57:17 +08:00
Hsiao-Wei Wang
327deb40b2
Adjust function blocks
2020-05-30 03:14:51 +08:00
Hsiao-Wei Wang
cceeab2657
Combine `process_crosslinks` and `verify_empty_shard_transition` into `process_shard_transitions`
2020-05-30 03:13:20 +08:00
Hsiao-Wei Wang
9b9507c138
Merge branch 'dev' into hwwhww/phase1_refactor_part2
2020-05-30 03:11:28 +08:00
Hsiao-Wei Wang
f70224b84e
Extract `compute_committee_source_epoch`
2020-05-30 03:09:42 +08:00
Hsiao-Wei Wang
2dc041807a
Implement `get_start_shard`
2020-05-30 01:26:00 +08:00
Hsiao-Wei Wang
b16e6d7a86
PR feedback from Danny
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-05-29 12:58:19 +08:00
Hsiao-Wei Wang
bd9f983eea
Minor fix
2020-05-29 02:20:38 +08:00
Hsiao-Wei Wang
8ae7f5b6fa
Refactor `is_valid_indexed_attestation`: extract `verify_attestation_custody`
2020-05-29 01:24:17 +08:00
Hsiao-Wei Wang
7509ecb742
Add comments, minor refactoring
2020-05-29 00:13:08 +08:00
Hsiao-Wei Wang
19262888e4
Rename `verify_shard_transition_false_positives` to `verify_empty_shard_transition`
2020-05-28 21:55:49 +08:00
Hsiao-Wei Wang
8c9bbc48d8
Rework `is_shard_attestation`
...
Change it to `is_on_time_attestation` so that it could be reused in
`validate_attestation`.
2020-05-28 21:49:36 +08:00
Hsiao-Wei Wang
ca48963032
Rename `head_shard_root` to `shard_head_root`
2020-05-28 21:38:11 +08:00
Hsiao-Wei Wang
c437578280
Add `shard` field to `ShardBlock`
2020-05-28 21:32:27 +08:00
Danny Ryan
8eb1d2e940
Merge pull request #1844 from ericsson49/ericsson49/fix_shard_state_transition
...
`compute_shard_transition_digest` expects `Root` as a fourth parameter
2020-05-26 10:17:55 -06:00
Danny Ryan
753a25e5db
Merge pull request #1843 from terencechain/patch-99
...
Use `compute_previous_slot` for `slot - 1` occurrences
2020-05-26 10:02:14 -06:00
Ali Atiia
75787d92a8
broken link
...
broken link to custory-game.md
2020-05-25 16:45:44 -04:00
ericsson
d3c26d6b8b
`compute_shard_transition_digest` expects `Root` as a fourth parameter
2020-05-25 18:45:38 +03:00
terence tsao
ce1d22d71c
Use helper `compute_previous_slot`
2020-05-23 15:22:49 -07:00
Danny Ryan
095b87c2a2
Merge branch 'dev' into v012x
2020-05-19 10:02:18 -06:00
Danny Ryan
de03ebb143
many custody game formatting cleanups
2020-05-19 09:58:33 -06:00
Danny Ryan
78947548e6
add process_challenge_deadlines to process_epoch
2020-05-19 08:31:01 -06:00
Danny Ryan
1623086088
make get_validator_from_deposit for better code reuse across phase 0 and 1
2020-05-19 08:14:04 -06:00
Danny Ryan
7fc9dbf297
clarify comment for ShardTransition.shard_data_roots
2020-05-19 07:52:26 -06:00
Danny Ryan
3f0e58a8ed
add chunk challenge and response to block and operations
2020-05-19 07:50:05 -06:00
Danny Ryan
3851a26a0f
add phase 1 custody objects to custody-game.md
2020-05-19 07:34:06 -06:00
Danny Ryan
665538253a
Merge pull request #1807 from ericsson49/ericcson49/fix_is_valid_fraud_proof
...
is_valid_fraud_proof bug fixes
2020-05-18 13:37:13 -06:00
Danny Ryan
6f685a97e2
Merge branch 'dev' into v012x
2020-05-18 09:29:47 -06:00
Danny Ryan
7daa6c0039
Merge pull request #1810 from terencechain/patch-97
...
Make obvious that `source_epoch` does not underflow
2020-05-18 08:12:50 -06:00
terence tsao
6f5cbe6182
Update shard-transition.md
2020-05-14 14:55:29 -07:00
Hsiao-Wei Wang
f0c4623871
Apply PR feedback: add docstring
2020-05-15 01:05:32 +08:00
Hsiao-Wei Wang
aa436d91b2
Use NO_SIGNATURE (0x00...) approach
2020-05-14 22:25:55 +08:00
Hsiao-Wei Wang
183b197888
Update specs/phase1/beacon-chain.md
2020-05-14 21:25:36 +08:00
terence tsao
23e2b83e20
Update specs/phase1/beacon-chain.md
...
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-05-14 06:21:44 -07:00
terence tsao
f3448e51dd
Update specs/phase1/beacon-chain.md
...
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-05-14 06:21:36 -07:00
terence tsao
aef564733a
Update beacon-chain.md
2020-05-13 10:56:52 -07:00
ericsson
b41410eade
lint problem fixed
2020-05-13 16:25:16 +03:00
ericsson
4431e399b1
Fix bugs:
...
- `range(len(col))`` instead of `range(col)`
- `beacon_parent_block.body.shard_transitions` instead of `beacon_parent_block.shard_transitions`
- `shard_states[len(shard_states)-1]` instead of `shard_states[-1]`
2020-05-13 16:13:33 +03:00
Hsiao-Wei Wang
cdd0ed0f7b
Update to IETF BLS draft-irtf-cfrg-bls-signature-02
2020-05-09 11:48:48 +08:00
Danny Ryan
08652f543b
Merge branch 'v012x' into empty-bits-case
2020-05-07 10:17:26 -06:00
Danny Ryan
38f29ba0a8
remove PERSISTENT_COMMITTEE_PERIOD in favor of SHARD_COMMITTEE_PERIOD
2020-05-05 11:44:53 -06:00
Hsiao-Wei Wang
79b1b4bdbe
Add `(shard, shard_root)` to `LatestMessage`
2020-05-05 21:42:18 +08:00
Hsiao-Wei Wang
fca1bbccb9
Remove `get_filtered_shard_block_tree`
2020-05-05 21:42:13 +08:00
Hsiao-Wei Wang
8fafb6a9e5
Make `ShardStore` an independent object
2020-05-05 21:42:06 +08:00
Hsiao-Wei Wang
cddf9cf114
Refactor
2020-05-05 21:42:00 +08:00
Hsiao-Wei Wang
dab5a936c4
wip shard fork choice rule
2020-05-05 21:41:46 +08:00
Hsiao-Wei Wang
ee4c866575
Merge branch 'dev' into dankrad-custody-256bit-merging
2020-05-05 15:22:36 +08: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
protolambda
09cae4b3cc
Handle empty-aggregation-bits case, and add tests. See #1713
2020-05-01 15:17:41 +02:00
Dankrad Feist
964bf42335
Fix type
2020-05-01 00:32:02 +01:00
Dankrad Feist
d30f11a781
Fix lint
2020-05-01 00:16:00 +01:00
Dankrad Feist
d58d7627b7
Fix toc
2020-04-30 19:25:18 +01:00
Dankrad Feist
0e2931b9b3
All tests passed
2020-04-28 01:09:20 +01:00
Dankrad Feist
2449db1bb6
Phase 1 block tests are working
2020-04-27 16:08:49 +01:00
Dankrad Feist
ab2ee0e2c2
Restoring chunk challenges and testing
2020-04-24 17:06:27 +01:00
Dankrad Feist
907c56dabd
Fix ToC
2020-04-05 15:47:59 +01:00
Dankrad Feist
c3c24b4fc4
Fix lint
2020-04-05 15:35:11 +01:00
Dankrad Feist
bf34fdf023
Fix ToC
2020-04-05 15:10:09 +01:00
Dankrad Feist
ca6af0c2e9
256-bit custody atoms for better alignment with rest of the spec and greater efficiency
2020-04-05 14:39:00 +01:00
Danny Ryan
e86c5ef41d
final PR nitpicks
2020-04-03 10:29:35 -06:00
Danny Ryan
246b46771e
address @hwwhww feedback
2020-04-03 09:46:57 -06:00
Danny Ryan
f2c2da95ed
add compute_offset_slots
2020-04-03 09:19:56 -06:00
Danny Ryan
613f368c00
fix call to get_beacon_committee in process_crosslink_for_shard
2020-04-01 12:20:32 -06:00
Danny Ryan
16208790a5
Merge pull request #1699 from ethereum/hwwhww/unpack_compact_validator
...
Add `unpack_compact_validator` back
2020-03-31 10:40:45 -06:00
Hsiao-Wei Wang
f82cdb7e68
beacon-chain.md: add `unpack_compact_validator` for `light-client-sync.md`
2020-03-31 22:13:48 +08:00
Hsiao-Wei Wang
071f6b5126
Gasprice rework: use `MIN_GASPRICE` as the initial gasprice and change `MIN_GASPRICE` to 8 gwei
2020-03-31 22:09:20 +08:00
Danny Ryan
073f78efa1
Merge branch 'dev' into phase1-tests
2020-03-29 17:04:25 -06:00
Danny Ryan
d299b06a1c
fix custody bit calculation format
2020-03-16 09:52:27 -06:00
Dankrad Feist
9b7e0ab2be
Fix error in custody bit computation
2020-03-13 17:15:25 +00:00
Danny Ryan
1293320675
Merge branch 'dev' into phase1-tests
2020-03-12 07:12:41 -06:00
Danny Ryan
e2918c6364
Merge pull request #1626 from ethereum/proposer-index
...
add proposer index to BeaconBlock
2020-03-10 15:10:07 -06:00
Danny Ryan
3b7704a78f
Merge pull request #1649 from ethereum/eth1-voting-period-in-epochs
...
Eth1 voting period in epochs [updated for configs/phase1/tests compat.]
2020-03-10 13:24:03 -06:00
protolambda
2d7a292d36
eth1 vote period constant in epochs: update configs, phase1, tests
2020-03-10 18:36:53 +01:00
Danny Ryan
92eef0e00b
fix light client sig verification in phase 1
2020-03-09 14:52:30 -06:00
Danny Ryan
7e04989e29
add genesis_validators_root to beaconstate and utilize in sig domain separation as well as fork separation
2020-03-05 09:21:32 -07:00
Hsiao-Wei Wang
b4c7481b35
Fix the misc table
2020-03-03 01:28:58 +01:00
Danny Ryan
186d4258b6
fix shard offsets
2020-02-28 13:20:37 -06:00
Danny Ryan
9718d206a7
fix attester slahsing test
2020-02-26 11:20:19 -06:00