Danny Ryan
b3db7b0394
big to little in shuffle
2019-02-06 20:32:05 -08:00
vbuterin
47b00f38dd
n -> len(values)
2019-02-06 18:34:05 -06:00
Hsiao-Wei Wang
6a5b7540da
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-06 18:33:29 -06:00
Danny Ryan
4ec721f3b7
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-06 18:33:22 -06:00
Hsiao-Wei Wang
37b41a2ce6
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-02-06 18:33:11 -06:00
vbuterin
8f37c5c0f8
Update fork choice rule ( #571 )
2019-02-06 08:34:19 -08:00
vbuterin
c58410e6ce
Introduce swap-or-not shuffle
...
See #563 for discussion.
2019-02-06 06:48:46 -06:00
Danny Ryan
ec1a08278b
Merge pull request #573 from ethereum/hwwhww/verify_bitfield
...
Fix `verify_bitfield`
2019-02-05 18:57:40 -08:00
Justin
180c8a0e72
Update 0_beacon-chain.md
2019-02-05 11:51:06 -08:00
Justin
1d76ad65ec
Update 0_beacon-chain.md
2019-02-05 11:49:52 -08:00
Hsiao-Wei Wang
e5788f5751
Fix typo: it's `bls_verify_multiple` in `verify_slashable_attestation` ( #574 )
2019-02-05 09:11:00 -08:00
Hsiao-Wei Wang
867dea3473
Fix `verify_bitfield`
2019-02-05 19:16:10 +08:00
Taras Bobrovytsky
147ee2f991
Fix get_total_balance()
2019-02-04 01:49:16 -06:00
Hsiao-Wei Wang
47844116ea
Merge pull request #565 from terenc3t/patch-45
...
get_previous_epoch as a helper
2019-02-04 14:56:15 +08:00
Hsiao-Wei Wang
3aed1cf935
Merge pull request #567 from decanus/patch-17
...
Defines `get_total_balance` helper function
2019-02-04 14:55:39 +08:00
Danny Ryan
3e2eb1cb36
Merge pull request #562 from ralexstokes/remove-vyper-code
...
Removes the source of the Vyper contract from the spec.
2019-02-03 15:31:56 -08:00
Alex Stokes
8755dc34d5
Add direct link to validator registration contract
2019-02-03 15:22:03 -08:00
Alex Stokes
8c5868cbe8
Extend `deposit` API with note about bounds on acceptable values
2019-02-03 15:20:49 -08:00
Hsiao-Wei Wang
3a6da9839a
Added a note for underflow. Thanks Hsiao Wei! : )
...
Co-Authored-By: terenc3t <terence@prysmaticlabs.com>
2019-02-03 14:27:09 +01:00
Dean Eigenmann
5c56751cc9
Update 0_beacon-chain.md
2019-02-03 11:43:33 +01:00
Hsiao-Wei Wang
8e16d122be
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: decanus <dean@tokenate.io>
2019-02-03 11:42:12 +01:00
Dean Eigenmann
969896b0a8
Update 0_beacon-chain.md
2019-02-03 11:14:02 +01:00
terence tsao
e4c4c04e52
Update 0_beacon-chain.md
2019-02-03 10:36:21 +01:00
Danny Ryan
3b9953a992
Merge pull request #537 from ethereum/JustinDrake-patch-1
...
Use 2*63 for the genesis slot
2019-02-02 17:55:18 -08:00
Danny Ryan
f80a345bd1
Merge pull request #552 from ethereum/epoch-in-generate-seed
...
epoch in `generate_seed`
2019-02-02 17:29:29 -08:00
Danny Ryan
2a32e7f665
convert int_to_bytes to little endian
2019-02-02 16:41:59 -08:00
Danny Ryan
650f4a20df
clarify eth1 that there will be at most 1
2019-02-02 13:16:39 -08:00
Danny Ryan
04b37f266c
Merge pull request #558 from decanus/patch-14
...
`shard` -> `attestation.data.shard`
2019-02-02 08:49:28 -08:00
Dean Eigenmann
f3d47e26fc
`shard` -> `attestation.data.shard`
2019-02-02 13:49:52 +01:00
terence tsao
a781eb5a4f
Update 0_beacon-chain.md
2019-02-02 06:09:45 +01:00
Danny Ryan
8d82ee8ce7
do not mix in epoch to seed in get_shuffling. add epoch to generate_seed
2019-02-01 21:02:09 -08:00
Danny Ryan
76744dea13
Merge branch 'dev' into name-changes
2019-02-01 20:48:14 -08:00
Danny Ryan
11ae40fc49
revery bls types to include BLS
2019-02-01 20:42:11 -08:00
Alex Stokes
7e7e5e2795
Removes the source of the Vyper contract from the spec.
...
This change allows for easier maintenance of the code and the spec by
uncoupling them. Before any edit to either document resulted in having to
synchronize the other. By adding a reference to the canonical repo for the code
we avoid having to maintain a duplicate copy here.
2019-02-01 17:06:04 -08:00
Danny Ryan
6a9c756191
Merge pull request #551 from GregTheGreek/master
...
fix startup typo
2019-02-01 15:30:22 -08:00
Gregory Markou
d53d333733
fix startup typo
2019-02-01 14:04:17 -08:00
Hsiao-Wei Wang
378e1ba9a6
Misc fixes of `get_next_epoch_crosslink_committees`
2019-02-02 02:06:53 +08:00
Hsiao-Wei Wang
0b8ccf1e64
Update 0_beacon-chain.md ( #547 )
2019-02-01 07:45:09 -08:00
Hsiao-Wei Wang
e0867c030f
Fix typo
2019-02-01 22:34:10 +08:00
Danny Ryan
7ff345404e
simplify bls types
2019-01-31 08:26:46 -08:00
Danny Ryan
6716105f19
ChainStart -> Eth2Genesis
2019-01-31 08:23:41 -08:00
Danny Ryan
1593b926cc
rename current and previous vars for shuffling to use 'shuffling'
2019-01-31 08:02:54 -08:00
Danny Ryan
9ea095efe9
remove Number from custom types
2019-01-31 07:58:31 -08:00
Danny Ryan
e2e2ce0a04
name changes: active_exit_delay, latest_active_index_roots
2019-01-31 07:56:48 -08:00
Justin
7f39f79b2e
Use 2*63 for the genesis slot
2019-01-31 07:55:27 -08:00
vbuterin
190d9d2887
Added closing bracket
2019-01-31 07:44:14 -06:00
Hsiao-Wei Wang
5f29cc91bc
Remove the repeated checks
2019-01-31 19:06:13 +08:00
Alex Stokes
750790c784
Remove the unnecessary double backticks on 'validator' in docstring.
...
The usual convention is that we mark function parameters in docstrings with
double backticks. There is no (longer a) parameter called 'validator' so we
update the docstring to conform to the convention.
2019-01-30 18:38:12 -08:00
Danny Ryan
e1a1f936fe
penalized -> slashed, SEED_LOOKAHEAD -> MIN_SEED_LOOKAHED
2019-01-30 18:22:25 -08:00
Danny Ryan
e400c28372
Merge pull request #520 from ethereum/next-epoch-shuffling
...
helpers and notes for shuffling lookahead
2019-01-30 17:24:45 -08:00
Danny Ryan
bdff6943bf
Merge pull request #532 from benjaminion/fix-to-verify-aggregation-bitfield
...
Fix to verify bitfields and aggregate signature.
2019-01-30 15:46:29 -08:00
Alex Stokes
679421e489
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-30 12:46:03 -08:00
Hsiao-Wei Wang
bbc522c2d5
Merge branch 'master' into vitalik93
2019-01-31 03:55:26 +08:00
Danny Ryan
face6d325d
Merge branch 'master' into next-epoch-shuffling
2019-01-30 11:06:50 -08:00
Danny Ryan
ed80daa489
typo in comment
2019-01-30 11:04:35 -08:00
Danny Ryan
ad5583c79f
remove extra line
2019-01-30 11:03:52 -08:00
Danny Ryan
de2c51812f
Merge branch 'master' into hwwhww/refactor
2019-01-30 11:03:13 -08:00
Danny Ryan
f1c5a214b8
Merge branch 'master' into JustinDrake-patch-1
2019-01-30 10:51:18 -08:00
Danny Ryan
3c4615df01
fix call
2019-01-30 10:43:06 -08:00
Danny Ryan
0e7953fe8a
verify_bitiefld in aggregate signature section
2019-01-30 10:39:08 -08:00
Danny Ryan
820777aab0
Merge pull request #525 from ethereum/JustinDrake-patch-1-1
...
Remove exit counts
2019-01-30 10:29:39 -08:00
Ben Edgington
fb75c6dd55
Fix to verify bitfields and aggregate signature.
...
In blockprocessing, `crosslink_committee` is not defined. This is a fix.
In Phase 0 this check is redundant since we've already asserted that the
custody bitfield is all zero, but it will matter in later phases.
2019-01-30 16:45:46 +00:00
Danny Ryan
7365af59a7
remove extra return
2019-01-30 07:59:07 -08:00
Hsiao-Wei Wang
5aba345eec
Remove extraneous space
2019-01-30 23:50:17 +08:00
Justin
3f31285232
Fix typo ( #528 )
2019-01-30 15:46:27 +00:00
Danny Ryan
d47f98a33f
fix missing toc entry
2019-01-30 07:38:24 -08:00
Danny Ryan
022da5006f
Merge branch 'master' into next-epoch-shuffling
2019-01-30 07:09:39 -08:00
Danny Ryan
8ead89c412
Add is_power_of_2 helper
2019-01-30 07:07:41 -08:00
vbuterin
18e430393e
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-01-30 15:03:42 +00:00
Hsiao-Wei Wang
0f70b200ca
imperative
2019-01-30 23:01:38 +08:00
Danny Ryan
648fcb16eb
Merge pull request #526 from ethereum/JustinDrake-patch-2
...
Remove extraneous latest_vdf_outputs
2019-01-30 06:55:42 -08:00
Danny Ryan
8c2ed0b683
validator guide to recent spec changes ( #518 )
2019-01-30 14:53:25 +00:00
Justin
014016cf3c
Remove extraneous latest_vdf_outputs
2019-01-30 06:50:24 -08:00
Danny Ryan
8040044f69
fix is_surround as per #410 ( #523 )
2019-01-30 14:46:43 +00:00
Justin
5889e9c6db
Remove exit counts
...
* Simplify by removing `exit_epoch` in `BeaconState` and `Validator`. (Also less storage for full nodes.)
* Replace with `exit_epoch` when ordering validator with withdrawal. Slight loss of granularity, but that's actually a good thing because it reduces the opportunity for manipulation by proposers.
2019-01-30 06:43:02 -08:00
Justin
8663773fa2
Cleanup attestation inclusion logic
...
* (Logic change) Introduce invariant that attestations can be included for `EPOCH_LENGTH`.
* Simplify presentation by related checks into a single line.
2019-01-30 06:32:44 -08:00
Justin
f4798370aa
Attester slashing fixes
...
* Fix bug whereby `intersection` (replaced by `slashable_indices `) could be non-empty, but no validator gets penalized because they were all already penalized.
* Rename `SlashableVote` to `SlashableAttestation` (for consistency with `Attestation`, and to avoid having "Vote" be a synonym of "Attestation").
* Rename `slot_included` to `inclusion_slot` for consistency with the `_slot` (and `_epoch`) postfix convention
* Homogenise ordering of fields in `Attestation` and `SlashableAttestation` objects (one has an `aggregation_bitfield` instead of the other's `validator_indices`).
* Homogenise ordering of fields in `Attestation` and `PendingAttestation` objects (one has an `aggregate_signature` instead of the other's `inclusion_slot`).
* Light presentation cleanup
2019-01-30 05:38:45 -08:00
Hsiao-Wei Wang
5e0691f3df
Refactor and add docstring.
2019-01-30 17:31:41 +08:00
Danny Ryan
75d1247884
delete new proposer function
2019-01-29 17:23:24 -08:00
Danny Ryan
f701b959f3
get_crosslink_committees.. has registry change field
2019-01-29 17:21:26 -08:00
vbuterin
260c642e3f
One more new_deposit_root, and chainStarted as public bool
2019-01-29 19:00:39 -06:00
vbuterin
30ca318869
Rewrite to not trigger temporary Vyper issues
2019-01-29 18:58:56 -06:00
Danny Ryan
a164ad9504
working through future shuffling notes
2019-01-29 16:29:51 -08:00
Dean Eigenmann
31c5576706
Update 0_beacon-chain.md
2019-01-30 00:35:45 +01:00
Danny Ryan
56c6322054
Merge pull request #516 from ethereum/get_ancestor
...
Fix ToC and #189 : `get_ancestor()` can fail to terminate
2019-01-29 07:37:38 -07:00
vbuterin
beddfe4295
Merge branch 'master' into patch-5
2019-01-29 08:11:14 -06:00
Hsiao-Wei Wang
c87a9bfd2c
Fix ToC and #189
2019-01-29 21:41:54 +08:00
Danny Ryan
7a568310ac
Merge pull request #512 from ethereum/cleanup-state-transition
...
Cleanup state transition organization and explanation
2019-01-28 21:33:38 -07:00
Danny Ryan
6a3b229cb2
minor formatting issue
2019-01-28 21:32:36 -07:00
Danny Ryan
cbb1571a90
remove last ref to casper
2019-01-28 21:25:59 -07:00
Danny Ryan
7da716b0e9
pr feedback
2019-01-28 21:18:22 -07:00
hukkinj1
30ceb8f439
Removed a trailing space ( #514 )
2019-01-28 22:42:31 +00:00
vbuterin
bb0619986c
Change -> update
...
As per #358
2019-01-28 16:20:04 -06:00
Justin
3068e6483d
Update 0_beacon-chain.md
2019-01-28 21:13:58 +00:00
Justin
b2855f9be4
Stricter aggregation_bitfield validation
...
Make sure that there's at least one vote in attestations (`bls_verify_multiple` can return `True` with zero votes)
2019-01-28 21:13:25 +00:00
Danny Ryan
a5ff8ce2fd
Merge branch 'master' into cleanup-state-transition
2019-01-28 13:33:50 -07:00
Danny Ryan
d78fb66aac
Merge pull request #488 from ethereum/JustinDrake-patch-1
...
Reduce and revamp custody placeholder logic
2019-01-28 13:08:58 -07:00
Danny Ryan
4cb0ce94b1
Merge branch 'vbuterin-patch-11' into cleanup-state-transition
2019-01-28 12:21:18 -07:00
Justin
f51ce8ff14
Further deemphasize "Casper"
2019-01-28 19:16:11 +00:00
Danny Ryan
053b8ec2a5
cleanup state transition organization and notes
2019-01-28 12:15:43 -07:00
Danny Ryan
9b7d94f07b
Apply suggestions from code review
...
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-01-28 18:31:13 +00:00
vbuterin
a14600e3a4
Edits
...
* Removed comment beside `latest_block_roots` "Needed to process attestations, older to newer" because it is no longer accurate
* Clarified per-slot processing
* Casper slashing -> attester slashing
2019-01-28 12:24:09 -06:00
Hsiao-Wei Wang
6bad4ed986
Merge branch 'master' into hwwhww/per_block
2019-01-29 01:49:41 +08:00
Danny Ryan
b6fcf3272e
Merge branch 'master' into JustinDrake-patch-1
2019-01-28 09:15:08 -07:00
Hsiao-Wei Wang
ce73a8327f
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-01-28 08:26:48 -07:00
vbuterin
ca3d0b8b53
slot -> epoch
2019-01-27 23:36:38 -06:00
vbuterin
656eae6f6a
Minimum slot number, simplify excessive anti-underflow logic
...
Adds a minimum slot number large enough that integer underflows involving epochs and slots will not happen; simplifies some logic that was more complex to handle them.
2019-01-27 23:12:37 -06:00
Danny Ryan
c9a2f9258e
pr feedback
2019-01-27 21:29:47 -07:00
Danny Ryan
7b9c033578
remove extra line
2019-01-27 20:40:30 -07:00
Danny Ryan
1947fc0ff3
pr feedback
2019-01-27 17:25:29 -07:00
Danny Ryan
f9b53e8583
pr feedback
2019-01-27 17:20:15 -07:00
Hsiao-Wei Wang
41827d26ec
Add the brief of `per_block` processing, and nudge some wording
2019-01-28 01:49:15 +08:00
Danny Ryan
ad46b9cb12
pr feedback
2019-01-27 10:31:01 -07:00
Danny Ryan
b0e71f4c80
pr feedback
2019-01-27 10:23:28 -07:00
Danny Ryan
e41eeeedb6
make randao_mixes per epoch
2019-01-27 10:22:27 -07:00
Danny Ryan
8fbaa25596
pr feedback
2019-01-27 10:01:04 -07:00
Danny Ryan
12619995bb
pr feedback
2019-01-27 10:00:03 -07:00
Danny Ryan
9d18760521
convert some functions to be per epoch
2019-01-27 09:56:26 -07:00
Danny Ryan
e1e1e2359a
pr feedback
2019-01-27 07:54:46 -07:00
Danny Ryan
1b4c4109c3
Merge branch 'end-of-epoch' into prioritize-epochs
2019-01-27 07:34:00 -07:00
Danny Ryan
18273b088d
Merge branch 'master' into end-of-epoch
2019-01-27 07:07:52 -07:00
Justin
82ecc8c868
Update 0_beacon-chain.md
2019-01-27 09:01:11 +00:00
vbuterin
fab0feeb29
Vyper contract 2048 -> 512
2019-01-26 16:47:18 -06:00
Danny Ryan
8da467df7c
pr feedback
2019-01-26 15:39:57 -07:00
Danny Ryan
b1ea3b2667
address pr feedback
2019-01-26 15:27:50 -07:00
Justin
d282a36c63
Update 0_beacon-chain.md
2019-01-26 19:27:22 +00:00
Justin
aa909bddf3
Update 0_beacon-chain.md
2019-01-26 19:25:58 +00:00
Justin
cfb1cb57b8
Update 0_beacon-chain.md
2019-01-26 19:25:18 +00:00
Danny Ryan
1a41078768
randao reveal is signed epoch number ( #498 )
2019-01-26 19:13:12 +00:00
Justin
a81092627a
Update 0_beacon-chain.md
2019-01-26 19:10:21 +00:00
Justin
c3aff31da8
Update 0_beacon-chain.md
2019-01-26 19:06:46 +00:00
Justin
726fa9481c
Merge branch 'master' into JustinDrake-patch-1
2019-01-26 19:03:46 +00:00
Justin
6e16cdc00e
Update 0_beacon-chain.md
2019-01-26 18:59:07 +00:00
Danny Ryan
ae5dfab217
convert finality vars to epochs and do some more epohh cleaning
2019-01-26 08:16:32 -07:00
Danny Ryan
c9494dbf88
change crosslink.slot to crosslink.epoch
2019-01-26 07:55:32 -07:00
Danny Ryan
0e90dd8ad0
add current_epoch helper
2019-01-26 07:31:09 -07:00
Paul Hauner
0b827a0447
Change `PENALIZED_WITHDRAWAL_TIME` variable
...
It's not in the "Constants" list and it is assigned to.
2019-01-26 21:38:27 +11:00
Hsiao-Wei Wang
8c91be9e74
Add custom type hinting for `get_active_index_root`
2019-01-26 16:07:15 +08:00
Hsiao-Wei Wang
78a4b82345
Merge branch 'master' into type_hinting
2019-01-26 16:04:23 +08:00
Danny Ryan
feaf689c94
Apply suggestions from code review
...
Co-Authored-By: hwwhww <hwwang156@gmail.com>
2019-01-26 16:02:49 +08:00
Paul Hauner
235425aaf0
Fix field name error on eth1_data
...
`eth1_data_vote.data` > `eth1_data_vote.eth1_data`
2019-01-26 14:58:48 +11:00
Danny Ryan
f943361a23
convert voting period to epochs
2019-01-25 17:40:44 -07:00
Danny Ryan
a212038cd3
begin translation to epochs
2019-01-25 17:33:15 -07:00
Danny Ryan
e34cfc8de8
fix preivous_epoch_start_slot to be based upon GENESIS_SLOT
2019-01-25 17:26:27 -07:00
Danny Ryan
6f830179c6
remove extra blank line
2019-01-25 16:50:15 -07:00
Danny Ryan
ddf420ba39
work through issues with epochs, seeds, etc)
2019-01-25 16:07:54 -07:00
Danny Ryan
cca2bf1fa6
Merge branch 'master' into end-of-epoch
2019-01-25 15:35:20 -07:00
Danny Ryan
8a58508057
Merge pull request #476 from ethereum/vbuterin-patch-2
...
Implement #459 (light client friendliness)
2019-01-25 15:30:27 -07:00
Danny Ryan
85d39af1ca
add missing period
2019-01-25 15:28:49 -07:00
Danny Ryan
5603772621
add missing period
2019-01-25 15:28:08 -07:00
Danny Ryan
86faacdcd2
clarify assignments in val reg not change
2019-01-25 15:27:27 -07:00
Danny Ryan
f96cd871b1
update ordering of assignments
2019-01-25 15:25:19 -07:00
Danny Ryan
f61d364352
clean up top language in validator registry section
2019-01-25 14:56:10 -07:00
Hsiao-Wei Wang
21cecba6bb
Update `get_children` def
2019-01-25 16:06:05 +08:00
Hsiao-Wei Wang
f27905583f
PR feedback
2019-01-25 16:03:30 +08:00
Hsiao-Wei Wang
27eb0eb212
Merge branch 'master' into type_hinting
2019-01-25 15:15:08 +08:00
Hsiao-Wei Wang
22d4a21fb2
Merge pull request #482 from ethereum/get_shuffing-invariant
...
clarify get_shuffling invariant
2019-01-25 15:11:04 +08:00
Danny Ryan
0254bc8d17
pr feedback
2019-01-24 23:17:56 -07:00
vbuterin
1b06e771d8
previous_deposit_root -> deposit_root
2019-01-24 03:25:13 -06:00
vbuterin
ac47c21918
Merge branch 'master' into vbuterin-patch-2
2019-01-23 22:33:59 -06:00
vbuterin
df85857c2e
A few more state.slot -> current/previous/next epoch start slot changes
2019-01-23 20:35:26 -06:00
Danny Ryan
1aceaeb793
reverse ordering of finality conditions
2019-01-23 17:14:38 -06:00
Danny Ryan
b18de2c86c
clena up get_crosslink_committees_at_slots
2019-01-23 15:41:25 -06:00
Danny Ryan
dd075edd06
epoch trans at end of epoch and fix finality conditions
2019-01-23 15:30:05 -06:00
Danny Ryan
847746286b
Merge pull request #486 from terenc3t/patch-37
...
Update previous_epoch_randao_mix at the beginning
2019-01-23 13:15:59 -06:00
Justin
dfaf24c75e
Update 0_beacon-chain.md
2019-01-23 13:52:52 +00:00
Justin
6f3cb7e7e5
Update 0_beacon-chain.md
2019-01-23 13:28:43 +00:00
Justin
022dd0cc3d
Update 0_beacon-chain.md
2019-01-23 13:26:23 +00:00
Justin
d1efd65d8a
Update 0_beacon-chain.md
2019-01-23 13:24:35 +00:00
Justin
e3a5720c1b
Update 0_beacon-chain.md
2019-01-23 13:03:33 +00:00
Justin
1e48535edd
Update 0_beacon-chain.md
2019-01-23 12:57:06 +00:00
Justin
ac85e06e81
Update 0_beacon-chain.md
2019-01-23 12:48:54 +00:00
Justin
ee081e160c
Update 0_beacon-chain.md
2019-01-23 12:47:11 +00:00
Justin
696a6c140a
Update 0_beacon-chain.md
2019-01-23 12:40:59 +00:00
vbuterin
c8b2755177
Added efficiency improvement (two fewer expected SSTOREs per deposit)
2019-01-23 06:11:55 -06:00
Justin
109ac89697
Update 0_beacon-chain.md
2019-01-23 09:57:48 +00:00
Danny Ryan
f9097bfe8b
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-23 00:22:47 -06:00
Vitalik Buterin
722e201109
Updated deposit contract for gas efficiency
2019-01-23 00:05:50 -06:00
vbuterin
697545a9e0
Added entry_exit_effect_slot helper and moved index roots update
2019-01-22 22:47:07 -06:00
Dean Eigenmann
34a4396fa7
Update 0_beacon-chain.md
2019-01-22 23:10:12 +01:00
Dean Eigenmann
071537469e
Update 0_beacon-chain.md
2019-01-22 23:09:28 +01:00
Justin
6c824ffee4
Remove placeholders
...
Remove all custody and VDF placeholders (56 lines less!). A few notes on the placeholder fields and logic:
* All placeholder fields were dummy fields that can easily be restored in the phase 1 hard fork.
* One special case to the above is `custody_bit_0_validator_indices` in `SlashableVoteData` which was renamed to `validator_indices`. Renaming it back is *not* a spec change because SSZ field names are [no longer part of the spec](a9328157a8 (diff-8d8fe480a35579c7be2f976d9b321216)
).
* The placeholder logic was written using generalised functions (e.g. `bls_verify_multiple` vs `bls_verify`, and `indices(slashable_vote_data)` vs `slashable_vote_data.validator_indices`). This generality was unnecessary because it was not triggered when all custody bits were 0. This means we can simplify the logic without being inconsistent with phase 1.
Rationale:
* Keep phase 0 (likely far harder to deliver than phase 1) as clean as possible
* Focus on upgrade paths and incremental releases
* Custody is still under research—keep the design space open
2019-01-22 20:45:30 +00:00
terence tsao
947e1b9520
Update 0_beacon-chain.md
2019-01-22 11:31:13 -08:00
terence tsao
1bc6c19dca
Update 0_beacon-chain.md
2019-01-22 10:56:01 -08:00
Justin
e52d374521
Update 0_beacon-chain.md
2019-01-22 10:30:31 +00:00
Justin
fb92d68bb9
Update 0_beacon-chain.md
2019-01-22 09:27:47 +00:00
Hsiao-Wei Wang
afd9260ae2
Merge branch 'master' into vbuterin-patch-2
2019-01-22 17:07:32 +08:00
Danny Ryan
a1b550a34f
fix formatting of references
2019-01-21 13:55:49 -06:00
Justin
941dfed863
Update 0_beacon-chain.md
2019-01-21 19:45:11 +00:00
Justin
80940ddd37
BLS-based RANDAO and custody (friendly to decentralised pools)
...
Unlock decentralised pools using m-of-n threshold BLS signatures for both RANDAO and custody. We also simplify a bunch:
* Remove `randao_commitment` and `custody_commitment`
* Remove miscellaneous logic such as `repeat_hash`
(Side note: Dfinity seems to be working to reduce the communication complexity of BLS DKG (Distributed Key Generation) so validator pools should also benefit from that.)
2019-01-21 18:41:29 +00:00
Danny Ryan
460188f9f5
clarify get_shuffling invariant
2019-01-21 11:47:23 -06:00
Danny Ryan
c60a4f13fc
Merge pull request #478 from ethereum/hwwhww/refactor_validator_registry
...
Extract the first two lines of (non-)validator-registry-update
2019-01-21 08:52:42 -06:00
Danny Ryan
32bfa812d1
Merge pull request #470 from mkalinin/mkalinin-patch-2
...
Add a note about exceptions in Python code
2019-01-21 08:48:49 -06:00
Danny Ryan
2e58d52aa6
Update 0_beacon-chain.md
2019-01-21 08:48:36 -06:00
Danny Ryan
8e502dd03f
Merge pull request #464 from ethereum/inclusion-fix
...
clarify `inclusion_distance`
2019-01-21 08:47:23 -06:00
vbuterin
12b217df70
Updated as per hww's suggestions
2019-01-19 18:13:17 -06:00
Hsiao-Wei Wang
02725b870e
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-19 18:11:14 -06:00
Hsiao-Wei Wang
958c338c8f
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-19 18:11:07 -06:00
Hsiao-Wei Wang
c8d8dc94c0
Extract the first two lines of (non-)validator-registry-update
2019-01-19 17:19:14 +08:00
Hsiao-Wei Wang
1ae3768ac8
Minor fixes
2019-01-19 16:06:00 +08:00
Hsiao-Wei Wang
41813462c3
Add custom types
2019-01-19 15:58:24 +08:00
Hsiao-Wei Wang
ba8c44dd9a
Fix the new `Eth1Data` fields to `bytes32`
2019-01-19 15:46:09 +08:00
Hsiao-Wei Wang
47170bfafd
Merge branch 'master' into vbuterin-patch-2
2019-01-19 15:28:14 +08:00
Hsiao-Wei Wang
28ec5846de
Merge pull request #475 from ethereum/djrtwo-patch-4
...
remove unused variable def
2019-01-19 15:17:05 +08:00
Hsiao-Wei Wang
8dff59abd8
Merge pull request #474 from ethereum/djrtwo-patch-3
...
add some missing `data` calls
2019-01-19 15:16:00 +08:00
Hsiao-Wei Wang
15685cd3f1
Merge pull request #458 from ethereum/bytes32
...
Update BLS and core specs for `bytes32` and `bytes48` SSZ types
2019-01-19 15:09:09 +08:00
vbuterin
9e75a76fc1
Implement #459
...
Contents:
* Peg entries and exits to epoch boundaries
* Add a store of historical active index roots
* Mix it into the randomness
* Remove the delta hash chain
Note that the actual light client implementation is beyond the scope of the spec.
[Note to reviewers: verify that the invariant added in the PR is correct]
Question:
* Do we want to also only store epoch-boundary randao values? I don't think we use the epoch-intermediate ones anywhere.....
2019-01-18 21:06:21 -06:00
Danny Ryan
cc18df1185
remove unused variable def
2019-01-18 18:45:15 -06:00
Danny Ryan
89f0543ab9
add some missing `data` calls
2019-01-18 17:13:23 -07:00
Justin
1c48544fee
Update 0_beacon-chain.md
2019-01-18 21:38:25 +00:00
Justin
70dfdace15
Update 0_beacon-chain.md
2019-01-18 21:37:30 +00:00
Danny Ryan
aa29b9a347
add missing state param to calls to get_crosslink_committees_at_slots
2019-01-18 09:55:32 -06:00
Danny Ryan
b493f850fc
cleanup crosslink committees iters
2019-01-18 09:40:15 -06:00
Mikhail Kalinin
11009af16e
Adds a note about Python code exceptions
2019-01-18 18:01:43 +06:00
Alex Stokes
a7307b9236
Sign full `Exit` message so that a validator can prevent tampering ( #468 )
2019-01-18 10:10:23 +00:00
Hsiao-Wei Wang
690cf4b787
PR feedback
2019-01-18 16:21:58 +08:00
Danny Ryan
c8a42c4dcc
Merge pull request #429 from Nashatyrev/master
...
Potential UInt underflow in get_shard_committees_at_slot
2019-01-17 22:01:46 -06:00
Danny Ryan
90273cf46d
Merge pull request #469 from decanus/patch-10
...
`a.beacon_block_root` -> `a.data.beacon_block_root`
2019-01-17 20:25:50 -06:00
Danny Ryan
166a1d0638
Merge pull request #467 from decanus/patch-9
...
Adds Data field
2019-01-17 20:25:17 -06:00
Dean Eigenmann
15fdea5b1b
`a.beacon_block_root` -> `a.data.beacon_block_root`
2019-01-18 02:36:37 +01:00
Dean Eigenmann
96aac450b5
Update 0_beacon-chain.md
2019-01-18 02:22:12 +01:00
Dean Eigenmann
c8597a0d49
Update 0_beacon-chain.md
2019-01-18 02:11:54 +01:00
Hsiao-Wei Wang
063f658697
`bytes96` for Signature
2019-01-18 03:19:38 +08:00
Danny Ryan
91eba49eeb
fix slot for domain in verify_slashable_vote_data ( #465 )
2019-01-17 19:00:29 +00:00
Danny Ryan
8b64832a02
ensure inclusion distance is for lower applicable attestation
2019-01-17 12:07:41 -06:00
Hsiao-Wei Wang
df83dc7bf5
Merge branch 'master' into bytes32
2019-01-17 19:49:10 +08:00
vbuterin
7686702c29
Vote for block hash along with deposit root ( #448 )
2019-01-17 11:43:47 +00:00
Hsiao-Wei Wang
18b97cf922
pubkey: Bytes48
2019-01-17 19:40:26 +08:00
terence tsao
7439939e29
Misc Renamings ( #450 )
...
- `participation_bitfield` -> `aggregation_bitfield`
- `validator_registry_latest_change_slot` -> `validator_registry_update_slot`
- `latest_penalized_exit_balances` -> `latest_penalized_balances`
- `fork_data` -> `fork`
- `pre_fork_version` -> `previous_version`
- `pork_fork_version` -> `current_version`
- `fork_slot` -> `slot`
2019-01-17 11:18:30 +00:00
JinHwan
87fb35d244
Remove Record suffix ( #434 )
2019-01-17 11:01:13 +00:00
terence tsao
812b385f64
Normalize ETH units to Gwei ( #420 )
2019-01-17 10:55:05 +00:00
Hsiao-Wei Wang
209220787b
Deal with BLS APIs, will define `Bytes48` in the type hinting cleanup
2019-01-17 17:29:28 +08:00
Hsiao-Wei Wang
713af88c43
`proof_of_possession: Signature`
2019-01-17 17:03:20 +08:00
Hsiao-Wei Wang
725199593b
For pubkey type hinting, use `bytes` for now.
2019-01-17 17:00:39 +08:00
Hsiao-Wei Wang
0b10b0444a
Replace `Hash32` with `Bytes32`
2019-01-17 16:56:33 +08:00
Hsiao-Wei Wang
61f5d99dee
Fix `Deposit.branch` type notation
2019-01-17 16:54:38 +08:00
Hsiao-Wei Wang
14891047d7
Update `EMPTY_SIGNATURE`
2019-01-17 16:52:56 +08:00
Hsiao-Wei Wang
a588643661
Replace `uint384` with `bytes48` for pubkey
2019-01-17 16:51:50 +08:00
Hsiao-Wei Wang
7005e5fd55
Replace `['uint384']` with `Signature`
2019-01-17 16:49:08 +08:00
Hsiao-Wei Wang
b515683e39
Replace `'[uint384]'` with Signature
2019-01-17 16:47:27 +08:00
Hsiao-Wei Wang
8d5fd404a7
Add `Signature` SSZ obj
2019-01-17 16:42:46 +08:00
Hsiao-Wei Wang
accd3cfd01
Replace `hash32` with `bytes32`
2019-01-17 16:33:59 +08:00
Hsiao-Wei Wang
23e3f4defe
Rename `bytes1(x)`, `bytes2(x)`... function to `int_to_bytes1(x)`, `int_to_bytes2(x)`...
2019-01-17 16:30:04 +08:00
Anton Nashatyrev
d29cbd6535
Merge remote-tracking branch 'upstream/master'
2019-01-17 11:00:19 +03:00
Dean Eigenmann
509870d138
Update 0_beacon-chain.md
2019-01-17 02:18:30 +01:00
Dean Eigenmann
412d295da3
Update 0_beacon-chain.md
2019-01-16 22:28:15 +01:00
Dean Eigenmann
b74f518e4b
Fix typo `validators` -> `validator_registry`
2019-01-16 22:01:32 +01:00
Dean Eigenmann
60bbe7addc
Update 0_beacon-chain.md
2019-01-16 21:33:36 +01:00
Dean Eigenmann
5d542576d9
Update 0_beacon-chain.md
2019-01-16 21:31:33 +01:00
Danny Ryan
2c78645fc6
Merge pull request #452 from GregTheGreek/master
...
fix typo with get_attestation_participants
2019-01-16 13:41:03 -06:00
Hsiao-Wei Wang
e5ea67f4ac
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: GregTheGreek <gregorymarkou@gmail.com>
2019-01-16 14:39:00 -05:00
Dean Eigenmann
3b1ccae58c
Update 0_beacon-chain.md
2019-01-16 20:35:01 +01:00
Gregory Markou
2c25ed9062
fix typo with get_attestation_participants
2019-01-16 14:05:53 -05:00
Danny Ryan
85d6082990
Merge pull request #443 from terenc3t/patch-35
...
Replace shard_committee with crosslink_committee
2019-01-16 12:05:43 -06:00
Dustin Brody
5058e38b23
fix ValidatorRegistryDeltaBlock field naming/reference inconsistency
2019-01-15 20:26:53 -08:00
Hsiao-Wei Wang
0515adff44
Merge pull request #438 from mkalinin/fix-proposer-slashings
...
Fix one of proposer slashing verifications
2019-01-15 20:53:37 +08:00
Anton Nashatyrev
5321fee1cd
Merge with spec update
2019-01-15 11:32:19 +03:00
Danny Ryan
8173854227
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: mkalinin <noblesse.knight@gmail.com>
2019-01-15 12:02:17 +06:00
terence tsao
aa990eb10e
update `shard committees` in get_shuffling
2019-01-14 21:07:36 -08:00
Hsiao-Wei Wang
134ef6d252
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: terenc3t <terence@prysmaticlabs.com>
2019-01-14 20:44:30 -08:00
terence tsao
bd506e1222
Update 0_beacon-chain.md
2019-01-14 16:06:33 -08:00
Danny Ryan
6f539fb1af
minor fix to bls_verify param names in "proposer signature" ( #441 )
2019-01-14 22:23:57 +00:00
Hsiao-Wei Wang
1cd71b9d58
Fix some naming inconsistency and typos
2019-01-14 21:54:29 +08:00
Mikhail Kalinin
61cf6209d8
Fix one of proposer slashing verifications
2019-01-14 15:31:02 +06:00
Hsiao-Wei Wang
43d0142da9
Merge pull request #414 from benjaminion/vyper-merkle-branch
...
Add getter to Vyper contract for Merkle branches
2019-01-14 14:49:40 +08:00
terence tsao
4d1aadcc5c
Update 0_beacon-chain.md
2019-01-13 21:11:44 -08:00
Danny Ryan
891c87eca2
Merge pull request #408 from ethereum/vitalik91
...
Remove shard committees from the state
2019-01-13 22:55:08 -06:00
Danny Ryan
bbf6b5c267
Merge pull request #419 from jimpo/bls-correction
...
Correct references to signature scheme in beacon spec.
2019-01-13 16:05:53 -06:00
terence tsao
2646ca1337
Update 0_beacon-chain.md
2019-01-13 08:55:48 -08:00
Danny Ryan
2b66811a04
address terence pr feedback
2019-01-11 11:35:18 -06:00
Danny Ryan
0a7e72f641
Merge branch 'master' into vitalik91
2019-01-11 11:33:38 -06:00
Justin
271e7b5cb8
Update 0_beacon-chain.md
2019-01-11 16:23:10 +00:00
Justin
7a0d45279c
Update 0_beacon-chain.md
2019-01-11 15:24:29 +00:00
Stan Drozd
d9c6ad9008
get_attestation_participants: inline ceil_div8() ( #430 )
2019-01-11 14:37:38 +00:00
Anton Nashatyrev
8ebc4dece8
Local var should stay uint
2019-01-11 15:07:18 +03:00
Justin
c8bd90aba3
Update 0_beacon-chain.md
2019-01-11 11:53:12 +00:00
Justin
dd532d7887
Update 0_beacon-chain.md
...
* Avoid abbreviations
* Use `branch` as a more suggestive variable name than `ret`
* Cleanup spacing after comma
* Avoid having two index variables (`index` and `idx`)—Does this break anything?
2019-01-11 11:52:04 +00:00
Ben Edgington
b75ac05ab6
Fix typo seed -> randao_mix
2019-01-11 11:05:43 +00:00
vbuterin
459734cb9e
get_randao_mix slot boundary fix
2019-01-10 22:34:13 -06:00
vbuterin
70c0cc43c5
Fixes as per Danny and Terence
2019-01-10 22:33:22 -06:00
Danny Ryan
eec8b4ac44
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:02:51 -06:00
Danny Ryan
7736843917
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:01:30 -06:00
Danny Ryan
648c35dc3d
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:01:05 -06:00
Danny Ryan
a0a96c7e7c
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:00:59 -06:00
jonny rhea
d2eca73482
added assertion that n >= 0
2019-01-10 18:09:58 -06:00
Alex Stokes
c141d90f0f
Fix typo with initial generation of `latest_penalized_exit_balances`
...
The spec as written is not valid python -- the generator of the list
comprehension must be iterable.
It looks like the author simply meant to `range` over the intended length.
This commit fixes the missing `range` operator
2019-01-10 15:41:15 -06:00
Ben Edgington
78fcda7ce0
Use bitwise xor to simplify merkle branch getter
2019-01-10 20:45:39 +00:00
Danny Ryan
5b1f352414
Merge pull request #388 from ralexstokes/add-missing-property-to-merkle-verification
...
Fixes a few bugs with deposit verification.
2019-01-10 12:15:12 -06:00
Danny Ryan
69cd904782
Merge branch 'master' into vitalik91
2019-01-10 11:29:11 -06:00
Vitalik Buterin
e2886bf3d3
prev -> previous, cur -> current, get_shard_committee_at_slot rework, get_randao_mix rework
2019-01-10 11:01:19 -06:00
terence tsao
c589f8273b
Update 0_beacon-chain.md
2019-01-10 08:19:56 -08:00
Alex Stokes
4cf06d908a
Truncate the index into the Merkle tree to bytes[8]
...
The beacon chain expects a `uint64` in part to avoid big-int computation.
This commit updates the `Deposit` log so that it broadcasts data of the
appropriate size.
2019-01-09 17:18:15 -06:00
Alex Stokes
d62834654f
Broadcast `merkle_tree_index` in lieu of the deposit count
2019-01-09 17:02:19 -06:00
Alex Stokes
7a6854aab9
Fix variable name that was lost in botched rebase
2019-01-09 16:52:43 -06:00
Jim Posen
b25154c774
Correct references to sig scheme in beacon spec.
...
BLS is the name of the signature scheme and BLS12-381 is the name of the
curve that it is defined over. So it is more correct to talk about a
"BLS signature/pubkey" rather than a "BLS12-381 signature/pubkey".
2019-01-09 12:47:19 -08:00
Alex Stokes
f49f7eddf9
Use the correct name for the `amount` field
2019-01-09 14:44:06 -06:00
Alex Stokes
c5de2fe710
Add missing deposit root when performing Merkle verification
2019-01-09 14:37:51 -06:00
Alex Stokes
6f5a865508
Reorder type so the ssz serialization matches other uses
...
There is an order based on the Vyper deposit contract which should be maintained
here. There is also a reference to it when processing `Deposit` messages.
This commit corrects the order here so all serializations will match.
2019-01-09 14:35:26 -06:00
Justin
4ea430207b
Update 0_beacon-chain.md
2019-01-09 14:12:47 -06:00
Alex Stokes
dff84c00b0
Fixes bugs with description of deposit verification.
...
1. The order of the `deposit_data` serialization does not match the current
Vyper contract. The description now matches that serialization.
2. The `deposit.merkle_tree_index` was not being used (at least explicitly) so
the text now reflects which inputs are to be used for which parameters in the
pseudocode spec that follows.
3. There seems to be a bug where we want the initial leaf to be the `hash` of
the `DepositData`, not the data itself. The text now reflects this requirement.
2019-01-09 14:08:24 -06:00