Commit Graph

1473 Commits

Author SHA1 Message Date
vbuterin eadfa20b99 Bring forward changes to withdrawability from phase 1 (#615)
* Bring forward changes to withdrawability from phase 1

* The `WITHDRAWABLE` flag is removed; instead, a validator's withdrawability is determined through the `withdrawable_epoch` field (renamed and re-purposed from `withdrawal_epoch` which was not used)
* When a validator passes through the withdrawal queue, the `prepare_validator_for_withdrawal` function does not let them withdraw immediately; instead, they have to wait `MIN_VALIDATOR_WITHDRAWAL_EPOCHS`. This extra minimum delay serves no value in phase 0, but is crucial for phase 1 as the period between a validator passing through the queue and the validator being eligible to withdraw is where proof of custody challenges can come in; adding it in phase 0 is only half a line of code so easier to add it now.
* If a validator is penalized, they are no longer subject to the exit queue; instead, their `withdrawable_epoch` is set `LATEST_PENALIZED_EXIT_LENGTH` into the future and this is used to determine when the validator can withdraw
* Changes the eligibility condition for a transfer to use the `withdrawable_epoch`
2019-02-14 10:20:53 +00:00
Justin f14af7ae67
Merge branch 'dev' into name-changes 2019-02-13 23:53:38 +00:00
Danny Ryan 83b67b6097
Merge pull request #617 from ethereum/hwwhww/fix_compute_commitment
Fix `compute_commitment`
2019-02-13 11:54:03 -07:00
Hsiao-Wei Wang 327c282d76
Merge pull request #619 from terenc3t/patch-49
Quick fix for lmd_ghost
2019-02-14 00:43:20 +08:00
terence tsao fd5c3ee8b5
Update 0_beacon-chain.md 2019-02-13 08:38:03 -08:00
Hsiao-Wei Wang f7320ec25b
Fix `compute_commitment`
1. Use `+` to concatenate the merkle roots in `hash` function.
2. Fix `pad_to_power_of_2`: padding with `[b'\x00' * SHARD_BLOCK_SIZE]`,
not `[SHARD_BLOCK_SIZE]`.
2019-02-14 00:30:00 +08:00
Danny Ryan 3d5aa352be
Merge pull request #597 from ethereum/reward-clarifications
Reward clarifications/fix
2019-02-13 08:21:30 -07:00
terence tsao a730295982 Update 0_beacon-chain.md (#614) 2019-02-13 01:40:24 +00:00
vbuterin cf371c4973 Add support for transfers between withdrawn accounts (#601) 2019-02-12 22:41:38 +00:00
Justin b6d27edd6e
Update 0_beacon-chain.md 2019-02-12 22:38:29 +00:00
Justin 3459515c2c
Merkleise SSZ container elements (#595)
Reasons to use `merkle_hash` instead of  `hash` for containers:

1) **Smaller witnesses**: `BeaconState` is a somewhat wide container (26 fields as of now, likely 30+ in phase 2). With concatenation and plain concatenation the size of the Merkle witnesses for the top level are ~32 bytes per field element.
2) **Faster incremental hashing**
3) **Consistency**: Consistent with `merkle_hash` for lists/vectors.
2019-02-12 21:57:54 +00:00
Danny Ryan 8213ad64e2
add note about attestations on chain voting for justified 2019-02-12 13:08:17 -08:00
Justin bd9baeca0c
Update 0_beacon-chain.md 2019-02-12 13:37:30 +00:00
Justin d4f79c8878
Update 0_beacon-chain.md 2019-02-12 12:28:13 +00:00
Justin de7263c838
Update 0_beacon-chain.md 2019-02-12 12:24:19 +00:00
Justin 8445d06b8f
Merge branch 'dev' into name-changes 2019-02-12 11:59:05 +00:00
Jacek Sieka f871b9a0d1 Use little endian bit order (#575)
Slightly more simple and common to find bit n at position `1 << n`
2019-02-12 11:52:07 +00:00
Justin 9a4f4d5344
Fix SSZ merkleisation bug (#602) 2019-02-12 11:12:29 +00:00
Hsiao-Wei Wang 41e95cf9ea Refactor `get_persistent_committee` (#604) 2019-02-12 11:11:45 +00:00
Paul Hauner de90d4475e Provide definition for undefined `index` (#608)
The `index` variable is not defined and, IMO, it's difficult to discern.
2019-02-12 11:09:27 +00:00
Paul Hauner 3ea0c27be0 Minor modification to reduce lines of code (#607) 2019-02-12 11:06:26 +00:00
Danny Ryan 98902d12e3 assert/unhandled exception note to state transition (#606) 2019-02-11 21:30:36 +00:00
Danny Ryan c44f6c0dbb
Merge pull request #600 from ethereum/JustinDrake-patch-3
Add note on leap seconds
2019-02-11 08:08:50 -07:00
Justin 0069241b9c
Alias `bytes` to `List[bytes1]` 2019-02-11 14:49:11 +00:00
Justin 2275587149
Add note on leap seconds
Clarify the local time is Unix time and add note on leap seconds.
2019-02-11 13:29:54 +00:00
Hsiao-Wei Wang 7c8b567687
Merge pull request #599 from codingupastorm/dev
Add C# implementation link to SSZ spec
2019-02-11 20:08:18 +08:00
Jordan Andrews afca1e2127 Add C# implementation 2019-02-11 22:01:05 +11:00
Danny Ryan 5b198e07fc
Merge pull request #578 from ethereum/vbuterin-patch-6
Updated phase 1: shard block structure
2019-02-10 20:20:56 -07:00
Danny Ryan 1d77c57374
clarify active validator meaning for rewards/penalties 2019-02-10 18:43:56 -07:00
Danny Ryan e8f9dce1d3
simply reward logic for justified slot from previous epoch 2019-02-10 18:38:42 -07:00
vbuterin db4f99d899
Fixed end of code block 2019-02-10 15:47:26 -06:00
Danny Ryan ab44cbe380
Update specs/core/1_shard-data-chains.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-10 15:45:57 -06:00
vbuterin 9bba3362eb
Update specs/core/1_shard-data-chains.md 2019-02-10 15:45:47 -06:00
vbuterin 9e66b069b2
Update specs/core/1_shard-data-chains.md 2019-02-10 15:45:16 -06:00
Danny Ryan ad3f43a4a6
Update specs/core/1_shard-data-chains.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-10 15:45:06 -06:00
vbuterin 046119fb2e
Update specs/core/1_shard-data-chains.md 2019-02-10 15:44:58 -06:00
Danny Ryan 181dc183b6
Merge branch 'dev' into vbuterin-patch-6 2019-02-10 13:12:01 -07:00
Dean Eigenmann 2944a7ddfc Renamed `Helpers` -> `Variables`, seems to make more sense (#560) 2019-02-10 16:19:12 +00:00
vbuterin 1f97206dcf Updated phase 1: commitments (#579)
See #338 and #529 for discussion.
2019-02-10 16:17:21 +00:00
vbuterin abed5ffdae Updated phase 1: fork choice rule (#586)
Adds the crosslink committee to the fork choice rule. This is useful because it means that even if a proposal committee is byzantine and attempts to prevent a crosslink via a "balance attack" (alternating between chain A and chain B being the canonical chain), the crosslink committee can force the equilibrium to flip to one side or the other.
2019-02-10 16:16:22 +00:00
vbuterin 8097b2373b
Added deduplication 2019-02-10 00:09:34 -06:00
Danny Ryan a712abfb2a
Merge pull request #589 from Nashatyrev/dev
Silently skip deposits with invalid proof in process_deposit
2019-02-09 08:22:38 -07:00
Danny Ryan 311cf00b49
Merge pull request #594 from ethereum/vbuterin-patch-3
Add mandatory deposit index ordering
2019-02-09 08:22:24 -07:00
Danny Ryan 7886d96186
change proof_is_valid to exit condition 2019-02-09 07:21:38 -08:00
vbuterin e48010b77b
Change var name to avoid confusing the reader into thinking the `valid_proof` variable contains a valid proof as opposed to just being a bool.
Co-Authored-By: Nashatyrev <Nashatyrev@users.noreply.github.com>
2019-02-09 11:10:54 +03:00
vbuterin 0157aa039c
Change var name to avoid confusing the reader into thinking the `valid_proof` variable contains a valid proof as opposed to just being a bool.
Co-Authored-By: Nashatyrev <Nashatyrev@users.noreply.github.com>
2019-02-09 11:10:03 +03:00
vbuterin 65c5a1a1b7
Fixed get_persistent_committee 2019-02-08 22:10:54 -06:00
Danny Ryan e0d8cf4268
Update specs/core/1_shard-data-chains.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 22:07:14 -06:00
Danny Ryan 8dd111b7e6
Update specs/core/1_shard-data-chains.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 22:06:46 -06:00
Danny Ryan ad0ff80be2
Update specs/core/1_shard-data-chains.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 22:06:03 -06:00