Commit Graph

658 Commits

Author SHA1 Message Date
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
Danny Ryan e64bfb289c
Merge pull request #282 from ethereum/ssztreehash-cleanup
cleanup refs to SSZTreeHash
2018-12-11 09:17:57 -06:00
Justin d1c20b862b
Update bls_verify.md 2018-12-11 14:02:34 +00:00
Justin a32af50513
Update bls_verify.md 2018-12-11 13:56:40 +00:00
Justin 23f7e9db62
Rename FQ2 to Fq2 and specify the G1 generator 2018-12-11 13:36:34 +00: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 37450e9a4d
Merge pull request #279 from status-im/attestation-unsigned
attestations: avoid unsigned underflow (eth2.0-specs/issues/#224)
2018-12-10 16:34:54 -06:00
Danny Ryan 70765a205e
fix toc 2018-12-10 16:30:25 -06:00
Danny Ryan 49f3cfebdf
add link to appendix A 2018-12-10 16:22:42 -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
Alex Stokes ed3611904d
update reference to hash function 2018-12-10 13:32:16 -08: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 411d347b6b
Update bls_verify.md 2018-12-10 14:30:36 +00:00
Justin 03c014d0e3
Update 0_beacon-chain.md 2018-12-10 11:22:42 +00:00
Justin c782725aa1
Update bls_verify.md 2018-12-10 10:43:42 +00:00
Justin 25cc1cf382
Address issues from reviewers 2018-12-10 10:34:36 +00:00
Justin 0afafe1c76
Merge branch 'master' into JustinDrake-patch-8 2018-12-10 10:11:41 +00:00
Nishant Das 88ef7b8186 typo (#270) 2018-12-10 08:28:11 +00:00
vbuterin d6cc826bb0
Some edits 2018-12-09 23:44:44 -05:00
Justin cd07ec126b
Update bls_verify.md 2018-12-09 14:51:15 +00:00
Justin 6079f70ebd
Update bls_verify.md 2018-12-09 14:49:16 +00:00
Justin 6c196fc411
Update bls_verify.md 2018-12-09 14:48:54 +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
Justin 0b8fa12289
Update bls_verify.md 2018-12-09 14:43:13 +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
Justin 24d3c9c33a
Update bls_verify.md 2018-12-09 14:30:48 +00: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
Justin 1b0b2f21cc
First pass cleanup of bls_verify.md
Misc cleanups:

* (typo) `highflag` => `highflag1`
* (typo) `lowflag = x = 0` => `lowflag == x == 0`
* Add structure and table of contents
* Describe more notation in words (e.g. `i`)
* Make sure flags are 1-bit
* Clarify and polish presentation

Example notation cleanups:

* `G1` => `id_G1` (to avoid confusing with the group G1)
* `field_modulus` => `q` (avoid using two names for same thing)
* `BLSVerify` => `bls_verify` (respect notation for functions in main document)
* `sig` => `signature` (avoid abbreviations as in main document)

TODO:

* Potentially describe `FQ2`, `b2`, `is_on_curve`, `multiply` in words
* Make the naming changes around `bls_verify` in the main document
* Fix any bugs introduced by the cleanup
2018-12-09 14:21:34 +00: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
vbuterin 238c0e10fe Added explicit "must be < q" phrasing to BLS description (#262) 2018-12-09 12:33:37 +00:00
Hsiao-Wei Wang e04378c38c bytes32(pubkey) -> bytes48(pubkey) (#265) 2018-12-09 12:33:13 +00:00
Chris Leishman eefaaf5ac3 Clarify TreeHash treatment of integers > 256bit
Also clarify treatment of hashes < 32bytes
2018-12-07 16:39:52 -08: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
Danny Ryan c0ca669bd0
cleanup validator registry change to merge before #234 2018-12-06 08:51:57 -06:00
Danny Ryan 91f83e3861
isolate some of the per-epoch changes from the other #234 2018-12-06 08:38:31 -06:00
terence tsao 0626061977
don't need slot num in get_active_validator_indices 2018-12-05 17:26:07 -08:00
Danny Ryan db65429cc8
rework to do virtual block transitions 2018-12-05 19:24:37 -06:00
Danny Ryan 22a77c331b
fix change_validators 2018-12-05 14:35:58 -06:00
Danny Ryan 1ccb1074c5
fix just/finality 2018-12-05 14:07:41 -06:00
Danny Ryan e894a2dc18
fix issues in justificaiton/finality 2018-12-05 13:55:56 -06:00
Danny Ryan 4e0b120fe3
Merge branch 'master' into JustinDrake-patch-3 2018-12-05 13:14:16 -06:00
Danny Ryan 59494d1774
add state root processing 2018-12-05 13:03:24 -06:00
Danny Ryan 3a677eefa9
minor cleanup 2018-12-05 12:49:45 -06:00
Danny Ryan cb871c3f0e
minor cleanups 2018-12-05 12:47:21 -06:00
Danny Ryan c154c65f14
cleanup calls to 'get_block_hash' 2018-12-05 12:42:16 -06:00
Danny Ryan 3bd56891c5
cleanup per slot processing 2018-12-05 12:40:08 -06:00
Justin eb26e10fae
Update 0_beacon-chain.md 2018-12-05 17:30:37 +00:00
Justin f956135763
Fix #237 (#238) 2018-12-05 17:17:17 +00:00
terence tsao 130b837975 Fix ZERO_BALANCE_VALIDATOR_TTL and move get_domain 2018-12-05 14:41:11 +00:00
Justin 20407c8dd1
Update 0_beacon-chain.md 2018-12-05 14:34:50 +00:00
Justin 2fc3f88795
Update 0_beacon-chain.md 2018-12-05 11:22:15 +00:00
Paul Hauner 2913dfa6fe Change `state.crosslinks` to `state.latest_crosslinks` (#236)
Change `state.crosslinks` to `state.latest_crosslinks` to match the `BeaconState` definition.
2018-12-05 09:03:09 +00:00
Justin 4c0841ec6a
Move to a per-slot state transition function
Initial pass for the migration from a per-block state transition function to a per-slot state transition function. More simplifications and cleanups can be made.
2018-12-04 21:28:31 +00:00
Justin a4722faf12
Handle activations and exits separately for balance churn (#230)
This change is to avoid deposits from fully consuming the allowable balance churn, preventing exits from being processed. And vice versa with deposits/exits swapped.

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