Commit Graph

610 Commits

Author SHA1 Message Date
Aditya Asgaonkar 37874f9b79 Update WS calc 2021-01-19 01:53:12 -08:00
protolambda 65696ca68b
fix typo: same condition, but non-aggregate attestation here 2021-01-16 22:48:22 +01:00
Danny Ryan 2ad8fdb818
add ability for node to randomly request and descore if not serving blocks on WS period 2021-01-14 06:53:04 -07:00
Victor Farazdagi 70e25e6390
Update specs/phase0/weak-subjectivity.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-01-05 21:13:35 -08:00
Victor Farazdagi 7d60e482b9 fix typo 2021-01-05 08:48:25 +03:00
Ben Edgington 452e3301be Fix typo 2020-12-21 10:22:04 +00:00
Danny Ryan f137bb037a
Merge pull request #2130 from ethereum/vbuterin-patch-2
Added standalone light client patch
2020-12-17 07:53:33 -06:00
Hsiao-Wei Wang acfe49e3f3
executable light client patch: beacon-chain.md (#2141)
* Bump remerkleable to 0.1.18

* Disable `sync-protocol.md` for now. Make linter pass

* Enable lightclient tests

* Use *new* `optional_fast_aggregate_verify`

* Fix ToC and codespell

* Do not run phase1 tests with Lightclient patch

* Fix the Eth1Data casting bug. Add a workaround.

* Fix `run_on_attestation` testing helper

* Revert

* Rename `optional_fast_aggregate_verify` to `eth2_fast_aggregate_verify`

* Apply Proto's suggestion

* Apply Danny's suggestion

* Fixing tests

* Fix after rebasing

* Rename `LIGHTCLIENT` -> `LIGHTCLIENT_PATCH`

* New doctoc

* Add lightclient patch configs

* fix gitignore light client patch generator output

* Upgrade state for light client patch

* Add `lightclient-fork.md` to deal the fork boundary and fix
`process_block_header`

* Misc cleanups

1) Add a summary note for every function that is changed.
2) Avoid changing `process_block` (instead only change `process_block_header`).
3) Rename `G2_INFINITY_POINT_SIG` to `G2_POINT_AT_INFINITY` to avoid `SIG` contraction.
4) Misc cleanups

* Update block.py

* Update beacon-chain.md

* Fix typo "minimal" -> "mainnet"

Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>

* Use the new `BeaconBlockHeader` instead of phase 0 version

* Update config files

* Move `sync_committee_bits` and `sync_committee_signature` back to `BeaconBlockBody`

Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: Justin <drakefjustin@gmail.com>
Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>
2020-12-15 13:18:20 +08:00
Danny Ryan 2c90ffa2f4
copy edits 2020-12-14 13:09:25 -07:00
Justin 645a3851af
Update deposit-contract.md 2020-12-12 22:02:56 +00:00
Justin 85c1347ffc
Update validator.md 2020-12-12 21:57:58 +00:00
Justin f9edecf23c
Update validator.md 2020-12-12 21:56:30 +00:00
Justin b085436f2f
Update validator.md 2020-12-12 21:51:21 +00:00
Justin ae0b10edb7
Update validator.md 2020-12-12 21:46:39 +00:00
Justin 2cc9a12c98
Copy-edit deposit-contract.md 2020-12-12 20:50:10 +00:00
Justin ef3802b8e7
Cleaner section title
"Withdrawal prefixes" matches `[BLS]/[ETH1_ADDRESS]_WITHDRAWAL_PREFIX`
2020-12-12 20:40:59 +00:00
Justin 784e567d4b
Fix table for withdrawal credentials prefixes
Minor cosmetic fixes (misformated table, section title).
2020-12-12 20:38:40 +00:00
Danny Ryan 6b728c1880
add eth1 withdrawal credentials to spec 2020-12-11 15:03:58 -07:00
Danny Ryan 56aafbe533
add note about signature check when backfilling beaconblocks 2020-12-09 12:37:56 -07:00
Danny Ryan 17221c8065
more clearly define min epoch range for blocksbyrange requests 2020-12-09 12:27:01 -07:00
Justin f2fe390638
secret_key => privkey 2020-12-08 09:20:50 +00:00
Justin 0b9e80d1eb
grammar 2020-12-07 23:15:34 +08:00
Justin 56048cbf56
Cosmetic cleanups to BLS signatures section
Miscellaneous cosmetic cleanups to the " BLS signatures" section:

