Commit Graph

3666 Commits

Author SHA1 Message Date
Mikhail Kalinin b785c97051
Fix epoch_boundary_block_root computation 2020-07-08 21:58:20 +06:00
ericsson 3e9556202a change `get_custody_period_for_validator()` return type to `uint64` 2020-07-08 18:19:41 +03:00
protolambda 07274736b9
Match gossip v1.1 D_low, extend gossip_history param, add FAQ section 2020-07-08 01:42:09 +02:00
Danny Ryan 334947f523
rearrange queuing conditions 2020-07-07 16:20:31 -06:00
Danny Ryan 4c1fa7fa6f
add note about max queue sizes in gossip 2020-07-07 12:41:41 -06:00
Danny Ryan 953d106163
add queueing possibility to p2p messages in gossip 2020-07-07 12:34:39 -06:00
Danny Ryan 6195e027f1
working through new-lines 2020-07-03 09:19:15 -06:00
Danny Ryan 04a6c96cdf
break p2p topics into separate md headers for better linking 2020-07-03 07:50:30 -06:00
Danny Ryan e5f3b5dded
Merge pull request #1952 from status-im/no-tls
Update faq for tls
2020-07-03 07:37:38 -06:00
Jacek Sieka 30e0438d49
Update faq for tls
we're not using tls1.3 (yet?)
2020-07-03 10:47:17 +02:00
terence tsao 27fa15eb76 A few light client typos 2020-07-02 16:46:31 -07:00
Danny Ryan c3350f4477
Merge pull request #1946 from ericsson49/fix_is_valid_fraud_proof2
Fix `is_valid_fraud_proof` which tries to access `message` field of a `ShardBlock` instance
2020-07-02 09:58:14 -06:00
Danny Ryan 5a9dd44ff4
Merge pull request #1943 from ethereum/avoid-neg-op
Avoid negative values and minor refactoring
2020-07-02 09:37:16 -06:00
Hsiao-Wei Wang d608be72c3
Merge pull request #1937 from ethereum/hwwhww/custody-block-test
Fix `ShardTransition.shard_data_roots` and add custody game block-level tests
2020-07-02 13:24:07 +08:00
ericsson dafbd98f2b Merge branch 'dev' into fix_is_valid_fraud_proof2 2020-07-01 23:04:37 +03:00
ericsson 7674c76b61 get rid of `.message` as `block` is `ShardBlock` already 2020-07-01 17:23:05 +03:00
terence tsao 36339de511
Lint 2020-06-30 09:11:13 -07:00
terence tsao c8752956ed
use next epoch for new_committee? 2020-06-30 08:44:09 -07:00
terence tsao 1876c9591b
Update light committee for next slot 2020-06-30 08:16:28 -07:00
Hsiao-Wei Wang 966363890b
PR feedback from @ericsson49: fix when `len(bytez) > BYTES_PER_CUSTODY_ATOM` 2020-06-30 19:16:18 +08:00
Hsiao-Wei Wang eaae70b3b3
Minor refactoring 2020-06-30 17:16:48 +08:00
Hsiao-Wei Wang 96b71a19de
Avoid Python-specific negative operation 2020-06-30 16:58:56 +08:00
Hsiao-Wei Wang 2c0595da01
PR feedback from Danny 2020-06-30 00:11:43 +08:00
Hsiao-Wei Wang 4b239e94b7
Mix PR feedback from Danny and Proto 2020-06-29 12:50:01 +08:00
Hsiao-Wei Wang 1d954ee9bd
PR feedback from @ericsson49
Co-authored-by: Alex Vlasov <avv49@mail.ru>
2020-06-29 12:33:52 +08:00
protolambda 3b7617f51a
make extracted byte uint8 for bitshift, do not use negative slice indexing, avoid negative comparison in test 2020-06-26 16:14:27 +02:00
protolambda 531184f42b
Infer types where possible, e.g. uint64+uint64=uint64 2020-06-26 15:41:47 +02:00
Hsiao-Wei Wang a159a2da82
Merge pull request #1928 from ethereum/hwwhww/shard-block-tests
Add tests for `shard_state_transition` and some refactorings
2020-06-26 11:54:23 +08:00
Hsiao-Wei Wang 94c231cf98
Fix `ShardTransition.shard_data_roots` and add test
1. Fix `ShardTransition.shard_data_roots`: use `get_block_data_merkle_root` helper to calculate it.
2. Rework `get_valid_custody_chunk_response` testing helper: accept
`block_length_or_custody_data`
3. Add `test_with_custody_challenge_and_response` test
2020-06-26 01:46:45 +08:00
Hsiao-Wei Wang a061758a66
Use `encode_bytes` to implement `int_to_bytes`
Rename `bytes_to_int` to `bytes_to_uint64`

