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
0ee724a4ab
Merge pull request #356 from terenc3t/patch-22
...
updated SSZ implementation list
2018-12-23 12:04:31 +08: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
terence tsao
f21da324ef
updated SSZ implementation list
2018-12-22 15:13:54 -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
Hsiao-Wei Wang
e639f365a6
Merge pull request #344 from ethereum/hwwhww/chunk_size
...
phase1: Adjust `CHUNK_SIZE`
2018-12-21 11:04:36 +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
Hsiao-Wei Wang
e4e923fbba
Adjust `CHUNK_SIZE`
2018-12-20 14:36:33 +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
Vitalik Buterin
a9328157a8
Don't lexicographically sort
2018-12-19 13:48:04 -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
Danny Ryan
f4fa55842b
fix bls_signature toc
2018-12-17 08:48:06 -06: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
vbuterin
829911c0fd
Swapped order of aggregate and verify
2018-12-14 19:55:05 -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
7306851f0b
Merge branch 'master' into vbuterin-patch-13
2018-12-14 09:31:55 -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
vbuterin
add628d26b
Edit BLS spec as per issue #300
...
See https://github.com/ethereum/eth2.0-specs/issues/300
2018-12-13 19:06:07 -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
defe2668a0
Merge pull request #266 from ethereum/JustinDrake-patch-10
...
First pass cleanup of bls_verify.md
2018-12-11 10:38:21 -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