Commit Graph

2082 Commits

Author SHA1 Message Date
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
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
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
Justin 407902763c
Update 0_beacon-chain.md 2019-05-01 09:33:22 +01:00
Justin 427a53cdae
Remove get_state_root from state transition doc
Remove `get_state_root` from the state transition function spec because it is not used by the state transition function.
2019-05-01 09:24:51 +01:00
Justin bbcf5f0daa
Add 32-byte graffiti
Add 32-byte of arbitrary "graffiti" data in beacon blocks, in a similar vein to `extraData` in Eth1. To be used in wonderful and unpredictable ways (permissionless innovation by block proposers).
2019-05-01 09:19:54 +01:00
Justin Drake a0158c606e Expose get_commitee 2019-05-01 09:09:24 +01:00
Justin Drake a6e76ef9c6 Fix 2019-05-01 08:45:29 +01:00
Justin Drake 2e5ab130c1 Simplify presentation 2019-05-01 07:42:49 +01:00
Danny Ryan b3373a2d71
fix up some PR feedback and testing for #1009 2019-04-30 12:55:14 -06:00
terence tsao c5d6c045e6
Update 0_beacon-chain.md 2019-04-30 11:07:58 -07:00
Justin a40f37b9a2
Update 0_beacon-chain.md 2019-04-30 12:31:11 +01:00
Justin 60888c0c48
Update 0_beacon-chain.md 2019-04-30 12:27:45 +01:00
Justin a23c9f712d
Update 0_beacon-chain.md 2019-04-30 11:44:21 +01:00
Justin adfa014a30
Update 0_beacon-chain.md 2019-04-30 11:38:11 +01:00
Justin 73603f4ed6
Update 0_beacon-chain.md 2019-04-30 11:34:57 +01:00
Justin 66403ad853
Update 0_beacon-chain.md 2019-04-30 11:00:23 +01:00
Justin 09ed9aea98
Update 0_beacon-chain.md 2019-04-30 10:55:09 +01:00
Justin b19e7dbf0d
Update 0_beacon-chain.md 2019-04-30 10:44:29 +01:00
Justin 92140d199e
Update 0_beacon-chain.md 2019-04-30 10:41:09 +01:00
Justin bcd7a83af4
Update 0_beacon-chain.md 2019-04-30 10:39:18 +01:00
Hsiao-Wei Wang 59d7be60db
Fix `is_double_vote` and `is_surround_vote` 2019-04-30 15:19:11 +08:00