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
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
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
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
Dankrad Feist
0e2931b9b3
All tests passed
2020-04-28 01:09:20 +01: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
Dankrad Feist
2449db1bb6
Phase 1 block tests are working
2020-04-27 16:08:49 +01: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
Dankrad Feist
ab2ee0e2c2
Restoring chunk challenges and testing
2020-04-24 17:06:27 +01: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
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
Hsiao-Wei Wang
890c27d091
The input parameter `index` in `compute_shuffled_index` is the position of the given list, not `ValidatorIndex`
2020-04-09 17:33:14 +08:00
Hsiao-Wei Wang
c10e59bdf7
Fix `INACTIVITY_PENALTY_QUOTIENT`
...
The amount of inactivity penalty was adjusted to half since we were applying penalty for missing FFG target and source. But now we only apply it for missing target, so `INACTIVITY_PENALTY_QUOTIENT` should be `2**24`.
2020-04-08 10:32:16 +08:00
Danny Ryan
2a36f366ef
Merge pull request #1710 from paulhauner/patch-20
...
Tighten aggregate attn propogation condition
2020-04-07 18:56:04 -06:00
Danny Ryan
26492651b6
Merge pull request #1706 from paulhauner/patch-19
...
Redefine attestation propogation condition
2020-04-07 18:55:41 -06:00
Paul Hauner
c96a3366fa
Tighten aggregate attn propogation condition
2020-04-07 16:07:41 +10:00
Paul Hauner
616385a094
Fix spelling mistake
2020-04-07 07:45:15 +10:00
Paul Hauner
021cb98dbb
Use epoch for attestation subnet seen-ness.
2020-04-07 07:05:51 +10:00
Danny Ryan
bdf087d7f3
add notes about how to handle peer discovery and gossip topics prior to genesis
2020-04-06 09:57:23 -06:00
Paul Hauner
7d4b97240b
Redefine attestation propogation condition
2020-04-06 17:46:33 +10: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
f135eff021
add lookahed for shard subnets for beacon committee in validator guide
2020-04-03 13:23:38 -06:00
Danny Ryan
e86c5ef41d
final PR nitpicks
2020-04-03 10:29:35 -06:00
Danny Ryan
c3e5ddaabc
Merge branch 'dev' into phase1-tests
2020-04-03 09:54:34 -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
d61b2991a0
fix lint
2020-04-02 16:58:39 -06:00
Danny Ryan
6067c511c5
add light client to phase 1 validator
2020-04-02 16:48:02 -06:00
Danny Ryan
d789f3d32d
getting phase 1 val guide in place
2020-04-02 15:09:45 -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
Paul Hauner
2daa26442b
Tighten restriction on a "seen" attestation
...
Declares that only a verified block can stop an attestation from being propagated.
This achieves two things:
1. Ensures that clients don't need to scan invalid blocks for attestations and then modify their state based upon them.
1. Disallows "muting" attestations by sending around a junk block with that attestation in it.
2020-03-30 10:44:46 +11:00
Danny Ryan
073f78efa1
Merge branch 'dev' into phase1-tests
2020-03-29 17:04:25 -06:00
Danny Ryan
d07aa00307
Merge pull request #1692 from ethereum/master
...
Backport v0.11.1 to dev
2020-03-29 16:38:50 -06:00
Danny Ryan
d42e08a6e1
verify proposer sig before proposer shuffling in p2p block gossip conditions
2020-03-26 11:43:32 -06:00
Danny Ryan
c46fe86839
Merge branch 'v011x' into publish-vs-subscribe
2020-03-26 10:48:23 -06:00
Danny Ryan
a83e7a5ecc
proto PR feedback
2020-03-26 10:46:06 -06:00
Danny Ryan
050b42806d
Merge pull request #1684 from ethereum/enr-ping
...
MetaData and Ping
2020-03-26 10:40:46 -06:00
Danny Ryan
ee45cf77ef
proto feedback on MetaData
2020-03-26 07:47:20 -06:00
Danny Ryan
7af6a3afa4
do not require non-aggregating validators to subscribe to attestation subnet for beacon committee duties
2020-03-25 15:56:26 -06:00
Danny Ryan
d5a9af6469
update ping protocol to use MetaData
2020-03-25 12:08:27 -06:00
Danny Ryan
b8d25dc5b4
Merge pull request #1682 from ethereum/reward-acc-bug
...
Attestation reward bug
2020-03-24 19:36:23 -06:00
Paul Hauner
88fddf2379
Remove unneccessary clock disparity check
...
There is no need to mention clock disparity when comparing two static slot values (assuming the clock disparity is less than a slot, even then I don't think that's the intention).
2020-03-24 08:13:36 -06:00
Michael Sproul
1c49f99094
Fix bug in attestation reward calculation
2020-03-24 07:40:58 -06:00
Age Manning
f227e026fa
Draft PING and ENR rpc protocol
2020-03-24 15:10:47 +11:00
Age Manning
cf20a7ae3e
Shift some ENR fields to MAY
2020-03-24 15:07:43 +11:00
Danny Ryan
2978f21a39
minor edit to validator get_attestation_signature
2020-03-19 15:17:06 -06:00
Jacek Sieka
759af67345
Normalize attestation signature getter name
2020-03-19 15:13:59 -06:00
Danny Ryan
2b8c32a347
Merge pull request #1664 from ethereum/div-zero-total-balance
...
avoid div by zero in extreme balance case
2020-03-19 08:50:09 -06:00
Danny Ryan
0a9b306d60
PR feedback from @hwwhww
2020-03-18 09:55:09 -06:00
Danny Ryan
e6998a61cd
remove IK handshake from noise spec (removed in core libp2p specs)
2020-03-17 10:54:48 -06:00
Danny Ryan
e2ef4365e2
min total balance is now EFFECTIVE_BALANCE_INCREMENT. update testing
2020-03-16 11:19:21 -06:00
Danny Ryan
d299b06a1c
fix custody bit calculation format
2020-03-16 09:52:27 -06:00
Danny Ryan
5315f3db35
clarify proposer_index must be from expected shuffling when validating block gossip
2020-03-13 12:00:34 -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
c894f5ecec
fork choice error note
2020-03-11 16:41:27 -06:00
Danny Ryan
a612df1119
minor typos and clarifications in fork choice
2020-03-11 16:11:42 -06:00
Danny Ryan
47bbffa0d6
'get_checkpoint_store' -> 'get_forkchoice_store' typo
2020-03-11 15:03:14 -06:00
Danny Ryan
81dc71c312
Merge pull request #1652 from ethereum/gossip-topics-with-fork-digest
...
Gossip topics with fork digest
2020-03-11 13:32:25 -06:00
Danny Ryan
4bcdf91e8b
Apply suggestions from code review
...
PR feedback
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-03-11 13:24:30 -06:00
Danny Ryan
36e48fba99
enforce must match target to match head to avoid perverse incentive path
2020-03-11 12:51:05 -06:00
Danny Ryan
0881e21dc5
cleanup gossip topic fork digest based on PR feedback
2020-03-11 12:02:31 -06:00
Danny Ryan
baee673124
add note about preparing for subnet backbone for forks
2020-03-10 17:29:39 -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
fccd3ab1ce
clarify hex-encoded bytes string representation for fork digest in gossip topic
...
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-03-10 15:04:44 -06:00
Danny Ryan
415544bf03
modify gossip topics to use ForkDigest
2020-03-10 14:44:35 -06:00
Danny Ryan
b25ca8e32c
Merge branch 'gossip-topic' of https://github.com/status-im/eth2.0-specs into status-im-gossip-topic
2020-03-10 14:02:44 -06:00
Diederik Loerakker
ab24e7cab7
Merge pull request #1651 from ethereum/revert-forkchoice-header
...
revert fork choice store.blocks to BeaconBlock
2020-03-10 20:25:18 +01: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
Danny Ryan
1c9ca3c168
Merge pull request #1635 from ethereum/rewards-overflow
...
handle rewards overflow
2020-03-10 13:23:21 -06:00
Danny Ryan
c91eee6bdf
revert fork choice store.blocks to store BeaconBlock
2020-03-10 13:20:57 -06:00
Danny Ryan
0d01299d17
Merge pull request #1648 from sgryphon/feature/clarify-store-signed-block
...
Put back in a requirement to store recent signed blocks
2020-03-10 13:13:33 -06:00
Danny Ryan
1579072e15
add note about total balance overflowing
2020-03-10 13:12:17 -06:00
Danny Ryan
d6eedd95c0
fix wording to be clear it is about serving blocks
...
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-03-10 13:04:28 -06:00
Danny Ryan
bd5231a975
Merge pull request #1614 from ethereum/eth2-enr
...
add eth2 key/value ENR to phase 0 p2p
2020-03-10 13:02:32 -06:00
Danny Ryan
1818f349ad
add ForkDigest type, clarify how genesis_validators_root is mixed into domains for chain isolation in p2p faq
2020-03-10 11:59:34 -06:00
protolambda
55d436db51
simplify description of voting period time
2020-03-10 18:55:59 +01:00
protolambda
2d7a292d36
eth1 vote period constant in epochs: update configs, phase1, tests
2020-03-10 18:36:53 +01:00
Hsiao-Wei Wang
882b9ee035
Merge branch 'dev' into rewards-overflow
2020-03-11 00:41:17 +08:00
Sly Gryphon
da5720f9d1
Put back in a requirement to store recent signed blocks that was removed when SignedBeaconBlock was introduced (prior to that the signature was in BeaconBlock, which was recorded in Store).
2020-03-10 21:31:03 +10:00
Danny Ryan
92eef0e00b
fix light client sig verification in phase 1
2020-03-09 14:52:30 -06:00
Danny Ryan
6230a22976
Merge pull request #1606 from ethereum/rpc-snappy-lengths
...
RPC chunks with streaming SSZ decoding, snappy frames, and stricter DOS limits where possible.
2020-03-09 11:04:12 -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
Danny Ryan
37b1fed8ff
update eth2 ENR field to use ENRForkID
2020-03-04 14:16:30 -07:00
Danny Ryan
5dae252f56
add eth2 key/value ENR to phase 0 p2p
2020-03-04 12:33:23 -07:00
Danny Ryan
f082aa6ca9
use EFFECTIVE_BALANCE_INCREMENT to normalize reward calculations
2020-03-03 15:34:02 -07:00
Danny Ryan
5e1fb79a8e
Merge pull request #1627 from ethereum/hysteris-fix
...
adjust hysteresis to avoid initial over-deposit incentive
2020-03-03 14:15:24 -07:00
Danny Ryan
33e7680836
make hysteresis calculations configurable
2020-03-03 10:58:47 -07:00
Danny Ryan
2d4ec7d52f
add REWARD_OVERFLOW_INCREMENT to avoid overflow in rewards calculation
2020-03-03 10:23:08 -07:00
Hsiao-Wei Wang
b4c7481b35
Fix the misc table
2020-03-03 01:28:58 +01:00
Danny Ryan
0122081d05
hysteresis to -0.25/+1.25
2020-03-02 15:55:01 -07:00
Jacek Sieka
38323d8186
Add faq
2020-03-01 17:17:29 +01:00
Danny Ryan
186d4258b6
fix shard offsets
2020-02-28 13:20:37 -06:00
protolambda
bb82a051ff
clean up, add invalid input handling
2020-02-27 19:39:34 +00:00
Danny Ryan
4d72dcf3ab
@hwwhww feedback
...
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-02-27 12:00:55 -06:00
Danny Ryan
9718d206a7
fix attester slahsing test
2020-02-26 11:20:19 -06:00
Danny Ryan
721f605a91
Merge branch 'dev' into phase1-tests
2020-02-22 12:10:35 -06:00
Danny Ryan
4c1fc9bffa
work through phase 1 tests
2020-02-22 12:06:31 -06:00
Danny Ryan
97fa3741af
working through test issues
2020-02-22 09:30:33 -06:00
Danny Ryan
ceb6633eb9
working through phase 1 attestation testing
2020-02-22 09:24:14 -06:00
Ben Edgington
934c037a8a
Correct the duration of HISTORICAL_ROOTS_LIMIT
...
The duration of HISTORICAL_ROOTS_LIMIT is:
SECONDS_PER_SLOT * SLOTS_PER_HISTORICAL_ROOT * HISTORICAL_ROOTS_LIMIT
which is
12s * 2^13 * 2^24 = 1.65e12s = 52,262 years
2020-02-22 09:22:52 -06:00
Danny Ryan
3bb8e0d962
cleanup attester slashing conditon code snippet
...
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-02-22 09:22:52 -06:00
Danny Ryan
f671b86776
add DoS prevention validation conditions to voluntary_exit, proposer_slashing, and attester_slashing gossipsub channels
2020-02-22 09:22:52 -06:00
Danny Ryan
7329cc0933
pr feedback
...
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-02-22 09:22:51 -06:00
Danny Ryan
3404f1e078
add lower bound condition on block gossip
2020-02-22 09:22:51 -06:00
Danny Ryan
581257e269
reorder gossip conditions to put cheap checks before signature verifications
2020-02-22 09:22:51 -06:00
Danny Ryan
f7181adece
reverse params in get_aggregate_and_proof to match ssz type
2020-02-22 09:22:51 -06:00
Danny Ryan
d2e08c0cdf
subnet validation PR feedback
2020-02-22 09:22:51 -06:00
Danny Ryan
dde69cb8e2
add explicit instrucutions for construction of signed_aggregate_and_proof. add DOMAIN_SELECTION_PROOF and DOMAIN_AGGREGATE_AND_PROOF
2020-02-22 09:22:51 -06:00
Danny Ryan
5ee1f9b545
fix up some p2p validation conditions based on PR feedback
2020-02-22 09:22:50 -06:00
Danny Ryan
fd633d2467
add clarifying note to signedaggregateandproof in vaidator guide and fix tocs
2020-02-22 09:22:50 -06:00
Danny Ryan
343168908c
prevent multiple beacon blocks from same proposer in a given slot
2020-02-22 09:22:50 -06:00
Danny Ryan
8da7a84eb7
create SignedAggregateAndProof to prevent DoS attacks
2020-02-22 09:22:50 -06:00
Danny Ryan
047936eb2d
Add no repeat attestation condition for committee_index_beacon_attestation gossip channel
2020-02-22 09:22:50 -06:00
Danny Ryan
0a849acdce
fix validator guide to show that block slashing is per slot rather than per epoch
2020-02-22 09:22:49 -06:00
Danny Ryan
d414aac933
rework process_attestation and work through tests
2020-02-22 09:22:49 -06:00
Jacek Sieka
61f661b3ec
Update specs/phase0/p2p-interface.md
...
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2020-02-20 08:23:09 +01:00
Danny Ryan
a02aac43c2
adjust hysteresis to avoid initial over-deposit incentive
2020-02-18 12:36:20 -06:00
Danny Ryan
757f5a31dd
add proposer index and add/modify tests
2020-02-18 11:38:17 -06:00
Anton Nashatyrev
cfcb7b2f01
Measure eth1 voting period in epochs instead of slots
2020-02-18 16:12:43 +03:00
Jacek Sieka
52b45ab9de
Add fork version to topic
...
Gossipsub peers are separate from the ETH2 RPC protocol, and thus cannot
rely on the application-level `Status` negotiation to establish if
they're on the same network.
Segregating gossipsub topics by fork version decouples RPC from gossip
further and allows peers to more easily listen only to the traffic of
the network they're interested in, without further negotiation.
2020-02-17 10:03:32 +01:00
Ben Edgington
8620adcdf1
Correct the duration of HISTORICAL_ROOTS_LIMIT
...
The duration of HISTORICAL_ROOTS_LIMIT is:
SECONDS_PER_SLOT * SLOTS_PER_HISTORICAL_ROOT * HISTORICAL_ROOTS_LIMIT
which is
12s * 2^13 * 2^24 = 1.65e12s = 52,262 years
2020-02-14 14:29:45 +00:00
Danny Ryan
40b4931f01
cleanup attester slashing conditon code snippet
...
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-02-13 11:17:19 -07:00
Danny Ryan
a7ef70eb9b
add DoS prevention validation conditions to voluntary_exit, proposer_slashing, and attester_slashing gossipsub channels
2020-02-12 15:56:03 -07:00
Danny Ryan
f441fadfff
pr feedback
...
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-02-12 15:50:22 -07:00
Danny Ryan
f8b72f5057
add lower bound condition on block gossip
2020-02-12 12:07:57 -07:00
Danny Ryan
a9fae27379
Merge pull request #1615 from ethereum/subnet-validations
...
Add subnet validations for DoS resistance
2020-02-12 12:02:28 -07:00
Danny Ryan
714a7de8a2
reorder gossip conditions to put cheap checks before signature verifications
2020-02-12 11:59:00 -07:00
Danny Ryan
90476388fe
reverse params in get_aggregate_and_proof to match ssz type
2020-02-11 15:54:18 -07:00
Danny Ryan
bf8252aeb6
subnet validation PR feedback
2020-02-11 15:46:30 -07:00
Danny Ryan
eec57f29b7
add explicit instrucutions for construction of signed_aggregate_and_proof. add DOMAIN_SELECTION_PROOF and DOMAIN_AGGREGATE_AND_PROOF
2020-02-11 15:45:51 -07:00
Danny Ryan
8d16d428e0
fix up some p2p validation conditions based on PR feedback
2020-02-10 21:35:39 -07:00
Danny Ryan
3d111f7bdd
Merge pull request #1612 from ethereum/v-guide-per-slot-slash
...
[validator guide] beacon block is per-slot slashing
2020-02-10 19:42:01 -07:00
Danny Ryan
8a2a689c80
add clarifying note to signedaggregateandproof in vaidator guide and fix tocs
2020-02-10 19:36:08 -07:00
Danny Ryan
1ca4e3538c
prevent multiple beacon blocks from same proposer in a given slot
2020-02-10 19:28:37 -07:00
Danny Ryan
118a755bbb
create SignedAggregateAndProof to prevent DoS attacks
2020-02-10 19:18:14 -07:00
Danny Ryan
c1a51a9358
Add no repeat attestation condition for committee_index_beacon_attestation gossip channel
2020-02-10 18:53:26 -07:00
Danny Ryan
129aa02cb3
support tests with SLOTS_PER_EPOCH * 256 vals
2020-02-10 17:56:05 -07:00
Danny Ryan
d5f1402d0d
Merge pull request #1604 from status-im/fewer-head-block-roots
...
drop `head_block_root` from BeaconBlocksByRange
2020-02-08 18:24:54 -06:00
Danny Ryan
43cacc3fe9
fix validator guide to show that block slashing is per slot rather than per epoch
2020-02-08 16:58:05 -07:00
Jacek Sieka
6188f350f6
it's just a number
2020-02-07 19:03:33 +01:00
Jacek Sieka
97d931b705
rephrase fork choice requirement
2020-02-07 19:03:09 +01:00
Alex Stokes
b398e42439
another typo in pubsub channel name
2020-02-06 16:41:53 -08:00
Alex Stokes
7aeeb372a7
[validator-guide] typo fix
2020-02-06 16:03:40 -08:00
Danny Ryan
03f53e9928
Merge pull request #1607 from AgeManning/noise-specification
...
Add libp2p-noise specification
2020-02-06 12:05:49 -06:00
Age Manning
9355a6ebca
Noise libp2p specification
2020-02-05 14:33:00 +11:00
protolambda
93249aadda
Proposal to focus on length-encoding SSZ contents, enable streaming of chunk contents, and put stricter DOS limits in place
2020-02-04 13:56:32 +01:00