Commit Graph

920 Commits

Author SHA1 Message Date
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 52696f8806
ensure validator links to master 2019-01-21 11:07:56 -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
Danny Ryan 0efeed9a56
fix constants in validator section 2019-01-21 08:39:24 -06:00
Danny Ryan f204a81e04
Merge branch 'master' into honest-validator 2019-01-21 08:36:37 -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
Jonny Rhea 8d5c75c6fd Update bls_signature.md (#473)
fq2 param should be a list
2019-01-18 21:39:28 +00: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 421ef9e08d
fix bad link in v guide 2019-01-17 21:29:38 -06:00
Danny Ryan b8f48d20a5
add follow distance constant and extra details around time to being added to the validator registry 2019-01-17 21:28:14 -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
Danny Ryan 7fc5238b8f
update deposit root section to utilize eth1data 2019-01-17 11:38:56 -06:00
Danny Ryan 8cdb8d9334
Merge branch 'master' into honest-validator 2019-01-17 11:00:51 -06:00
Hsiao-Wei Wang 13dc373224
Update specs/simple-serialize.md
Co-Authored-By: decanus <dean@tokenate.io>
2019-01-17 17:51:34 +01:00
Dean Eigenmann f485259d74
Update simple-serialize.md 2019-01-17 17:48:07 +01:00
Dean Eigenmann 7603d1d5c9
Update simple-serialize.md 2019-01-17 17:47:07 +01:00
Jacek Sieka a80f2717f3 ssz: switch integer encoding to little endian (#139) 2019-01-17 15:34:07 +00: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
Hsiao-Wei Wang 8d2f4a1705 SSZ: Add `bytesN`, remove `hashN` and `Address` (#455) 2019-01-17 11:02:57 +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 ba7bc29ce9
Fix `bls_aggregate_signatures` 2019-01-17 17:36:31 +08: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
Danny Ryan 40d4ec33cb
add basics for all block operations 2019-01-16 15:24:59 -06:00
Dean Eigenmann b74f518e4b
Fix typo `validators` -> `validator_registry` 2019-01-16 22:01:32 +01:00
Danny Ryan 2881f56c08
add pr feedback 2019-01-16 14:44:58 -06: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 a8716436a5
Merge branch 'master' into honest-validator 2019-01-16 13:46:06 -06: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
Danny Ryan 6b72ae3a3b
fill in missing links in phase 0 validator doc 2019-01-14 22:36:33 -06:00
Danny Ryan d29ce725db
add deposit root logic in block proposals 2019-01-14 21:50:34 -06:00
Hsiao-Wei Wang 1070ba2d11
Add ToC 2019-01-15 11:33:46 +08:00
Danny Ryan 1d44023731
initial pass on phase 0 validator doc 2019-01-14 21:25:23 -06: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