Commit Graph

2201 Commits

Author SHA1 Message Date
Danny Ryan b075a7a0ab
add bls_domain to toc 2019-05-21 11:33:52 -06:00
Danny Ryan 847fcf52cc
utilize bls_domain directly for deposits 2019-05-21 11:30:38 -06:00
Danny Ryan 7a9097ec23
Merge branch 'dev' into fix-deposit-forkv 2019-05-21 11:04:13 -06:00
Carl Beekhuizen 24c4d21d5e
Minor edits + PEP8 2019-05-21 12:41:24 +02:00
Justin 90a3f56e0f
Edit BLS spec warning
Fix #898.
2019-05-21 09:13:57 +01:00
Carl Beekhuizen 6b062405c9
merge dev -> carl-exec-phase1 2019-05-20 20:59:08 +02:00
Danny Ryan c0e15f14cc
Merge pull request #1099 from ethereum/vbuterin-patch-4
Updated get_custody_chunk_count
2019-05-20 09:53:33 -04:00
Danny Ryan 14c4d63f2a
Merge pull request #1097 from ethereum/vbuterin-patch-3
Crosslinks store start and end epoch
2019-05-20 09:53:24 -04:00
Hsiao-Wei Wang 83123a33da
Set genesis_state.latest_block_header with `body_root` of empty BeaconBlockBody (#1098) 2019-05-20 17:16:20 +08:00
Carl Beekhuizen cfed4bb41c
Adds missing functions 2019-05-20 10:50:07 +02:00
Justin 2018dd83f5
Update 1_custody-game.md 2019-05-20 09:29:09 +01:00
Carl Beekhuizen 725dcf27f5
Hella bug-fixes and PEP8 2019-05-20 09:47:44 +02:00
Luke Anderson 8e67dec7e4
Fixed misinterpretation of the proof array in the Deposit object, bumped version. 2019-05-20 16:43:21 +10:00
Luke Anderson 490cf9e347
Updated version number to reflect small changes. 2019-05-20 13:56:25 +10:00
Luke Anderson 73c9d126de
Updated API spec with suggestions by @hwwhww.
- Corrected to use American English instead of Australian
 - Fixed spelling mistake with indices
 - Changed tag to 'MinimalSet' and 'OptionalSet'
 - Added a  response to the list of components
 - Renamed 'block_production' to 'block_proposal'
2019-05-20 13:49:06 +10:00
Hsiao-Wei Wang a68aa82b89
Update validator guide 2019-05-20 11:39:13 +08:00
vbuterin c14452bcf4
Updated get_custody_chunk_count
Co-requisite with #1097
2019-05-19 19:44:12 -04:00
vbuterin 85c1654456
Crosslinks store start and end epoch
Solves #1034
2019-05-19 09:33:01 -04:00
Danny Ryan a6a61bbecb
Merge pull request #1093 from ethereum/fix-v-committee
Missed PR feedback from #1085
2019-05-17 14:14:39 -04:00
Danny Ryan 46d30048a6
Merge pull request #1035 from ethereum/vbuterin-patch-2
Allow multiple bit challenges, and recover withdrawability
2019-05-17 13:56:10 -04:00
Danny Ryan 78471e0818
Merge branch 'dev' into fix-v-committee 2019-05-17 13:53:19 -04:00
vbuterin 24edca3456
Fix to make Danny and hww happy 2019-05-17 13:52:23 -04:00
Danny Ryan e0b4dd1aeb
Merge pull request #974 from mslipper/no-ssz-wrapper
Use SSZ union-types in RPC request/response
2019-05-17 13:20:04 -04:00
Danny Ryan 174e1e4dbe
pr feedback 2019-05-17 11:04:05 -04:00
Danny Ryan e1d973d546
Update specs/validator/0_beacon-chain-validator.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-05-17 11:01:18 -04:00
Danny Ryan acb7444184
pr feedback 2019-05-17 10:58:02 -04:00
Danny Ryan 37aca60fae
pr feedback 2019-05-17 10:55:07 -04:00
Danny Ryan d1f5f85464
Merge branch 'dev' into fix-v-committee 2019-05-17 10:31:57 -04:00
Justin 694b31b934
Update 0_beacon-chain.md 2019-05-17 06:11:39 -04:00
Justin f19188816b
Update 0_beacon-chain.md 2019-05-17 06:07:38 -04:00
Justin 05f9dc7baa
Fix #1090
Avoid signed integer
2019-05-17 05:59:01 -04:00
Matthew Slipper 7f6896cca3 Update to use union type 2019-05-16 16:43:10 -07:00
Carl Beekhuizen 229dfe81a6
Merge branch 'dev' into dankrad-patch-7
* dev:
  Typo fix
2019-05-16 12:15:30 +02:00
Bruno Škvorc bc95906e4f
Typo fix 2019-05-15 10:40:42 +02:00
Carl Beekhuizen c10fb92776
Merge dev -> dankrad-p-7 2019-05-15 10:36:01 +02:00
Danny Ryan 01efe52eb0
fix start shard 2019-05-14 17:32:44 -04:00
Danny Ryan 5e7b173b22
fix up validator guide crosslink committee instructions 2019-05-14 17:29:11 -04:00
Justin c60635d2c9
Update 0_beacon-chain.md 2019-05-14 06:15:03 +01:00
Danny Ryan 5ba90d68e1
add flag for validate state root 2019-05-13 16:53:28 -04:00
Danny Ryan a0a2aa90de
lint 2019-05-13 16:40:45 -04:00
Danny Ryan 7bb85a69ed
add process_slots usage to validator guide 2019-05-13 16:34:30 -04:00
Danny Ryan 27c8e41b32
Merge branch 'dev' into JustinDrake-patch-14 2019-05-13 16:29:29 -04:00
Luke Anderson 67921ab96f
Fixed up some small wording in the API readme. 2019-05-13 16:30:53 +10:00
Luke Anderson 0b2c7acdb3
Fixed up markdown.
- Removed TOC
 - Removed all the old spec stuff
 - Uploaded spec to SwaggerHub and provided a link to it.
 - Added a 'license' section to the API description.
2019-05-13 16:25:22 +10:00
Luke Anderson 2035aea0b8
Formatting clean up.
- Moved /node/fork up with other node endpoints
 - Added descriptions and ordering to tags
 - Removed common merkle_root schema, to be more specific in descriptions.
 - Moved BeaconBlockCommon next to appropriate schemas.
 - Lots of small grammar improvements, full stops at end of descriptions.
2019-05-13 15:52:34 +10:00
Luke Anderson d10baf1dce
Added optional path, , renamed tags, and fixed up whitespace issues. 2019-05-13 15:18:56 +10:00
Luke Anderson 48ed25b2bd
Fleshed out a lot more of the API, nearly ready.
- Added all the fields from BeaconBlock(Body)
 - Tagged all paths as 'Minimum for validator'
 - Removed BeaconNode and ValidatorClient conventions
 - Moved the basic non-object schema components to the top
 - Broke out common beacon block properties into the BeaconBlockCommon object
 - Fixed links to Eth2.0 spec
2019-05-13 15:07:15 +10:00
Age Manning feb3b5ea0d
Correct typo 2019-05-13 10:55:08 +10:00
protolambda 08faa86d70
POC ssz types spec build + update spec defs, typing still needs work 2019-05-12 23:56:53 +02:00
terence tsao ba1949b2bc
Update 1_custody-game.md 2019-05-12 13:46:17 -07:00
Danny Ryan 9bd771f787
Merge pull request #1075 from jrhea/patch-1
get_genesis_beacon_state is not defined in the deposit contract
2019-05-12 08:56:37 -06:00
Danny Ryan e85847719f
use relative path for beacon chain link 2019-05-12 08:50:46 -06:00
Jonny Rhea 36514d1c38
Update 0_deposit-contract.md
get_genesis_beacon_state is not defined here.  i modified the spec to link to the function.
2019-05-11 16:49:46 -05:00
Diederik Loerakker acf07892bb
Merge pull request #1065 from ethereum/linter
Add linter
2019-05-11 16:31:45 +02:00
Ryuya Nakamura ae19521ea8 Update the docstring of initiate_validator_exit (#1072) 2019-05-11 19:41:05 +08:00
NIC619 c0d4334ced
Fix SSZ union type example 2019-05-11 15:12:11 +08:00
Alex Stokes a552b94d46
Update 0_beacon-chain-validator.md
typo fix
2019-05-10 11:02:39 -07:00
Luke Anderson b918cc3de3
Fleshed out a whole lot more of the OpenAPI specification for the API. 2019-05-10 14:03:59 +10:00
Luke Anderson 39fd625d35
Started porting the API proposal into OpenAPI 3 format. 2019-05-09 23:49:59 +10:00
Hsiao-Wei Wang 4db4d87930
Refactor `process_final_updates` 2019-05-09 14:57:36 +08:00
Hsiao-Wei Wang 3203e4f7d7
Merge branch 'dev' into vbuterin-patch-2 2019-05-09 14:52:56 +08:00
Hsiao-Wei Wang a4ba283d67
Limit to 120 characters per line
Limit to 120 characters per line
2019-05-09 14:34:23 +08:00
Dankrad Feist ec230f443a
Merge branch 'dev' into dankrad-patch-7
# Conflicts:
#	specs/core/1_custody-game.md
#	specs/core/1_shard-data-chains.md
2019-05-09 01:00:25 +01:00
Dankrad Feist 6ab55efd3d
Phase 0 tests work on phase 1, yay :) 2019-05-08 23:30:08 +01:00
Justin Drake c37157ead1 Revert exception handling 2019-05-08 19:15:23 +01:00
Danny Ryan 33e5b98f17
Merge branch 'dev' into JustinDrake-patch-10 2019-05-08 08:42:47 -06:00
Danny Ryan af2bb7d6f6
Merge pull request #1044 from ethereum/JustinDrake-patch-21
Crosslink in AttestationData
2019-05-08 08:35:06 -06:00
Luke Anderson 4d2e752bb9
Started updating the markdown description of the BNVC REST API, removing stuff specific to the issue and conforming to standard text layout. 2019-05-08 23:51:53 +10:00
Luke Anderson 0d06f6bcc1
Added the first draft of the BN-VC API RFC, as it was listed on the issue #1011. 2019-05-08 15:04:27 +10:00
Age Manning 3c87754dee
Rename shard topics to explicitly state 2019-05-08 10:28:08 +10:00
Danny Ryan 67e733dfac
Merge pull request #1060 from ethereum/JustinDrake-patch-20
Cleanup int_to_bytes
2019-05-07 17:41:08 -06:00
dankrad b97096250f
Merge pull request #893 from ethereum/dankrad-patch-3
Add union type and null to SSZ
2019-05-07 23:24:11 +02:00
Danny Ryan 97a0baa398
Merge pull request #1058 from ralexstokes/add-merkleize-clarity
Add clarity around merkleize on a single chunk
2019-05-07 11:53:08 -06:00
Danny Ryan 13d2ee6969
cleanup validator guide for crosslinks 2019-05-07 11:49:45 -06:00
Dankrad Feist b3501fbf2b
Merge branch 'dev' into dankrad-patch-3
# Conflicts:
#	specs/simple-serialize.md
2019-05-07 18:10:18 +01:00
Danny Ryan bff71b6e90
change some language to be more declarative rather than about the future 2019-05-07 11:08:14 -06:00
Justin Drake 62c44ffce3 Refactor to validate_indexed_attestation 2019-05-07 17:34:19 +01:00
Justin Drake ecc6429b9e Address Danny's comment 2019-05-07 15:01:23 +01:00
Dankrad Feist 4ad92a0989
Fix typing 2019-05-07 13:23:28 +01:00
Dankrad Feist 1db49f4c98
Merge branch 'dev' into dankrad-patch-7
# Conflicts:
#	specs/core/1_custody-game.md
2019-05-07 12:27:24 +01:00
Dankrad Feist a604d03dff
Basic phase 1 pulling + correcting syntax errors in phase 1 2019-05-07 12:13:22 +01:00
Justin Drake 22b06d581d Update instances of int_to_bytes 2019-05-07 10:57:41 +01:00
Justin b1520ea967
Update 0_beacon-chain.md 2019-05-07 10:33:51 +01:00
Justin 9eeca0cdbd
Merge branch 'dev' into JustinDrake-patch-14 2019-05-07 10:16:38 +01:00
Justin Drake 50009ea85b Implement HW's exception-handling suggestion 2019-05-07 10:12:33 +01:00
Hsiao-Wei Wang f371daeb20
Update specs/core/0_beacon-chain.md
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-05-07 09:01:07 +01:00
Justin Drake 964e55cd4a block_body_root => body_root 2019-05-07 08:52:56 +01:00
Alex Stokes fc1239c0ff
Add clarity around merkleize on a single chunk 2019-05-06 18:50:20 -07:00
terence tsao 24966d71be
Update 0_beacon-chain-validator.md 2019-05-06 17:54:40 -07:00
Alex Stokes 54fd822b55
Update simple-serialize.md
typo
2019-05-06 17:36:55 -07:00
protolambda 3a309155aa
fix deposit domain: forks are ignored for deposit validity, deposits are always accepted, if coming from the correct contract(s). 2019-05-06 22:06:00 +02:00
Justin Drake ea60fb632c More renaming 2019-05-06 20:49:46 +01:00
Justin Drake f4db9ebae0 Renamings triggered by HW comment 2019-05-06 18:26:14 +01:00
Justin Drake 8b1a2edb7c Fix genesis bug 2019-05-06 17:53:49 +01:00
Justin 7ba13aa4c5
Merge branch 'dev' into JustinDrake-patch-21 2019-05-06 17:48:09 +01:00
Justin Drake b15105e1cb Address Danny's comment 2019-05-06 17:34:03 +01:00
Danny Ryan 5c2bca4a0d
Merge pull request #1051 from ethereum/JustinDrake-patch-22
Fix #1050
2019-05-06 10:12:13 -06:00
Danny Ryan 4367a9bb0d
Merge pull request #1049 from ethereum/JustinDrake-patch-20
Cosmetic genesis cleanups
2019-05-06 10:06:15 -06:00
JSON d1c96c1e0d Doc standardization (#1039) 2019-05-06 16:30:32 +01:00
Danny Ryan 148f18c5fd
Merge pull request #1023 from ethereum/ralexstokes-patch-1
Add notes to compute fork choice at genesis
2019-05-06 09:11:25 -06:00
Danny Ryan 7d0a6191ed
simplify justificatio/finality notes at genesis 2019-05-06 09:09:37 -06:00
Age Manning c33bdfdb2f
Merge branch 'libp2p' of github.com:AgeManning/eth2.0-specs into libp2p 2019-05-06 12:29:08 +10:00
Age Manning c7fea5ff38
Update libp2p-standardization based on latest comments 2019-05-06 12:28:16 +10:00
Justin 2c3bbac803
Fix #1050 2019-05-05 19:30:55 +01:00
Justin 6aff277b1a
Update 0_beacon-chain.md 2019-05-05 17:20:25 +01:00
Justin a3bbf20bf7
Update 0_beacon-chain.md 2019-05-05 17:17:18 +01:00
Justin bf20031755
Cosmetic genesis cleanups 2019-05-05 17:15:05 +01:00
Justin Drake 5fb32fd19b Fix tests 2019-05-05 12:10:39 +01:00
Justin a6e825d460
Update 0_beacon-chain.md 2019-05-05 12:04:34 +01:00
vbuterin d5d2f7835a
Rearranging one >= statement to make it more non-underflow-friendly 2019-05-03 22:51:59 -05:00
Danny Ryan f57d6fa28e
Merge pull request #1038 from ethereum/master
backport v0.6.1 into dev
2019-05-03 16:28:24 -06:00
Justin 4c1073fa2f
Update 0_beacon-chain.md 2019-05-03 22:22:19 +01:00
Justin Drake 197a7200ef Add HW and Danny comments 2019-05-03 21:21:42 +01:00
Danny Ryan 6318a21ca6
fix minor typo in attestation rewards 2019-05-03 10:37:39 -06:00
Danny Ryan c24002bb1e
Merge pull request #1025 from terencechain/patch-70
Add comment for `get_churn_limit`
2019-05-03 09:16:39 -06:00
Danny Ryan bf2b65191d
Merge pull request #1033 from ethereum/ralexstokes-patch-3
Update name of constant
2019-05-03 09:14:44 -06:00
Danny Ryan e8b2786f34
Merge pull request #1032 from ethereum/ralexstokes-patch-2
Update property name
2019-05-03 09:14:26 -06:00
Hsiao-Wei Wang 2ccd357f0e
Update specs/core/1_custody-game.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-05-03 21:05:54 +08:00
vbuterin 66b152f79e
Allow multiple bit challenges, and recover withdrawability
Resolves #864 items 4, 7, 14
2019-05-03 05:07:11 -05:00
dankrad c0f3453093 RANDAO reveal slashing, custody period staggering and integration of custody and RANDAO reveals (#880)
* Add RandaoRevealSlashing for early Randao reveals

* add some randao reveal slashing tests

* Unifying RANDAO reveal slashing and Custody reveal slashing; implemented more lenient penalty for not-to-early reveals

* Fix custody reveal domain

* Also test exposed_randao_reveals

* Re-add exposed_randao_reveals to validator initialization

* Fix tests

* Unified Randao Reveal slashing mechanism and Custody Reveal,
CUSTODY_PERIOD_TO_RANDAO_PADDING = EPOCHS_PER_CUSTODY_PERIOD

* Move exposed_randao_reveals into separate data structure to keep validator record clean

* new shiny staggered custody periods

* Fixes style and type hinting

* removes whitespace

* Cleans up multi-line conditionals

* Make RANDAO key reveal penalties proportional to block rewards

* Minor typos

* Minor typos

* Fixes off-by one error

* Removes unnecicary whitepsace

* Clean up comments; add test for key reveal too far in the future

* Reduce the CUSTODY_PERIOD_TO_RANDAO_PADDING again

* Fix max_proposer_slot_reward

* Fix types

* Move test

* Fix RandaoKeyReveal tests

* Move all RANDAO key reveal to phase 1

* Factor out signature checking

* Some fixes

* Update specs/core/1_custody-game.md

Co-Authored-By: dankrad <dankrad@ethereum.org>

* Addressing Vitalik's suggestions: Separate RANDAO and Custody key reveals; append the cleanup of RANDAO reveals instead of adding a new function

* Remove remnants of verify_custody_key

* RandaoKeyReveal -> EarlyDerivedSecretReveal

* Make penalty proportional to number of secrets already exposed

* Update specs/core/1_custody-game.md

Co-Authored-By: dankrad <dankrad@ethereum.org>

* Update specs/core/1_custody-game.md

Co-Authored-By: dankrad <dankrad@ethereum.org>

* Update specs/core/1_custody-game.md

Co-Authored-By: dankrad <dankrad@ethereum.org>
2019-05-03 17:30:55 +08:00
vbuterin 4ca2f11827
Custody game changes (#866)
* Custody game changes

1. Don't store the full chunk bits, instead only store a Merkle root. Increased history size complexity from `N` to `N + log(N)` but with the benefit of decreasing storage requirements from `N` to a single 32 byte hash.
2. `custody_bit` is computed as the first bit of the hash of the custody bits, not the xor. This allows us to more safely use functions with more risky security assumptions for computing the chunk mix.

* Update specs/core/1_custody-game.md

* Update specs/core/1_custody-game.md

* Update specs/core/1_custody-game.md

* Update specs/core/1_custody-game.md

* XOR aggregation before SHA256 to reduce number of hashes

* Simplifed get_chunk_bits_root

* standalone -> indexed

* Fix missing "data" and ToC
2019-05-03 17:20:54 +08:00
Alex Stokes 43e85f76d9
Update name of constant
max deposit amount is now in spirit named max effective balance
2019-05-02 21:05:51 -07:00
Alex Stokes 5d688ddb9d
Update property name 2019-05-02 20:45:39 -07:00
Danny Ryan d15ca4c50c
replace asserts in get_active_index_root and get_randao_mix with comment 2019-05-02 18:11:11 -06:00
Justin 9f2cdd9c78
Update 0_beacon-chain.md 2019-05-02 11:07:25 +01:00
Justin c761fbc318
Clean up verify_indexed_attestation
Cosmetic changes:

* Add 4 lines of comments (now every statement has a comment)
* Avoid unnecessary `assert` (the end goal for me is for `assert`s to be exclusive to the operation processing helpers).
* Merge `return`s into one (increase readability, reduce verbosity)
* Use shorter-named `bit_0_indices` and `bit_1_indices` helper variables

Substantive change:

* Remove the condition that `len(0_indices) + len(1_indices) > 0`. This condition is redundant in the context of `process_attester_slashing` because of `slashed_any`. It is largely artificial in `process_attestation` where validators are incentivised to maximise new attestations.
2019-05-02 09:24:24 +01:00
Alex Stokes 78181834ab
Update specs/networking/libp2p-standardization.md
Co-Authored-By: AgeManning <Age@AgeManning.com>
2019-05-02 16:38:23 +10:00
Age Manning bbca108a80
Add Transport and lower-level libp2p specifications 2019-05-02 16:34:47 +10:00
Danny Ryan b169c42339
fix underflows in generate_seed, get_randao_mix, and get_active_index_roots 2019-05-01 17:44:34 -06:00
terence tsao d28e5e4843
Update 0_beacon-chain.md 2019-05-01 16:26:18 -07:00
Alex Stokes faf36e056f
Add notes to compute fork choice at genesis 2019-05-01 16:10:01 -07:00
Danny Ryan 6242e54c0a
Merge branch 'JustinDrake-patch-11' of github.com:ethereum/eth2.0-specs into JustinDrake-patch-11 2019-05-01 17:06:23 -06:00
Danny Ryan 1bb9397b65
Merge pull request #1014 from ethereum/JustinDrake-patch-10
Add 32-byte graffiti
2019-05-01 16:30:02 -06:00
Danny Ryan ef72b7ec20
Merge branch 'master' into vbuterin-patch-2 2019-05-01 16:19:21 -06:00
Danny Ryan 002e27973c
alter get_winning_crosslink.. to have same function signature as get_crosslink_committee 2019-05-01 15:51:43 -06:00
Justin Drake e85678ac15 restore compute_committee 2019-05-01 15:21:38 +01:00
Dankrad Feist b1930d2239
Union default values 2019-05-01 15:12:49 +01:00
Justin Drake 7980cf3ef7 Fix 2019-05-01 15:07:55 +01:00
Danny Ryan a25103cefd
Merge pull request #1013 from terencechain/patch-69
Generate seed once for get_beacon_proposer_index
2019-05-01 07:56:57 -06:00
Justin Drake 9b24d06b2c Cleanup 2019-05-01 14:16:55 +01:00
Justin 563df146b9
Update simple-serialize.md 2019-05-01 13:55:02 +01:00
Justin a33ee00239
Update simple-serialize.md 2019-05-01 13:52:37 +01:00
Justin Drake 2e63a9b5a0 clean up 2019-05-01 13:29:03 +01:00
Justin Drake 5df79d7565 Get rid of state_transition.py 2019-05-01 13:14:10 +01:00
Justin Drake 591a2b47c8 Simplify state_transition.py 2019-05-01 12:08:15 +01:00
Justin 8b316c6db4
Start moving state_transition.py to state transitition spec
The state transition spec should be reasonably self-contained, limiting the amount of "magic" outside of it. This PR is a first step in this direction, specifically for operation processing.
2019-05-01 12:04:27 +01:00
Hsiao-Wei Wang cc22432bb9
Update specs/simple-serialize.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
2019-05-01 12:39:44 +02:00
Hsiao-Wei Wang d0447022cb
Update specs/simple-serialize.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
2019-05-01 12:39:24 +02:00
Hsiao-Wei Wang 4a483309a5
Update specs/simple-serialize.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
2019-05-01 12:39:07 +02:00
Justin f62126d5ee
Update 0_beacon-chain.md 2019-05-01 09:34:09 +01:00