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
Hsiao-Wei Wang
26aae40941
Use epoch of the shard_block.slot for generating seed
2020-06-04 05:31:53 +08:00
Hsiao-Wei Wang
d344521741
Bugfix: should set `shard` for empty proposal
2020-06-04 05:30:13 +08:00
Hsiao-Wei Wang
c0108afe77
Use shard_block.slot to get seed for proposer selection
2020-06-04 05:06:04 +08:00
Danny Ryan
b1ff00aab0
Merge branch 'dev' into phase1-validator
2020-06-03 12:18:17 -06:00
Danny Ryan
74204f795d
udpate validator guide to work with all updated phase 1 constructions
2020-06-03 12:16:39 -06:00
Hsiao-Wei Wang
e1981a7bfd
`head_shard_root` -> `shard_head_root`
2020-06-04 01:00:52 +08:00
Hsiao-Wei Wang
58e75c27ed
Merge branch 'dev' into hwwhww/shard_fork_choice
2020-06-04 00:56:25 +08:00
Hsiao-Wei Wang
eb21648146
Merge pull request #1858 from ethereum/hwwhww/get_start_shard
...
`get_start_shard` proposal
2020-06-04 00:46:12 +08:00
Danny Ryan
d1647c28e0
Merge branch 'dev' into phase1-validator
2020-06-03 10:43:42 -06:00
Hsiao-Wei Wang
5c5cedd60d
Apply PR feedback from Danny and Terence
2020-06-03 22:31:16 +08:00
Danny Ryan
cc5116bf33
Merge pull request #1837 from status-im/ssz-string
...
Use SSZ types in p2p spec
2020-06-02 16:35:31 -06:00
Danny Ryan
09b387bdc9
Merge pull request #1862 from terencechain/patch-100
...
Tidying up `shard_state_transition`
2020-06-02 14:19:31 -06:00
Diederik Loerakker
e814d52ee5
Merge pull request #1866 from ethereum/tunable-genesis
...
Tunable genesis
2020-06-02 22:19:13 +02:00
Danny Ryan
cf7b9993b5
clarify `head_root` is for a `BeaconBlock`
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-06-02 13:51:43 -06:00
Danny Ryan
06dfff022b
add comment about default of 0x00 for genesis finalized checkpoint in p2p spec
2020-06-02 11:22:09 -06:00
Danny Ryan
671fae6efe
change note about genesis delay in p2p spec to match new GENESIS_DELAY config value; fix tests
2020-06-02 11:09:42 -06:00
Raw Pong Ghmoa
34412130c5
phase0: enable a tunable genesis time
2020-06-02 10:55:13 -06:00
terence tsao
24427947b1
Moved transition_digest to last
2020-06-02 08:09:43 -07:00
Hsiao-Wei Wang
142ba17451
PR review from Danny
2020-06-02 18:08:28 +08:00
Paul Hauner
2a125e8497
Update fork-choice.md
2020-06-02 17:22:33 +10:00
Paul Hauner
c6aac16506
Reword fork choice comment
2020-06-02 17:16:25 +10:00
Danny Ryan
d6435d0cbf
Merge branch 'dev' into dankrad-custody-256bit
2020-06-01 18:49:11 -06:00
Danny Ryan
3a4db69a20
Merge branch 'dev' into dankrad-custody-256bit
2020-06-01 18:45:22 -06:00
terence tsao
2a218520a1
Tidying up `shard_state_transition`
2020-06-01 14:31:45 -07:00
Hsiao-Wei Wang
5f10ac13bf
PR feedback from Terence and Danny: refactor `get_committee_count_delta`
2020-06-01 23:22:59 +08:00
Hsiao-Wei Wang
30f72dd696
Fix `get_shard` and `compute_shard_from_committee_index` calls
2020-06-01 23:15:16 +08:00
Hsiao-Wei Wang
9567c238d4
Merge branch 'dev' into hwwhww/get_start_shard
2020-06-01 18:17:58 +08:00
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
Jacek Sieka
33e115f8c6
Clean up remaining `[]` List syntax
...
..and use List[byte, 256] for error message
2020-05-30 20:59:12 +02:00
Alex Stokes
437b2ebb90
Update fork choice spec comment for clarity
...
I think this change more clearly specifies the intended behavior. Given the terseness of the spec's code representation, I think we should aim for as much clarity as possible.
2020-05-29 18:16:06 -07: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
Alex Stokes
75633cfcf1
Update link so gossipsub encodings match the correct section
2020-05-26 11:00:02 -07: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
Jacek Sieka
56309342c0
Use `Bytes32` for `error_message`
...
`ErrorMessage.error_message` is a leftover from an older version of SSZ
that was able to encode unbounded lists. This is no longer the case -
all collection types now have a fixed upper bound on length.
In general, the `error_message`, just like the `graffitti` field, should
not be interpreted in any particular way except for debugging and vanity
- as such, using the same type, a `Bytes32`, seems reasonable.
An alternative would be `List[byte, 256]` which maybe could be
"reasonably backwards compatible" with whatever clients are are doing
now - depending on how they are dealing with this field type that no
longer exists in the SSZ spec :) It would however be the only place
where `List[uintN, N]` is used in the current spec.
As an exercise, this could be considered a security issue since it's
essentially unbounded and undefined behaviour.
2020-05-21 15:33:47 +02:00
Danny Ryan
96f785e84b
ensure only forward progress with eth1data voting
2020-05-20 13:56:43 -06:00
Danny Ryan
aa6352608e
Merge pull request #1835 from ethereum/strict-block-range
...
Strict block range (Rebase and extend #1827 )
2020-05-20 13:00:29 -06:00
protolambda
522e34efcf
Fix markdown, use multiple lines for change-control, and add step >= 1 case
2020-05-20 20:46:08 +02:00
Danny Ryan
a6d4566f51
Merge pull request #1834 from ethereum/clarify-genesis-safety
...
clarify that eth1 block follow distance for genesis
2020-05-20 12:44:29 -06:00
protolambda
59a43142c2
Rebased on latest BlocksByRange spec, fix conflicts, clarify single chain, even with higher step
2020-05-20 20:39:52 +02:00
Jacek Sieka
a29cbebc0e
cover `step` parameter in stricter range request
2020-05-20 20:29:43 +02:00
Jacek Sieka
607e23949c
require blocks to be ordered consecutively in block range request
...
Per the spec, if I request range 5-10, it is permissible for a client to
answer with block 7, 9 - even if the blocks 5, 6 and 8 exist.
Because blocks 7 and 9 cannot be validated as they arrive in such a
request, it seems better to close this gap - this update adds the spec
language that forbids well-behaving clients from answering this way.
2020-05-20 20:29:37 +02:00
Danny Ryan
4ac2fc7eff
add missing column description fo SECONDS_PER_ETH1_BLOCK
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-05-20 12:28:08 -06:00
Danny Ryan
c9f21f1f43
clarify that eth1 blocks must be at a safe fllow distance before being considered for genesis
2020-05-20 10:44:08 -06:00
Danny Ryan
943e51aef1
hww feedback for finality rewards fix
2020-05-20 10:12:57 -06:00
Danny Ryan
95c3295eeb
move proposer negation to inactivity_penalty deltas
2020-05-19 17:17:20 -06:00
Danny Ryan
85e78223dd
ensure when performing optimally that you don't lose money during a leak
2020-05-19 16:51:46 -06:00
Danny Ryan
fdc7e846df
remove incorrect table format
2020-05-19 10:37:42 -06:00
Danny Ryan
724139a1f8
change gossipsub protocol ID to /meshsub/1.1.0
2020-05-19 10:23:12 -06: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
c5367295c3
Merge branch 'dev' into v012x
2020-05-18 13:32:24 -06:00
Danny Ryan
b7cfa94cb4
Merge branch 'dev' into v0113-dev-merge
2020-05-18 13:22:16 -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
Danny Ryan
4a86c39712
Merge pull request #1799 from ethereum/bls_v2
...
Update to IETF BLS draft-irtf-cfrg-bls-signature-02 + draft-irtf-cfrg-hash-to-curve-07
2020-05-18 07:35:49 -06:00
Danny Ryan
74c900f814
add conditoin that block must be later than latest_block_header
2020-05-15 16:43:53 -06:00
terence tsao
6f5cbe6182
Update shard-transition.md
2020-05-14 14:55:29 -07:00
Danny Ryan
96ab76dcb2
Merge pull request #1804 from ethereum/use-all-attnets
...
[for discussion] Use all attestation subnets in phase 0
2020-05-14 14:29:05 -06:00
Danny Ryan
483f9a1d7b
Update specs/phase0/p2p-interface.md
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-05-14 14:25:32 -06:00
Hsiao-Wei Wang
ab3cbdae75
Add a note of `len(attestations) > 0`
2020-05-15 04:05:51 +08:00
Danny Ryan
3dd168335b
reformat compute_subnet_for_attestation to not use for loop
2020-05-14 13:50:29 -06:00
Danny Ryan
689a6955b0
Merge pull request #1812 from ethereum/no_signature
...
Handle phase 1 `PKs == []` cases
2020-05-14 11:15:06 -06:00
Hsiao-Wei Wang
f0c4623871
Apply PR feedback: add docstring
2020-05-15 01:05:32 +08:00
Danny Ryan
c91e017b1f
Merge pull request #1801 from ethereum/non-aggregator-att
...
Loosen restrictions for aggregate propogation
2020-05-14 11:01:32 -06:00
Hsiao-Wei Wang
6a3241be61
Remove leading space
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-05-15 00:48:53 +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
protolambda
68442c2eef
Update testing and restrict to incremental block transitions
2020-05-13 16:46:28 +02: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
4a246ba5ac
Apply feedback from Danny, add a note of the hash to curve configuration
2020-05-13 13:01:08 +08:00
Hsiao-Wei Wang
3c11a4dc02
Fix `AggregateVerify` param name: `message` -> `messages`
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-05-13 12:56:50 +08:00
Hsiao-Wei Wang
2718dcc4ab
Update IETF standard description
2020-05-13 02:34:10 +08:00
Danny Ryan
511f803496
use all attnets across the epoch even when not max committees per slot
2020-05-11 12:52:52 -06:00
Danny Ryan
ef18010778
Merge pull request #1800 from ethereum/reqresp-sizes
...
Update p2p reqresp with explicit handling of reqresp size bounds
2020-05-11 11:48:31 -06:00
Danny Ryan
ca1876e12f
Merge pull request #1795 from ethereum/clarify-blocks-request
...
Clarify BlocksByRange request
2020-05-11 11:39:10 -06:00
Danny Ryan
30ecd9b602
p2p PR feedback
2020-05-11 11:22:34 -06:00
Danny Ryan
17f656cefe
Merge branch 'dev' into v012x
2020-05-11 10:41:35 -06:00
protolambda
fcf003859d
remove duplicate response diagram
2020-05-11 17:01:18 +02:00
Danny Ryan
b4bc2038e1
clarify that clients MAY stop block requests if fork choice changes
2020-05-11 08:39:30 -06:00
Danny Ryan
7d4d3e43ef
remove aggregate clarifiyng text that is not longer valid
...
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-05-11 08:38:22 -06:00
Paul Hauner
b3dd99f4f4
Loosen restrictions for aggregate propogation
2020-05-11 08:28:21 -06:00
Danny Ryan
3fb4c43fae
Merge pull request #1794 from ethereum/2x-attester-slashings
...
MAX_ATTESTER_SLASHINGS == 2 and add multiple slashings per block tests
2020-05-11 08:12:23 -06:00
protolambda
a8e3fe7551
Update p2p reqresp with explicit handling of reqresp size bounds
2020-05-09 21:44:28 +02: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
fdcc6d65bc
gossipsub v1.1 and extended validators for gossip conditions
2020-05-08 12:00:05 -06:00
Danny Ryan
01eaf6cc99
Clarify the response of BlocksByRange to address #1765
2020-05-08 11:09:12 -06:00
Danny Ryan
7a130606ac
hww feedback
2020-05-08 10:51:41 -06:00
Danny Ryan
1137e0332d
move MAX_ATTESTER_SLASHINGS to 2, add multiple slashings per block tests
2020-05-08 10:43:11 -06:00
Danny Ryan
08652f543b
Merge branch 'v012x' into empty-bits-case
2020-05-07 10:17:26 -06:00
Danny Ryan
7625728fb8
Merge pull request #1742 from ethereum/ffg_lmd_vote_consistency
...
Added FFG-LMD vote consistency checks
2020-05-07 09:36:52 -06:00
Danny Ryan
4f401133e1
address PR feedback from @protolambda
2020-05-05 15:37:14 -06:00
Danny Ryan
b71a0ee6b9
Merge branch 'v012x' into ffg_lmd_vote_consistency
2020-05-05 13:40:27 -06:00
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
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
Danny Ryan
3f250f7dd3
PR feedback
2020-05-04 21:05:10 -06:00
Danny Ryan
a7354bd358
Merge branch 'dev' into rewards-rework
2020-05-04 13:34:35 -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