821 Commits

Author SHA1 Message Date
Paul Hauner
b92cd9be03
Add fix to get_shuffling
Ensures it does not try to shuffle out of range of the `active_validator_indices` list.
2019-02-16 17:55:27 +11:00
Danny Ryan
f932534763
Merge pull request #637 from ethereum/hwwhww-patch-2
Fix `slash_validator`
2019-02-15 09:40:24 -07:00
Jonny Rhea
e074bc2c34 Update 0_beacon-chain.md (#635)
replace vote_data with slashable_attestation in verify_slashable_attestation()
2019-02-15 14:48:09 +00:00
Hsiao-Wei Wang
984eb79f68 Fix unix time condition of an acceptable block (#636) 2019-02-15 13:46:47 +00:00
Hsiao-Wei Wang
6f856ba009
Comparing in slot 2019-02-15 18:33:22 +08:00
Hsiao-Wei Wang
e0c28a3cd0
Fix slash_validator
Define `validator` before using it.
2019-02-15 18:25:30 +08:00
Justin
241ae5ed49
Merge branch 'dev' into name-changes 2019-02-14 20:48:34 +00:00
Danny Ryan
677efe5840 fix off by one attestaton issue due to attesting to post state of block (#627) 2019-02-14 20:16:19 +00:00
Paul Hauner
d7fb7729e6 Add cautionary assert in shuffling function (#622) 2019-02-14 14:14:59 +00:00
vbuterin
6c49270664 Added minimum slashing penalty of ~1 ETH (#624) 2019-02-14 14:00:12 +00:00
Justin
e86fa58167
Merge branch 'dev' into name-changes 2019-02-14 10:27:17 +00:00
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
terence tsao
fd5c3ee8b5
Update 0_beacon-chain.md 2019-02-13 08:38:03 -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
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
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
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
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
Dean Eigenmann
2944a7ddfc Renamed Helpers -> Variables, seems to make more sense (#560) 2019-02-10 16:19:12 +00: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
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
019fe8953e
Fixed as per @djrtwo's comments 2019-02-08 22:02:55 -06:00
vbuterin
36d5120deb
Initialize deposit index 2019-02-08 19:38:09 -06:00
vbuterin
057364a7d4
Add mandatory deposit index ordering
Co-requisite with #589
2019-02-08 19:37:34 -06:00
Danny Ryan
334d47714d
fix a couple of nitpicks before release 2019-02-08 10:35:57 -07:00
Anton Nashatyrev
f9eaab1d04 Silently skip deposits with invalid proof in process_deposit 2019-02-08 18:04:32 +03:00
Danny Ryan
08274fe7bf
Merge branch 'dev' into vbuterin-patch-9 2019-02-07 21:23:46 -07:00
Danny Ryan
f0cbacb828
add missing . 2019-02-07 20:22:28 -08:00
Danny Ryan
0ad2ffab50
Merge branch 'dev' into big-to-little 2019-02-07 21:00:36 -07:00
Danny Ryan
87dc8a6c70
Merge pull request #576 from ethereum/vbuterin-patch-5
Introduce swap-or-not shuffle
2019-02-07 20:57:02 -07:00
vbuterin
1c6ccac8fc
SHUFFLE_ROUND_COUNT as global constant 2019-02-07 21:55:33 -06:00
Danny Ryan
f797826ee2
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-07 21:51:56 -06:00
vbuterin
086df84bdc
Attestation data contains latest crosslink, not just latest crosslink data
The reason to do this is that it makes it calculable from inside an attestation how many epochs the attestation spans over, which is needed for proof of custody reasons. It's a relatively small change and so arguably easier to do now than to do as a patch in phase 1.

Note that this changes the meaning of latest_crosslink.epoch, from the epoch when the latest crosslink was included to the epoch that the latest crosslink was for. This affects the line:

* `state.latest_crosslinks[shard].epoch > state.validator_registry_update_epoch` for every shard number `shard` in `[(state.current_epoch_start_shard + i) % SHARD_COUNT for i in range(get_current_epoch_committee_count(state))]` (that is, for every shard in the current committees)

But this may actually make it _more_ correct, as it means that in the case where >512 shards are processed per epoch, and so a committee from the previous epoch could get finalized in the current epoch, that would no longer count toward every shard having received a "new" crosslink.
2019-02-07 19:34:54 -06:00
Hsiao-Wei Wang
1582413151
Merge pull request #583 from mratsim/continue-message_hash-bls-changes
Continue message hash changes on non-bls part of the specs
2019-02-08 05:24:52 +08:00
mratsim
fd3d4a5105 Don't change TOC 2019-02-07 22:15:55 +01:00
Hsiao-Wei Wang
89b9894328
Fix type hinting 2019-02-08 05:15:42 +08:00