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
f1e4b3c88b
Refactor shard_state_transition
2020-10-15 16:14:01 +08: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
protolambda
708827413f
cleanup phase1 TOC contents
2020-09-23 22:55:22 +02: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
Hsiao-Wei Wang
643611aa6d
Merge pull request #2010 from ethereum/fix-shard-count
...
Fix active shard count issues
2020-08-12 03:05:16 +08:00
Danny Ryan
2a41c516d3
Merge pull request #2001 from lsankar4033/attestation-epoch-consistency
...
Add self-consistency check to attestation gossip validation
2020-08-11 12:59:19 -06:00
vbuterin
1f767ca8b9
Remove AttestationCustodyBitWrapper
...
Seems like this class is extraneous ever since we added Dankrad's 0.001 bit custody game.
2020-08-11 12:35:31 +08:00
Danny Ryan
8b39d41145
PR feedback
2020-08-10 13:06:20 -06:00
terence tsao
77b933035c
Update apply_shard_transition comments
2020-08-10 07:15:54 -07:00
terence tsao
d22e02f20a
Update specs/phase1/beacon-chain.md
...
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-08-10 06:26:52 -07:00
terence tsao
729e21cbcf
apply_shard_transition: copy shard state
2020-08-08 09:29:04 -07:00
Danny Ryan
c3ae85387c
add larger validator set test for regression test for active_shard_count issue
2020-08-05 13:26:21 -06:00
Danny Ryan
56dbc17793
fix active shard count bugs
2020-08-05 12:44:31 -06:00
Danny Ryan
bf6d5ce3b6
port #2005 and rearrange conditions
2020-08-03 09:42:52 -06:00
Hsiao-Wei Wang
e3bbf3c702
Merge branch 'dev' into shard-fork-choice-fix
2020-07-29 23:55:30 +08:00
Hsiao-Wei Wang
bd5346b624
Merge pull request #1989 from ethereum/enable-bls-citest
...
Enable Milagro BLS in CI
2020-07-29 23:54:53 +08:00
lsankar4033
3a0dd2b253
Add self-consistency check to attestation gossip validation
2020-07-28 17:51:32 -07:00
Hsiao-Wei Wang
b58633ce5d
Quick fix the phase 1 configurations and tests ( #1990 )
...
* Quick fix the configurations
* Remove the unused `CUSTODY_RESPONSE_DEADLINE`
2020-07-29 02:06:25 +08:00
Danny Ryan
f6da7323fe
Merge pull request #1999 from ethereum/genesis-comments
...
add clarifying comment for genesis skip conditions
2020-07-28 12:31:54 -04:00
Hsiao-Wei Wang
f6fd151872
Merge branch 'dev' into shard-fork-choice-fix
2020-07-29 00:15:41 +08:00
Hsiao-Wei Wang
b1eb157539
Merge branch 'dev' into hwwhww/phase-1-fork-slot
2020-07-28 23:59:19 +08:00
Danny Ryan
b529d47a3b
pr feedback
2020-07-28 11:48:45 -04:00
Hsiao-Wei Wang
a8370f7448
Apply refactoring suggestions from Danny
2020-07-28 21:51:00 +08: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
Hsiao-Wei Wang
e7f070d525
Use `hash_tree_root` to generate `ShardBlockHeader.body_root`
...
Include the mix-in length to the proof.
2020-07-24 02:09:25 +08: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
Hsiao-Wei Wang
cd8bb3d85a
Update v-guide: Shard head root
2020-07-22 23:39:18 +08:00
Hsiao-Wei Wang
33e56b5742
Apply Terence's suggestion: refactor on_shard_block interface
2020-07-22 22:48:52 +08: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
c981fc4411
Apply mkalinin's suggestion
2020-07-20 16:47:21 +08:00
Hsiao-Wei Wang
74aa027e38
Apply suggestions from @mkalinin
...
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2020-07-20 16:37:43 +08:00
Hsiao-Wei Wang
0b81c967fa
Add notes
2020-07-17 00:46:25 +08:00
Hsiao-Wei Wang
cf42fd4828
Rename `PHASE_1_GENESIS_SLOT` to `PHASE_1_FORK_SLOT` and set it to `Slot(0)` for testing.
2020-07-16 23:58:47 +08: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
Hsiao-Wei Wang
f6b1fe6172
Refactor tests and avoiding passing `shart_store` to helper functions
2020-07-15 19:07:39 +08:00
Hsiao-Wei Wang
43ef9aa294
Make ShardLatestMessage per shard per validator
...
1. Add `ShardLatestMessage` dataclass
2. To make it compatible with phase 0 tests and APIs, add `Store.shard_stores: Dict[Shard, ShardStore]`
3. Update `get_forkchoice_store` and `update_latest_messages`
2020-07-14 17:44:01 +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
Danny Ryan
22b72180f7
Merge pull request #1962 from mkalinin/patch-1
...
Fix epoch_boundary_block_root computation
2020-07-08 10:52:57 -06:00
Mikhail Kalinin
b785c97051
Fix epoch_boundary_block_root computation
2020-07-08 21:58:20 +06:00
ericsson
3e9556202a
change `get_custody_period_for_validator()` return type to `uint64`
2020-07-08 18:19:41 +03:00
protolambda
07274736b9
Match gossip v1.1 D_low, extend gossip_history param, add FAQ section
2020-07-08 01:42:09 +02:00
Danny Ryan
334947f523
rearrange queuing conditions
2020-07-07 16:20:31 -06:00
Danny Ryan
4c1fa7fa6f
add note about max queue sizes in gossip
2020-07-07 12:41:41 -06:00
Danny Ryan
953d106163
add queueing possibility to p2p messages in gossip
2020-07-07 12:34:39 -06:00
Danny Ryan
6195e027f1
working through new-lines
2020-07-03 09:19:15 -06:00
Danny Ryan
04a6c96cdf
break p2p topics into separate md headers for better linking
2020-07-03 07:50:30 -06:00
Danny Ryan
e5f3b5dded
Merge pull request #1952 from status-im/no-tls
...
Update faq for tls
2020-07-03 07:37:38 -06:00
Jacek Sieka
30e0438d49
Update faq for tls
...
we're not using tls1.3 (yet?)
2020-07-03 10:47:17 +02:00
terence tsao
27fa15eb76
A few light client typos
2020-07-02 16:46:31 -07:00
Danny Ryan
c3350f4477
Merge pull request #1946 from ericsson49/fix_is_valid_fraud_proof2
...
Fix `is_valid_fraud_proof` which tries to access `message` field of a `ShardBlock` instance
2020-07-02 09:58:14 -06:00
Danny Ryan
5a9dd44ff4
Merge pull request #1943 from ethereum/avoid-neg-op
...
Avoid negative values and minor refactoring
2020-07-02 09:37:16 -06:00
Hsiao-Wei Wang
d608be72c3
Merge pull request #1937 from ethereum/hwwhww/custody-block-test
...
Fix `ShardTransition.shard_data_roots` and add custody game block-level tests
2020-07-02 13:24:07 +08:00
ericsson
dafbd98f2b
Merge branch 'dev' into fix_is_valid_fraud_proof2
2020-07-01 23:04:37 +03:00
ericsson
7674c76b61
get rid of `.message` as `block` is `ShardBlock` already
2020-07-01 17:23:05 +03:00
terence tsao
36339de511
Lint
2020-06-30 09:11:13 -07:00
terence tsao
c8752956ed
use next epoch for new_committee?
2020-06-30 08:44:09 -07:00
terence tsao
1876c9591b
Update light committee for next slot
2020-06-30 08:16:28 -07:00
Hsiao-Wei Wang
966363890b
PR feedback from @ericsson49: fix when `len(bytez) > BYTES_PER_CUSTODY_ATOM`
2020-06-30 19:16:18 +08:00
Hsiao-Wei Wang
eaae70b3b3
Minor refactoring
2020-06-30 17:16:48 +08:00
Hsiao-Wei Wang
96b71a19de
Avoid Python-specific negative operation
2020-06-30 16:58:56 +08:00
Hsiao-Wei Wang
2c0595da01
PR feedback from Danny
2020-06-30 00:11:43 +08:00
Hsiao-Wei Wang
4b239e94b7
Mix PR feedback from Danny and Proto
2020-06-29 12:50:01 +08:00
Hsiao-Wei Wang
1d954ee9bd
PR feedback from @ericsson49
...
Co-authored-by: Alex Vlasov <avv49@mail.ru>
2020-06-29 12:33:52 +08:00
protolambda
3b7617f51a
make extracted byte uint8 for bitshift, do not use negative slice indexing, avoid negative comparison in test
2020-06-26 16:14:27 +02:00
protolambda
531184f42b
Infer types where possible, e.g. uint64+uint64=uint64
2020-06-26 15:41:47 +02:00
Hsiao-Wei Wang
a159a2da82
Merge pull request #1928 from ethereum/hwwhww/shard-block-tests
...
Add tests for `shard_state_transition` and some refactorings
2020-06-26 11:54:23 +08:00
Hsiao-Wei Wang
94c231cf98
Fix `ShardTransition.shard_data_roots` and add test
...
1. Fix `ShardTransition.shard_data_roots`: use `get_block_data_merkle_root` helper to calculate it.
2. Rework `get_valid_custody_chunk_response` testing helper: accept
`block_length_or_custody_data`
3. Add `test_with_custody_challenge_and_response` test
2020-06-26 01:46:45 +08:00
Hsiao-Wei Wang
a061758a66
Use `encode_bytes` to implement `int_to_bytes`
...
Rename `bytes_to_int` to `bytes_to_uint64`
Use `encode_bytes` to implement `int_to_bytes`
Rename `int_to_bytes` to `uint_to_bytes` and move it to `ssz_impl.py`
2020-06-25 20:20:39 +08:00
Hsiao-Wei Wang
b239f6108c
Merge branch 'dev' into hwwhww/strict-uint64
2020-06-25 17:18:16 +08:00
Hsiao-Wei Wang
2a7b5f7e68
PR feedback from Danny: nuke optional beacon_parent_state
2020-06-25 11:14:25 +08:00
Hsiao-Wei Wang
79b6bc616d
PR feedback from danny
2020-06-25 10:58:04 +08:00
terence tsao
7e04c70ca1
Update beacon-chain.md
2020-06-24 16:53:53 -07:00
Hsiao-Wei Wang
661959c13e
Add `process_shard_block` verification
2020-06-24 18:18:50 +08:00
Hsiao-Wei Wang
4a46fb2a8a
Refactor phase 1 block tests a bit and add `shard_state_transition`
...
tests
1. Refacotr phase1/sanity/test_blocks.py
2. Add phase1/sanity/test_shard_blocks.py for testing `verify_shard_block_message` and `verify_shard_block_signature`
2020-06-24 18:08:26 +08:00
Hsiao-Wei Wang
c4973792e2
Make `get_pending_shard_blocks` return `Sequence[SignedShardBlock]`
2020-06-24 12:50:27 +08:00
Hsiao-Wei Wang
021788a634
Merge pull request #1925 from ethereum/hwwhww/shard_state_transition
...
Rework `shard_state_transition` interface + fix #1922
2020-06-24 12:29:31 +08:00
Hsiao-Wei Wang
dbd1d4e589
PR feedback: Enable `verify_shard_block_signature`
2020-06-24 12:22:24 +08:00