vbuterin
d1d1b73fb1
Simplify justification and finalization accounting logic
...
Much of the simplification is cosmetic. The following changes are substantive:
* Inactivity leak penalty specifically on missing the target, not both the target and the source
* Even outside of quadratic leak scenarios, slashing victims suffer offline penalties
2019-03-21 15:11:05 -05:00
Danny Ryan
f6da42ffb3
fix markdown issues
2019-03-21 10:04:20 -06:00
Danny Ryan
c99fe3fb38
Merge branch 'dev' into vbuterin-patch-3
2019-03-21 08:47:19 -06:00
Danny Ryan
fd6d80fcb6
remove get_split_offset from phase 1 doc
2019-03-21 08:24:26 -06:00
vbuterin
fdcfc91008
Add docstring into get_split_offset
2019-03-21 07:38:25 -05:00
Hsiao-Wei Wang
2215988415
Merge branch 'dev' into JustinDrake-patch-19
2019-03-20 21:59:40 +08:00
vbuterin
fff76749d2
Merge branch 'dev' into vbuterin-patch-3
2019-03-20 08:05:22 -04:00
Justin
833691b8af
Update 0_beacon-chain.md
2019-03-20 08:16:39 +00:00
Danny Ryan
a8e2b8cd1d
Merge branch 'dev' into vbuterin-patch-11
2019-03-19 16:06:33 -06:00
Danny Ryan
acd7fdd762
add a few voluntary exit tests
2019-03-19 16:00:27 -06:00
Danny Ryan
9d7c2b264e
Merge branch 'dev' into JustinDrake-patch-20
2019-03-19 15:06:36 -06:00
Danny Ryan
2afbd8a02d
Merge branch 'dev' into JustinDrake-patch-8
2019-03-19 14:44:25 -06:00
Justin
b664453a34
Update 0_beacon-chain.md
2019-03-19 20:43:05 +00:00
Danny Ryan
ef0b3d2948
Merge branch 'dev' into JustinDrake-patch-20
2019-03-19 14:26:38 -06:00
Danny Ryan
be13fa8ec3
Merge branch 'dev' into JustinDrake-patch-14
2019-03-19 14:20:12 -06:00
Danny Ryan
574fd8d63c
Merge branch 'dev' into JustinDrake-patch-18
2019-03-19 14:14:35 -06:00
Danny Ryan
23ef802da5
fix small bug in sytax
2019-03-19 13:25:34 -06:00
Danny Ryan
cf06cb59c3
Merge branch 'dev' into JustinDrake-patch-13
2019-03-19 12:40:58 -06:00
Danny Ryan
054a1e3126
Merge branch 'dev' into JustinDrake-patch-12
2019-03-19 12:25:50 -06:00
Danny Ryan
bdfc01cf93
Merge branch 'dev' into JustinDrake-patch-11
2019-03-19 12:13:42 -06:00
Danny Ryan
f7fab30772
minor adjustment to not repeat committe count calc
2019-03-19 11:40:24 -06:00
Danny Ryan
f5826e7f1c
small lint
2019-03-19 11:34:49 -06:00
Danny Ryan
c8e9073414
define get_split_offset and squash a couple of bugs
2019-03-19 11:24:36 -06:00
Danny Ryan
009563b2c3
fix a few bugs in testing compute_committee
2019-03-19 11:15:51 -06:00
Justin
b50e148642
Update 0_beacon-chain.md
2019-03-19 17:13:25 +00:00
Danny Ryan
0737494694
Merge branch 'dev' into vbuterin-patch-16
2019-03-19 11:04:11 -06:00
vbuterin
c5ee74d5e0
Justin fixes
2019-03-19 11:21:17 -05:00
vbuterin
db92235d9e
Removed some no-longer-necessary functions
2019-03-19 09:34:37 -05:00
vbuterin
dd39d25c86
Replace committee exponential backoff with max progress
...
Removes the mechanism that only rotates committees if blocks have been finalized and every shard has been crosslinked or at exponentially decreasing intervals, and replaces it with a rule that shard committees can only progress a maximum of 64 epochs at a time to preserve the invariant that maximum possible work required per epoch for a validator is O(1).
2019-03-19 09:32:06 -05:00
Justin
78f47f2069
Avoid underflow in voluntary exits
2019-03-19 12:23:17 +00:00
Justin
e91036cfc9
Update 0_beacon-chain.md
2019-03-19 11:12:50 +00:00
Justin
0c383ce4a1
Update 0_beacon-chain.md
2019-03-19 11:11:18 +00:00
Justin
2b454d57f1
Update 0_beacon-chain.md
2019-03-19 11:08:17 +00:00
Justin
dc4b652f72
Only slash active validators
...
This is to prevent a spam/DoS attack where validators with zero balance get "slashed" but no validator loses any balance.
2019-03-19 11:03:42 +00:00
Justin
0039613628
Simplify exit_validator
...
Minor cleanup
2019-03-18 19:08:41 +00:00
Justin
d25c18b320
Update 0_beacon-chain.md
2019-03-17 11:48:47 +00:00
Hsiao-Wei Wang
6b82f5e999
Set `GENESIS_FORK_VERSION` to a `bytes4` constant ( #792 )
...
* Set `GENESIS_FORK_VERSION` to a `bytes4` constant
* Update 0_beacon-chain.md
2019-03-17 11:33:42 +00:00
vbuterin
506fdf4042
Added FixedSizeList wrappers ( #777 )
...
* Added FixedSizeList wrappers
Requires corresponding changes to the spec pythonizer.
* FixedSizeList -> Vector
2019-03-17 11:33:19 +00:00
Sören Steiger
65162e0371
Update 0_beacon-chain.md ( #791 )
2019-03-16 20:56:10 +00:00
Sören Steiger
919b99e0ae
Add missing word ( #788 )
2019-03-16 12:46:45 +00:00
Justin
e5ff0d59ad
Update 0_beacon-chain.md
2019-03-16 11:23:41 +00:00
Sören Steiger
6b118d2398
Add trailing comma ( #789 )
2019-03-16 12:16:47 +08:00
Justin
709e0df39f
Update 0_beacon-chain.md
2019-03-15 13:54:33 +00:00
Justin
1236e8e1fa
Update 0_beacon-chain.md
2019-03-15 13:53:24 +00:00
Justin
4b461838d2
`GENESIS_EPOCH - 1` for `previous_shuffling_epoch` and `previous_justified_epoch`
...
See item 26 in #675 .
2019-03-15 13:32:24 +00:00
Justin
e912ed7fca
Include recently slashed churn in churn queue
...
Addresses #527 in combination with #784 .
2019-03-15 13:12:03 +00:00
Justin
4a8d748c55
Milder ejections
...
See item 22 in https://github.com/ethereum/eth2.0-specs/issues/675 . Also partially addresses https://github.com/ethereum/eth2.0-specs/issues/527 .
2019-03-15 13:05:46 +00:00
Justin
d8d653dd94
Update 0_beacon-chain.md
2019-03-15 12:51:46 +00:00
Justin
96ab535704
Simplify and cleanup process_attestation
...
Improve readability and testability (by avoiding untriggerable `assert`). Fix #753 .
2019-03-15 12:40:52 +00:00
Justin
58603f276e
Update 0_beacon-chain.md
2019-03-15 11:28:55 +00:00
Justin
dac43eb564
Simplify deposits
...
Fix #760
2019-03-15 11:18:06 +00:00
Justin
4a5ef98813
Move to SHA256
...
SHA256 is de facto blockchain standard. Standardisation of the hash function is a prerequisite for [full standardisation of BLS12-381 signatures](https://github.com/ethereum/eth2.0-specs/issues/605 ). Blockchain projects are likely to provide a cheap SHA256 opcods/precompile, and unlikely to provide a Keccak256 equivelent. (Even WASM-enabled blockchains are likely to provide a SHA256 opcode/precompile since WASM does *not* natively support optimised SHA256 CPU instructions.) With Ethereum 2.0 embracing SHA256 the wider industry is more likely to converge towards a unified cross-blockchain communication scheme via Merkle receipts.
There are no security blockers with SHA256 (see comments by Dan Boneh [here](https://github.com/ethereum/eth2.0-specs/issues/612#issuecomment-470452562 )).
2019-03-15 10:51:08 +00:00
Justin
68d1c74784
Update 0_beacon-chain.md
2019-03-15 09:45:20 +00:00
Justin
5d327b6364
Update 0_beacon-chain.md
2019-03-15 09:43:38 +00:00
Hsiao-Wei Wang
16123685af
Merge branch 'dev' into vbuterin-patch-3
2019-03-15 11:22:15 +08:00
vbuterin
24468de23b
Change get_shuffling to compute_committee
...
See #729 and #774
The behavior now is that the first committee will consist of `get_permuted_index(0..n-1)`, the second committee `get_permuted_index(n....2n-1)`, etc.
2019-03-14 20:28:44 -05:00
Justin
bbc5139115
Update 0_beacon-chain.md
...
Assuming `epoch % i` is a bug, and you meant `epoch + i`. @vbuterin
2019-03-14 19:01:32 +00:00
Justin
23d15f51a7
Update 0_beacon-chain.md
2019-03-14 18:57:17 +00:00
vbuterin
4442dfffb9
Fair proposer selection probability
...
Note that as a side effect, proposer selection becomes less predictable, but I don't feel like this is a large downside.
2019-03-13 21:42:49 -05:00
Alex Stokes
9774a3d581
Helper function returns correct type of `Gwei` instead of indices
2019-03-13 17:01:47 -07:00
Danny Ryan
e8a5cd0747
fix up for tests
2019-03-12 12:32:11 -06:00
Danny Ryan
6e04b2118c
Merge branch 'dev' into store-justified-root
2019-03-12 12:08:59 -06:00
Danny Ryan
acf0f76d60
Merge branch 'dev' into JustinDrake-patch-1
2019-03-12 11:48:05 -06:00
Danny Ryan
a68b050053
set fork values in genesis as bytes4
2019-03-12 11:35:59 -06:00
Danny Ryan
7b829227ee
Merge branch 'dev' into JustinDrake-patch-4
2019-03-12 11:28:33 -06:00
Danny Ryan
25f6647ef2
minor formatting
2019-03-12 11:07:20 -06:00
Danny Ryan
bdaba00a58
Merge branch 'dev' into JustinDrake-patch-7
2019-03-12 10:56:22 -06:00
Justin
0a349f8bdc
Update 0_beacon-chain.md
2019-03-12 15:58:31 +00:00
Hsiao-Wei Wang
0f120415b5
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-03-12 16:49:04 +01:00
Justin
d8a3048f2c
Update 0_beacon-chain.md
2019-03-12 12:36:09 +00:00
Justin
64ba3a3107
Epoch-based proposer slashing
...
See #675 item 25.
2019-03-12 12:24:37 +00:00
Justin
6c35934060
Update 0_beacon-chain.md
2019-03-12 10:34:24 +00:00
Justin
addf7b77ab
Update 0_beacon-chain.md
2019-03-12 10:26:34 +00:00
Justin
578bf02b6f
Update 0_beacon-chain.md
2019-03-12 10:17:34 +00:00
Justin
a7544864d5
Update 0_beacon-chain.md
2019-03-12 10:02:52 +00:00
vbuterin
4410a55c4d
Mandatory deposits
...
Resolves #675 point 5.
2019-03-11 23:30:08 -05:00
Danny Ryan
3916643ef6
only update justified epoch/root if changed
2019-03-11 18:23:17 -06:00
Justin
3459ea0838
Check proposer is not slashed
2019-03-11 22:07:34 +00:00
Danny Ryan
f06a3b82e7
cache current and previous justified root in state
2019-03-11 14:38:10 -06:00
Danny Ryan
bf6bdbb021
cleanup minor var errors
2019-03-11 12:38:11 -06:00
Danny Ryan
36efb4498f
Merge branch 'dev' into vbuterin-patch-3
2019-03-11 10:44:18 -06:00
Justin
0704297480
Update 0_beacon-chain.md
2019-03-11 17:28:39 +01:00
Danny Ryan
9c2d34d876
Merge branch 'dev' into min-time-to-exit
2019-03-11 09:45:39 -06:00
Danny Ryan
2c7c48a4e0
Merge pull request #751 from ethereum/JustinDrake-patch-8
...
Disallow duplicate voluntary exits
2019-03-11 09:09:53 -06:00
Justin
2d3d7e33b3
Weaken criterion for attestation inclusion
...
The invariant that `get_current_epoch(state) in [get_current_epoch(state), get_previous_epoch(state)]` is preserved, as well as symmetry/fairness across blocks.
2019-03-10 21:58:32 +01:00
Danny Ryan
641bfc2f2c
Merge pull request #744 from ethereum/empty-attestation-bug
...
minor execution bugs
2019-03-10 08:26:21 -06:00
Justin
d425ea26e2
Update 0_beacon-chain.md
2019-03-10 13:50:28 +01:00
Justin
b7376aea5c
Disallow duplicate voluntary exits
...
Stricter processing of voluntary exits to remove an edge case
2019-03-10 13:49:37 +01:00
Justin
02428ec252
Do not check withdrawal credentials for existing validators
...
We should not invalidate blocks that contain a deposit with an inconsistent withdrawal credential as that would stall the chain.
2019-03-10 13:25:57 +01:00
Danny Ryan
902e65e072
add min persistent committee period resitriction on exits
2019-03-08 15:16:06 -07:00
Danny Ryan
0f3e0ef2ad
Merge pull request #743 from ethereum/JustinDrake-patch-9
...
Minor cleanups
2019-03-08 14:59:39 -07:00
Danny Ryan
30e64d7de6
fix get_inactivity_penalty function signature
2019-03-08 12:14:21 -07:00
Danny Ryan
f88db44e81
skip proposer bonus if no attestation for v index
2019-03-08 12:07:57 -07:00
Danny Ryan
f72e856620
Merge branch 'dev' into JustinDrake-patch-7
2019-03-08 10:46:36 -07:00
Danny Ryan
29014d554e
Merge branch 'dev' into JustinDrake-patch-9
2019-03-08 10:39:26 -07:00
Justin
f253feeacf
Update 0_beacon-chain.md
2019-03-08 18:34:51 +01:00
Justin
f180eb5e9e
Update 0_beacon-chain.md
2019-03-08 18:14:00 +01:00
Justin
de60533d72
Update 0_beacon-chain.md
2019-03-08 18:13:05 +01:00
Danny Ryan
f081f23c31
cache more than just state root at start of state transition
2019-03-08 09:48:46 -07:00
Justin
ecd93468a2
Update 0_beacon-chain.md
2019-03-08 17:38:19 +01:00
Justin
3aedf1226a
Update 0_beacon-chain.md
...
Did I get the type casting OK @hwwhww?
2019-03-08 17:36:58 +01:00
Justin
1141467349
Update 0_beacon-chain.md
2019-03-08 17:28:00 +01:00
Danny Ryan
9b598c91b7
Merge branch 'dev' into JustinDrake-patch-7
2019-03-08 09:10:08 -07:00
Danny Ryan
7dc61c6126
Merge branch 'dev' into epoch-start
2019-03-08 08:51:19 -07:00
Justin
a51d7d5db5
Update 0_beacon-chain.md
2019-03-08 10:50:45 +01:00
Justin
12695425c9
Use hash_tree_root everywhere
...
And get rid of merkle_root. This is possible because of SSZ tuples.
2019-03-08 10:32:40 +01:00
vbuterin
8dcc1ba930
Break LMD GHOST ties in favor of higher hash tree roots ( #737 )
2019-03-08 09:58:38 +01:00
Justin
1f147486fc
Semantic fork versions and signature domains
...
Fix #706
2019-03-08 09:57:09 +01:00
Justin
e74c79e353
Update 0_beacon-chain.md
2019-03-08 09:08:30 +01:00
Justin
33a05109ea
Fair proposer sampling
...
I think we want `first_committee[epoch % len(first_committee)]` as opposed to `first_committee[slot % len(first_committee)]`. The reason is that if the shuffling happens infrequently and `len(first_committee)` is a multiple of `SLOTS_PER_EPOCH` then the proposers will not be sampled fairly.
Taking this logic further, we may want to avoiding always picking the proposer from `first_committee`, e.g.:
```
validators_at_slot = []
for crosslink_committee, _ in get_crosslink_committees_at_slot(state, slot, registry_change):
validators_at_slot.append(crosslink_committee)
return validators_at_slot[epoch % len(validators_at_slot)]
```
2019-03-07 23:56:03 +01:00
Justin
339a7fb63b
Update 0_beacon-chain.md
2019-03-07 23:14:47 +01:00
Justin
2d9724dbfc
Update 0_beacon-chain.md
2019-03-07 23:13:06 +01:00
Danny Ryan
e57bfaab7c
clean up state transition notes
2019-03-07 13:36:22 -07:00
Danny Ryan
d00353534d
Merge branch 'dev' into epoch-start
2019-03-07 13:32:15 -07:00
Danny Ryan
6cf14884a8
epoch transition at start of epoch
2019-03-07 12:05:34 -07:00
Danny Ryan
8dec7d805c
reorder ssz types topologically
2019-03-07 11:02:13 -07:00
Hsiao-Wei Wang
250455a67e
Apply suggestions from code review
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-07 10:03:25 -07:00
Danny Ryan
987c741bea
fix state types
2019-03-07 09:44:55 -07:00
Danny Ryan
b1baea2d28
Merge branch 'dev' into vbuterin-patch-7
2019-03-07 08:56:29 -07:00
vbuterin
f9a07f7653
Fixed MIN_DEPOSIT_AMOUNT
2019-03-07 04:04:05 -06:00
vbuterin
be4b912373
Added underflow checking to decrease_balance
2019-03-07 04:02:53 -06:00
vbuterin
0759e170a7
High/low balance separation
...
See #685 for reasoning
2019-03-07 01:38:03 -06:00
vbuterin
ec12460b8b
Make wthdrawn validators immune to inactivity leak
2019-03-07 01:21:17 -06:00
vbuterin
663bc489b6
Added lexicographic tiebreaking
2019-03-06 22:54:52 -06:00
Danny Ryan
175dde7cf7
Merge branch 'dev' into patch-1
2019-03-06 15:56:35 -07:00
Danny Ryan
2f6e560e30
Merge branch 'dev' into vbuterin-patch-7
2019-03-06 15:07:20 -07:00
Alex Stokes
ee2fbd0df7
Fix calls of `signed_root`
2019-03-06 13:48:06 -08:00
Dankrad Feist
81f48ea1c3
Also fix length of Deposit.proof
2019-03-06 21:11:50 +01:00
Dankrad Feist
9d175c9dc9
Merge branch 'dev' into patch-1
2019-03-06 17:28:09 +01:00
Carl Beekhuizen
b4779cd83d
Apply suggestions from code review
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-06 08:55:39 -07:00
Carl Beekhuizen
c9e06d31f3
Apply suggestions from code review
...
base_reward -> get_base_reward
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-06 07:29:06 -07:00
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