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
Danny Ryan
375659dc6c
name changes in validator doc and phase 1 doc
2019-02-14 16:02:01 -07:00
Danny Ryan
81e8f53ab9
Merge pull request #629 from terenc3t/patch-50
...
Quick fix on epoch boundary root
2019-02-14 15:44:40 -07:00
terence tsao
380f5bc86b
Update 0_beacon-chain-validator.md
2019-02-14 14:00:43 -08:00
Justin
241ae5ed49
Merge branch 'dev' into name-changes
2019-02-14 20:48:34 +00:00
Danny Ryan
677efe5840
fix off by one attestaton issue due to attesting to post state of block ( #627 )
2019-02-14 20:16:19 +00:00
Paul Hauner
d7fb7729e6
Add cautionary assert in shuffling function ( #622 )
2019-02-14 14:14:59 +00:00
vbuterin
6c49270664
Added minimum slashing penalty of ~1 ETH ( #624 )
2019-02-14 14:00:12 +00:00
Justin
e86fa58167
Merge branch 'dev' into name-changes
2019-02-14 10:27:17 +00:00
vbuterin
eadfa20b99
Bring forward changes to withdrawability from phase 1 ( #615 )
...
* Bring forward changes to withdrawability from phase 1
* The `WITHDRAWABLE` flag is removed; instead, a validator's withdrawability is determined through the `withdrawable_epoch` field (renamed and re-purposed from `withdrawal_epoch` which was not used)
* When a validator passes through the withdrawal queue, the `prepare_validator_for_withdrawal` function does not let them withdraw immediately; instead, they have to wait `MIN_VALIDATOR_WITHDRAWAL_EPOCHS`. This extra minimum delay serves no value in phase 0, but is crucial for phase 1 as the period between a validator passing through the queue and the validator being eligible to withdraw is where proof of custody challenges can come in; adding it in phase 0 is only half a line of code so easier to add it now.
* If a validator is penalized, they are no longer subject to the exit queue; instead, their `withdrawable_epoch` is set `LATEST_PENALIZED_EXIT_LENGTH` into the future and this is used to determine when the validator can withdraw
* Changes the eligibility condition for a transfer to use the `withdrawable_epoch`
2019-02-14 10:20:53 +00:00
Justin
f14af7ae67
Merge branch 'dev' into name-changes
2019-02-13 23:53:38 +00:00
Danny Ryan
83b67b6097
Merge pull request #617 from ethereum/hwwhww/fix_compute_commitment
...
Fix `compute_commitment`
2019-02-13 11:54:03 -07:00
terence tsao
fd5c3ee8b5
Update 0_beacon-chain.md
2019-02-13 08:38:03 -08:00
Hsiao-Wei Wang
f7320ec25b
Fix `compute_commitment`
...
1. Use `+` to concatenate the merkle roots in `hash` function.
2. Fix `pad_to_power_of_2`: padding with `[b'\x00' * SHARD_BLOCK_SIZE]`,
not `[SHARD_BLOCK_SIZE]`.
2019-02-14 00:30:00 +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
Justin
3459515c2c
Merkleise SSZ container elements ( #595 )
...
Reasons to use `merkle_hash` instead of `hash` for containers:
1) **Smaller witnesses**: `BeaconState` is a somewhat wide container (26 fields as of now, likely 30+ in phase 2). With concatenation and plain concatenation the size of the Merkle witnesses for the top level are ~32 bytes per field element.
2) **Faster incremental hashing**
3) **Consistency**: Consistent with `merkle_hash` for lists/vectors.
2019-02-12 21:57:54 +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
Justin
9a4f4d5344
Fix SSZ merkleisation bug ( #602 )
2019-02-12 11:12:29 +00:00
Hsiao-Wei Wang
41e95cf9ea
Refactor `get_persistent_committee` ( #604 )
2019-02-12 11:11:45 +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
Danny Ryan
c44f6c0dbb
Merge pull request #600 from ethereum/JustinDrake-patch-3
...
Add note on leap seconds
2019-02-11 08:08:50 -07:00
Justin
0069241b9c
Alias `bytes` to `List[bytes1]`
2019-02-11 14:49:11 +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
Jordan Andrews
afca1e2127
Add C# implementation
2019-02-11 22:01:05 +11: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
vbuterin
db4f99d899
Fixed end of code block
2019-02-10 15:47:26 -06:00
Danny Ryan
ab44cbe380
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-10 15:45:57 -06:00
vbuterin
9bba3362eb
Update specs/core/1_shard-data-chains.md
2019-02-10 15:45:47 -06:00
vbuterin
9e66b069b2
Update specs/core/1_shard-data-chains.md
2019-02-10 15:45:16 -06:00
Danny Ryan
ad3f43a4a6
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-10 15:45:06 -06:00
vbuterin
046119fb2e
Update specs/core/1_shard-data-chains.md
2019-02-10 15:44:58 -06:00
Danny Ryan
181dc183b6
Merge branch 'dev' into vbuterin-patch-6
2019-02-10 13:12:01 -07:00
Dean Eigenmann
2944a7ddfc
Renamed `Helpers` -> `Variables`, seems to make more sense ( #560 )
2019-02-10 16:19:12 +00:00
vbuterin
1f97206dcf
Updated phase 1: commitments ( #579 )
...
See #338 and #529 for discussion.
2019-02-10 16:17:21 +00:00
vbuterin
abed5ffdae
Updated phase 1: fork choice rule ( #586 )
...
Adds the crosslink committee to the fork choice rule. This is useful because it means that even if a proposal committee is byzantine and attempts to prevent a crosslink via a "balance attack" (alternating between chain A and chain B being the canonical chain), the crosslink committee can force the equilibrium to flip to one side or the other.
2019-02-10 16:16:22 +00:00
vbuterin
8097b2373b
Added deduplication
2019-02-10 00:09:34 -06: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
65c5a1a1b7
Fixed get_persistent_committee
2019-02-08 22:10:54 -06:00
Danny Ryan
e0d8cf4268
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 22:07:14 -06:00
Danny Ryan
8dd111b7e6
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 22:06:46 -06:00
Danny Ryan
ad0ff80be2
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 22:06:03 -06: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
663d38e9c8
simplify get_next_epoch_committee_assignment by adding registry_change arg
2019-02-08 11:54:17 -07: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
vbuterin
e5bd78e5e6
Persistent committee refactors
2019-02-08 04:08:52 -06:00
vbuterin
65ec418213
A few more cleanups
2019-02-08 03:54:02 -06:00
vbuterin
47c396f3f8
Break lets into separate lines
2019-02-08 03:50:00 -06:00
vbuterin
410372ff0e
Proposal committee -> persistent committee
2019-02-08 03:48:58 -06:00
Hsiao-Wei Wang
2cff0e6b7a
Use the new `bytesN` SSZ object
...
`hash32` -> `bytes32`
['uint384'] -> `bytes96`
2019-02-08 16:46:50 +08:00
Danny Ryan
5a1b2c29f2
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 01:08:30 -06:00
Danny Ryan
5e84d7e3ff
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 01:08:15 -06:00
Danny Ryan
bdd7dc106a
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 01:08:01 -06:00
Danny Ryan
a1f542b674
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 01:07:46 -06:00
Danny Ryan
fb90fd7ac3
Update specs/core/1_shard-data-chains.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-08 01:07:31 -06:00
Danny Ryan
6d9581281d
change latest_crosslink_root to latest_crosslink in validator guide
2019-02-07 21:25:47 -07: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
ca098f8cfa
Prevent changing another TOC
2019-02-07 22:19:04 +01: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
e4f5efadb7
Fix `first_committee_at_slot`
2019-02-08 04:03:13 +08:00
Danny Ryan
d4901be198
get_next_epoch_committee_assignments returns slot and is_proposer
2019-02-07 11:48:36 -07:00
Danny Ryan
3f3472087a
change message to message_hash in bls spec
...
addresses #572
2019-02-07 10:37:01 -08: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
8597cbef1f
Updated phase 1: shard block structure
2019-02-06 20:32:56 -06: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
vbuterin
2ac420c5ea
Merge pull request #538 from ethereum/vbuterin-patch-1
...
SSZ list Merkle hashing change
2019-02-03 14:37:30 -06:00
vbuterin
197fa18893
Zpad is already in #543
2019-02-03 14:26:07 -06:00
vbuterin
9bacf040ce
Merge pull request #543 from ethereum/vbuterin-patch-2
...
Hash_tree_root -> hash_tree_root_internal
2019-02-03 14:24:18 -06: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
Hsiao-Wei Wang
dd197e46a6
Fix `zpad`
2019-02-01 22:31:00 +08:00
vbuterin
8ffd9adcaf
Hash_tree_root -> hash_tree_root_internal
...
Clarifies the distinction between "internal" hash roots (may be < 32 bytes for trivial objects) and "external" ones (zpadded to 32).
2019-01-31 18:03:23 -06:00
Hsiao-Wei Wang
acb432ef3a
Update specs/simple-serialize.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-31 17:49:51 -06:00
Hsiao-Wei Wang
9271e6e318
Update specs/simple-serialize.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-31 17:47:09 -06: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
vbuterin
5488e7b6a4
SSZ list Merkle hashing change
...
The current spec is arguably inconsistent, in that if a set of N values gets chunked into M chunks where M is not an exact power of 2, the chunks between M and next_power_of_2(M) are filled with SSZ_CHUNK_SIZE zero bytes each, but the last chunk is not padded, and could be arbitrarily short (eg. if the values are 4 bytes and there are 257 of them, then that gets serialized into eight chunks chunks where the first four are 64 values each, the fifth is 4 bytes corresponding to the last value, and the last three chunks are SSZ_CHUNK_SIZE zero bytes). This PR fills every chunk up to exactly SSZ_CHUNK_SIZE bytes for consistency.
2019-01-31 10:12:43 -06: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
8cfe3c3133
typo
2019-01-30 17:24:27 -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
3f836cad5f
add extra note
2019-01-30 08:05:30 -08:00
Danny Ryan
8869dfff36
fix toc in validator g uide
2019-01-30 08:03:58 -08:00
Danny Ryan
8e50297543
add break condition
2019-01-30 08:02:23 -08:00
Danny Ryan
f0eeb71945
fix fomratting
2019-01-30 08:00:48 -08:00
Danny Ryan
7365af59a7
remove extra return
2019-01-30 07:59:07 -08:00
Ben Edgington
989aae5dc6
Fix missed updates from slot to epoch ( #530 )
2019-01-30 15:50:37 +00:00
Hsiao-Wei Wang
5aba345eec
Remove extraneous space
2019-01-30 23:50:17 +08:00
terence tsao
cc259f98d9
Update 0_beacon-chain-validator.md ( #531 )
2019-01-30 15:47:57 +00: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
75cb8b8cb9
add get_next_epoch_crosslink_committees helper in validator guide
2019-01-30 07:35:56 -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
vbuterin
61e0cc8a81
Merge pull request #509 from ethereum/vbuterin-patch-6
...
Modular squareroot clarification
2019-01-30 07:12:58 -06: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
Hsiao-Wei Wang
51f8ed8992
Update specs/bls_signature.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-29 15:57:05 -06: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
vbuterin
c6ca68db00
Clarify further "choose the greater" mechanism
2019-01-29 07:52:42 -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
vbuterin
90e2a57614
Modular squareroot clarification
2019-01-28 10:28:05 -06:00
Danny Ryan
b6fcf3272e
Merge branch 'master' into JustinDrake-patch-1
2019-01-28 09:15:08 -07:00
Danny Ryan
a249ab4519
Merge pull request #492 from ethereum/end-of-epoch
...
epoch trans at end of epoch and fix finality conditions
2019-01-28 08:28:25 -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
jannikluhn
4bedb16e21
Merge branch 'master' into ssz-var-length-list
2019-01-28 10:53:04 +01: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
Danny Ryan
8fa1fd774f
Merge pull request #444 from ethereum/honest-validator
...
phase 0 validator doc
2019-01-24 23:16:22 -07:00
Danny Ryan
1614f2a9d7
simplify slashing instructions in vlaidator guide
2019-01-24 23:11:40 -07:00
Danny Ryan
a182fdaa6f
pr feedback
2019-01-24 22:07:41 -07:00
Hsiao-Wei Wang
25ee768b42
Merge pull request #481 from ChihChengLiang/fix-container-ssz
...
Fix #479 , make `item_index == new_index` a check to perform
2019-01-24 18:46:12 +08:00
vbuterin
1b06e771d8
previous_deposit_root -> deposit_root
2019-01-24 03:25:13 -06:00
Chih Cheng Liang
45c064a2d6
remove all unnecessary newline
2019-01-24 16:24:05 +08:00
Chih Cheng Liang
5dfa4e005b
rename byte_order to byteorder
2019-01-24 16:12:43 +08:00
Chih Cheng Liang
d41215aeec
rename Terminology to Variables and Functions
2019-01-24 16:11:45 +08:00
Chih Cheng Liang
14432e91a3
add code block to variable in the table
2019-01-24 16:11:04 +08:00
Chih Cheng Liang
88ffae6335
define deserialized_object and new_index
2019-01-24 16:08:56 +08:00
Chih Cheng Liang
c2112f0bfc
PR feedback: remove unnecessary newline
2019-01-24 15:58:34 +08:00
Hsiao-Wei Wang
5bb02a9d09
Update specs/simple-serialize.md
...
Co-Authored-By: ChihChengLiang <chihchengliang@gmail.com>
2019-01-24 15:53:52 +08: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
Hsiao-Wei Wang
59b301f7af
Update specs/validator/0_beacon-chain-validator.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-23 17:31:27 -06:00
Hsiao-Wei Wang
b7c2f33dcb
Update specs/validator/0_beacon-chain-validator.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-23 17:26:11 -06:00
Hsiao-Wei Wang
4a566469a5
Update specs/validator/0_beacon-chain-validator.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-23 17:16:04 -06:00
Hsiao-Wei Wang
028eba903e
Update specs/validator/0_beacon-chain-validator.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-23 17:15:53 -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