Use `encode_bytes` to implement `int_to_bytes`

Rename `int_to_bytes` to `uint_to_bytes` and move it to `ssz_impl.py`
2020-06-25 20:20:39 +08:00
Hsiao-Wei Wang b239f6108c
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-25 17:18:16 +08:00
Hsiao-Wei Wang 2a7b5f7e68
PR feedback from Danny: nuke optional beacon_parent_state 2020-06-25 11:14:25 +08:00
Hsiao-Wei Wang 79b6bc616d
PR feedback from danny 2020-06-25 10:58:04 +08:00
terence tsao 7e04c70ca1
Update beacon-chain.md 2020-06-24 16:53:53 -07:00
Hsiao-Wei Wang 661959c13e
Add `process_shard_block` verification 2020-06-24 18:18:50 +08:00
Hsiao-Wei Wang 4a46fb2a8a
Refactor phase 1 block tests a bit and add `shard_state_transition`
tests

1. Refacotr phase1/sanity/test_blocks.py
2. Add phase1/sanity/test_shard_blocks.py for testing `verify_shard_block_message` and `verify_shard_block_signature`
2020-06-24 18:08:26 +08:00
Hsiao-Wei Wang c4973792e2
Make `get_pending_shard_blocks` return `Sequence[SignedShardBlock]` 2020-06-24 12:50:27 +08:00
Hsiao-Wei Wang 021788a634
Merge pull request #1925 from ethereum/hwwhww/shard_state_transition
Rework `shard_state_transition` interface + fix #1922
2020-06-24 12:29:31 +08:00
Hsiao-Wei Wang dbd1d4e589
PR feedback: Enable `verify_shard_block_signature` 2020-06-24 12:22:24 +08:00
Hsiao-Wei Wang e4d4527845
Merge pull request #1921 from ethereum/hwwhww/shard-tests
Fix no winning root case + add tests + fix #1881
2020-06-24 11:21:23 +08:00
Hsiao-Wei Wang e52c19896d
Update
1. Check on-time attestations fit `attestation.data.shard_transition_root != hash_tree_root(ShardTransition())`
2. Move `attestation.data.shard_head_root` check to after winning root
2020-06-23 18:22:18 +08:00
Hsiao-Wei Wang db5da9dc97
Fix return type
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-23 10:50:41 +08:00
Danny Ryan 05dc8fe9a0
Merge pull request #1922 from terencechain/patch-105
Remove shard check in `verify_shard_block_message`
2020-06-22 12:05:32 -06:00
Danny Ryan e61efc14a3
Merge pull request #1886 from ethereum/fix_store_target_checkpoint_state
Fix store_target_checkpoint_state
2020-06-22 11:38:40 -06:00
Hsiao-Wei Wang eec1442417
Reorg `shard_state_transition` argument and fix `get_shard_transition_fields` 2020-06-22 23:41:02 +08:00
Hsiao-Wei Wang 4f618fc62d
Rework `shard_state_transition` interface
To make `shard_state_transition` similar to phase 0
`state_transition` function

