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
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
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
c2c27791c5
Merge branch 'dev' into rewards-rework
2020-05-01 10:52:19 -06:00
protolambda
09cae4b3cc
Handle empty-aggregation-bits case, and add tests. See #1713
2020-05-01 15:17:41 +02: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
cd27e5e045
add tests for source, target, head
2020-04-29 10:23:12 -06:00
Danny Ryan
5f18dd778c
add baseline get_target_deltas tests
2020-04-28 19:26:14 -06:00
Danny Ryan
4a086fba5c
Merge branch 'dev' into rewards-rework
2020-04-28 17:24:45 -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
Aditya Asgaonkar
9acea51938
Simplified by re-using get_ancestor()
2020-04-25 14:17:28 -07: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
7612667bbe
minor feedback and fixes on rewards/penalites proposal
...
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-04-23 11:13:09 -06:00
Danny Ryan
fe13bab338
rework rewards/penalties to be more granular
2020-04-23 10:26:34 -06: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
Aditya Asgaonkar
9bbac0d2cc
Added consistency check for FFG & LMD vote in validate_on_atttestation(), fixes #1636 , fixes #1456 , fixes #1408
2020-04-21 23:56:44 -07: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