Commit Graph

2903 Commits

Author SHA1 Message Date
Danny Ryan e8fc84eadc
Update specs/networking/p2p-interface.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-10-28 15:00:55 +08:00
Danny Ryan 795105a1f4
Merge branch 'dev' into naive-aggregation 2019-10-28 15:58:49 +09:00
Danny Ryan 6570340e04
Merge branch 'master' into master-to-dev 2019-10-28 15:27:41 +09:00
Danny Ryan c547c5291d
Merge pull request #1447 from ethereum/early-committee-bias
Implement solution for #1446, based on suggested use of eth1 hash
2019-10-28 14:10:50 +08:00
Danny Ryan 810266fbf4
Merge pull request #1443 from ethereum/remove-transfers
Remove transfers from phase 0
2019-10-28 14:10:26 +08:00
Danny Ryan 364781b934
Merge pull request #1428 from ethereum/phase0-simplify
Remove Shards/Crosslinks from Phase 0
2019-10-28 14:07:39 +08:00
Hsiao-Wei Wang 2d59ca6d57
Update ToC 2019-10-28 12:43:29 +08:00
Justin 09339f2f17
Update 0_beacon-chain.md 2019-10-27 18:18:48 +00:00
protolambda e6e203ce85
randaomixes init now with eth1 hash repeat 2019-10-27 16:20:35 +01:00
Danny Ryan d6563bce2d
minor edits to p2p faq 2019-10-27 12:51:46 +09:00
Danny Ryan 6a62cfd3f5
gossip cleanup 2019-10-27 12:41:43 +09:00
Danny Ryan a700e7a865
fmt 2019-10-27 12:32:28 +09:00
Danny Ryan e005bb04c5
add unaggregated attestation validations 2019-10-27 12:29:11 +09:00
Danny Ryan db8347645e
add validation condition to aggregate gossip to prevent forwarding duplicate aggregates along 2019-10-27 12:18:13 +09:00
protolambda 2186c45f84
implement (unpolished) solution for #1446, based on suggested use of eth1 hash 2019-10-25 13:35:21 +02:00
Diederik Loerakker f1bf0bf85b
Merge pull request #1381 from ethereum/dankrad-patch-11
SSZ clarifications on deserialization
2019-10-25 18:09:37 +08:00
protolambda e984d10a0c
fix typo, and fix bitlist end-bit description 2019-10-25 12:02:12 +02:00
Danny Ryan c2cebef649
Update specs/validator/0_beacon-chain-validator.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-10-25 17:13:00 +08:00
Danny Ryan 70c2063cfa
PR feedback 2019-10-24 21:49:07 +09:00
Hsiao-Wei Wang c9c4a6c823
Merge pull request #1421 from mcdee/deposit
Sync validator deposit info
2019-10-24 16:10:00 +08:00
Danny Ryan 69730cc267
remove transfers entirely from phase 0 2019-10-24 16:12:10 +09:00
Danny Ryan 7804f94279
explain why aggregate_and_proof for aggregate gossip in p2p faq 2019-10-24 10:23:37 +09:00
Danny Ryan 1cda8c8a8b
aggregation cleanups 2019-10-24 10:10:29 +09:00
Diederik Loerakker 9fbd700980
Merge pull request #1441 from sgryphon/dev
Add details of my C# SSZ project
2019-10-24 01:36:20 +08:00
Sly Gryphon 2be850c428 Add details for an SSZ project I have just published a first version (basic serialization & Merkleization only) of 2019-10-23 20:53:38 +10:00
Diederik Loerakker e5f7fafb2c
Merge pull request #1412 from ethereum/vbuterin-patch-1
Refactor Merkle proof verification
2019-10-23 17:32:26 +08:00
Diederik Loerakker ce1ceee9af
Fix argument names, PR suggestion from @wemeetagain
Co-Authored-By: Cayman <caymannava@gmail.com>
2019-10-23 17:23:46 +08:00
Diederik Loerakker d8bf5c203a
Merge pull request #1423 from wemeetagain/patch-4
merkle proofs: Fix get_helper_indices
2019-10-23 17:17:34 +08:00
Danny Ryan cf1d855be6
lint 2019-10-23 17:42:53 +09:00
Danny Ryan 7fcb60795b
lint 2019-10-23 17:29:53 +09:00
Danny Ryan a9c2112571
add bulk of naive aggregation strategy 2019-10-23 17:13:01 +09:00
Hsiao-Wei Wang 13c3d9c6e9
Update ToCs 2019-10-23 12:10:43 +08:00
Danny Ryan f63c122ddc
Merge branch 'phase0-simplify' into naive-aggregation 2019-10-23 09:43:30 +09:00
Danny Ryan f809b21241
minor pr review 2019-10-23 09:37:15 +09:00
Danny Ryan bc8ff33a37
working through attestation aggregation 2019-10-22 15:49:50 +08:00
Danny Ryan a11b01296b
update constants for phase 0 simplification 2019-10-20 12:53:03 +08:00
Cayman a9961d4ce4
Simplify get_helper_indices 2019-10-18 03:38:06 -05:00
Danny Ryan d5a2535f98
minor comments resolved from hww 2019-10-18 12:18:51 +09:00
Danny Ryan 58c28349de
proto pr feedback 2019-10-18 12:10:36 +09:00
Danny Ryan fbcc2a4870
fix comment re: proto 2019-10-18 12:05:43 +09:00
Danny Ryan 437a65d3e1
cleanup wrt Justin's comments 2019-10-17 17:47:51 +09:00
vbuterin 8de3b83157
Fix delay-based attestation inclusion reward
Modify the delay-based reward function from the current `r = (65-d)/64` to `r = 1/d`.