1. Rename old `shard_state_transition` to `process_shard_block`
2. Add `shard_state_transition` with `validate_message` flag, we only
validate it in shard fork choice
2020-06-22 23:21:24 +08:00
ericsson 723784b408 replace `[[]]*num` with `[()]*num` to avoild problems with mutability, as [] or () is copied 2020-06-20 01:02:19 +03:00
ericsson 40b397f53f use [[]] * num instead of just [] * num 2020-06-20 00:09:59 +03:00
terence tsao 769e1d0339
Update shard-transition.md 2020-06-19 09:06:37 -07:00
Hsiao-Wei Wang 1a5016157a
Fix
1. To make it more compatible, update `is_on_time_attestation` argument: replace `attestation: Attestation` with `attestation_data:
AttestationData`
2. Fix `get_sample_shard_transition`
2020-06-19 23:46:01 +08:00
Hsiao-Wei Wang c28857e4e1
Fix `attestation.data.shard_head_root` bug 2020-06-19 23:34:51 +08:00
Hsiao-Wei Wang c2c2b4c444
Crosslink bugfix
1. Fix `is_winning_attestation` condition
2. Fix `process_crosslink_for_shard`: we can only check
`shard_data_roots` if `shard_transition != ShardTransition()`
2020-06-19 22:19:21 +08:00
Hsiao-Wei Wang 76840c9178
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-19 17:01:04 +08:00
terence tsao 3888dc27a9
@djrtwo's feedback 2020-06-18 12:39:48 -07:00
terence tsao db81f88c4e
Update beacon-chain.md 2020-06-18 10:59:37 -07:00
Danny Ryan bd61c2686b
PR feedback 2020-06-18 09:45:10 -06:00
Danny Ryan 948ad23f96
Merge branch 'dev' into epochwise_committee_count_per_slot 2020-06-18 09:44:02 -06:00
Danny Ryan 05453b786d
Merge pull request #1895 from ethereum/hwwhww/attestation-shard
Add `shard: Shard` field to `AttestationData`
2020-06-18 09:37:07 -06:00
Danny Ryan 02d518c9e3
Merge pull request #1919 from ethereum/hwwhww/shard_block_length
Fix shard_block_length type in `compute_updated_gasprice`
2020-06-18 09:35:59 -06:00
Danny Ryan 13e7e7986d
Merge pull request #1915 from ethereum/hwwhww/fix-validator-arguments
Fix missing arguments of validator guide
2020-06-18 09:34:45 -06:00
Hsiao-Wei Wang fe47869d5f
Revert `process_crosslinks` and add comment 2020-06-18 23:32:23 +08:00
Hsiao-Wei Wang 35bf3b5290
Refactor `validate_attestation`
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-18 23:20:24 +08:00
Hsiao-Wei Wang 8cf0774290
Fix shard_block_length type in `compute_updated_gasprice` 2020-06-18 20:39:29 +08:00
Hsiao-Wei Wang 6aca7afd81
Add notes of active shard count 2020-06-18 17:35:24 +08:00
Hsiao-Wei Wang 7dbecdf904
Fix some missing arguments 2020-06-18 17:35:16 +08:00
Hsiao-Wei Wang c0b6df8fd0
Merge pull request #1906 from terencechain/patch-102
Fix links in phase1 validator doc
2020-06-18 15:10:43 +08:00
Hsiao-Wei Wang 4428a6aedf
Fix table 2020-06-18 13:50:10 +08:00
Hsiao-Wei Wang 0ae11cd70c
Merge pull request #1911 from terencechain/patch-103
get_shard_winning_roots uses on_time_slot
2020-06-18 12:28:23 +08:00
Hsiao-Wei Wang 0eeffc47bc
Merge pull request #1909 from ericsson49/fix_process_custody_game_operations
Fix typing error in `process_custody_game_operations`
2020-06-18 12:22:35 +08:00
protolambda 41ebd51aff
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-18 02:49:09 +02:00
ericsson 9dc43957e2 a fix according to @protolambda comments 2020-06-18 03:39:51 +03:00
ericsson e479e96480 lint fix 2020-06-18 02:46:06 +03:00
terence tsao cc84b49d13
on_time_attestation_slot instead of current_slot 2020-06-17 16:20:46 -07:00
ericsson adced70c54 use `aggregate.data` instead of hust `data` 2020-06-18 02:04:16 +03:00
ericsson 17c86177d9 Change types of BeaconBlockBody chunk_challenges and
chunk_challenge_responses to List[CustodyChunkChallenge, ...]
2020-06-18 01:43:41 +03:00
terence tsao 3eabcddb4c
Update validator.md 2020-06-17 13:24:00 -07:00
protolambda ce0371a66b
fix comment: committees per slot for given *epoch* 2020-06-17 20:23:26 +02:00
protolambda 9b60a9b799
Avoid state usage in p2p validation, compute committee count per slot for epoch as a whole 2020-06-17 20:19:32 +02:00
Danny Ryan fbf10a0db3
fix tests 2020-06-16 22:32:09 -06:00
Hsiao-Wei Wang 23cbbb1d08
Fix shard number assertion and refactor it 2020-06-17 09:48:47 +08:00
Hsiao-Wei Wang c8ae7d99f9
Fix after auto-merge 2020-06-17 09:05:44 +08:00
Danny Ryan a21f93646c
Merge pull request #1878 from ethereum/hwwhww/remove_digest
Remove `ShardState.transition_digest`
2020-06-16 16:40:52 -06:00
Danny Ryan 759185632f
Merge branch 'dev' into phase1-validator 2020-06-16 16:07:20 -06:00
Danny Ryan 2e0950560b
PR feedback 2020-06-16 16:03:36 -06:00
Hsiao-Wei Wang 7fba94a73d
Merge branch 'dev' into hwwhww/attestation-shard 2020-06-17 01:58:05 +08:00
Dankrad Feist e6e694fad9
Fix toc 2020-06-16 17:35:33 +01:00
Dankrad Feist 58935c19d6
Move constant 2020-06-16 17:23:09 +01:00
Dankrad Feist df1a932534
Rename misleading variable all_secrets_are_revealed 2020-06-16 15:19:45 +01:00
dankrad 4bc849bcc2
Update specs/phase1/custody-game.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-16 15:05:12 +01:00
dankrad 4b8b3f2cbc
Update specs/phase1/custody-game.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-16 15:05:01 +01:00
Dankrad Feist a4c2950c4a
Phase 1 validator guide stub. This is to start collecting important details with correct validator operation. 2020-06-16 14:48:00 +01:00
Danny Ryan a0175ca1b3
Merge branch 'dankrad-custody-256bit' into dankrad-custody-0.01bit 2020-06-16 07:15:00 -06:00
Hsiao-Wei Wang 3ee0761d17
Add `shard: Shard` field to `AttestationData` 2020-06-16 00:17:49 +08:00
Hsiao-Wei Wang 50ac8ebb0c
Fix DOMAIN_CUSTODY_BIT_SLASHING 2020-06-15 21:25:40 +08:00
Hsiao-Wei Wang 458d343497
Fix configs and put domain types to the same table 2020-06-15 21:15:11 +08:00
Hsiao-Wei Wang be607e97f6
Merge branch 'dev' into phase1-validator 2020-06-15 21:09:43 +08:00
Danny Ryan f62125eaa6
add phase 1 on-time aggregation 2020-06-15 06:54:48 -06:00
Hsiao-Wei Wang 8697b30eea
Fix configuration 2020-06-15 15:30:32 +08:00
Hsiao-Wei Wang e80f6727dc
Merge branch 'dev' into dankrad-custody-256bit 2020-06-15 15:13:45 +08:00
Danny Ryan e955e6f6e1
Merge pull request #1884 from paulhauner/patch-25
Use parent_root for finalized chain check
2020-06-13 16:09:16 -05:00
Danny Ryan fdb6f15867
unhandled exceptions do not modify forkchoice store 2020-06-13 15:59:04 -05:00
Danny Ryan df9b5f18a4
Merge pull request #1885 from paulhauner/patch-26
Fork choice: minor formatting change
2020-06-13 15:51:03 -05:00
Dankrad Feist f6d7dac30c
Change to 2**14 epoch (73 day) custody periods as per #1888 2020-06-13 15:15:37 +01:00
Paul Hauner 7ad1bb508d
Ensure parent is checked before store lookup 2020-06-13 16:04:16 +10:00
Dankrad Feist 42a9f1afdf
Fix Legendre bit computations 2020-06-12 23:44:36 +01:00
Aditya Asgaonkar 993ed5c2c6 Resetting branch to dev and adding single commit 2020-06-12 14:37:07 -07:00
Dankrad Feist 04fb9926e8
Remove custody bits from phase 1 and tests 2020-06-12 17:16:08 +01:00
Dankrad Feist 29c1569251
Merge branch 'dev' into dankrad-custody-256bit
# Conflicts:
#	specs/phase1/beacon-chain.md
2020-06-12 12:29:57 +01:00
Dankrad Feist 398fc833b8
Fix TOC 2020-06-12 12:07:31 +01:00
Dankrad Feist 59b35afcd9
Refactor universal hash function 2020-06-12 12:04:30 +01:00
Dankrad Feist 65c3417f90
Fix replace_empty_or_append, remove assert False & test 2020-06-12 11:53:32 +01:00
dankrad 7bf491d49d
Update specs/phase1/custody-game.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-12 11:28:49 +01:00
dankrad 0e8bba2ce3
Update specs/phase1/custody-game.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-12 11:28:30 +01:00
dankrad d41b6a5775
Update specs/phase1/custody-game.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-12 11:18:07 +01:00
dankrad 31654d8bf4
Update specs/phase1/custody-game.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-12 11:17:44 +01:00
dankrad 7c6280aa8e
Update specs/phase1/custody-game.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-06-12 11:16:19 +01:00
Danny Ryan 67c9c062e0
Merge pull request #1880 from paulhauner/patch-24
Fork choice: avoid redundant call to get_ancestor
2020-06-11 10:23:27 -05:00
Paul Hauner a1a75a38fe
Tidy, add comment 2020-06-11 11:51:18 +10:00
Danny Ryan 85b227da78
Merge branch 'dev' into phase1-validator 2020-06-10 11:34:55 -05:00
Danny Ryan 4b8f132957
pr feedback 2020-06-10 11:32:02 -05:00
Dankrad Feist e46d5effe4
Add test for slashing after failing to respond to custody chunk challenge 2020-06-10 17:20:42 +01:00
Danny Ryan 1dc6b55617
rearrange fork choice condition for clarity 2020-06-10 09:40:34 -05:00
Hsiao-Wei Wang 479c40450d
Friendly lint fix 2020-06-10 18:16:26 +08:00
Paul Hauner 29d968bb2e
Use parent_root for finalized chain check 2020-06-10 15:09:40 +10:00
Paul Hauner 378d249487
Avoid redundant call to get_ancestor 2020-06-10 11:02:10 +10:00
terence tsao 0f6efcd50d
Update toc 2020-06-09 15:38:40 -07:00
terence tsao ef11e924fa
Update phase1 beacon-chain config table 2020-06-09 13:34:46 -07:00
Hsiao-Wei Wang dacf86a5c0
Remove `transition_digest` 2020-06-10 02:43:59 +08:00
Danny Ryan 65a739fe41
Merge branch 'dev' into phase1-validator 2020-06-08 15:50:51 -06:00
Hsiao-Wei Wang 41cfa7fdf6
Merge branch 'dev' into dankrad-custody-256bit 2020-06-09 01:39:51 +08:00
Hsiao-Wei Wang 2d895e9388
PR feedback from danny 2020-06-09 00:13:27 +08:00
Hsiao-Wei Wang 3b749d72c8
Merge branch 'dev' into hwwhww/shard_fork_choice 2020-06-08 23:57:19 +08:00
Hsiao-Wei Wang 9b3f45dfd0
Merge pull request #1875 from ethereum/hwwhww/shard_fork_choice_part2
Handle `beacon_parent_root` checks
2020-06-08 23:53:31 +08:00
Hsiao-Wei Wang e03a970eaf
PR feedback from danny: simplify `verify_shard_block_message` params 2020-06-08 23:49:24 +08:00
Danny Ryan dce82e76bc
Merge pull request #1870 from ethereum/hwwhww-patch-1
Use shard_block.slot to get seed for proposer selection
2020-06-08 09:19:23 -06:00
Hsiao-Wei Wang 435505746c
PR feedback from Terence: fix `get_shard_latest_attesting_balance`
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2020-06-08 17:12:46 +08:00
Hsiao-Wei Wang a4cc189f2b
Apply PR feedback from Danny 2020-06-06 05:19:46 +08:00
Hsiao-Wei Wang a71c0a5ccc
Per #1704 discussion, remove `on_time_slot`: the given `beacon_state`
should be transitioned.
2020-06-06 02:39:47 +08:00
Hsiao-Wei Wang 2d4788fe7d
Fix `verify_shard_block_message`
Add check for `block.beacon_parent_root` per Terence's suggestion