1) fix section capitalisation for spec consistency
2) avoid uncapitalised "eth2" for spec consistency
3) avoid contractions (such as `PK` for `pubkey`) for spec consistency
4) various copyedits
2020-12-07 07:28:01 -07:00
Hsiao-Wei Wang 64412be0d7
Minor update ToC 2020-12-07 11:10:19 +08:00
Danny Ryan 7589af8e8d
remove wip notice on phase 0 specs 2020-11-04 09:30:29 -06:00
Danny Ryan cd7b1056b4
add mainnet deposit contract address and min genesis time 2020-11-04 09:11:52 -06:00
Danny Ryan 2aa827c07f
Merge pull request #2107 from bloxapp/honest_val_time_attack
added best practices section according to https://github.com/ethereum
2020-11-04 07:36:27 -06:00
Alon Muroch 6996a897b5
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-11-04 15:29:06 +02:00
Alon Muroch 5b95219d18
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-11-04 15:19:41 +02:00
Danny Ryan cfc91cdef7
Merge pull request #2121 from AgeManning/gossipsub-mesh
Increase gossipsub mesh degree
2020-11-04 06:59:59 -06:00
Age Manning 82cdbba703
Increase mesh degree 2020-11-04 11:27:35 +11:00
Danny Ryan c4ccdc90de
Merge branch 'dev' into v1.0-candidate 2020-11-03 17:09:48 -06:00
Danny Ryan 6b44f63751
Merge pull request #2104 from ethereum/state_transition_patch
Make `state_transition` not return post-state
2020-11-03 14:57:29 -06:00
Danny Ryan bfaef689e4
Merge pull request #2092 from ethereum/ralexstokes-patch-1
Simplify fork choice spec
2020-11-03 06:58:35 -07:00
Danny Ryan b356f52c5c
ensure aggregate attestation's slot and target are consistent 2020-10-28 17:54:46 -06:00
Alon Muroch 0835c78b56
Apply suggestions from Dankrad's code review
Co-authored-by: dankrad <mail@dankradfeist.de>
2020-10-27 08:38:54 +02:00
Alon Muroch fe5e2f6a8b table of content 2020-10-20 12:07:54 +03:00
Alon Muroch 73cd1a84fd added best practices section according to https://github.com/ethereum/eth2.0-specs/issues/2085 2020-10-20 12:00:40 +03:00
Hsiao-Wei Wang 7fb9226ec6
Make `state_transition` not return post state; the given pre state should have been mutated to post state. 2020-10-15 15:58:26 +08:00
Danny Ryan c17a95a175
add note about how slashings and exits can interact. add test 2020-10-14 17:33:14 -06:00
Danny Ryan 427c7bb236
fix minor typo in validator guide 2020-10-08 10:18:15 -06:00
Danny Ryan 91deacbf9c
double eth1data params 2020-10-07 18:52:47 -06:00
Alex Stokes 663af77737
Clean up unused variable for linter 2020-10-07 17:11:13 -07:00
Alex Stokes d0cf4e7bad
Simplify fork choice spec
This change should be non-substantive as any blocks in `blocks` should be descendants (inclusive) of the `store.justified_checkpoint` (refer `get_filtered_block_tree`) so that in `get_head` all blocks considered as potential heads will have `slot > justified_slot`. Considering this condition universally applies, adding the `and ...` arm to the conditional is unnecessary overhead.
2020-10-07 16:52:51 -07:00
Danny Ryan d3d9bbd479
add note about coming gs v1.1 params 2020-10-07 17:46:20 -06:00
Danny Ryan 45de8198ca
Merge branch 'dev' into v1.0-candidate 2020-10-07 13:42:23 -06:00
Danny Ryan 64b34b5ca6
Merge pull request #2089 from ethereum/fix-message-id
fix message-id issues
2020-10-07 12:40:51 -06:00
Danny Ryan 8cda237884
note v5.1 in discv5 p2p spec 2020-10-07 12:13:32 -06:00
Danny Ryan 6287875baf
use domain byte to isolate message-id domains 2020-10-07 11:59:39 -06:00
Danny Ryan a365fcb03b
fix message-id issues 2020-10-06 16:18:12 -06:00
Hsiao-Wei Wang d264ad8af7
Merge pull request #2080 from ethereum/bls_v4
Bump IETF BLS spec version draft 03 -> draft 04
2020-10-05 22:12:52 +08:00
Danny Ryan 5f9e6599e9
Merge pull request #2060 from protolambda/signing-policy
Use gossip signing policy in p2p spec, see libp2p/specs#294
2020-09-30 12:03:21 -06:00
Danny Ryan 157f7e8ef4
upgrade config to mainnet values 2020-09-28 12:56:08 -06:00
protolambda 62d596a910
update signature policy link 2020-09-25 17:59:09 +02:00
Hsiao-Wei Wang ad4ad2d8b4
Bump IETF BLS spec version draft 03 -> draft 04 2020-09-25 15:01:41 +08:00
Danny Ryan 8c9c943845
Merge pull request #2054 from ethereum/ralexstokes-patch-1
Typos in: p2p-interface.md
2020-09-22 17:32:10 -06:00
Danny Ryan a232efbeb7
revert incorrect type fix 2020-09-22 17:20:55 -06:00
ericsson 104b83aab3 use integer division (//) instead of non-integer (/) 2020-09-22 18:54:44 +03:00
Danny Ryan 177f88962e
Merge pull request #2073 from ethereum/weak-subjectivity-guide
Weak subjectivity guide
2020-09-17 12:07:19 -06:00
Danny Ryan 8bb05827ab
add weak-subjectivity.md to setup.py build and do final lint cleanups 2020-09-17 12:01:25 -06:00
Aditya Asgaonkar 58d225c9be Added WIP note, explanation for WS period calculation 2020-09-17 10:34:37 -07:00
Aditya Asgaonkar 6b33c766f2
Apply suggestions from Danny's code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-09-17 10:26:49 -07:00
Aditya Asgaonkar 2023b24d72
Small change to CLI input description 2020-09-16 19:52:21 -07:00
Aditya Asgaonkar 3fd0eaa67a Fix in WS guide 2020-09-15 17:37:38 -07:00
Aditya Asgaonkar 2b81ec9337 Added TOC to WS guide 2020-09-15 17:33:01 -07:00
Aditya Asgaonkar dc841d4bf6 Cosmetic changes to WS guide 2020-09-15 17:21:38 -07:00
Aditya Asgaonkar d71bb856e7 Added weak subjectivity guide 2020-09-15 17:10:39 -07:00
Danny Ryan 33cfcc4eb3
Merge pull request #2067 from ethereum/bls_v3_patch
Remove outdated BLS standard note
2020-09-15 10:12:15 -06:00
Danny Ryan 7c685d490e
Merge pull request #2061 from ethereum/anchor_block_header_3
Pass `anchor_block` to `get_forkchoice_store`
2020-09-15 10:10:29 -06:00
Hsiao-Wei Wang 899927af30
Remove note 2020-09-15 23:43:07 +08:00
Hsiao-Wei Wang 1e29563242
Pass `anchor_block` to `get_forkchoice_store` 2020-09-15 12:51:11 +08:00
protolambda 8ad0865424
Use gossip signing policy in p2p spec, see libp2p/specs#294 2020-09-15 01:15:16 +02:00
Danny Ryan 59cb56b564
Merge pull request #2044 from blacktemplar/use-raw-sha-as-message-id
use raw SHA256 as message-id
2020-09-14 11:25:34 -06:00
Danny Ryan 5a9fe89089
remove extraneous parens 2020-09-14 10:58:48 -06:00
Danny Ryan 89be1f5bc8
favor pythonic notation for array slices 2020-09-14 10:57:35 -06:00
blacktemplar deb58fd21e only use first 8 bytes of hash as message id 2020-09-14 10:09:48 +02:00
Alex Stokes 3cb15806be
Update p2p-interface.md
Typo fixes
2020-09-11 17:08:37 -07:00
Hsiao-Wei Wang cfc69e47e6
Bump IETF BLS standard version to -03 2020-09-11 17:17:51 +08:00
blacktemplar 8f0b15f9f7 remove dot 2020-09-11 06:44:36 +02:00
Danny Ryan 8948f92def
Merge branch 'dev' into more_gossip_validations 2020-09-10 14:33:48 -06:00
Danny Ryan 42bf435c54
rearrange gossip conditions 2020-09-10 14:10:09 -06:00
Danny Ryan 54f1abc943
Merge pull request #2036 from ethereum/typing_clean
Non-substantive typing clean-up
2020-09-10 14:07:32 -06:00
blacktemplar 9cbc7c37f4 use raw SHA256 as message-id 2020-09-09 15:02:47 +02:00
Hsiao-Wei Wang 6e900f4fcc
Add more typings, no substantive change 2020-09-03 19:27:16 +08:00
Hsiao-Wei Wang eed2df37f4
Make linter happy 2020-09-03 17:27:20 +08:00
vbuterin b35f8fff74
Add a constant for slash penalty multiplier
Make the multipler on slashed penalties (if portion `p` of validators are slashed each one loses `k*p` an explicit constant).
2020-09-02 12:26:27 +08:00
lsankar4033 a156f3821f Add two more attestation gossip validations 2020-08-26 16:18:38 -07:00
lsankar4033 a4acd38981 fix typo 2020-08-26 16:11:42 -07:00
tintinweb c3ff87461f fix typo 2020-08-21 12:10:10 +02:00
Danny Ryan e56b7cb4c0
Merge pull request #2022 from ethereum/state-for-block
clarify what 'state' is for block proposals in validator guide
2020-08-20 17:39:57 -06:00
Danny Ryan e323260a4a
fix some confusing language in validtor guide 2020-08-20 17:03:49 -06:00
Danny Ryan 444cd0249a
minot typo fix
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-08-20 16:53:09 -06:00
Danny Ryan 9742b3a157
clarify what 'state' is for block proposals in validator guide 2020-08-19 09:58:02 -06:00
Hsiao-Wei Wang adf8698778
Update the docs and remove unused code 2020-08-18 00:58:08 +08:00
Danny Ryan bf6d5ce3b6
port #2005 and rearrange conditions 2020-08-03 09:42:52 -06:00
lsankar4033 3a0dd2b253 Add self-consistency check to attestation gossip validation 2020-07-28 17:51:32 -07:00
Danny Ryan b529d47a3b
pr feedback 2020-07-28 11:48:45 -04:00
Danny Ryan 235fb7e2a5
add clarifying comment for genesis skip conditions 2020-07-28 06:48:16 -04:00
Danny Ryan 049e087da0
Merge pull request #1996 from status-im/epoch-check
process_attestation: Validate epoch before using it
2020-07-24 08:04:06 -06:00
Jacek Sieka 6f7652d330
process_attestation: Validate epoch before using it
`data.target.epoch` is used to count the active validator set.

Because `get_committee_count_per_slot` is extremely inefficient the way
the spec is written, clients cache it, or the underlying active
validator set.

Performing the checks in the given order leads to a (very unlikely)
security issue where the a cold and above all, distant value may get
used which may be costly - reordering the checks brings the value into a
more reasonable range before using it.
2020-07-24 07:26:37 +02:00
Danny Ryan 607041225f
split config vs constants in deposit-contract spec 2020-07-23 15:05:25 -06:00
Danny Ryan 4c3f866a0f
add links for network and chain id 2020-07-23 12:25:44 -06:00
Danny Ryan 9193a23f8e
add chain id and netowrk id to config 2020-07-23 12:05:22 -06:00
Diederik Loerakker 247da83e62
Merge pull request #1985 from ethereum/non-viable-gossip
add that current block is in the same chain as finalized ancestor
2020-07-23 19:18:53 +02:00
Danny Ryan 3cf6832198
Apply suggestions from code review
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-07-23 10:46:31 -06:00
Danny Ryan b3e49ff0d3
add finalized ancestor checks to attestation gossip 2020-07-23 10:39:04 -06:00
Danny Ryan fb13f67cca
add that current block is in the same chain as finalized ancestor 2020-07-23 10:13:42 -06:00
Danny Ryan 289564aec0
pr feedback 2020-07-23 10:03:43 -06:00
Danny Ryan a64b8eba6e
remove 'ssz' format from req/resp. now only ssz_snappy 2020-07-23 09:37:16 -06:00
Danny Ryan 435f70208b
Merge pull request #1958 from ethereum/gossip-params
Match gossip v1.1 D_low, extend gossip_history param, add FAQ section
2020-07-21 18:18:25 -06:00
Danny Ryan 50cd0b2b31
Update specs/phase0/p2p-interface.md
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-07-21 17:49:39 -06:00
Danny Ryan edcce7bfef
format 2020-07-21 17:00:11 -06:00
Danny Ryan ec7be11c06
mod gossip params and rename to reflect spec names 2020-07-21 16:45:25 -06:00
Hsiao-Wei Wang 8e82ca5d1a
Merge branch 'dev' into hwwhww/new_int_to_bytes_dev 2020-07-16 01:36:19 +08:00
Hsiao-Wei Wang 6e3a7ad8f2
Merge branch 'dev' into hwwhww/strict-uint64-2 2020-07-15 23:02:51 +08:00
Danny Ryan 7b43a3d772
Merge pull request #1956 from ethereum/queue-att
add queueing possibility to p2p messages in gossip
2020-07-08 10:53:19 -06:00
Mikhail Kalinin b785c97051
Fix epoch_boundary_block_root computation 2020-07-08 21:58:20 +06: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
Hsiao-Wei Wang 96b71a19de
Avoid Python-specific negative operation 2020-06-30 16:58:56 +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 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
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 76840c9178
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-19 17:01:04 +08:00
Danny Ryan bd61c2686b
PR feedback 2020-06-18 09:45:10 -06:00
Hsiao-Wei Wang 4428a6aedf
Fix table 2020-06-18 13:50:10 +08:00
protolambda 41ebd51aff
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-18 02:49:09 +02: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
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
Paul Hauner 7ad1bb508d
Ensure parent is checked before store lookup 2020-06-13 16:04:16 +10:00
Aditya Asgaonkar 993ed5c2c6 Resetting branch to dev and adding single commit 2020-06-12 14:37:07 -07: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
Paul Hauner a1a75a38fe
Tidy, add comment 2020-06-11 11:51:18 +10: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
Hsiao-Wei Wang 41cfa7fdf6
Merge branch 'dev' into dankrad-custody-256bit 2020-06-09 01:39:51 +08:00
Danny Ryan 7e44456be5
mod compute_subnet_for_attestation to be usable for lookahead 2020-06-05 09:50:49 -06:00
Michael Sproul c2b7ff7422
Re-clarify proposer slashing check
Fixes a typo from #1871
2020-06-04 16:16:37 +10:00
Michael Sproul 376c836190
Clarify proposer slashing gossip conditions 2020-06-04 12:51:17 +10: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
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
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 3a4db69a20
Merge branch 'dev' into dankrad-custody-256bit 2020-06-01 18:45:22 -06: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
Alex Stokes 75633cfcf1
Update link so gossipsub encodings match the correct section 2020-05-26 11:00:02 -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
Hsiao-Wei Wang cd91380d80
PR feedback from proto: set `length` back to `int` 2020-05-20 03:05:03 +08:00
Hsiao-Wei Wang 8f70453aef
PR feedback from Proto 2020-05-20 03:04:52 +08:00
Hsiao-Wei Wang 9f340d5fd1
(i) Fix leftover (ii) `SHARD_COMMITTEE_PERIOD` should be uint64 2020-05-20 03:04:41 +08:00
Hsiao-Wei Wang 88d7315739
Fix typing 2020-05-20 03:04:29 +08:00
Hsiao-Wei Wang 2bf020d49d
Apply strict uint64 casting 2020-05-20 03:04:15 +08: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 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 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 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
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 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
protolambda 68442c2eef
Update testing and restrict to incremental block transitions 2020-05-13 16:46:28 +02: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 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