Commit Graph

302 Commits

Author SHA1 Message Date
Danny Ryan 7c25665d61
remove state.slot ref 2018-12-06 09:28:55 -06:00
Danny Ryan c0ca669bd0
cleanup validator registry change to merge before #234 2018-12-06 08:51:57 -06:00
Danny Ryan 91f83e3861
isolate some of the per-epoch changes from the other #234 2018-12-06 08:38:31 -06:00
terence tsao 0626061977
don't need slot num in get_active_validator_indices 2018-12-05 17:26:07 -08:00
Danny Ryan db65429cc8
rework to do virtual block transitions 2018-12-05 19:24:37 -06:00
Danny Ryan 22a77c331b
fix change_validators 2018-12-05 14:35:58 -06:00
Danny Ryan 1ccb1074c5
fix just/finality 2018-12-05 14:07:41 -06:00
Danny Ryan e894a2dc18
fix issues in justificaiton/finality 2018-12-05 13:55:56 -06:00
Danny Ryan 4e0b120fe3
Merge branch 'master' into JustinDrake-patch-3 2018-12-05 13:14:16 -06:00
Danny Ryan 59494d1774
add state root processing 2018-12-05 13:03:24 -06:00
Danny Ryan 3a677eefa9
minor cleanup 2018-12-05 12:49:45 -06:00
Danny Ryan cb871c3f0e
minor cleanups 2018-12-05 12:47:21 -06:00
Danny Ryan c154c65f14
cleanup calls to 'get_block_hash' 2018-12-05 12:42:16 -06:00
Danny Ryan 3bd56891c5
cleanup per slot processing 2018-12-05 12:40:08 -06:00
Justin eb26e10fae
Update 0_beacon-chain.md 2018-12-05 17:30:37 +00:00
Justin f956135763
Fix #237 (#238) 2018-12-05 17:17:17 +00:00
terence tsao 130b837975 Fix ZERO_BALANCE_VALIDATOR_TTL and move get_domain 2018-12-05 14:41:11 +00:00
Justin 20407c8dd1
Update 0_beacon-chain.md 2018-12-05 14:34:50 +00:00
Justin 2fc3f88795
Update 0_beacon-chain.md 2018-12-05 11:22:15 +00:00
Paul Hauner 2913dfa6fe Change `state.crosslinks` to `state.latest_crosslinks` (#236)
Change `state.crosslinks` to `state.latest_crosslinks` to match the `BeaconState` definition.
2018-12-05 09:03:09 +00:00
Justin 4c0841ec6a
Move to a per-slot state transition function
Initial pass for the migration from a per-block state transition function to a per-slot state transition function. More simplifications and cleanups can be made.
2018-12-04 21:28:31 +00:00
Justin a4722faf12
Handle activations and exits separately for balance churn (#230)
This change is to avoid deposits from fully consuming the allowable balance churn, preventing exits from being processed. And vice versa with deposits/exits swapped.

A bunch of cleanups and bug fixes were made along the way.
2018-12-04 19:49:26 +00:00
Danny Ryan b40a7c5ad6
Merge pull request #228 from ethereum/fix-validator-states
Fix deposit logic
2018-12-04 11:51:47 -06:00
Danny Ryan 17cf4e9f56
remove WITHDRAWN again 2018-12-04 11:23:37 -06:00
Danny Ryan 84a1a5fc07
fix pending -> exited_without_penalty. change pendning_exit to active_pending_exit. fix merkle tree in contract 2018-12-04 10:07:46 -06:00
Justin 5e4883ccbf
Stick with Keccak-256/SHA3 for now
See https://github.com/ethereum/eth2.0-specs/issues/218
2018-12-04 15:50:44 +00:00
Justin 73e77b75e1
Fix #223
`next_start_shard` does not need to be part of `state` (it's already available via `(state.shard_committees_at_slots[-1][-1].shard + 1) % SHARD_COUNT`)
2018-12-04 12:37:05 +00:00
Justin 67e4fa9d6f
Cleanup of deposit
* Structure the presentation, add sections to table of contents
* Remove incorrect and redundant information
* Add section on withdrawal credentials
2018-12-04 11:47:41 +00:00
Justin 4bf1539c83
Cleanups part 2 (#217)
Changelog (nothing major):

* Clean up constants
   * Add to table of contents
   * Rename a few
   * Split into more categories (e.g. "Deposit contract"  and "Initial values")
   * Replaced `SQRT_E_DROP_TIME ` by `INACTIVITY_PENALTY_QUOTIENT`
* Put all the data structures in "Data structures", including specials
* Move deposit contract after "Data structures"
* `ShardAndCommittee` => `ShardCommittee` (and related changes)
* `aggregate_sig` => `aggregate_signature`
* `justified_slot_bitfield` => `justification_bitfield`
* Use double-ticks everywhere in Python docstrings
* Clean up deposit contract a bit
* Bug fix: ensure uniqueness of the `ChainStart` log
2018-12-04 10:57:09 +00:00
Danny Ryan c2227a59de
fix int384 to uint384 2018-12-03 12:27:58 -06:00
vbuterin 0f59a564d0
Merge pull request #215 from mratsim/patch-1
Small typo in get_active_validator_indices
2018-12-03 09:38:03 -05:00
vbuterin 2f112e12fc
Merge pull request #202 from ethereum/initial_fork_slot
set initial fork_slot to INITIAL_SLOT_NUMBER
2018-12-03 09:37:27 -05:00
Mamy Ratsimbazafy fe5a472ff6
Small typo in get_active_validator_indices
Change [ValidatorRecords] to [ValidatorRecord]
2018-12-03 15:14:31 +01:00
Paul Hauner 95211af400
ForkData typo
Extremely small change: added a close bracket to `ForkData`.
2018-12-03 14:08:33 +11:00
Hsiao-Wei Wang 11d4473863
Fix ToC 2018-12-01 13:29:19 +08:00
josojo 158c8f3ab3 minor correction 2018-11-30 22:47:28 +01:00
Danny Ryan cf97bd18ea
Merge pull request #200 from burnburn/validator_definitions
add links to validator definition
2018-11-30 13:24:16 -06:00
Danny Ryan daaf6e4bc2
Merge pull request #206 from burnburn/sample_reference
First/sample reference
2018-11-30 13:20:50 -06:00
Dan Burnett 38b3c572f6
Fix typo 2018-11-30 13:58:44 -05:00
Dan Burnett 72fc2a0cff
Show new reference style 2018-11-30 13:56:44 -05:00
Danny Ryan 1757c2ad26
Merge pull request #204 from burnburn/references
Add References section
2018-11-30 12:54:17 -06:00
Daniel Burnett b04938d795
Merge branch 'master' into validator_definitions 2018-11-30 19:14:17 +01:00
Danny Ryan b55ef47c9b
set initial fork_slot to INITIAL_SLOT_NUMBER 2018-11-30 12:04:18 -06:00
Dan Burnett 8f15b6179b
Add active validator links 2018-11-30 12:49:05 -05:00
Dan Burnett 13a5bdbf70
add links to validator definition 2018-11-30 12:31:09 -05:00
Justin 81360d50a4
Cleanups pt. 1 (#185)
Many cleanups in this monster commit! Two warnings:

1) More significant cleanups will be coming soon™.
2) While several bugs were fixed in this cleanup, some will undoubtedly have been introduced (thanks to the three reviewers!). In particular, the logic around validator statuses is known to be broken.
2018-11-30 14:28:33 +00:00
Dan Burnett 2701b44d23
Add References section 2018-11-29 11:12:12 -05:00
terence tsao 3b62508610
added link for BLS12-381 bls_verify spec 2018-11-29 06:18:31 -08:00
Danny Ryan 698283ee86
Merge pull request #188 from burnburn/notation
Add notation section
2018-11-29 07:29:03 -06:00
Dan Burnett a851e09b9c
add Notation section 2018-11-29 07:44:43 -05:00
terence tsao a891d5d585
Fix on_startup 2018-11-28 18:32:07 -08:00
Hsiao-Wei Wang 7359b36964
Remove tags 2018-11-28 23:07:39 +08:00
Hsiao-Wei Wang 64170f79a3
`ProcessedAttestations` -> `ProcessedAttestation` 2018-11-28 17:39:34 +08:00
Hsiao-Wei Wang 5abdbc600d
Fix `SQRT_E_DROP_TIME` description 2018-11-28 16:37:21 +08:00
Hsiao-Wei Wang fead86e31c
Move vyper contract to `PoW chain registration contract` section 2018-11-28 16:00:53 +08:00
Hsiao-Wei Wang ff92875aa1
fix constants table 2018-11-28 15:46:55 +08:00
Hsiao-Wei Wang 67123a79cb
proofread and add ToC 2018-11-28 15:40:27 +08:00
Danny Ryan 126a7abfa8
Merge branch 'master' into vbuterin-patch-7 2018-11-27 13:51:12 -06:00
Danny Ryan 0de7d3288a
change 'add_validator' to 'add_or_topup_validator' 2018-11-27 12:29:48 -06:00
vbuterin e3eda6ff4e
Put back deletion period check 2018-11-27 13:25:25 -05:00
vbuterin efdafee1ad
Made topping up a withdrawn account impossible 2018-11-27 13:23:26 -05:00
Danny Ryan 8b8253cdb2
fix incorrect types for eth in pow contract 2018-11-27 12:18:32 -06:00
vbuterin 4d3f388d28
Indent fix 2018-11-27 13:08:09 -05:00
vbuterin 9a20ecb9e4
Added handling for withdrawn validators 2018-11-27 12:07:30 -05:00
Hsiao-Wei Wang b1fc396ab4
Refactor `change_validators` 2018-11-28 01:06:09 +08:00
Hsiao-Wei Wang 829e6d9034
Merge branch 'master' into hwwhww/patch-1 2018-11-28 00:29:15 +08:00
Danny Ryan 9f26fbb4e2
Merge pull request #149 from ethereum/vbuterin-patch-1
Replace cycles with epochs
2018-11-27 10:13:04 -06:00
Hsiao-Wei Wang b27203c0ce
PR feedback: use `fork_data` 2018-11-27 23:54:09 +08:00
vbuterin 0d1b63bca3
Added min and max deposit sizes to Vyper contract 2018-11-27 10:07:21 -05:00
Hsiao-Wei Wang 562e60afdc
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 10:00:00 -05:00
Hsiao-Wei Wang c70e555260
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 09:59:36 -05:00
Hsiao-Wei Wang 4dc7a8809c
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 09:59:25 -05:00
Hsiao-Wei Wang eef28364ba
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 09:59:09 -05:00
Danny Ryan cae363f209
add missing quotes for field 2018-11-27 08:21:42 -06:00
vbuterin 1df0f9f1b7
Fixed indent. 2018-11-27 07:25:31 -05:00
Hsiao-Wei Wang 2795af7bae
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 06:36:47 -05:00
Hsiao-Wei Wang 034e2d4546
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 06:36:10 -05:00
Hsiao-Wei Wang 2d766e4aae
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 06:35:55 -05:00
vbuterin fc059f2ec1
Moved proposer reshuffling section 2018-11-27 06:30:19 -05:00
ncsolar 472a117162
Update 0_beacon-chain.md
Assumed it should read "A block `B` is justified if there is a descendant of `B`..." ?
2018-11-27 00:12:10 -06:00
Hsiao-Wei Wang 43ef444613
PR feedback: add `ForkData` 2018-11-27 11:52:06 +08:00
vbuterin 4ec40f06f3
Added topups 2018-11-26 19:08:04 -05:00
vbuterin cd9c47af5a
Made pure functions return indices of validators instead of validator objects
Makes the code cleaner this way; returning an object that then gets mutated is confusing.
2018-11-26 18:51:34 -05:00
vbuterin f2af5fd9df
Moved two calculations back to the FFG reward section 2018-11-26 18:44:29 -05:00
vbuterin 3b7164c2d6
Resolved some of @djrtwo's nitpicks 2018-11-26 18:39:35 -05:00
Danny Ryan b8689e1727
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:35:32 -05:00
Danny Ryan 7fcd9930df
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:35:25 -05:00
Danny Ryan e651e99210
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:35:02 -05:00
Danny Ryan 973d0ab591
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:33:31 -05:00
Danny Ryan bcd9eb53fb
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:33:18 -05:00
Danny Ryan fe4496dd74
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:33:06 -05:00
Danny Ryan be56e58c1a
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:32:53 -05:00
vbuterin 9f1869cad9
Remove todos 2018-11-26 17:14:38 -05:00
vbuterin 170962c80f
Big refactor + simplification 2018-11-26 17:12:39 -05:00
vbuterin 386dab1140
Update 0_beacon-chain.md 2018-11-26 13:40:02 -05:00
Danny Ryan d6d1f88ac1
Merge branch 'master' into vbuterin-patch-7 2018-11-26 10:48:28 -06:00
Hsiao-Wei Wang b66f168468
PR feedback: reduce `on_startup` parameters 2018-11-27 00:21:59 +08:00
Danny Ryan 347e796b39
Merge branch 'master' into vbuterin-patch-1 2018-11-26 10:01:27 -06:00
Hsiao-Wei Wang 4067e0f25a
fix 2018-11-26 21:43:59 +08:00
Hsiao-Wei Wang 7bde8c415a
fix `get_new_validator_set_delta_hash_chain` 2018-11-26 21:27:41 +08:00
Hsiao-Wei Wang defa7da1c6
Refactor and fix on_startup 2018-11-26 21:12:14 +08:00
vbuterin b2d13e3e23
Merge branch 'master' into vbuterin-patch-13 2018-11-26 06:24:11 -05:00
Justin 78a82f6185
Merge pull request #170 from ethereum/djrtwo-patch-2
change SpecialRecord.kind to uint64
2018-11-26 10:47:50 +00:00
Justin 1bf04c8c17
Make status uint64 2018-11-26 10:47:32 +00:00
Justin d6fd0a4dc4
Merge pull request #172 from ethereum/JustinDrake-patch-2
Remove fork_version for DOMAIN_LOGOUT
2018-11-26 10:45:58 +00:00
Hsiao-Wei Wang 6a7b280d49
Update specs/core/0_beacon-chain.md
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2018-11-26 10:45:39 +00:00
Hsiao-Wei Wang b1740ba0c5
Proofread 2018-11-26 17:14:42 +08:00
Hsiao-Wei Wang e5eb3daad1
Merge branch 'master' into vbuterin-patch-1 2018-11-26 16:01:45 +08:00
vbuterin 2902170b26
Reduce width of vyper code 2018-11-25 22:22:15 -05:00
vbuterin 04ac4ea54d
Fixed more nitpicks 2018-11-25 21:15:46 -05:00
vbuterin 2dad2d4c42
V -> v 2018-11-25 21:14:13 -05:00
Justin 13866e3e04
Remove fork_version for DOMAIN_LOGOUT
Also remove `LOGOUT_MESSAGE `
2018-11-25 18:19:22 +00:00
vbuterin e6a15edc8d
Made contract compile in Vyper 2018-11-25 12:08:06 -05:00
Danny Ryan 2a7103d1f6
change SpecialRecord.kind to uint64 2018-11-25 10:41:59 -06:00
Danny Ryan e539de9922
remove fork_version from ProposalSignedData 2018-11-25 10:37:52 -06:00
Danny Ryan ed8dd1eabc
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-25 11:33:17 -05:00
Danny Ryan b6349eefd4
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-25 11:33:07 -05:00
Danny Ryan c0aa43804b
block proposer sig to uint384 2018-11-25 10:12:48 -06:00
Danny Ryan e711076723
Update 0_beacon-chain.md 2018-11-25 10:02:43 -06:00
Danny Ryan 16d05b353a
remove `GENESIS_TIME` from constants
This constant has been superseded by `BeaconState.genesis_time`
2018-11-25 09:54:29 -06:00
Hsiao-Wei Wang 440fb337e7
Merge branch 'master' into vbuterin-patch-6 2018-11-25 22:57:50 +08:00
vbuterin 99d7f5c1b8
Address Justin's #1 2018-11-25 06:33:05 -05:00
vbuterin e8aa93e53e
Addressed Justin's 16, 17, 18 2018-11-25 06:23:34 -05:00
Hsiao-Wei Wang 4310b0c7d0
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-25 06:11:40 -05:00
Justin 50e8e1a918
Update 0_beacon-chain.md 2018-11-24 21:51:09 +00:00
Justin 51f8ea16ae
Merge pull request #164 from ethereum/vbuterin-patch-12
Made candidate PoW receipt roots into a map
2018-11-24 21:42:51 +00:00
Justin 755eadb20a
Fixes to PoW receipt roots 2018-11-24 21:41:53 +00:00
vbuterin 5ba47b476a
Shard uint16 -> uint64 2018-11-24 16:20:20 -05:00
vbuterin 40d289f1a3
Resolved Justin's #13 2018-11-24 16:16:27 -05:00
vbuterin 4be17dea14
Made candidate PoW receipt roots into a map 2018-11-24 16:12:27 -05:00
vbuterin b92889cf83
Add a minimum deposit time equal to the SHARD_PERSISTENT_COMMITTEE_CHANGE_PERIOD 2018-11-24 16:07:25 -05:00
vbuterin 6bdff4e82e
Fix Justin's issues 10 and 12 2018-11-24 16:04:07 -05:00
Danny Ryan d0f43663a3
Update 0_beacon-chain.md 2018-11-24 14:40:48 -06:00
Justin d0f7937089
Remove TODO
See for example https://github.com/ethereum/eth2.0-specs/issues/128
2018-11-24 19:54:05 +00:00
vbuterin fe3a0d6881
Only increment total_deposit_count for 32 ETH deposits from PoW chain 2018-11-24 14:03:22 -05:00
vbuterin 117b7b6953
More reward changes
* Added rewards for proposers
* Added declining rewards for greater inclusion distance
2018-11-24 13:30:18 -05:00
vbuterin 0d26da4a7d
Cleaned up committee balance changes 2018-11-24 12:44:43 -05:00
vbuterin b61f7d57c9
Further incremental steps on balances 2018-11-24 12:34:26 -05:00
Hsiao-Wei Wang 4ba62bb80a
Remove leftover 2018-11-25 00:22:28 +08:00
Hsiao-Wei Wang c8e9ff3d87
`shard_id` -> `shard` patch 2018-11-25 00:20:47 +08:00
Justin a818575ca8
Minor cosmetic fixes 2018-11-24 15:15:19 +00:00
vbuterin 403253c879
Added 2/3/4 cycle finalization options
Suppose B1, B2, B3, B4 are consecutive blocks and we are now processing the end of the cycle containing B4.

* If B4 is justified using source B3, then B3 is finalized.
* If B4 is justified using source B2, and B3 has been justified, then B2 is finalized.
* If B3 is justified using source B1, and B1 has been justified, then B1 is finalized.
2018-11-24 09:41:25 -05:00
Justin 70cef14a08
Merge pull request #156 from ethereum/vbuterin-patch-3
LMD fork choice rule
2018-11-23 20:48:12 +00:00
vbuterin 020ec39260
Clarify variables 2018-11-23 15:25:45 -05:00
vbuterin c098978efb
Fixed domain separation for proposals 2018-11-23 15:14:53 -05:00
vbuterin 5508a0f9c5
get_fork_version -> get_domain 2018-11-23 15:13:21 -05:00
Hsiao-Wei Wang 048090acf6
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-23 15:10:59 -05:00
vbuterin 545e35e4b1
Clarified "logarithmic" 2018-11-23 15:10:03 -05:00
vbuterin ee40888d2e
Fix to fixes 2018-11-23 15:01:15 -05:00
vbuterin bb6c81beb0
Merge pull request #158 from ethereum/JustinDrake-patch-1
Various fixes regarding PoW receipt roots
2018-11-23 14:58:03 -05:00