Rationale is that in the normal case delay is close to 1, so we want a larger incentive to get included more quickly to encourage stability of the fork choice. Particularly, in the status quo if you know that you will be a proposer <4 slots in the future, you can maximize earnings by delaying inclusion of your attestation until you can include it yourself and get the proposer reward; this adjustment fixes this in the normal case.
2019-10-17 10:39:21 +08:00
Danny Ryan 7af2c23270
remove refs to crosslinks 2019-10-17 10:47:39 +09:00
Danny Ryan c239ce0b5e
crosslink committee -> beacon committee 2019-10-17 10:45:07 +09:00
Danny Ryan 219084a08a
add CommitteeIndex type 2019-10-16 18:53:36 +09:00
Danny Ryan bd1c71b82e
simplify index 2019-10-16 18:47:19 +09:00
Danny Ryan 6208e74d3f
get crosslink committees by slot 2019-10-13 21:52:58 +09:00
Danny Ryan d8431f8476
add start index back in 2019-10-13 13:53:43 +09:00
Danny Ryan c392db3b9b
fix max epochs var 2019-10-12 14:44:53 +09:00
Danny Ryan 1fbf7f8e0d
fix config files 2019-10-12 13:54:51 +09:00
Danny Ryan 5ccac7c206
remove get_committee_count 2019-10-12 13:36:05 +09:00
Danny Ryan b3a0a03f85
remove some legacy code 2019-10-12 13:32:46 +09:00
Danny Ryan d98cabf7e7
fix get crosslink committee and finalitytests 2019-10-12 13:06:52 +09:00
Danny Ryan b3b9b434b4
working through phase 0 tests after crosslink/shard removal 2019-10-12 12:16:13 +09:00
Danny Ryan dfdf3ab5cf
initial removal and cleanup of shard/crosslink from phase 0 2019-10-12 11:48:34 +09:00
Danny Ryan 3c3ae9ac02
enforce beacon state at epoch boundary slot 2019-10-05 07:22:20 +09:00
Danny Ryan dc4869349c
remove explicitly handling empty attestation 2019-10-05 06:56:54 +09:00
Cayman 56fd91b9f9
merkle proofs: Fix get_helper_indices 2019-10-01 11:23:03 -05:00
Danny Ryan a5fb9408ae
make beacon state for shard sate transition from current shard epoch 2019-09-30 13:15:03 +09:00
Danny Ryan 75fd6191ca
Merge branch 'JustinDrake-patch-23' into shard-chain-test 2019-09-30 11:44:13 +09:00
Danny Ryan b259d3518b
move assert to get_beacon_proposer_index 2019-09-30 11:34:28 +09:00
Jim McDonald b050531468 Revert to bytes32 2019-09-28 17:01:29 +01:00
Jim McDonald 81b2566cd8 Update validator doc to match recent changes 2019-09-28 13:18:06 +01:00
Jim McDonald e2230d106f Fix array formatting 2019-09-28 13:17:22 +01:00
Danny Ryan b892d46f26
working through shard chain tests 2019-09-27 13:02:16 +09:00
Danny Ryan 86ed3937dc
fix a couple of minor shard chain bugs 2019-09-27 10:34:19 +09:00
Danny Ryan 131bf282be
Merge branch 'JustinDrake-patch-23' into shard-chain-test 2019-09-27 09:43:30 +09:00
Danny Ryan 9ce7a8e591
working through lint and format on shard chains 2019-09-27 09:41:12 +09:00
Justin Drake d4f48117d3 Rename ShardCheckpoint, double header size, verify proposer not slashed 2019-09-26 19:32:50 +01:00
Justin Drake fd759a2cca Remove flat containers and revert back to uint64 2019-09-25 21:51:35 +01:00
Danny Ryan 44bdf01948
Merge branch 'dev' into JustinDrake-patch-23 2019-09-25 14:17:26 -06:00
Justin 25efbe7458
Rename seed to epoch_seed as per Danny 2019-09-23 20:58:29 +01:00
Justin Drake e7db58cb7e
Rename ACTIVATION_EXIT_DELAY to MAX_SEED_LOOKAHEAD for phase 1 2019-09-23 12:48:41 -06:00
Justin a183125595
cleanups to get_seed
1) Put `domain_type` and `epoch` upfront. This pattern can be reused for signature domains.
2) Change `int_to_bytes(epoch, length=32)` to `int_to_bytes(epoch, length=8)` to match `uint64` length.
2019-09-23 12:48:41 -06:00
Justin Drake 47a818c705
Add domain_type to get_seed 2019-09-23 12:48:36 -06:00
Danny Ryan 114ffe3d6d
Merge pull request #1413 from ethereum/proposer-fix
Improve beacon proposer selection logic
2019-09-23 13:45:43 -05:00
Danny Ryan 2ec363d614
typo 2019-09-23 12:42:29 -06:00
Justin 2e53899784
typo 2019-09-22 14:44:51 -05:00
vbuterin 50209ea806
Refactor Merkle proof verification
Goal: support calculating roots of trees modified by setting new leaves
2019-09-22 10:09:10 +03:00
Cayman 51a0d8059d
sync protocol: clarify committee type
Updates at period boundaries occur per period committee, not per persistent committee
2019-09-20 14:37:37 -05:00
Danny Ryan 7a5cdc2a9d
Merge pull request #1407 from GregTheGreek/patch-1
Custody game cleanup
2019-09-16 13:54:51 -06:00
Danny Ryan 834b811222
fix custody_subchunkify return type 2019-09-16 13:26:27 -06:00
Gregory Markou 794a2407a1
Update specs/core/1_custody-game.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2019-09-16 11:19:51 -04:00
Danny Ryan 9582814c62
clarify endianness 2019-09-16 09:58:09 -05:00
Danny Ryan 97b3ffcac3
Merge pull request #1391 from terencechain/patch-85
Fix merkle_tree implementation
2019-09-16 08:53:07 -06:00
Danny Ryan 970ae2fad1
update validator doc with modified beacon proposer selection 2019-09-16 09:16:44 -05:00
Danny Ryan 4b2596dbad
ensure BeaconBlocksByRoot requests are lists rather than containers 2019-09-16 08:59:04 -05:00
Gregory Markou 6d9dd04b50
Update 1_custody-game.md 2019-09-15 21:03:50 -04:00
Gregory Markou d66e6ca0b8
Update 1_custody-game.md
Fix table
2019-09-15 17:12:36 -04:00
Age Manning 8bb9354e65
Renames REQ_RESP_MAX_SIZE to MAX_CHUNK_SIZE 2019-09-13 02:20:59 +10:00
Age Manning 9fa720b994
Removes a max chunk count and corrects timeout for chunked responses 2019-09-11 23:23:14 +10:00
Age Manning 4a7d8a4e48
Applies github suggestions 2019-09-11 06:06:22 +10:00
Danny Ryan 3ead898109
p2p spec copy cleanups 2019-09-08 15:31:22 -06:00
Danny Ryan b743deb061
cleanup max size vars 2019-09-08 15:03:25 -06:00
Danny Ryan cc12e29b25
cleanup response_chunk refactor 2019-09-08 14:57:53 -06:00
Age Manning acb86e8817
Apply Danny's suggestions 2019-09-09 05:45:42 +10:00
Age Manning 3a79ad5363
Adds chunked responses to the RPC 2019-09-09 05:38:06 +10:00
Danny Ryan 1f3a5b156f
Merge pull request #1397 from terencechain/patch-87
Remove `unpack_compact_validator` from sync spec
2019-09-08 12:11:56 -06:00
Age Manning 4937fa9b58
Network specification update 2019-09-08 22:55:55 +10:00
Danny Ryan 66eaab72c5
Merge branch 'master' into dev-083 2019-09-08 08:46:28 -04:00
Danny Ryan ea6a3b293c
add explicit comments for int_to_bytes and bytes_to_int 2019-09-07 14:03:32 -04:00
Justin 2a4957c6cc
Update 1_shard-data-chains.md 2019-09-05 20:07:25 +01:00
terence tsao 1e74cf5f0d
Update sync_protocol.md 2019-09-05 06:55:40 -07:00
terence tsao f1065faf9c
Update sync_protocol.md 2019-09-05 06:54:20 -07:00
terence tsao dbcce17769
Update sync_protocol.md 2019-09-04 09:00:59 -07:00
Justin c01d036ed1
Update 1_shard-data-chains.md 2019-09-03 22:49:33 +01:00
Justin 2b60c9cf90
Update 1_shard-data-chains.md 2019-09-03 22:45:13 +01:00
Justin 91e73c1f57
Deduplicate indices 2019-09-03 22:15:52 +01:00
Justin 2eda4c5dbc
Update 1_shard-data-chains.md 2019-09-03 22:09:47 +01:00
Justin 40dc062279
Update 1_shard-data-chains.md 2019-09-03 22:04:59 +01:00
Justin 225c740107
Apply suggestions from code review
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
2019-09-03 21:56:12 +01:00
Justin a0bbc940ce
Update 1_shard-data-chains.md 2019-09-03 19:27:30 +01:00
Justin c4297ae330
Update 1_shard-data-chains.md 2019-09-03 19:17:19 +01:00
Justin d1fe8f16fd
Deposit contract fixes (#1362) 2019-09-03 18:59:18 +01:00
Justin 3ef24870d6
Changes as per today's discussion
1) Make `ShardBlock` and `ShardState` flat containers (as opposed to plain containers)
2) Make Gwei deltas `int64` (as opposed `uint64`)
3) Make `older_committee_deltas` a `Vector` (as opposed to `List`)
4) Apply size fee on block body only (as opposed to block header and body)
5) Enshrine minimum "extra" block body fee for proposers (reusing `PROPOSER_REWARD_QUOTIENT`)
6) Fix bugs reported by @terencechain and @hwwhww 👍
2019-09-03 18:55:46 +01:00
vbuterin 834edc2dbc
Removed shard from genesis shard block 2019-09-03 13:44:50 +01:00
Danny Ryan 14496978f1
Merge pull request #1323 from ethereum/vbuterin-patch-13
Starting on phase 1 misc beacon changes
2019-09-02 10:02:51 -06:00
terence tsao 84965be251
Update merkle_proofs.md 2019-09-01 11:07:44 -07:00
terence tsao 9a712ead68
Update merkle_proofs.md 2019-09-01 10:24:46 -07:00
Justin 66c3c391d4
Update 1_shard-data-chains.md 2019-08-29 16:36:13 +01:00
Justin d7e628e08f
WIP! 2019-08-28 22:57:24 +01:00
dankrad 5f1cdc4acc
Merge pull request #1384 from ethereum/length-check-fix
Remove bug bitlist length checks in process_attestation
2019-08-28 13:44:44 +01:00
Justin Drake c8c47e3986 Abstract away compute_proposer_index for phase 1 2019-08-28 10:22:34 +01:00
Danny Ryan 78a0e15e9c
explicitly cast to bool 2019-08-27 10:36:25 -06:00
Danny Ryan d0b4dc2b01
remove bad length checks from process attestation; ensure committee count and committee size not equal 2019-08-27 09:16:02 -06:00
Justin 334d6c6bc7
Revamp 1_shard-data-chains.md
WIP!

