dankrad
776196e66d
Add tuple lengths
...
Adding tuple lengths in BeaconState objects (this changes merkleization/serialization as no length mixin required)
2019-03-06 14:46:52 +01:00
Danny Ryan
b36e70040b
fix call to union
2019-03-05 16:18:41 -07:00
Danny Ryan
b5f0509595
fix proposal slashing minor bugs
2019-03-05 11:29:40 -07:00
Danny Ryan
be1cb4a850
Merge pull request #718 from ethereum/empty-base-reward
...
handle get_base_reward when no previous balance
2019-03-05 09:24:12 -07:00
Danny Ryan
0eacabc273
fix minor typo
2019-03-05 08:51:34 -07:00
Danny Ryan
99da6fe141
fix advance_slot ordering issue
2019-03-05 08:50:51 -07:00
Danny Ryan
e2a0452108
fix previous root ( #716 )
2019-03-05 14:07:00 +01:00
Hsiao-Wei Wang
ecb76420ec
`1e9` is float in Python, change it to `10**9`.
2019-03-05 17:30:42 +08:00
Danny Ryan
d2f7fa9a7e
fix call to get_current_epoch
2019-03-04 19:09:31 -07:00
Danny Ryan
bd936fa6ab
add missing return for justification/finalization reward deltas
2019-03-04 19:07:24 -07:00
Danny Ryan
02e8e89740
handle get_base_reward when no previous balance
2019-03-04 19:05:00 -07:00
Danny Ryan
0fdfbc473e
minor variable issues in helpers
2019-03-04 18:53:31 -07:00
Danny Ryan
0f274a906c
Merge branch 'vbuterin-patch-7' of github.com:ethereum/eth2.0-specs into vbuterin-patch-7
2019-03-04 18:02:46 -07:00
Danny Ryan
738acf0e05
fix calls for get_total_balance
2019-03-04 18:00:38 -07:00
Danny Ryan
47cca60148
handle when no attestations availble for crosslinking ( #717 )
2019-03-04 18:56:50 -06:00
Danny Ryan
66105b01e4
previous epoch uses -1 in all cases
2019-03-04 17:27:53 -07:00
Danny Ryan
d4a4c73599
fix calls to get_attesting_indices
2019-03-04 17:17:31 -07:00
Danny Ryan
8802f57790
add missing var to get_attesting_balance calls
2019-03-04 17:11:38 -07:00
Danny Ryan
f7397a5970
add xor def
2019-03-04 15:49:21 -07:00
Danny Ryan
a561656b68
add get_state_root helper
2019-03-04 11:45:41 -07:00
Danny Ryan
5ac30fdf77
Merge branch 'dev' into vbuterin-patch-7
2019-03-04 09:50:07 -07:00
Danny Ryan
c4c1903460
Merge pull request #709 from ethereum/vbuterin-patch-6
...
Unified deposit processing between genesis and transaction
2019-03-04 09:49:38 -07:00
Danny Ryan
831f04e3ea
separate our rewards/penalty deltas
2019-03-04 09:45:55 -07:00
Danny Ryan
908d7c42ad
pr feedback
2019-03-04 09:17:43 -07:00
terence tsao
e2ce0d9583
Update 0_beacon-chain.md
2019-03-04 06:45:55 -08:00
vbuterin
5282b289cf
exits -> voluntary_exits
2019-03-04 04:49:24 -06:00
vbuterin
044c87fe39
fix State -> BeaconState
2019-03-03 22:41:23 -06:00
Danny Ryan
1444687798
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 20:14:03 -06:00
Danny Ryan
cc146475d9
Merge pull request #694 from ethereum/proposer-next-epoch
...
make get_beacon_proposer_index safe for next epoch
2019-03-03 17:01:20 -07:00
Danny Ryan
0444c2e05e
Merge branch 'dev' into vbuterin-patch-7
2019-03-03 16:58:54 -07:00
Danny Ryan
146aef313e
Merge pull request #699 from ethereum/start_shard_bug
...
fix committee assignment bugs
2019-03-03 16:53:57 -07:00
vbuterin
38e166d4a3
More python typos!
2019-03-03 06:01:03 -06:00
vbuterin
805ea5dad5
Transfer from -> sender
...
Needed to avoid triggering errors in python
2019-03-03 05:59:11 -06:00
vbuterin
68bc91bb3a
Fixed custody bit participants typo
2019-03-03 05:56:57 -06:00
vbuterin
73f9ad0512
Added missing colon
2019-03-03 05:54:58 -06:00
vbuterin
d0fc455a1f
Assimilated #649
2019-03-03 05:04:28 -06:00
vbuterin
dcb0205adc
Merge branch 'dev' into vbuterin-patch-7
2019-03-03 04:30:51 -06:00
vbuterin
46b1d4eef5
Assimilated #697
2019-03-03 04:28:13 -06:00
Hsiao-Wei Wang
868359a674
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 04:00:09 -06:00
Hsiao-Wei Wang
cd7c7228c9
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 03:59:12 -06:00
Hsiao-Wei Wang
72c28bc59a
Refactor `process_slashings`
2019-03-03 17:58:45 +08:00
Hsiao-Wei Wang
19924f3148
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 03:58:18 -06:00
Hsiao-Wei Wang
07599b3a45
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 03:57:48 -06:00
Hsiao-Wei Wang
1103fd1ee8
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 03:57:27 -06:00
Hsiao-Wei Wang
fa613b401f
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 03:56:54 -06:00
Hsiao-Wei Wang
2d6697eb62
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 03:56:12 -06:00
Hsiao-Wei Wang
c42cab87a7
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-03 03:55:20 -06:00
vbuterin
fde66a7105
Update to make CC happy
2019-03-02 20:11:33 -06:00
protolambda
f137f1ce90
fix randao mixes type, bytes32 like in function and state spec
2019-03-02 18:02:50 +01:00
vbuterin
ce5599db2f
Made crosslink processing a function
2019-03-02 00:42:20 -06:00
vbuterin
0134e56010
Fixed table of contents
2019-03-02 00:40:43 -06:00
Hsiao-Wei Wang
fa327a18ea
Add docstring
2019-03-02 13:51:48 +08:00
Hsiao-Wei Wang
00804da13e
Fix type hinting
2019-03-02 13:48:46 +08:00
vbuterin
4ad3529e4e
Finished epoch transition
2019-03-01 19:49:28 -06:00
vbuterin
2d4c8af489
Split up big function into two smaller functions
2019-03-01 19:34:26 -06:00
vbuterin
7c6232a602
Update 0_beacon-chain.md
2019-03-01 19:22:24 -06:00
vbuterin
4cc738dc53
Apply suggestions from code review
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 19:17:07 -06:00
Hsiao-Wei Wang
e0b8eea7d6
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 19:12:31 -06:00
Hsiao-Wei Wang
46269310ee
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 19:12:21 -06:00
Hsiao-Wei Wang
6c1abbc2fc
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 19:12:11 -06:00
vbuterin
b8d1003c2c
Updates to make HW and Danny happy
2019-03-01 19:11:13 -06:00
Hsiao-Wei Wang
ec20edb80e
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 19:05:02 -06:00
Hsiao-Wei Wang
3d8e0f1920
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 19:04:55 -06:00
Hsiao-Wei Wang
ff88d22f9a
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 19:04:49 -06:00
vbuterin
26179ede5f
branch -> proof
2019-03-01 19:01:40 -06:00
Hsiao-Wei Wang
0c24ca9bb0
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 18:59:55 -06:00
vbuterin
5ceec70dd3
Pythonize epoch transitions (in progress)
2019-03-01 07:59:52 -06:00
vbuterin
236298a8e4
Hard assert that the Merkle branch is valid
2019-03-01 03:58:18 -06:00
Danny Ryan
19665e4ca5
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 00:16:05 -06:00
Danny Ryan
0fb4cae2d6
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 00:15:49 -06:00
Danny Ryan
5ed0f276f6
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 00:13:59 -06:00
Danny Ryan
a9be1018d3
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 00:13:32 -06:00
Danny Ryan
19c3189c1c
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 00:13:22 -06:00
Danny Ryan
087576a7bb
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-01 00:12:45 -06:00
vbuterin
80ac62606c
Unified deposit processing between genesis and transaction
2019-02-28 21:07:10 -06:00
vbuterin
d5900836aa
Convert transaction descriptions from English to python code
...
Only a change of presentation, does not make any substantive changes.
Does NOT handle Deposit transactions because that is a special case for which I recommend a deeper change (will do this in another PR soon).
2019-02-28 20:54:59 -06:00
Danny Ryan
8df7de150e
Merge pull request #703 from Nashatyrev/strict-active-validator
...
Make 'Any active validator' statements stricter.
2019-02-28 17:24:30 -07:00
Hsiao-Wei Wang
bcb0b8bf87
Refactor `exit_validator`
2019-03-01 00:49:51 +08:00
Hsiao-Wei Wang
bdd6868736
Fix ToC
2019-03-01 00:49:51 +08:00
Hsiao-Wei Wang
b836b30bff
Fix "is_ready_to_exit" condition
2019-03-01 00:49:45 +08:00
Anton Nashatyrev
f38dc048e4
Make 'Any active validator' statement more strict.
2019-02-28 17:17:00 +03:00
Hsiao-Wei Wang
dbbfb93873
Order by `committees_per_epoch`, `seed`, `shuffling_epoch`, and
...
`shuffling_start_shard`
2019-02-28 19:07:37 +08:00
Hsiao-Wei Wang
34091d70ec
Fix typo
2019-02-28 16:30:46 +08:00
Danny Ryan
bb44d25665
Merge pull request #688 from decanus/patch-21
...
Use `slashed` bool more Pythonicly
2019-02-27 15:02:33 -07:00
Danny Ryan
5692b3483d
Update 0_beacon-chain.md
2019-02-27 15:02:11 -07:00
Danny Ryan
c9ac8170f0
ensure that next committee assignemtns is stable when need to be
2019-02-27 11:37:54 -07:00
Danny Ryan
e2f4e32332
fix committee start shard bug
2019-02-27 11:27:23 -07:00
Danny Ryan
b2c53045fc
make get_beacon_proposer_index safe for next epoch
2019-02-26 15:55:27 -07:00
Alex Stokes
e7d908f1f1
formatting nitpick
...
drop some parens in the spirit of consistency and parsimony
2019-02-26 14:45:25 -08:00
Dean Eigenmann
8b14a2bef5
Update 0_beacon-chain.md
2019-02-26 17:15:26 +01:00
Dean Eigenmann
c9f1dfcbb3
Update 0_beacon-chain.md
2019-02-25 21:39:23 +01:00
Danny Ryan
b2a3ee4bbc
skip bad proof of possession deposits
2019-02-25 09:36:52 -07:00
Danny Ryan
fbb70e91eb
remove todo
2019-02-25 07:58:23 -07:00
Danny Ryan
b2ed80250a
Merge pull request #678 from ethereum/JustinDrake-patch-6
...
Allow transfers from non-activated validators
2019-02-25 07:54:57 -07:00
Justin
6b5769a861
Update 0_beacon-chain.md
2019-02-25 10:30:03 +01:00
Justin
da6b5466d5
Allow transfers from non-activated validators
...
See item 6 in https://github.com/ethereum/eth2.0-specs/issues/675 . This makes transfers more generic.
2019-02-23 20:25:55 +01:00
Justin
1d757aec74
Specify lexicographic ordering of crosslink_data_root
...
Fix #542 .
2019-02-22 21:02:03 +01:00
Danny Ryan
060e3c36c5
fix up previous epoch logic around genesis ( #672 )
2019-02-22 20:51:09 +01:00
Danny Ryan
06e6496bca
Merge pull request #662 from ethereum/vbuterin-patch-5
...
Rename shard_block_root -> crosslink_data_root
2019-02-22 08:51:01 -07:00
Danny Ryan
a683416537
Fix slot range for attestation inclusion ( #669 )
...
* Fix slot range for attestation inclusion
* Update specs/core/0_beacon-chain.md
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-02-22 23:36:36 +08:00
Danny Ryan
d27132cb0a
Merge pull request #658 from ethereum/vbuterin-patch-3
...
Turned slashed and initiated_exit into booleans
2019-02-22 08:34:17 -07:00
Dean Eigenmann
e1fc8a5765
Update 0_beacon-chain.md
2019-02-22 13:00:29 +01:00
Dean Eigenmann
a8c3c45faf
Update 0_beacon-chain.md
2019-02-22 12:58:59 +01:00
vbuterin
f77b9e2414
Changed name to crosslink data commitment
2019-02-22 00:21:56 -06:00
Danny Ryan
830ae3be9a
Merge pull request #655 from ethereum/JustinDrake-patch-4
...
Reduce GENESIS_SLOT to 2**32
2019-02-21 14:51:12 -07:00
Justin
5f59aad00d
Clarify use of `FAR_FUTURE_EPOCH` as a flag
2019-02-21 22:34:11 +01:00
Hsiao-Wei Wang
26908d5579
Fix constant name `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` -> `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` ( #661 )
2019-02-20 15:58:25 +00:00
Hsiao-Wei Wang
a79fa398f1
Minor fix: `messages` -> `message_hashes` ( #664 )
2019-02-20 11:42:53 +00:00
Justin
e25e87f003
Update 0_beacon-chain.md
2019-02-20 07:45:19 +00:00
Justin
9ac61e57c0
Update 0_beacon-chain.md
2019-02-20 07:18:12 +00:00
vbuterin
461cd8b599
Rename shard_block_root -> shard_data_commitment
2019-02-20 00:46:28 -06:00
vbuterin
09e8448763
Turned slashed and initiated_exit into booleans
...
Cuts validator record size from 120 to 106 bytes, and arguably is a simplification
2019-02-19 20:00:46 -06:00
Alex Stokes
8262ce1cc0
Fix typo from earlier renaming in #534 .
2019-02-19 15:09:11 -07:00
Justin
9b7b35bc9d
Reduce GENESIS_SLOT to 2**32
...
* Address the slot/epoch underflow problem, even for Java implementers! 🎉
* Squash a bug with `get_previous_epoch`
* Fix #642
* Address #626 (Vitalik, Danny, myself agree that avoiding signed integers is probably best)
2019-02-19 21:08:10 +00:00
terence tsao
a3d85c8405
Update 0_beacon-chain.md ( #654 )
2019-02-19 17:49:37 +00:00
Danny Ryan
0bc3998c89
Merge pull request #641 from paulhauner/patch-11
...
Fix out-of-bounds in `get_shuffling`
2019-02-18 10:22:57 -07:00
Danny Ryan
75e649cc15
Merge pull request #634 from paulhauner/patch-10
...
Add explicit assert to get_permutated_index
2019-02-18 10:14:07 -07:00
Danny Ryan
9eb3be5471
Merge branch 'dev' into JustinDrake-patch-1
2019-02-17 21:16:45 -07:00
Cayman
5fbbb4f181
Clarify merkle_root documentation ( #646 )
...
This function is used to get the merkle root of some block roots which are themselves hashes, so the leaves do not need to be rehashed.
Unfortunately, it's easy to assume that a merkle_root function would hash its leaves, so it should be clarified.
2019-02-18 12:11:01 +08:00
Cayman
eea413bcc5
Fix typos ( #648 )
2019-02-17 22:53:59 +00:00
Justin
4baa13050e
Update 0_beacon-chain.md
2019-02-16 21:13:46 +00:00
Justin
1d95c1482c
Update 0_beacon-chain.md
2019-02-16 21:11:48 +00:00
d-yokoi
f2e547e629
docs: fix typo in 0_beacon-chain.md
2019-02-16 23:12:00 +09:00
d-yokoi
464947dbd4
docs: fix typo in 0_beacon-chain.md ( #640 )
2019-02-16 09:11:29 +00:00
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
Paul Hauner
2e6bf87bdf
Fix max list size for get_permutated_index
2019-02-16 17:27:47 +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
Justin
2207fd17f5
Update 0_beacon-chain.md
2019-02-15 13:37:36 +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
Paul Hauner
2f327f36d8
Improve asset in get_permutated_index
2019-02-15 12:50:56 +11:00
Paul Hauner
267f840570
Add explicit assert to get_permutated_index
...
There is an implicit assert in `int_to_bytes4`, however I think it's rather hidden.
2019-02-15 11:57:23 +11:00
Justin
888b06ce4a
Update 0_beacon-chain.md
2019-02-15 00:24:46 +00:00
Justin
ab140c2f1c
Update 0_beacon-chain.md
2019-02-15 00:23:03 +00: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
Hsiao-Wei Wang
911e4f104b
Add `bytes_to_int`
2019-02-08 05:12:58 +08:00
mratsim
cf7ebe9ad3
`message` to `message_hash` in the rest of the spec (followup https://github.com/ethereum/eth2.0-specs/pull/580 )
2019-02-07 22:09:41 +01:00
Hsiao-Wei Wang
859bf62484
Revert and refactor
2019-02-08 05:08:25 +08:00
Danny Ryan
e8ec977168
Merge pull request #548 from ethereum/hwwhww/typo_hash_tree_root
...
Fix typo `tree_hash_root` -> `hash_tree_root`
2019-02-07 13:51:18 -07:00
Danny Ryan
cc2df634cd
Merge pull request #549 from ethereum/registry_change
...
Misc fixes of `get_next_epoch_crosslink_committees`
2019-02-07 13:31:57 -07:00
Hsiao-Wei Wang
aa9f9fc9be
amend
2019-02-07 19:18:39 +08:00
Hsiao-Wei Wang
70e482be28
Add vbuterin's optimization and some formatting
2019-02-07 19:14:58 +08:00
vbuterin
92514716fb
Update 0_beacon-chain.md
2019-02-06 23:32:20 -06:00
vbuterin
65255e53c4
shuffle -> get_permuted_index
2019-02-06 23:29:24 -06:00
Danny Ryan
b3db7b0394
big to little in shuffle
2019-02-06 20:32:05 -08:00
vbuterin
47b00f38dd
n -> len(values)
2019-02-06 18:34:05 -06:00
Hsiao-Wei Wang
6a5b7540da
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-06 18:33:29 -06:00
Danny Ryan
4ec721f3b7
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-06 18:33:22 -06:00
Hsiao-Wei Wang
37b41a2ce6
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-06 18:33:11 -06:00
vbuterin
8f37c5c0f8
Update fork choice rule ( #571 )
2019-02-06 08:34:19 -08:00
vbuterin
c58410e6ce
Introduce swap-or-not shuffle
...
See #563 for discussion.
2019-02-06 06:48:46 -06:00
Danny Ryan
ec1a08278b
Merge pull request #573 from ethereum/hwwhww/verify_bitfield
...
Fix `verify_bitfield`
2019-02-05 18:57:40 -08:00
Justin
180c8a0e72
Update 0_beacon-chain.md
2019-02-05 11:51:06 -08:00
Justin
1d76ad65ec
Update 0_beacon-chain.md
2019-02-05 11:49:52 -08:00
Hsiao-Wei Wang
e5788f5751
Fix typo: it's `bls_verify_multiple` in `verify_slashable_attestation` ( #574 )
2019-02-05 09:11:00 -08:00
Hsiao-Wei Wang
867dea3473
Fix `verify_bitfield`
2019-02-05 19:16:10 +08:00
Taras Bobrovytsky
147ee2f991
Fix get_total_balance()
2019-02-04 01:49:16 -06:00
Hsiao-Wei Wang
47844116ea
Merge pull request #565 from terenc3t/patch-45
...
get_previous_epoch as a helper
2019-02-04 14:56:15 +08:00
Hsiao-Wei Wang
3aed1cf935
Merge pull request #567 from decanus/patch-17
...
Defines `get_total_balance` helper function
2019-02-04 14:55:39 +08:00
Danny Ryan
3e2eb1cb36
Merge pull request #562 from ralexstokes/remove-vyper-code
...
Removes the source of the Vyper contract from the spec.
2019-02-03 15:31:56 -08:00
Alex Stokes
8755dc34d5
Add direct link to validator registration contract
2019-02-03 15:22:03 -08:00
Alex Stokes
8c5868cbe8
Extend `deposit` API with note about bounds on acceptable values
2019-02-03 15:20:49 -08:00
Hsiao-Wei Wang
3a6da9839a
Added a note for underflow. Thanks Hsiao Wei! : )
...
Co-Authored-By: terenc3t <terence@prysmaticlabs.com>
2019-02-03 14:27:09 +01:00
Dean Eigenmann
5c56751cc9
Update 0_beacon-chain.md
2019-02-03 11:43:33 +01:00
Hsiao-Wei Wang
8e16d122be
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: decanus <dean@tokenate.io>
2019-02-03 11:42:12 +01:00
Dean Eigenmann
969896b0a8
Update 0_beacon-chain.md
2019-02-03 11:14:02 +01:00
terence tsao
e4c4c04e52
Update 0_beacon-chain.md
2019-02-03 10:36:21 +01:00
Danny Ryan
3b9953a992
Merge pull request #537 from ethereum/JustinDrake-patch-1
...
Use 2*63 for the genesis slot
2019-02-02 17:55:18 -08:00
Danny Ryan
f80a345bd1
Merge pull request #552 from ethereum/epoch-in-generate-seed
...
epoch in `generate_seed`
2019-02-02 17:29:29 -08:00
Danny Ryan
2a32e7f665
convert int_to_bytes to little endian
2019-02-02 16:41:59 -08:00
Danny Ryan
650f4a20df
clarify eth1 that there will be at most 1
2019-02-02 13:16:39 -08:00
Danny Ryan
04b37f266c
Merge pull request #558 from decanus/patch-14
...
`shard` -> `attestation.data.shard`
2019-02-02 08:49:28 -08:00
Dean Eigenmann
f3d47e26fc
`shard` -> `attestation.data.shard`
2019-02-02 13:49:52 +01:00
terence tsao
a781eb5a4f
Update 0_beacon-chain.md
2019-02-02 06:09:45 +01:00
Danny Ryan
8d82ee8ce7
do not mix in epoch to seed in get_shuffling. add epoch to generate_seed
2019-02-01 21:02:09 -08:00
Danny Ryan
76744dea13
Merge branch 'dev' into name-changes
2019-02-01 20:48:14 -08:00
Danny Ryan
11ae40fc49
revery bls types to include BLS
2019-02-01 20:42:11 -08:00
Alex Stokes
7e7e5e2795
Removes the source of the Vyper contract from the spec.
...
This change allows for easier maintenance of the code and the spec by
uncoupling them. Before any edit to either document resulted in having to
synchronize the other. By adding a reference to the canonical repo for the code
we avoid having to maintain a duplicate copy here.
2019-02-01 17:06:04 -08:00
Danny Ryan
6a9c756191
Merge pull request #551 from GregTheGreek/master
...
fix startup typo
2019-02-01 15:30:22 -08:00
Gregory Markou
d53d333733
fix startup typo
2019-02-01 14:04:17 -08:00
Hsiao-Wei Wang
378e1ba9a6
Misc fixes of `get_next_epoch_crosslink_committees`
2019-02-02 02:06:53 +08:00
Hsiao-Wei Wang
0b8ccf1e64
Update 0_beacon-chain.md ( #547 )
2019-02-01 07:45:09 -08:00
Hsiao-Wei Wang
e0867c030f
Fix typo
2019-02-01 22:34:10 +08:00
Danny Ryan
7ff345404e
simplify bls types
2019-01-31 08:26:46 -08:00
Danny Ryan
6716105f19
ChainStart -> Eth2Genesis
2019-01-31 08:23:41 -08:00
Danny Ryan
1593b926cc
rename current and previous vars for shuffling to use 'shuffling'
2019-01-31 08:02:54 -08:00
Danny Ryan
9ea095efe9
remove Number from custom types
2019-01-31 07:58:31 -08:00
Danny Ryan
e2e2ce0a04
name changes: active_exit_delay, latest_active_index_roots
2019-01-31 07:56:48 -08:00
Justin
7f39f79b2e
Use 2*63 for the genesis slot
2019-01-31 07:55:27 -08:00
vbuterin
190d9d2887
Added closing bracket
2019-01-31 07:44:14 -06:00
Hsiao-Wei Wang
5f29cc91bc
Remove the repeated checks
2019-01-31 19:06:13 +08:00
Alex Stokes
750790c784
Remove the unnecessary double backticks on 'validator' in docstring.
...
The usual convention is that we mark function parameters in docstrings with
double backticks. There is no (longer a) parameter called 'validator' so we
update the docstring to conform to the convention.
2019-01-30 18:38:12 -08:00
Danny Ryan
e1a1f936fe
penalized -> slashed, SEED_LOOKAHEAD -> MIN_SEED_LOOKAHED
2019-01-30 18:22:25 -08:00
Danny Ryan
e400c28372
Merge pull request #520 from ethereum/next-epoch-shuffling
...
helpers and notes for shuffling lookahead
2019-01-30 17:24:45 -08:00
Danny Ryan
bdff6943bf
Merge pull request #532 from benjaminion/fix-to-verify-aggregation-bitfield
...
Fix to verify bitfields and aggregate signature.
2019-01-30 15:46:29 -08:00
Alex Stokes
679421e489
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-30 12:46:03 -08:00
Hsiao-Wei Wang
bbc522c2d5
Merge branch 'master' into vitalik93
2019-01-31 03:55:26 +08:00
Danny Ryan
face6d325d
Merge branch 'master' into next-epoch-shuffling
2019-01-30 11:06:50 -08:00
Danny Ryan
ed80daa489
typo in comment
2019-01-30 11:04:35 -08:00
Danny Ryan
ad5583c79f
remove extra line
2019-01-30 11:03:52 -08:00
Danny Ryan
de2c51812f
Merge branch 'master' into hwwhww/refactor
2019-01-30 11:03:13 -08:00
Danny Ryan
f1c5a214b8
Merge branch 'master' into JustinDrake-patch-1
2019-01-30 10:51:18 -08:00
Danny Ryan
3c4615df01
fix call
2019-01-30 10:43:06 -08:00
Danny Ryan
0e7953fe8a
verify_bitiefld in aggregate signature section
2019-01-30 10:39:08 -08:00
Danny Ryan
820777aab0
Merge pull request #525 from ethereum/JustinDrake-patch-1-1
...
Remove exit counts
2019-01-30 10:29:39 -08:00
Ben Edgington
fb75c6dd55
Fix to verify bitfields and aggregate signature.
...
In blockprocessing, `crosslink_committee` is not defined. This is a fix.
In Phase 0 this check is redundant since we've already asserted that the
custody bitfield is all zero, but it will matter in later phases.
2019-01-30 16:45:46 +00:00
Danny Ryan
7365af59a7
remove extra return
2019-01-30 07:59:07 -08:00
Hsiao-Wei Wang
5aba345eec
Remove extraneous space
2019-01-30 23:50:17 +08:00
Justin
3f31285232
Fix typo ( #528 )
2019-01-30 15:46:27 +00:00
Danny Ryan
d47f98a33f
fix missing toc entry
2019-01-30 07:38:24 -08:00
Danny Ryan
022da5006f
Merge branch 'master' into next-epoch-shuffling
2019-01-30 07:09:39 -08:00
Danny Ryan
8ead89c412
Add is_power_of_2 helper
2019-01-30 07:07:41 -08:00
vbuterin
18e430393e
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-01-30 15:03:42 +00:00
Hsiao-Wei Wang
0f70b200ca
imperative
2019-01-30 23:01:38 +08:00
Danny Ryan
648fcb16eb
Merge pull request #526 from ethereum/JustinDrake-patch-2
...
Remove extraneous latest_vdf_outputs
2019-01-30 06:55:42 -08:00
Danny Ryan
8c2ed0b683
validator guide to recent spec changes ( #518 )
2019-01-30 14:53:25 +00:00
Justin
014016cf3c
Remove extraneous latest_vdf_outputs
2019-01-30 06:50:24 -08:00
Danny Ryan
8040044f69
fix is_surround as per #410 ( #523 )
2019-01-30 14:46:43 +00:00
Justin
5889e9c6db
Remove exit counts
...
* Simplify by removing `exit_epoch` in `BeaconState` and `Validator`. (Also less storage for full nodes.)
* Replace with `exit_epoch` when ordering validator with withdrawal. Slight loss of granularity, but that's actually a good thing because it reduces the opportunity for manipulation by proposers.
2019-01-30 06:43:02 -08:00
Justin
8663773fa2
Cleanup attestation inclusion logic
...
* (Logic change) Introduce invariant that attestations can be included for `EPOCH_LENGTH`.
* Simplify presentation by related checks into a single line.
2019-01-30 06:32:44 -08:00
Justin
f4798370aa
Attester slashing fixes
...
* Fix bug whereby `intersection` (replaced by `slashable_indices `) could be non-empty, but no validator gets penalized because they were all already penalized.
* Rename `SlashableVote` to `SlashableAttestation` (for consistency with `Attestation`, and to avoid having "Vote" be a synonym of "Attestation").
* Rename `slot_included` to `inclusion_slot` for consistency with the `_slot` (and `_epoch`) postfix convention
* Homogenise ordering of fields in `Attestation` and `SlashableAttestation` objects (one has an `aggregation_bitfield` instead of the other's `validator_indices`).
* Homogenise ordering of fields in `Attestation` and `PendingAttestation` objects (one has an `aggregate_signature` instead of the other's `inclusion_slot`).
* Light presentation cleanup
2019-01-30 05:38:45 -08:00
Hsiao-Wei Wang
5e0691f3df
Refactor and add docstring.
2019-01-30 17:31:41 +08:00
Danny Ryan
75d1247884
delete new proposer function
2019-01-29 17:23:24 -08:00
Danny Ryan
f701b959f3
get_crosslink_committees.. has registry change field
2019-01-29 17:21:26 -08:00
vbuterin
260c642e3f
One more new_deposit_root, and chainStarted as public bool
2019-01-29 19:00:39 -06:00
vbuterin
30ca318869
Rewrite to not trigger temporary Vyper issues
2019-01-29 18:58:56 -06:00
Danny Ryan
a164ad9504
working through future shuffling notes
2019-01-29 16:29:51 -08:00
Dean Eigenmann
31c5576706
Update 0_beacon-chain.md
2019-01-30 00:35:45 +01:00
Danny Ryan
56c6322054
Merge pull request #516 from ethereum/get_ancestor
...
Fix ToC and #189 : `get_ancestor()` can fail to terminate
2019-01-29 07:37:38 -07:00
vbuterin
beddfe4295
Merge branch 'master' into patch-5
2019-01-29 08:11:14 -06:00
Hsiao-Wei Wang
c87a9bfd2c
Fix ToC and #189
2019-01-29 21:41:54 +08:00
Danny Ryan
7a568310ac
Merge pull request #512 from ethereum/cleanup-state-transition
...
Cleanup state transition organization and explanation
2019-01-28 21:33:38 -07:00
Danny Ryan
6a3b229cb2
minor formatting issue
2019-01-28 21:32:36 -07:00
Danny Ryan
cbb1571a90
remove last ref to casper
2019-01-28 21:25:59 -07:00
Danny Ryan
7da716b0e9
pr feedback
2019-01-28 21:18:22 -07:00
hukkinj1
30ceb8f439
Removed a trailing space ( #514 )
2019-01-28 22:42:31 +00:00
vbuterin
bb0619986c
Change -> update
...
As per #358
2019-01-28 16:20:04 -06:00
Justin
3068e6483d
Update 0_beacon-chain.md
2019-01-28 21:13:58 +00:00
Justin
b2855f9be4
Stricter aggregation_bitfield validation
...
Make sure that there's at least one vote in attestations (`bls_verify_multiple` can return `True` with zero votes)
2019-01-28 21:13:25 +00:00
Danny Ryan
a5ff8ce2fd
Merge branch 'master' into cleanup-state-transition
2019-01-28 13:33:50 -07:00
Danny Ryan
d78fb66aac
Merge pull request #488 from ethereum/JustinDrake-patch-1
...
Reduce and revamp custody placeholder logic
2019-01-28 13:08:58 -07:00
Danny Ryan
4cb0ce94b1
Merge branch 'vbuterin-patch-11' into cleanup-state-transition
2019-01-28 12:21:18 -07:00
Justin
f51ce8ff14
Further deemphasize "Casper"
2019-01-28 19:16:11 +00:00
Danny Ryan
053b8ec2a5
cleanup state transition organization and notes
2019-01-28 12:15:43 -07:00
Danny Ryan
9b7d94f07b
Apply suggestions from code review
...
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-01-28 18:31:13 +00:00
vbuterin
a14600e3a4
Edits
...
* Removed comment beside `latest_block_roots` "Needed to process attestations, older to newer" because it is no longer accurate
* Clarified per-slot processing
* Casper slashing -> attester slashing
2019-01-28 12:24:09 -06:00
Hsiao-Wei Wang
6bad4ed986
Merge branch 'master' into hwwhww/per_block
2019-01-29 01:49:41 +08:00
Danny Ryan
b6fcf3272e
Merge branch 'master' into JustinDrake-patch-1
2019-01-28 09:15:08 -07:00
Hsiao-Wei Wang
ce73a8327f
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-28 08:26:48 -07:00
vbuterin
ca3d0b8b53
slot -> epoch
2019-01-27 23:36:38 -06:00
vbuterin
656eae6f6a
Minimum slot number, simplify excessive anti-underflow logic
...
Adds a minimum slot number large enough that integer underflows involving epochs and slots will not happen; simplifies some logic that was more complex to handle them.
2019-01-27 23:12:37 -06:00
Danny Ryan
c9a2f9258e
pr feedback
2019-01-27 21:29:47 -07:00
Danny Ryan
7b9c033578
remove extra line
2019-01-27 20:40:30 -07:00
Danny Ryan
1947fc0ff3
pr feedback
2019-01-27 17:25:29 -07:00
Danny Ryan
f9b53e8583
pr feedback
2019-01-27 17:20:15 -07:00
Hsiao-Wei Wang
41827d26ec
Add the brief of `per_block` processing, and nudge some wording
2019-01-28 01:49:15 +08:00
Danny Ryan
ad46b9cb12
pr feedback
2019-01-27 10:31:01 -07:00
Danny Ryan
b0e71f4c80
pr feedback
2019-01-27 10:23:28 -07:00
Danny Ryan
e41eeeedb6
make randao_mixes per epoch
2019-01-27 10:22:27 -07:00
Danny Ryan
8fbaa25596
pr feedback
2019-01-27 10:01:04 -07:00
Danny Ryan
12619995bb
pr feedback
2019-01-27 10:00:03 -07:00
Danny Ryan
9d18760521
convert some functions to be per epoch
2019-01-27 09:56:26 -07:00
Danny Ryan
e1e1e2359a
pr feedback
2019-01-27 07:54:46 -07:00
Danny Ryan
1b4c4109c3
Merge branch 'end-of-epoch' into prioritize-epochs
2019-01-27 07:34:00 -07:00
Danny Ryan
18273b088d
Merge branch 'master' into end-of-epoch
2019-01-27 07:07:52 -07:00
Justin
82ecc8c868
Update 0_beacon-chain.md
2019-01-27 09:01:11 +00:00
vbuterin
fab0feeb29
Vyper contract 2048 -> 512
2019-01-26 16:47:18 -06:00
Danny Ryan
8da467df7c
pr feedback
2019-01-26 15:39:57 -07:00
Danny Ryan
b1ea3b2667
address pr feedback
2019-01-26 15:27:50 -07:00
Justin
d282a36c63
Update 0_beacon-chain.md
2019-01-26 19:27:22 +00:00
Justin
aa909bddf3
Update 0_beacon-chain.md
2019-01-26 19:25:58 +00:00
Justin
cfb1cb57b8
Update 0_beacon-chain.md
2019-01-26 19:25:18 +00:00
Danny Ryan
1a41078768
randao reveal is signed epoch number ( #498 )
2019-01-26 19:13:12 +00:00
Justin
a81092627a
Update 0_beacon-chain.md
2019-01-26 19:10:21 +00:00
Justin
c3aff31da8
Update 0_beacon-chain.md
2019-01-26 19:06:46 +00:00
Justin
726fa9481c
Merge branch 'master' into JustinDrake-patch-1
2019-01-26 19:03:46 +00:00
Justin
6e16cdc00e
Update 0_beacon-chain.md
2019-01-26 18:59:07 +00:00
Danny Ryan
ae5dfab217
convert finality vars to epochs and do some more epohh cleaning
2019-01-26 08:16:32 -07:00
Danny Ryan
c9494dbf88
change crosslink.slot to crosslink.epoch
2019-01-26 07:55:32 -07:00
Danny Ryan
0e90dd8ad0
add current_epoch helper
2019-01-26 07:31:09 -07:00
Paul Hauner
0b827a0447
Change `PENALIZED_WITHDRAWAL_TIME` variable
...
It's not in the "Constants" list and it is assigned to.
2019-01-26 21:38:27 +11:00
Hsiao-Wei Wang
8c91be9e74
Add custom type hinting for `get_active_index_root`
2019-01-26 16:07:15 +08:00
Hsiao-Wei Wang
78a4b82345
Merge branch 'master' into type_hinting
2019-01-26 16:04:23 +08:00
Danny Ryan
feaf689c94
Apply suggestions from code review
...
Co-Authored-By: hwwhww <hwwang156@gmail.com>
2019-01-26 16:02:49 +08:00
Paul Hauner
235425aaf0
Fix field name error on eth1_data
...
`eth1_data_vote.data` > `eth1_data_vote.eth1_data`
2019-01-26 14:58:48 +11:00
Danny Ryan
f943361a23
convert voting period to epochs
2019-01-25 17:40:44 -07:00
Danny Ryan
a212038cd3
begin translation to epochs
2019-01-25 17:33:15 -07:00
Danny Ryan
e34cfc8de8
fix preivous_epoch_start_slot to be based upon GENESIS_SLOT
2019-01-25 17:26:27 -07:00
Danny Ryan
6f830179c6
remove extra blank line
2019-01-25 16:50:15 -07:00
Danny Ryan
ddf420ba39
work through issues with epochs, seeds, etc)
2019-01-25 16:07:54 -07:00
Danny Ryan
cca2bf1fa6
Merge branch 'master' into end-of-epoch
2019-01-25 15:35:20 -07:00
Danny Ryan
8a58508057
Merge pull request #476 from ethereum/vbuterin-patch-2
...
Implement #459 (light client friendliness)
2019-01-25 15:30:27 -07:00
Danny Ryan
85d39af1ca
add missing period
2019-01-25 15:28:49 -07:00
Danny Ryan
5603772621
add missing period
2019-01-25 15:28:08 -07:00
Danny Ryan
86faacdcd2
clarify assignments in val reg not change
2019-01-25 15:27:27 -07:00
Danny Ryan
f96cd871b1
update ordering of assignments
2019-01-25 15:25:19 -07:00
Danny Ryan
f61d364352
clean up top language in validator registry section
2019-01-25 14:56:10 -07:00
Hsiao-Wei Wang
21cecba6bb
Update `get_children` def
2019-01-25 16:06:05 +08:00
Hsiao-Wei Wang
f27905583f
PR feedback
2019-01-25 16:03:30 +08:00
Hsiao-Wei Wang
27eb0eb212
Merge branch 'master' into type_hinting
2019-01-25 15:15:08 +08:00
Hsiao-Wei Wang
22d4a21fb2
Merge pull request #482 from ethereum/get_shuffing-invariant
...
clarify get_shuffling invariant
2019-01-25 15:11:04 +08:00
Danny Ryan
0254bc8d17
pr feedback
2019-01-24 23:17:56 -07:00
vbuterin
1b06e771d8
previous_deposit_root -> deposit_root
2019-01-24 03:25:13 -06:00
vbuterin
ac47c21918
Merge branch 'master' into vbuterin-patch-2
2019-01-23 22:33:59 -06:00
vbuterin
df85857c2e
A few more state.slot -> current/previous/next epoch start slot changes
2019-01-23 20:35:26 -06:00
Danny Ryan
1aceaeb793
reverse ordering of finality conditions
2019-01-23 17:14:38 -06:00
Danny Ryan
b18de2c86c
clena up get_crosslink_committees_at_slots
2019-01-23 15:41:25 -06:00
Danny Ryan
dd075edd06
epoch trans at end of epoch and fix finality conditions
2019-01-23 15:30:05 -06:00
Danny Ryan
847746286b
Merge pull request #486 from terenc3t/patch-37
...
Update previous_epoch_randao_mix at the beginning
2019-01-23 13:15:59 -06:00
Justin
dfaf24c75e
Update 0_beacon-chain.md
2019-01-23 13:52:52 +00:00
Justin
6f3cb7e7e5
Update 0_beacon-chain.md
2019-01-23 13:28:43 +00:00
Justin
022dd0cc3d
Update 0_beacon-chain.md
2019-01-23 13:26:23 +00:00
Justin
d1efd65d8a
Update 0_beacon-chain.md
2019-01-23 13:24:35 +00:00
Justin
e3a5720c1b
Update 0_beacon-chain.md
2019-01-23 13:03:33 +00:00
Justin
1e48535edd
Update 0_beacon-chain.md
2019-01-23 12:57:06 +00:00
Justin
ac85e06e81
Update 0_beacon-chain.md
2019-01-23 12:48:54 +00:00
Justin
ee081e160c
Update 0_beacon-chain.md
2019-01-23 12:47:11 +00:00
Justin
696a6c140a
Update 0_beacon-chain.md
2019-01-23 12:40:59 +00:00
vbuterin
c8b2755177
Added efficiency improvement (two fewer expected SSTOREs per deposit)
2019-01-23 06:11:55 -06:00
Justin
109ac89697
Update 0_beacon-chain.md
2019-01-23 09:57:48 +00:00
Danny Ryan
f9097bfe8b
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-23 00:22:47 -06:00
Vitalik Buterin
722e201109
Updated deposit contract for gas efficiency
2019-01-23 00:05:50 -06:00
vbuterin
697545a9e0
Added entry_exit_effect_slot helper and moved index roots update
2019-01-22 22:47:07 -06:00
Dean Eigenmann
34a4396fa7
Update 0_beacon-chain.md
2019-01-22 23:10:12 +01:00
Dean Eigenmann
071537469e
Update 0_beacon-chain.md
2019-01-22 23:09:28 +01:00
Justin
6c824ffee4
Remove placeholders
...
Remove all custody and VDF placeholders (56 lines less!). A few notes on the placeholder fields and logic:
* All placeholder fields were dummy fields that can easily be restored in the phase 1 hard fork.
* One special case to the above is `custody_bit_0_validator_indices` in `SlashableVoteData` which was renamed to `validator_indices`. Renaming it back is *not* a spec change because SSZ field names are [no longer part of the spec](a9328157a8 (diff-8d8fe480a35579c7be2f976d9b321216)
).
* The placeholder logic was written using generalised functions (e.g. `bls_verify_multiple` vs `bls_verify`, and `indices(slashable_vote_data)` vs `slashable_vote_data.validator_indices`). This generality was unnecessary because it was not triggered when all custody bits were 0. This means we can simplify the logic without being inconsistent with phase 1.
Rationale:
* Keep phase 0 (likely far harder to deliver than phase 1) as clean as possible
* Focus on upgrade paths and incremental releases
* Custody is still under research—keep the design space open
2019-01-22 20:45:30 +00:00
terence tsao
947e1b9520
Update 0_beacon-chain.md
2019-01-22 11:31:13 -08:00
terence tsao
1bc6c19dca
Update 0_beacon-chain.md
2019-01-22 10:56:01 -08:00
Justin
e52d374521
Update 0_beacon-chain.md
2019-01-22 10:30:31 +00:00
Justin
fb92d68bb9
Update 0_beacon-chain.md
2019-01-22 09:27:47 +00:00
Hsiao-Wei Wang
afd9260ae2
Merge branch 'master' into vbuterin-patch-2
2019-01-22 17:07:32 +08:00
Danny Ryan
a1b550a34f
fix formatting of references
2019-01-21 13:55:49 -06:00
Justin
941dfed863
Update 0_beacon-chain.md
2019-01-21 19:45:11 +00:00
Justin
80940ddd37
BLS-based RANDAO and custody (friendly to decentralised pools)
...
Unlock decentralised pools using m-of-n threshold BLS signatures for both RANDAO and custody. We also simplify a bunch:
* Remove `randao_commitment` and `custody_commitment`
* Remove miscellaneous logic such as `repeat_hash`
(Side note: Dfinity seems to be working to reduce the communication complexity of BLS DKG (Distributed Key Generation) so validator pools should also benefit from that.)
2019-01-21 18:41:29 +00:00
Danny Ryan
460188f9f5
clarify get_shuffling invariant
2019-01-21 11:47:23 -06:00
Danny Ryan
c60a4f13fc
Merge pull request #478 from ethereum/hwwhww/refactor_validator_registry
...
Extract the first two lines of (non-)validator-registry-update
2019-01-21 08:52:42 -06:00
Danny Ryan
32bfa812d1
Merge pull request #470 from mkalinin/mkalinin-patch-2
...
Add a note about exceptions in Python code
2019-01-21 08:48:49 -06:00
Danny Ryan
2e58d52aa6
Update 0_beacon-chain.md
2019-01-21 08:48:36 -06:00
Danny Ryan
8e502dd03f
Merge pull request #464 from ethereum/inclusion-fix
...
clarify `inclusion_distance`
2019-01-21 08:47:23 -06:00
vbuterin
12b217df70
Updated as per hww's suggestions
2019-01-19 18:13:17 -06:00
Hsiao-Wei Wang
02725b870e
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-19 18:11:14 -06:00
Hsiao-Wei Wang
958c338c8f
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-19 18:11:07 -06:00
Hsiao-Wei Wang
c8d8dc94c0
Extract the first two lines of (non-)validator-registry-update
2019-01-19 17:19:14 +08:00
Hsiao-Wei Wang
1ae3768ac8
Minor fixes
2019-01-19 16:06:00 +08:00
Hsiao-Wei Wang
41813462c3
Add custom types
2019-01-19 15:58:24 +08:00
Hsiao-Wei Wang
ba8c44dd9a
Fix the new `Eth1Data` fields to `bytes32`
2019-01-19 15:46:09 +08:00
Hsiao-Wei Wang
47170bfafd
Merge branch 'master' into vbuterin-patch-2
2019-01-19 15:28:14 +08:00
Hsiao-Wei Wang
28ec5846de
Merge pull request #475 from ethereum/djrtwo-patch-4
...
remove unused variable def
2019-01-19 15:17:05 +08:00
Hsiao-Wei Wang
8dff59abd8
Merge pull request #474 from ethereum/djrtwo-patch-3
...
add some missing `data` calls
2019-01-19 15:16:00 +08:00
Hsiao-Wei Wang
15685cd3f1
Merge pull request #458 from ethereum/bytes32
...
Update BLS and core specs for `bytes32` and `bytes48` SSZ types
2019-01-19 15:09:09 +08:00
vbuterin
9e75a76fc1
Implement #459
...
Contents:
* Peg entries and exits to epoch boundaries
* Add a store of historical active index roots
* Mix it into the randomness
* Remove the delta hash chain
Note that the actual light client implementation is beyond the scope of the spec.
[Note to reviewers: verify that the invariant added in the PR is correct]
Question:
* Do we want to also only store epoch-boundary randao values? I don't think we use the epoch-intermediate ones anywhere.....
2019-01-18 21:06:21 -06:00
Danny Ryan
cc18df1185
remove unused variable def
2019-01-18 18:45:15 -06:00
Danny Ryan
89f0543ab9
add some missing `data` calls
2019-01-18 17:13:23 -07:00
Justin
1c48544fee
Update 0_beacon-chain.md
2019-01-18 21:38:25 +00:00
Justin
70dfdace15
Update 0_beacon-chain.md
2019-01-18 21:37:30 +00:00
Danny Ryan
aa29b9a347
add missing state param to calls to get_crosslink_committees_at_slots
2019-01-18 09:55:32 -06:00
Danny Ryan
b493f850fc
cleanup crosslink committees iters
2019-01-18 09:40:15 -06:00
Mikhail Kalinin
11009af16e
Adds a note about Python code exceptions
2019-01-18 18:01:43 +06:00
Alex Stokes
a7307b9236
Sign full `Exit` message so that a validator can prevent tampering ( #468 )
2019-01-18 10:10:23 +00:00
Hsiao-Wei Wang
690cf4b787
PR feedback
2019-01-18 16:21:58 +08:00
Danny Ryan
c8a42c4dcc
Merge pull request #429 from Nashatyrev/master
...
Potential UInt underflow in get_shard_committees_at_slot
2019-01-17 22:01:46 -06:00
Danny Ryan
90273cf46d
Merge pull request #469 from decanus/patch-10
...
`a.beacon_block_root` -> `a.data.beacon_block_root`
2019-01-17 20:25:50 -06:00
Danny Ryan
166a1d0638
Merge pull request #467 from decanus/patch-9
...
Adds Data field
2019-01-17 20:25:17 -06:00
Dean Eigenmann
15fdea5b1b
`a.beacon_block_root` -> `a.data.beacon_block_root`
2019-01-18 02:36:37 +01:00
Dean Eigenmann
96aac450b5
Update 0_beacon-chain.md
2019-01-18 02:22:12 +01:00
Dean Eigenmann
c8597a0d49
Update 0_beacon-chain.md
2019-01-18 02:11:54 +01:00
Hsiao-Wei Wang
063f658697
`bytes96` for Signature
2019-01-18 03:19:38 +08:00
Danny Ryan
91eba49eeb
fix slot for domain in verify_slashable_vote_data ( #465 )
2019-01-17 19:00:29 +00:00
Danny Ryan
8b64832a02
ensure inclusion distance is for lower applicable attestation
2019-01-17 12:07:41 -06:00
Hsiao-Wei Wang
df83dc7bf5
Merge branch 'master' into bytes32
2019-01-17 19:49:10 +08:00
vbuterin
7686702c29
Vote for block hash along with deposit root ( #448 )
2019-01-17 11:43:47 +00:00
Hsiao-Wei Wang
18b97cf922
pubkey: Bytes48
2019-01-17 19:40:26 +08:00
terence tsao
7439939e29
Misc Renamings ( #450 )
...
- `participation_bitfield` -> `aggregation_bitfield`
- `validator_registry_latest_change_slot` -> `validator_registry_update_slot`
- `latest_penalized_exit_balances` -> `latest_penalized_balances`
- `fork_data` -> `fork`
- `pre_fork_version` -> `previous_version`
- `pork_fork_version` -> `current_version`
- `fork_slot` -> `slot`
2019-01-17 11:18:30 +00:00
JinHwan
87fb35d244
Remove Record suffix ( #434 )
2019-01-17 11:01:13 +00:00
terence tsao
812b385f64
Normalize ETH units to Gwei ( #420 )
2019-01-17 10:55:05 +00:00
Hsiao-Wei Wang
209220787b
Deal with BLS APIs, will define `Bytes48` in the type hinting cleanup
2019-01-17 17:29:28 +08:00
Hsiao-Wei Wang
713af88c43
`proof_of_possession: Signature`
2019-01-17 17:03:20 +08:00
Hsiao-Wei Wang
725199593b
For pubkey type hinting, use `bytes` for now.
2019-01-17 17:00:39 +08:00
Hsiao-Wei Wang
0b10b0444a
Replace `Hash32` with `Bytes32`
2019-01-17 16:56:33 +08:00
Hsiao-Wei Wang
61f5d99dee
Fix `Deposit.branch` type notation
2019-01-17 16:54:38 +08:00
Hsiao-Wei Wang
14891047d7
Update `EMPTY_SIGNATURE`
2019-01-17 16:52:56 +08:00
Hsiao-Wei Wang
a588643661
Replace `uint384` with `bytes48` for pubkey
2019-01-17 16:51:50 +08:00
Hsiao-Wei Wang
7005e5fd55
Replace `['uint384']` with `Signature`
2019-01-17 16:49:08 +08:00
Hsiao-Wei Wang
b515683e39
Replace `'[uint384]'` with Signature
2019-01-17 16:47:27 +08:00
Hsiao-Wei Wang
8d5fd404a7
Add `Signature` SSZ obj
2019-01-17 16:42:46 +08:00
Hsiao-Wei Wang
accd3cfd01
Replace `hash32` with `bytes32`
2019-01-17 16:33:59 +08:00
Hsiao-Wei Wang
23e3f4defe
Rename `bytes1(x)`, `bytes2(x)`... function to `int_to_bytes1(x)`, `int_to_bytes2(x)`...
2019-01-17 16:30:04 +08:00
Anton Nashatyrev
d29cbd6535
Merge remote-tracking branch 'upstream/master'
2019-01-17 11:00:19 +03:00
Dean Eigenmann
509870d138
Update 0_beacon-chain.md
2019-01-17 02:18:30 +01:00
Dean Eigenmann
412d295da3
Update 0_beacon-chain.md
2019-01-16 22:28:15 +01:00
Dean Eigenmann
b74f518e4b
Fix typo `validators` -> `validator_registry`
2019-01-16 22:01:32 +01:00
Dean Eigenmann
60bbe7addc
Update 0_beacon-chain.md
2019-01-16 21:33:36 +01:00
Dean Eigenmann
5d542576d9
Update 0_beacon-chain.md
2019-01-16 21:31:33 +01:00
Danny Ryan
2c78645fc6
Merge pull request #452 from GregTheGreek/master
...
fix typo with get_attestation_participants
2019-01-16 13:41:03 -06:00
Hsiao-Wei Wang
e5ea67f4ac
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: GregTheGreek <gregorymarkou@gmail.com>
2019-01-16 14:39:00 -05:00
Dean Eigenmann
3b1ccae58c
Update 0_beacon-chain.md
2019-01-16 20:35:01 +01:00
Gregory Markou
2c25ed9062
fix typo with get_attestation_participants
2019-01-16 14:05:53 -05:00
Danny Ryan
85d6082990
Merge pull request #443 from terenc3t/patch-35
...
Replace shard_committee with crosslink_committee
2019-01-16 12:05:43 -06:00
Dustin Brody
5058e38b23
fix ValidatorRegistryDeltaBlock field naming/reference inconsistency
2019-01-15 20:26:53 -08:00
Hsiao-Wei Wang
0515adff44
Merge pull request #438 from mkalinin/fix-proposer-slashings
...
Fix one of proposer slashing verifications
2019-01-15 20:53:37 +08:00
Anton Nashatyrev
5321fee1cd
Merge with spec update
2019-01-15 11:32:19 +03:00
Danny Ryan
8173854227
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: mkalinin <noblesse.knight@gmail.com>
2019-01-15 12:02:17 +06:00
terence tsao
aa990eb10e
update `shard committees` in get_shuffling
2019-01-14 21:07:36 -08:00
Hsiao-Wei Wang
134ef6d252
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: terenc3t <terence@prysmaticlabs.com>
2019-01-14 20:44:30 -08:00
terence tsao
bd506e1222
Update 0_beacon-chain.md
2019-01-14 16:06:33 -08:00
Danny Ryan
6f539fb1af
minor fix to bls_verify param names in "proposer signature" ( #441 )
2019-01-14 22:23:57 +00:00
Hsiao-Wei Wang
1cd71b9d58
Fix some naming inconsistency and typos
2019-01-14 21:54:29 +08:00
Mikhail Kalinin
61cf6209d8
Fix one of proposer slashing verifications
2019-01-14 15:31:02 +06:00
Hsiao-Wei Wang
43d0142da9
Merge pull request #414 from benjaminion/vyper-merkle-branch
...
Add getter to Vyper contract for Merkle branches
2019-01-14 14:49:40 +08:00
terence tsao
4d1aadcc5c
Update 0_beacon-chain.md
2019-01-13 21:11:44 -08:00
Danny Ryan
891c87eca2
Merge pull request #408 from ethereum/vitalik91
...
Remove shard committees from the state
2019-01-13 22:55:08 -06:00
Danny Ryan
bbf6b5c267
Merge pull request #419 from jimpo/bls-correction
...
Correct references to signature scheme in beacon spec.
2019-01-13 16:05:53 -06:00
terence tsao
2646ca1337
Update 0_beacon-chain.md
2019-01-13 08:55:48 -08:00
Danny Ryan
2b66811a04
address terence pr feedback
2019-01-11 11:35:18 -06:00
Danny Ryan
0a7e72f641
Merge branch 'master' into vitalik91
2019-01-11 11:33:38 -06:00
Justin
271e7b5cb8
Update 0_beacon-chain.md
2019-01-11 16:23:10 +00:00
Justin
7a0d45279c
Update 0_beacon-chain.md
2019-01-11 15:24:29 +00:00
Stan Drozd
d9c6ad9008
get_attestation_participants: inline ceil_div8() ( #430 )
2019-01-11 14:37:38 +00:00
Anton Nashatyrev
8ebc4dece8
Local var should stay uint
2019-01-11 15:07:18 +03:00
Justin
c8bd90aba3
Update 0_beacon-chain.md
2019-01-11 11:53:12 +00:00
Justin
dd532d7887
Update 0_beacon-chain.md
...
* Avoid abbreviations
* Use `branch` as a more suggestive variable name than `ret`
* Cleanup spacing after comma
* Avoid having two index variables (`index` and `idx`)—Does this break anything?
2019-01-11 11:52:04 +00:00
Ben Edgington
b75ac05ab6
Fix typo seed -> randao_mix
2019-01-11 11:05:43 +00:00
vbuterin
459734cb9e
get_randao_mix slot boundary fix
2019-01-10 22:34:13 -06:00
vbuterin
70c0cc43c5
Fixes as per Danny and Terence
2019-01-10 22:33:22 -06:00
Danny Ryan
eec8b4ac44
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:02:51 -06:00
Danny Ryan
7736843917
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:01:30 -06:00
Danny Ryan
648c35dc3d
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:01:05 -06:00
Danny Ryan
a0a96c7e7c
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:00:59 -06:00
jonny rhea
d2eca73482
added assertion that n >= 0
2019-01-10 18:09:58 -06:00
Alex Stokes
c141d90f0f
Fix typo with initial generation of `latest_penalized_exit_balances`
...
The spec as written is not valid python -- the generator of the list
comprehension must be iterable.
It looks like the author simply meant to `range` over the intended length.
This commit fixes the missing `range` operator
2019-01-10 15:41:15 -06:00
Ben Edgington
78fcda7ce0
Use bitwise xor to simplify merkle branch getter
2019-01-10 20:45:39 +00:00
Danny Ryan
5b1f352414
Merge pull request #388 from ralexstokes/add-missing-property-to-merkle-verification
...
Fixes a few bugs with deposit verification.
2019-01-10 12:15:12 -06:00
Danny Ryan
69cd904782
Merge branch 'master' into vitalik91
2019-01-10 11:29:11 -06:00
Vitalik Buterin
e2886bf3d3
prev -> previous, cur -> current, get_shard_committee_at_slot rework, get_randao_mix rework
2019-01-10 11:01:19 -06:00
terence tsao
c589f8273b
Update 0_beacon-chain.md
2019-01-10 08:19:56 -08:00
Alex Stokes
4cf06d908a
Truncate the index into the Merkle tree to bytes[8]
...
The beacon chain expects a `uint64` in part to avoid big-int computation.
This commit updates the `Deposit` log so that it broadcasts data of the
appropriate size.
2019-01-09 17:18:15 -06:00
Alex Stokes
d62834654f
Broadcast `merkle_tree_index` in lieu of the deposit count
2019-01-09 17:02:19 -06:00
Alex Stokes
7a6854aab9
Fix variable name that was lost in botched rebase
2019-01-09 16:52:43 -06:00
Jim Posen
b25154c774
Correct references to sig scheme in beacon spec.
...
BLS is the name of the signature scheme and BLS12-381 is the name of the
curve that it is defined over. So it is more correct to talk about a
"BLS signature/pubkey" rather than a "BLS12-381 signature/pubkey".
2019-01-09 12:47:19 -08:00
Alex Stokes
f49f7eddf9
Use the correct name for the `amount` field
2019-01-09 14:44:06 -06:00
Alex Stokes
c5de2fe710
Add missing deposit root when performing Merkle verification
2019-01-09 14:37:51 -06:00
Alex Stokes
6f5a865508
Reorder type so the ssz serialization matches other uses
...
There is an order based on the Vyper deposit contract which should be maintained
here. There is also a reference to it when processing `Deposit` messages.
This commit corrects the order here so all serializations will match.
2019-01-09 14:35:26 -06:00
Justin
4ea430207b
Update 0_beacon-chain.md
2019-01-09 14:12:47 -06:00
Alex Stokes
dff84c00b0
Fixes bugs with description of deposit verification.
...
1. The order of the `deposit_data` serialization does not match the current
Vyper contract. The description now matches that serialization.
2. The `deposit.merkle_tree_index` was not being used (at least explicitly) so
the text now reflects which inputs are to be used for which parameters in the
pseudocode spec that follows.
3. There seems to be a bug where we want the initial leaf to be the `hash` of
the `DepositData`, not the data itself. The text now reflects this requirement.
2019-01-09 14:08:24 -06:00
Alex Stokes
5f19622f86
Add clarifying comment about where this index is coming from
2019-01-09 14:06:45 -06:00
Hsiao-Wei Wang
0b16430cf5
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 11:00:13 -06:00
Hsiao-Wei Wang
608ec2452c
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:56 -06:00
Hsiao-Wei Wang
83d54f6aa4
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:45 -06:00
Hsiao-Wei Wang
06c5c11cd5
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:31 -06:00
Hsiao-Wei Wang
35851b5303
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:20 -06:00
Vitalik Buterin
8f1325f95e
Fixed bugs found by Danny
2019-01-09 10:58:33 -06:00
Danny Ryan
1daab4659a
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:40:40 -06:00
Ben Edgington
994a42e6b1
Add getter to Vyper contract for Merkle branches
...
Returns the Merkle branch for the leaf at index `index`. This getter provides
an alternative way for beacon chain proposers to access the Merkle tree of
deposits rather than being Ethereum 1.0 light clients. The method can be
called on a trusted Ethereum 1.0 archive node at specific past block numbers
to retrieve the Merkle branch needed to register a validator.
2019-01-08 20:42:19 +00:00
Ben Edgington
61f7e37eff
Replace numeric constant with symbolic in Vyper contract
...
Vyper v0.1.0-beta.6 supports ranges with symbolic constants.
2019-01-08 19:42:22 +00:00
Danny Ryan
9dfc459849
Merge pull request #406 from terenc3t/patch-29
...
inclusion_slot and inclusion_distance in its own section
2019-01-08 10:49:14 -07:00
Danny Ryan
197b88df92
Merge pull request #404 from akhila-raju/patch-2
...
Removes naming conflict in get_shuffling.
2019-01-08 09:57:56 -07:00
Danny Ryan
609082c1af
change slot_num to slot_position
2019-01-08 09:57:15 -07:00
Danny Ryan
78ee210d56
fix seed xor in get_shuffling using bytes32
2019-01-08 09:51:12 -07:00
Danny Ryan
fff0989b8c
fix call to hash (from Hash32)
2019-01-08 09:35:51 -07:00
Danny Ryan
f6453a7455
Merge branch 'master' into JustinDrake-patch-1
2019-01-08 10:09:30 -06:00
Danny Ryan
9f87511632
Merge pull request #372 from terenc3t/patch-25
...
Rewording Validator Registry Precondition
2019-01-08 08:43:59 -07:00
Vitalik Buterin
b66218a264
Initial commit
2019-01-07 18:53:33 -06:00
terence tsao
4dab5fc72c
Update 0_beacon-chain.md
2019-01-07 15:55:05 -08:00
Akhila Raju
b78458bbb2
Removes naming conflict in get_shuffling.
...
The variable name 'slot' in the for-loop in 'get_shuffling' conflicts with the get_shuffling argument name 'slot'. Renames 'slot' in for-loop to 'slot_num'.
2019-01-07 13:06:44 -05:00
Danny Ryan
14e14ce576
Merge pull request #397 from ralexstokes/fix-merkle-bug
...
Fixes bug with Merkle proof branch selection
2019-01-07 09:45:42 -07:00
Hsiao-Wei Wang
e772c4da6f
Merge branch 'master' into rename_pow_to_deposit
2019-01-07 14:02:11 +08:00
Alex Stokes
c69fa9a793
Fixes typo in `sorted` function.
...
In keeping with the rest of the code in this document we adhere to valid Python
where possible.
The custom comparator keyword argument for `sorted` is `key` so this commit
updates its usage when sorting validators by exit order.
2019-01-06 17:41:11 -06:00
Danny Ryan
fd2cc6956f
Merge branch 'master' into vbuterin-patch-19
2019-01-05 08:53:04 -07:00
Alex Stokes
a0e454d86c
Fixes bug with Merkle proof branch selection
...
This code determines the order in which the next branch element and the
current value should be hashed to produce the parent node in the Merkle tree.
The existing code fails to verify branches constructed in the standard way.
This patch fixes the spec code so that it works properly by using an appropriate
parity calculation.
Example code here to illustrate it working:
https://gist.github.com/ralexstokes/9d82e188bd3286ff74a1fa1dcb5068e0
2019-01-04 09:48:50 -06:00
vbuterin
c24f907088
Put back spaces
2019-01-04 09:22:59 -06:00
Hsiao-Wei Wang
88de4e35f2
Merge pull request #395 from terenc3t/patch-28
...
Get shard_block_root from crosslink
2019-01-04 16:04:43 +08:00
Hsiao-Wei Wang
fa08e240c8
Merge branch 'master' into HEAD
2019-01-04 15:55:03 +08:00
Hsiao-Wei Wang
61b2b6392c
bugfix and rename
...
Use `deposit_root_vote` for `DepositRootVote` object and `deposit_root` for the
deposit root hash.
2019-01-04 15:54:48 +08:00
Danny Ryan
36231e698a
Apply suggestions from code review
...
Co-Authored-By: hwwhww <hwwang156@gmail.com>
2019-01-04 15:54:35 +08:00
Danny Ryan
d360330f83
Merge pull request #394 from ralexstokes/fix-update-validator-registry-fn
...
Remove dangling `return` statement from spec function
2019-01-03 21:46:34 -07:00
Danny Ryan
a84dd398e4
Merge pull request #392 from ralexstokes/fix-units-ejection-balance
...
Fix a type error with units of wei when determining ejection balance.
2019-01-03 21:44:08 -07:00
Danny Ryan
d5e6d84269
Merge pull request #391 from ralexstokes/typo/hash-slot
...
Change "justified hash" to "justified slot"
2019-01-03 21:43:12 -07:00
terence tsao
97bd04607c
Update 0_beacon-chain.md
2019-01-03 19:40:03 -08:00
terence tsao
c0140d72ee
Update 0_beacon-chain.md
2019-01-03 18:23:23 -08:00
vbuterin
a5b1f2cc0a
Moved comment and changed conditional
2019-01-03 19:44:39 -06:00
vbuterin
3f4be7abb7
Fixed activation slot conditional.
2019-01-03 19:42:59 -06:00
Alex Stokes
19a9582a48
Remove dangling `return` statement from spec function
...
This function declares that it returns `None` and instead directly mutates the
state.
There is a dangling return statement that this commit deletes.
2019-01-03 19:42:07 -06:00
Alex Stokes
9a83ad7b9b
Fix a type error with units of wei when determining ejection balance.
...
`EJECTION_BALANCE` is in units of ETH.
`state.validator_balances[index]` is in units of Gwei.
For the ejection computation to work as desired, we need to convert the
`EJECTION_BALANCE` constant from ETH to Gwei.
2019-01-03 14:28:36 -06:00
Alex Stokes
457f84fa64
Change "justified hash" to "justified slot"
...
There should be a correspondence here but referring to the slot is more
explicit, especially for those who are not as familiar with the
details of FFG finalization.
2019-01-03 12:06:44 -06:00
Hsiao-Wei Wang
f92735454e
Fix `verify_slashable_vote_data`
...
The first field of `AttestationDataAndCustodyBit` should be an `AttestationData` object, not an `SlashableVoteData` object.
2019-01-03 16:19:54 +08:00
Hsiao-Wei Wang
b614595fbe
Merge branch 'master' into vbuterin-patch-19
2019-01-03 00:26:31 +08:00
Hsiao-Wei Wang
af8ed89170
Merge branch 'master' into rename_pow_to_deposit
2019-01-03 00:10:18 +08:00
Hsiao-Wei Wang
78e73633bc
Merge pull request #382 from ethereum/remove_shard_reassignment_record
...
Remove `ShardReassignmentRecord`
2019-01-02 23:48:04 +08:00
Hsiao-Wei Wang
dcaf510213
Merge branch 'master' into rename_pow_to_deposit
2019-01-02 23:44:12 +08:00
Justin
3efe1b3b6c
Update 0_beacon-chain.md
2019-01-02 15:21:22 +00:00
Justin
429e5721f2
RANDAO hash chain and no stale shuffles
...
* Make RANDAO into a hash chain (this makes it easy for applications to prove the intermediate RANDAO reveals).
* Include `state.slot` when shuffle to avoid stale shuffles with skip slots
2019-01-02 14:20:01 +00:00
Justin
93b18d5160
Fix typo
2019-01-02 13:51:57 +00:00
Justin
696bf23b5e
Remove returned value for process_deposit
...
Also trim trailing whitespace
2019-01-02 13:41:32 +00:00
Justin
7d240946a9
Update 0_beacon-chain.md
...
* Cleanup comments related to custody
* Rename "Miscellaneous" to "Custody" in the table of contents
* Use `INITIAL_SLOT_NUMBER` instead of `0` for initial custody slots
* (typo) Fix `second_latest_custody_reseed_slot` => `penultimate_custody_reseed_slot`
2019-01-02 13:35:57 +00:00
Justin
9a90803f5c
Update 0_beacon-chain.md
...
* `processed_deposit_root` => `latest_deposit_root`
* `receipt_root` => `deposit_root`
* `receipt_tree` => `deposit_tree`
* Emphasize that deposits are Ethereum 1.0 deposits in text in various places
* `Eth1Deposit` => `Deposit` for consistency (Also happy sticking with `Eth1Deposit` and replacing `deposit_` with `eth1_deposit_` everywhere. This may be unnecessary since Ethereum 2.0 deposits can be distinguished with the `shard_` prefix, e.g. `ShardDeposit` and `shard_deposit`.)
* Clarify `withdrawal_credentials`.
* Clarify that multiple Ethereum 1.0 blocks can have the same deposit root.
2019-01-02 13:18:35 +00:00
Hsiao-Wei Wang
3dbee05aa6
Rename `pow_receipt_` to `deposit_`
2019-01-02 18:27:09 +08:00
Hsiao-Wei Wang
35adc9c61a
Remove `ShardReassignmentRecord`
2019-01-02 15:31:57 +08:00
Hsiao-Wei Wang
0d9ecce344
Rename `poc_` to `custody`
2019-01-02 15:16:55 +08:00
vbuterin
2105614059
Bunch of fixes
2019-01-01 22:37:43 -06:00
vbuterin
fdb1b6775d
Removed extraneous variable setting
2018-12-31 14:08:59 -06:00
Justin
fd295eb539
Merge branch 'master' into vbuterin-patch-19
2018-12-31 15:17:00 +00:00
Justin
d36b403c2e
Cleanups and fixes
...
Cleanups
* (typo) Remove `get_new_validator_registry_delta_chain_tip` from table of contents
* (typo) Update "Routines for updating validator status" in table of contents
* Update `FAR_FUTURE_SLOT` from `2**63` to `2**64 - 1`
* Put more constants in "Initial values", homogenise
* Cleanup note formatting
* Remove `ZERO_BALANCE_VALIDATOR_TTL` logic (to be possibly reintroduced in phase 2).
* Cleanup `min_empty_validator_index`
* Rename `deposit` to `amount` in `process_deposit` and `DepositData`.
* (typo) Remove new line under `process_penalties_and_exits`
* (typo) "Status codes" => "Status flags" in the table of contents
* (typo) `(state.slot - EPOCH_LENGTH) % LATEST_RANDAO_MIXES_LENGTH` => Use `SEED_LOOKAHEAD` instead.
* Put `state.validator_registry_latest_change_slot = state.slot` in `update_validator_registry`.
* Use `GENESIS_SLOT` for `last_poc_change_slot=0` and `second_last_poc_change_slot=0`.
Bugfixes
* (typo) `validator_exit` => `exit.validator_index`
* Separate initial deposits and initial activations to avoid double activations
* Replace `proposer.status != EXITED_WITH_PENALTY` with `validator.penalized_slot > state.slot` in two different places.
* Replace `status == EXITED_WITH_PENALTY` with `validator.penalized_slot <= state.slot` (and validator active) in two different places.
2018-12-31 15:14:14 +00:00
Danny Ryan
8f29bcdf08
Merge pull request #373 from ethereum/fix-slashing
...
fix slashing conditons
2018-12-31 07:57:51 -06:00
vbuterin
011970169c
Edited as per Justin's comments
2018-12-30 20:42:05 -06:00
terence tsao
c8ff723514
Update 0_beacon-chain.md
2018-12-30 16:06:33 -08:00
vbuterin
1a4973171f
Remove references to the persistent committees ( #376 )
...
* Remove references to the persistent committees
2018-12-30 23:46:32 +00:00
vbuterin
4a93374025
Fixed as per hww's comments
2018-12-30 09:15:23 -06:00
Hsiao-Wei Wang
14f49aaacb
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-29 13:47:10 -06:00
vbuterin
bd5b32ec5a
Initialize status_flags
2018-12-29 13:44:51 -06:00
vbuterin
85d001001c
Fixed seed lookahead
2018-12-28 12:08:19 -06:00
vbuterin
d9e897bbcb
Status code / slot reorganization
...
* Added `activation_slot`, `exit_slot`, `penalized_slot`, `withdrawal_slot`, use these to determine if a validator is active
* Universal min activation/exit delay of 256 slots
* Min exit time of ~1 day, but penalization delays this to ~18 days
* Penalty calculation period of `[time penalized - 18 days, time penalized + 18 days]`; made the total penalties array fixed size and wraparound to make calculation more fine-grained
* Processes withdrawals in all epochs, not just dynasty-changing epochs
* Change `get_shuffling` function to take slot as argument
Not yet done:
* Removed `shard_committees` from the state
* Removed persistent committees from the state
2018-12-28 12:04:03 -06:00
Danny Ryan
aa9bda271f
fix slashing conditons to be based upon epochs rather than slots
2018-12-28 11:10:12 -06:00
terence tsao
10a8ba2d9e
rewording for validator registry precondition
2018-12-28 09:04:00 -08:00
Hsiao-Wei Wang
6b84dae09e
Fix #361 : pass `poc_commitment` to `validate_proof_of_possession` ( #364 )
...
* Fix #361
2018-12-27 18:11:38 +00:00
terence tsao
44c389bfe3
crosslink rewards typo ( #367 )
2018-12-27 18:01:20 +00:00
Nishant Das
8c12896fa0
Cleanup merkle_root
...
Add docstring and fix spacing.
2018-12-27 17:58:24 +00:00
Hsiao-Wei Wang
2c9cefa6a7
`Use `current_` instead of `this_`
2018-12-26 15:48:20 +08:00
terence tsao
a2422de686
Potential bug for crosslinks?
2018-12-23 09:34:46 -08:00
vbuterin
4938481428
Added hash-and-bit data structure as per #286 ( #355 )
...
* Added hash-and-bit data structure as per #286
2018-12-23 10:48:11 +00:00
Hsiao-Wei Wang
985a3fe958
Merge pull request #351 from dangerousfood/vrc-con-update
...
Update VRC contract for Vyper v0.1.0-beta.6
2018-12-23 12:03:34 +08:00
Danny Ryan
f8652fa25b
Merge pull request #347 from ethereum/vbuterin-patch-15
...
Changes to inactivity leak
2018-12-22 07:13:41 -06:00
Danny Ryan
f84b7b5f31
Merge pull request #341 from ethereum/target-committee-size
...
change TARGET_COMMITTEE_SIZE to 128
2018-12-22 07:12:21 -06:00
Danny Ryan
a60ab53647
PR feedback
2018-12-22 07:11:58 -06:00
Danny Ryan
d0b5133912
Merge pull request #349 from ethereum/vbuterin-patch-17
...
Proof of custody placeholders
2018-12-22 07:08:18 -06:00
vbuterin
99817aeb0e
Typo fix: lastest -> last
2018-12-21 17:23:42 -05:00
Danny Ryan
6a73a056f0
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-21 17:22:42 -05:00
Joseph Delong
1068076822
update vrc cotnract for vyper v0.1.0-beta.6
2018-12-21 16:18:41 -06:00
Danny Ryan
fa8be783ad
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-21 17:12:38 -05:00
vbuterin
4f94f7579c
Moved notes to the end of the section to make Danny happy
2018-12-21 11:29:15 -05:00
vbuterin
5fc8f6cfca
Fixed deposit inclusion and positioning of state variables
2018-12-21 11:26:40 -05:00
Justin
c8efdc7431
Add placeholder array in state for VDFs
...
Added `latest_vdf_outputs` in `state` initialised to an array of `ZERO_HASH` of length `LATEST_RANDAO_MIXES_LENGTH // EPOCH_LENGTH`. (There's one VDF output per epoch. The VDF input is the RANDAO mix at the epoch boundary.)
Further changes to activate VDFs (in a future phase):
* Add a new beacon "VDF output and proof" transaction, e.g. with `MAX_VDF_OUTPUT_AND_PROOF := 1`.
* Adjust the `MAX_SEED_LOOKAHEAD` constant, e.g. to `2**4 * EPOCH_LENGTH`. (The `2**4` parameter is essentially `A_max`.)
* Add a `process_vdf_output_and_proof` helper function in the per-block processing:
* Verify the VDF input hasn't already been processed (check the corresponding `state.latest_vdf_outputs` entry is not `ZERO_HASH`.)
* Verify the proof is correct, i.e. matches the VDF input and output
* Save the VDF output to `state.latest_vdf_outputs`
* In the per-epoch processing set the corresponding entry in `state.latest_vdf_outputs` to `ZERO_HASH`.
* Use a VDF output for the shuffling seed.
2018-12-21 15:26:13 +00:00
Hsiao-Wei Wang
6667edb015
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-21 09:08:01 -05:00
vbuterin
6eb4e59b8c
slots -> epochs
2018-12-21 09:07:04 -05:00
vbuterin
8e30f1b63e
Set zero balance TTL back to 2**22
2018-12-21 09:06:30 -05:00
Hsiao-Wei Wang
1d1db908e2
Fix grammar
2018-12-21 16:43:59 +08:00
Hsiao-Wei Wang
ac0b8aac07
Add initial setting of proof of custody placeholders
2018-12-21 16:41:48 +08:00
vbuterin
985c8a2c30
Proof of custody placeholders
...
Replacing #145
2018-12-20 16:01:00 -05:00
vbuterin
ac5db1da8d
Doubled sqrt e drop time.
2018-12-20 12:51:34 -05:00
vbuterin
53dd49167b
Changes to inactivity leak
...
* Fixes parameters and makes clear that the inactivity leak is on a per-epoch basis (before the leak was technically 64 times too weak as it was calculated per-slot but applied per-epoch)
* Adds a `// 2` to the inactivity leak to compensate for it being applied twice
* Changes how it is calculated (no inactivity leak for not being part of the head, only basic leak)
* Separates out early inclusion incentives into a separate incentive component rather than being multiplicative with everything else
2018-12-20 12:41:17 -05:00
Danny Ryan
eaab06f2dd
Merge pull request #298 from ethereum/update_vyper_contract
...
deposit contract: reduce on-chain computation
2018-12-20 09:24:32 -06:00
terence tsao
96633781fb
simplify total_attesting_balance
2018-12-20 06:37:03 -08:00
Danny Ryan
e780be349e
Merge pull request #345 from ChihChengLiang/patch-2
...
Fix typo in get_new_shuffling
2018-12-20 07:52:30 -06:00
Danny Ryan
c90ab16701
Merge pull request #340 from ethereum/vbuterin-patch-15
...
Remove MIN_VALIDATOR_REGISTRY_CHANGE_INTERVAL
2018-12-20 07:51:58 -06:00
Chih Cheng Liang
d3cdd3fcc0
Fix typo in get_new_shuffling
2018-12-20 19:36:35 +08:00
terence tsao
c177ce23b3
typo on attesting_validator?
2018-12-19 21:56:43 -08:00
Akhila Raju
bf753a6120
Remove line repeat in initiate_validator_exit
2018-12-19 19:56:26 -06:00
Akhila Raju
09e31acda5
Remove line repeat in activate_validator
2018-12-19 19:53:28 -06:00
Danny Ryan
0809ca0d62
fix 'CYCLE_LENGTH' -> 'EPOCH_LENGTH'
2018-12-19 19:35:55 -06:00
Danny Ryan
55ac9ac313
change TARGET_COMMITTEE_SIZE to 128
2018-12-19 15:09:17 -06:00
vbuterin
56bc4412bc
Remove MIN_VALIDATOR_REGISTRY_CHANGE_INTERVAL
...
Slight simplification. Only substantive change is that if the validator registry stays constant, we don't reshuffle 3 epochs after the last reshuffling (ie. before the reshufflings happened after 1, 2, 3, 4, 8, 16... epochs, now it's just 1, 2, 4, 8, 16...)
2018-12-19 14:09:50 -05:00
Hsiao-Wei Wang
9b9114fac2
Merge branch 'master' into update_vyper_contract
2018-12-19 23:39:59 +08:00
Danny Ryan
105e669391
Merge pull request #327 from ethereum/vbuterin-patch-18
...
Keep randao mixes in the state
2018-12-19 09:03:25 -06:00
Anirudha Bose
257c83cc23
Fix typos in the beacon chain spec
2018-12-19 12:47:37 +01:00
Danny Ryan
36e26c86a3
fix assert conditions in get_block_hash
2018-12-18 12:53:48 -06:00
Danny Ryan
0de7240452
Merge branch 'master' into vbuterin-patch-18
2018-12-18 12:50:06 -06:00
Danny Ryan
20006c674b
Merge branch 'master' into hwwhww-patch-2
2018-12-18 12:45:50 -06:00
Danny Ryan
8548f03d5a
Merge pull request #317 from ethereum/vbuterin-patch-15
...
Put validator balances into a separate list in the state
2018-12-18 12:41:10 -06:00
Danny Ryan
f7afd679da
fix comment
2018-12-18 12:37:25 -06:00
Danny Ryan
5943fd507f
fix remaining index error
2018-12-18 12:27:33 -06:00
Hsiao-Wei Wang
bb1559a86f
PR feedback
2018-12-19 01:19:47 +08:00
Danny Ryan
0bf1acc1eb
Merge pull request #333 from burnburn/casper_ref
...
Make Casper ref normative
2018-12-18 10:05:52 -06:00
Danny Ryan
8bf1a542fe
Merge pull request #288 from ethereum/prev-balance-note
...
per-epoch Balance difference consensus safety note
2018-12-18 08:52:00 -06:00
Dan Burnett
5a0d8c8f42
move to Informative
2018-12-18 09:41:59 -05:00
Hsiao-Wei Wang
49f3746dc7
fix
2018-12-18 18:58:59 +08:00
vbuterin
2611180119
Fixes as per Danny's comments
2018-12-18 05:33:03 -05:00
Hsiao-Wei Wang
edf335ebf0
Fix on startup functions
2018-12-18 11:58:28 +08:00
Dan Burnett
cc4e066029
formatting change
2018-12-17 15:19:58 -05:00
Dan Burnett
d505aa28fe
make Casper FFG normative
2018-12-17 15:15:37 -05:00
vbuterin
cc5cef52cb
Separated block roots and randao mixes length, and fixed per-slot randao updates
2018-12-17 14:04:04 -05:00
Danny Ryan
49ce718cc2
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:42 -05:00
Danny Ryan
e16c98b854
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:35 -05:00
Danny Ryan
eee26d7b69
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:17 -05:00
Danny Ryan
9c620d3853
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:04 -05:00
vbuterin
7f66f06871
Fixed one more outdated-style balance query
2018-12-17 10:43:05 -05:00
vbuterin
2fa7d254dd
Merge branch 'master' into vbuterin-patch-15
2018-12-17 10:41:23 -05:00
Danny Ryan
2c48bab3d8
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 10:40:41 -05:00
Danny Ryan
110fe75a70
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 10:40:31 -05:00
Danny Ryan
fbabeff838
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 10:40:21 -05:00
vbuterin
b402a7c1d6
Made a function multiline
2018-12-17 09:12:51 -05:00
Danny Ryan
eccfc912b5
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 09:11:39 -05:00
vbuterin
c0d65cc334
Changed get_effective_balance definition to use state+index
2018-12-17 09:10:44 -05:00
Danny Ryan
e9f986971e
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 09:08:13 -05:00
vbuterin
365437d4c2
Forgot to update randao mixes in one place
2018-12-17 04:46:28 -05:00
vbuterin
d1aa3b4cd6
Editing randao_mixes in place instead of as a queue
...
Saves having to re-Merkelize an entire 8192-item list every block.
2018-12-17 04:44:49 -05:00
vbuterin
416bbf9cea
Edit latest_block_roots in place instead of as a queue
...
Faster editing that way; otherwise every block will require completely reconstructing a 8192-sized Merkle tree.
2018-12-17 04:40:27 -05:00
vbuterin
4aa6e4de7b
Merge pull request #328 from ethereum/vbuterin-patch-19
...
Remove clamp
2018-12-17 04:17:02 -05:00
vbuterin
3725dd5cb1
Merge pull request #316 from ethereum/vbuterin-patch-13
...
Edit BLS spec as per issue #300
2018-12-16 04:06:57 -05:00
vbuterin
9e6c1a6244
Remove clamp
...
Removed the use of `clamp` from the spec, as there's no point in a helper function that's used exactly once; it only increases the amount people have to jump around the spec to understand what's going on.
2018-12-15 06:44:18 -05:00
vbuterin
425f7d51c9
Keep randao mixes in the state
...
Response to #295
Also a simplification, as two special cases get replaced: `state.randao_mix` -> `state.latest_randao_mixes[-1]`, and `state.next_seed` -> `state.latest_randao_mixes[-CYCLE_LENGTH-1]`.
2018-12-15 05:10:31 -05:00
Danny Ryan
62b95fbe33
fix process_deposit function signature
2018-12-14 15:21:32 -06:00
Danny Ryan
179352dbfe
remove ProofOfPossessionData
2018-12-14 15:20:21 -06:00
Danny Ryan
7b4c4f299d
add bls_aggregate_pubkeys ref in beacon chain spec
2018-12-14 09:39:14 -06:00
Danny Ryan
c448db46ea
Merge pull request #315 from ethereum/more-ssz-objects
...
More ssz objects pt 1
2018-12-14 09:30:19 -06:00
Danny Ryan
221874efcb
pr feedback
2018-12-14 09:29:49 -06:00
Danny Ryan
68a76ba727
Merge pull request #313 from ethereum/slashable-functions
...
Cleanup casper slashing
2018-12-14 08:58:01 -06:00
vbuterin
c43724132b
Clarify block hash -> block root
2018-12-13 23:01:32 -05:00
vbuterin
964395c362
Some bugfixes
2018-12-13 19:40:00 -05:00
vbuterin
2b9a0e999c
Separate validator balances
2018-12-13 19:28:59 -05:00
Danny Ryan
96aade9a2c
add proofofpossessiondata ssz object
2018-12-13 14:03:22 -06:00
Danny Ryan
f30d404856
add ValidatorRegistryDeltaBlock ssz object
2018-12-13 13:50:50 -06:00
Danny Ryan
9e74043a17
move ejectiosn to per-epoch. fix a couple bugs in validator status change functions ( #314 )
2018-12-13 19:45:08 +00:00
Danny Ryan
cd9e7ecaeb
minor fix
2018-12-13 12:18:29 -06:00
Danny Ryan
697d3c5eb5
add doc string for new slashing helper funtions
2018-12-13 12:17:39 -06:00
Danny Ryan
7c833fafc5
clean up casper slashing with helper functions etc
2018-12-13 12:09:39 -06:00
Raul Jordan
923df80b03
replace shard_block_hash with shard_block_root
2018-12-13 11:26:10 -06:00
terence tsao
9170efee1b
removed old comments
2018-12-13 08:27:22 -08:00
Hsiao-Wei Wang
1ea887c964
Deposits: define `DepositData` and rename `DepositParameters` to `DepositInput` ( #310 )
2018-12-13 15:36:57 +00:00
terence tsao
ddb91adecf
quick fix on typo
2018-12-13 06:51:47 -08:00
Gregory Markou
b554204688
clarified language around start_up ( #303 )
2018-12-13 13:08:51 +00:00
Justin
6b6a04c884
Bugfix (missing `state.`)
2018-12-13 10:03:50 +00:00
Hsiao-Wei Wang
c1a3b29145
Fix `verify_slashable_vote_data`: use `get_domain` ( #306 )
2018-12-13 09:55:37 +00:00
Hsiao-Wei Wang
6fa12f6603
Merge pull request #301 from ethereum/vote_rename
...
Some renames about vote and fix `verify_slashable_vote_data` (`verify_casper_votes`)
2018-12-13 13:58:10 +08:00
Hsiao-Wei Wang
d5a5e1815c
Rename `LATEST_BLOCK_ROOT_COUNT` -> `LATEST_BLOCK_ROOTS_LENGTH`
2018-12-13 13:55:34 +08:00
Hsiao-Wei Wang
9eeb863ec6
Refactor `verify_slashable_vote_data`
2018-12-13 03:11:53 +08:00
Hsiao-Wei Wang
ab7549e52e
Move `verify_slashable_vote_data` to the last verification of Casper slashings
2018-12-13 03:04:10 +08:00
Hsiao-Wei Wang
d2fda68ccb
Fix ToC
2018-12-13 03:00:53 +08:00
Hsiao-Wei Wang
4aa6ec4468
Update `CasperSlashing` and `verify_casper_votes`
...
1. Rename `verify_casper_votes` -> `verify_slashable_vote_data`
2. Rename `CasperSlashing.votes_1` -> `CasperSlashing.slashable_vote_data_1`
3. Rename `CasperSlashing.votes_2` -> `CasperSlashing.slashable_vote_data_2`
4. Fix `verify_slashable_vote_data` `(verify_casper_votes)`
2018-12-13 02:55:28 +08:00
Hsiao-Wei Wang
ae5221c4f8
Move BLS verification to later step
2018-12-13 02:11:47 +08:00
Hsiao-Wei Wang
ac3ffb3df6
`LATEST_BLOCK_ROOTS_COUNT` -> `LATEST_BLOCK_ROOT_COUNT`
2018-12-13 02:08:37 +08:00
Hsiao-Wei Wang
81c6b561fc
`CandidatePoWReceiptRootRecord.votes` -> `CandidatePoWReceiptRootRecord.vote_count`
2018-12-13 02:07:12 +08:00
Danny Ryan
cc34097fba
fix genesis
2018-12-12 11:51:42 -06:00
Hsiao-Wei Wang
130e45ee39
Reduce on-chain computation
2018-12-13 01:39:34 +08:00
Hsiao-Wei Wang
92b9253ecb
Fix ToC
2018-12-13 01:35:11 +08:00
terence tsao
3b0fe25c14
multiply GWEI_PER_ETH
2018-12-12 09:29:26 -08:00
Hsiao-Wei Wang
4c3c8510d4
Fix 'validator_index': 'uint64' -> 'uint24'
2018-12-13 01:09:56 +08:00
Danny Ryan
acd83973fb
bold note
2018-12-12 10:02:49 -06:00
Danny Ryan
70a577a786
Merge branch 'master' into prev-balance-note
2018-12-12 10:01:14 -06:00
Danny Ryan
10fa84b057
rename base_inactivity_penalty to inactivity_penalty
2018-12-12 09:28:47 -06:00
Danny Ryan
541f33094f
move rewards helpers to rewrds and penalties section
2018-12-12 09:14:44 -06:00
Danny Ryan
bc60576d3c
rework rewards sections as per PR feedback
2018-12-12 09:07:44 -06:00
Justin
19b0421d4d
Merge branch 'master' into fix-rewards
2018-12-12 13:11:10 +00:00
vbuterin
6b5479cac9
Moved ancestor hashes to state, changed to batched accumulator ( #269 )
...
* Replaced ancestors hashes in blocks with the previous block root
* Add a block root batched accumulator
* Cleanup processing presentation
2018-12-12 13:02:50 +00:00
Chih Cheng Liang
21da07b4f7
typo ( #294 )
2018-12-12 10:30:58 +00:00
Danny Ryan
e2714b3344
add bls_verify_multiple def to phase 0 spec ( #292 )
2018-12-11 21:18:30 +00:00
Danny Ryan
726ed97eb2
Merge branch 'rename_tree_roots' of https://github.com/terenc3t/eth2.0-specs into terenc3t-rename_tree_roots
2018-12-11 14:54:30 -06:00
Terence Tsao
3f31eecb18
fixed typo & s/winning_hash/winning_root/
2018-12-11 12:50:20 -08:00
Terence Tsao
a13997d738
updated rest of the fields except ancestor_hashes
2018-12-11 12:38:32 -08:00
Justin
9f8ae361f9
Rename `BLSVerify` to `bls_verify` and put `hash` in helpers
2018-12-11 20:30:28 +00:00
Danny Ryan
032007ad17
add organization to previous epoch attester helpers
2018-12-11 13:40:00 -06:00
Danny Ryan
5e84a53ff1
base_reward is 1/4 of total reward val can earn per cycle
2018-12-11 13:32:27 -06:00
Danny Ryan
42364fe7b1
add granular reward for the four different parts of attestation
2018-12-11 13:22:17 -06:00
Terence Tsao
e0e2fed1b5
rename hash tree roots as root
2018-12-11 09:53:56 -08:00
Danny Ryan
83224c320a
small edit to language
2018-12-11 11:16:24 -06:00
Danny Ryan
befc349878
add balance diff consensus safety note
2018-12-11 11:14:42 -06:00
Danny Ryan
e8d8b03089
note the vyper version the contract is expected to be compiled with ( #287 )
2018-12-11 16:29:09 +00:00
Danny Ryan
084880511d
Merge pull request #280 from ethereum/validator-status
...
validator status cleanup
2018-12-11 10:14:02 -06:00
Danny Ryan
5734b25fb1
rename bls verification spec ref
2018-12-11 10:13:31 -06:00
Danny Ryan
c462f563b1
use Deposit object for processing intiial deposits
2018-12-11 10:02:59 -06:00
Danny Ryan
1e3f518f02
pr feedback
2018-12-11 09:49:50 -06:00
Danny Ryan
e64bfb289c
Merge pull request #282 from ethereum/ssztreehash-cleanup
...
cleanup refs to SSZTreeHash
2018-12-11 09:17:57 -06:00
vbuterin
47dc3eb48b
Updated winning_hash description ( #283 )
2018-12-11 13:25:21 +00:00
Danny Ryan
6fccd9f793
cleanup a few more hash refs to ssztreehash
2018-12-10 17:08:04 -06:00
Danny Ryan
fa685abc47
add ref to ssztreehash spec. cleanup where ssztreehash should be used
2018-12-10 16:58:36 -06:00
Danny Ryan
ae33eec081
Merge branch 'master' into validator-status
2018-12-10 16:43:35 -06:00
Danny Ryan
e77bf04711
remove direct calls to exit_validator
2018-12-10 16:42:28 -06:00
Danny Ryan
70765a205e
fix toc
2018-12-10 16:30:25 -06:00
Danny Ryan
0c281c8113
local var i -> index
2018-12-10 16:17:42 -06:00
Danny Ryan
03901ffe65
cleanups
2018-12-10 16:14:08 -06:00
Danny Ryan
9cff4ae653
fix exit conditions
2018-12-10 15:56:22 -06:00
Danny Ryan
6f058c2756
begin validator status cleanup
2018-12-10 15:16:06 -06:00
Jacek Sieka
2facc754cc
attestations: avoid unsigned underflow (eth2.0-specs/issues/#224)
...
* and some nitpicks
2018-12-10 14:38:32 -06:00
Jacek Sieka
44ac70e7fe
remove trailing whitespace ( #278 )
2018-12-10 19:55:11 +00:00
Justin
03c014d0e3
Update 0_beacon-chain.md
2018-12-10 11:22:42 +00:00
Justin
0afafe1c76
Merge branch 'master' into JustinDrake-patch-8
2018-12-10 10:11:41 +00:00
Danny Ryan
de32e25bfc
fix initial initial persistent_committees ( #258 )
...
* fix initial persistent_committees
* initial persistent commmitees from active validator indices
2018-12-09 14:47:30 +00:00
Danny Ryan
685a1be651
Merge pull request #252 from ethereum/remove-specials
...
new block format pt2 -- remove specials
2018-12-09 08:33:46 -06:00
Danny Ryan
cc476db8c9
address pr ffeedback
2018-12-09 08:33:12 -06:00
Hsiao-Wei Wang
c897dd99c2
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2018-12-09 08:25:34 -06:00
vbuterin
70836ecd1c
Clarify why it's called INVERSE_SQRT_E_DROP_TIME ( #261 )
...
* (cleanup) Rename `SQRT_E_DROP_TIME` to `INVERSE_SQRT_E_DROP_TIME` to reflect `1/sqrt(e)`
* (cleanup) Justify why it's called INVERSE_SQRT_E_DROP_TIME
* (cleanup) Polish and simplify presentation
* (bug fix) Fixed 2**34 value
* (bug fix) Replace epochs with slots to make the calculations work
2018-12-09 13:08:11 +00:00
Hsiao-Wei Wang
e04378c38c
bytes32(pubkey) -> bytes48(pubkey) ( #265 )
2018-12-09 12:33:13 +00:00
Justin
2ed18bfa1f
Casper cleanups and bug fixes
...
* (cleanup) `SpecialAttestationData` => `CasperVotes`
* (cleanup) `vote_1`, `vote_2` => `votes_1`, `votes_2`
* (bug fix) Place a bound on the number of votes with `MAX_CASPER_VOTES`
* (bug fix) Supply `state` when calling `verify_casper_votes`
2018-12-07 20:09:49 +00:00
Danny Ryan
e2eedabed2
Merge pull request #254 from mkalinin/fix-boundary_attesting_balance-2
...
Fix epoch_boundary_attesting_balance calculation
2018-12-07 13:00:38 -06:00
Danny Ryan
a0e226c957
remove record from operation types
2018-12-07 12:51:15 -06:00
Danny Ryan
74ac7e6ee1
PR feedback
2018-12-07 12:43:11 -06:00
Chih Cheng Liang
357cb72d7a
fix broken md ( #257 )
2018-12-07 16:16:09 +00:00
Danny Ryan
dc4bbfedab
clarify header
2018-12-07 09:18:06 -06:00
Danny Ryan
c4acafdb58
change block objects to operations
2018-12-07 09:15:55 -06:00
Danny Ryan
3a24fed194
fix toc'
2018-12-07 09:05:29 -06:00
Danny Ryan
d9abce4471
rename transactiosn to block objects
2018-12-07 09:04:16 -06:00
Danny Ryan
76e5b76dc2
Merge branch 'master' into remove-specials
2018-12-07 08:12:58 -06:00
Danny Ryan
9f64530aac
remove BeaconBlockHeader
2018-12-07 07:46:52 -06:00
Mikhail Kalinin
1a716609ba
Fix epoch_boundary_attesting_balance calculation
...
get_effective_balance accepts ValidatorRecord object as an input but it was called with validator index instead
2018-12-07 18:23:55 +06:00
Justin
2d8efe57c0
Bug fixes and cleanups around exit_validator
...
Cleanups
* Use `state.slot` over `current_slot`.
* Specify `new_status`
* Segregate ejection processing
Bug fixes:
* Put ejections at the end of the per-slot processing (TODO: per-slot processing should come *after* per-epoch processing)
* Immediately exit ejections
* Include `ACTIVE_PENDING_EXIT` as an active state
* Renamed two `State` to `BeaconState`
2018-12-07 12:18:55 +00:00
Danny Ryan
35f8eccc1f
fix tox
2018-12-06 19:18:49 -06:00
Danny Ryan
57b86e3204
fix toc
2018-12-06 19:16:10 -06:00
Danny Ryan
bcb09a49a0
rework transactions data structure ordering
2018-12-06 19:13:19 -06:00
Danny Ryan
3ea04a28ca
fix table
2018-12-06 19:07:26 -06:00
Danny Ryan
80e224be8c
remove specials
2018-12-06 19:02:23 -06:00
Danny Ryan
40fd893fc1
remove extra field
2018-12-06 17:55:23 -06:00
Danny Ryan
d18ab07803
fix toc
2018-12-06 17:54:14 -06:00
Danny Ryan
7f542ca714
add beaconblockheader and body
2018-12-06 17:51:01 -06:00
Danny Ryan
15c11a46bd
consistency in multiplication of EPOCH_LENGTH formatting
2018-12-06 16:56:23 -06:00
Danny Ryan
332511b42b
simplify finality conditions
2018-12-06 16:51:29 -06:00
Danny Ryan
98430c7c68
address comments
2018-12-06 16:47:22 -06:00
Danny Ryan
ae1b64ccff
remove s helper
2018-12-06 16:38:40 -06:00
Danny Ryan
eb7715aa41
pr feedback
2018-12-06 16:12:33 -06:00
Danny Ryan
330b2449bf
pr feedback
2018-12-06 15:54:39 -06:00
Danny Ryan
5e058a15b8
remove 'slot_hash_block'
2018-12-06 10:41:50 -06:00
Danny Ryan
464ad63464
minor slot cleanups
2018-12-06 10:25:35 -06:00
Danny Ryan
3e1aad24b0
Merge branch 'master' into virtual-skip-block
2018-12-06 09:45:25 -06:00
Danny Ryan
c5eddd54f4
Merge branch 'master' into cleanup-validator-change
2018-12-06 09:42:24 -06:00
Danny Ryan
b8b2586c92
address review comments
2018-12-06 09:40:40 -06:00
Danny Ryan
f7e58dd82c
Merge branch 'master' into virtual-skip-block
2018-12-06 09:38:07 -06:00
Danny Ryan
8bc0254deb
add missing toc entry
2018-12-06 09:29:49 -06:00
Danny Ryan
7c25665d61
remove state.slot ref
2018-12-06 09:28:55 -06:00