Update `get_shard_transition`

1. Disable verification: it will be fix in v-guide
2. Use `on_time_slot` to compute offset_slots

Rework tests
2020-06-06 02:39:47 +08:00
Hsiao-Wei Wang a154d0c22b
Fix typo 2020-06-06 02:39:11 +08:00
Hsiao-Wei Wang 6f9c290bfb
Add TODO flag of latest message 2020-06-06 02:39:11 +08:00
Hsiao-Wei Wang f8597d2965
Add `get_pendings_shard_blocks` 2020-06-06 02:39:10 +08:00
Hsiao-Wei Wang 727353c054
Verify shard_block.slot fits the expected offset_slots 2020-06-06 02:39:10 +08:00
Danny Ryan 8a9ccc4f34
clarify attestations as coming from block.body when getting winning roots in validator guide 2020-06-05 12:12:12 -06:00
Danny Ryan 8e5c98ef3c
PR feedback 2020-06-05 12:01:53 -06:00
Danny Ryan 7e44456be5
mod compute_subnet_for_attestation to be usable for lookahead 2020-06-05 09:50:49 -06:00
Danny Ryan 52de25048a
fix lihth client refs in val guide 2020-06-05 09:35:09 -06:00
Michael Sproul c2b7ff7422
Re-clarify proposer slashing check
Fixes a typo from #1871
2020-06-04 16:16:37 +10:00
Hsiao-Wei Wang 8afb93f5a3
Add `shard_block.slot` to seed 2020-06-04 11:19:04 +08:00
Michael Sproul 376c836190
Clarify proposer slashing gossip conditions 2020-06-04 12:51:17 +10:00