* Significant simplifications
* A few bug fixes
* Lots of cleanups and reorganising (making it consistent with `0_beacon-chain.md`)
* Likely a few bugs introduced
2019-08-27 14:58:28 +01:00
Hsiao-Wei Wang 979fa38ae8
fix linter error 2019-08-27 20:10:55 +08:00
Hsiao-Wei Wang 17702e6d88
Shard slot -> slot for PHASE_1_FORK_SLOT part2 2019-08-27 20:10:39 +08:00
vbuterin 0f2e814c63
Shard slot -> slot for PHASE_1_FORK_SLOT 2019-08-27 13:19:04 +02:00
vbuterin 0b38ff0fe2
Update specs/core/1_beacon-chain-misc.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-08-27 13:17:38 +02:00
vbuterin ab4820ced6
Update specs/core/1_beacon-chain-misc.md
Co-Authored-By: John Adler <adlerjohn@users.noreply.github.com>
2019-08-27 13:13:47 +02:00
Dankrad Feist 4768ec89f6
SSZ clarifications on deserialization 2019-08-27 11:45:17 +01:00
terence tsao 79e34a00e8
Update sync_protocol.md 2019-08-26 17:37:18 -07:00
Danny Ryan ffdc36920e
lint 2019-08-26 08:55:50 -06:00
Danny Ryan 2abb81d4e9
Merge pull request #1366 from ethereum/remove-val-api
remove Val API and add links to outside spec/standards repos
2019-08-26 08:41:56 -06:00
vbuterin f1caa85aaf
Update specs/core/1_beacon-chain-misc.md
Co-Authored-By: John Adler <adlerjohn@users.noreply.github.com>
2019-08-26 10:09:43 +02:00
vbuterin 9b3cb306e3
Update specs/core/1_beacon-chain-misc.md
Co-Authored-By: John Adler <adlerjohn@users.noreply.github.com>
2019-08-26 10:09:13 +02:00
Hsiao-Wei Wang 01af8e6297
Use `get_previous_power_of_two` from merkle proofs spec 2019-08-25 17:19:19 +08:00
Hsiao-Wei Wang 178dd23314
`MINOR_REWARD_QUOTIENT` for rewarding the proposer for including shard receipt proof
Co-Authored-By: vbuterin <v@buterin.com>
2019-08-24 20:26:35 +08:00
vbuterin a509c68c30
Update specs/core/0_beacon-chain.md 2019-08-24 13:55:35 +02:00
vbuterin 7175ac5593
Update specs/core/0_beacon-chain.md 2019-08-24 13:55:18 +02:00
vbuterin fb59160e6a
Persistent -> period, process_shard_receipt: add _proofs 2019-08-24 13:54:48 +02:00
vbuterin b6d854de09
Fix ToC 2019-08-24 13:50:57 +02:00
Danny Ryan 6923bdc46a
remove Optional None from get_generalized_index. instead throw 2019-08-23 14:49:19 -06:00
Danny Ryan a4f86a8b24
Merge branch 'dev' into vbuterin-patch-13 2019-08-23 14:18:00 -06:00
Hsiao-Wei Wang f8d9b0d283
Merge branch 'dev' into roots-removal 2019-08-24 03:10:02 +08:00
Hsiao-Wei Wang 17043891ff
Fix some mypy errors 2019-08-24 03:03:00 +08:00
Hsiao-Wei Wang bcdbf7dfc7
Fix some flake8 errors 2019-08-24 02:44:22 +08:00
Hsiao-Wei Wang 72b9781051
Merge branch 'dev' into vbuterin-patch-13 2019-08-24 02:37:19 +08:00
Danny Ryan 56954ec508
fix adding fields to phase 1 ssz objects 2019-08-23 12:16:57 -06:00