Commit Graph

2031 Commits

Author SHA1 Message Date
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
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
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
vbuterin c13c4c5c7b
Calculate historical start shards from state 2019-04-30 02:09:52 -05:00
Danny Ryan dc458bfd2b
Merge pull request #1004 from ethereum/JustinDrake-patch-10
Fix two effective_balance bugs
2019-04-29 12:06:27 -06:00
Danny Ryan 2348595f6d
Merge pull request #1006 from JSON/patch-1
Tidying up the test_gen readme
2019-04-29 11:58:19 -06:00
vbuterin 77d7aa7630
Attestation committee refactor
* Remove `get_crosslink_committees_at_slot` (that function's ugly man...)
* Make the "base" that everything works off instead be `get_crosslink_committee`
* Attestations store epoch, start shard and shard, no longer slot (slot can be calculated from the other three)
* Retaining start shard in attestations allows `get_attesting_indices` to peek much further back into the past, making it useful for slashings (Phase 1)
* Some two-layer-deep nested loops become one-layer-deep loops
2019-04-29 11:02:39 -05:00
Dankrad Feist 101449e71a
Define null as alias of {} 2019-04-27 21:00:50 +01:00
Dankrad Feist f9130a88ff
Merge remote-tracking branch 'origin/dev' into dankrad-patch-3
# Conflicts:
#	specs/simple-serialize.md
2019-04-27 20:53:07 +01:00
Justin 9dd4b2110a
Fix two effective_balance bugs
* Initialisation bug: initial `effective_balance` be not greater than `MAX_EFFECTIVE_BALANCE`
* Hysteresis bug: do not prevent `effective_balance` to go from `MAX_EFFECTIVE_BALANCE - 1` to `MAX_EFFECTIVE_BALANCE`
2019-04-26 18:46:35 +04:00
Danny Ryan b69423f29b
Merge pull request #996 from ethereum/return_tuple
`_deltas` functions should return `Tuple` instead of `List`
2019-04-26 08:44:51 -06:00
Danny Ryan 48bdfd8642
Merge branch 'master' into hwwhww/clean_up 2019-04-26 08:40:50 -06:00
Danny Ryan b31c21b3a7
Merge pull request #1001 from ethereum/registry_test
Fix `process_registry_updates` and add `test_process_registry_updates`
2019-04-26 08:30:57 -06:00
Danny Ryan f76ade93d8
update registry tests to return the blocks that transiiton the pre_state to post_state 2019-04-26 08:27:07 -06:00
Danny Ryan 02e0118d48
Merge branch 'master' into deposit_contract_description 2019-04-26 07:59:43 -06:00
Danny Ryan 2e79053223
fix minor typo 2019-04-26 07:59:12 -06:00
Danny Ryan 7b7f6414d9
Merge pull request #994 from terencechain/patch-68
Fixed a broken ToC link
2019-04-26 07:52:53 -06:00
Alex Stokes 2787fea5fe Update 0_fork-choice.md (#998)
Fix attribute access; this field has been renamed in the latest version of the phase 0 spec.
2019-04-26 20:50:27 +10:00
Hsiao-Wei Wang 649dbfdf6c
bugfix: missing validator 2019-04-26 14:43:05 +08:00
Hsiao-Wei Wang fc7d57eec6
PEP8-ish clean up 2019-04-25 16:03:02 +08:00
Hsiao-Wei Wang 6a92267527
`_deltas` functions should return tuple instead of list 2019-04-25 15:37:05 +08:00
Hsiao-Wei Wang 343454fe19
Adjust headers 2019-04-25 15:06:21 +08:00
Hsiao-Wei Wang c769eebff7
Modify the description 2019-04-25 15:02:14 +08:00
Hsiao-Wei Wang ff59a3eb77
Copy from ethereum/eth2.0-specs#936 2019-04-25 14:47:44 +08:00
Danny Ryan 768f3ed813
remove validator link refs from fork choice doc 2019-04-24 16:57:44 -06:00
terence tsao 0606689c2b
Update 0_deposit-contract.md 2019-04-24 14:38:58 -07:00
terence tsao 6a5405cccf
Update 0_fork-choice.md 2019-04-24 14:32:16 -07:00
Danny Ryan 777590434b
Merge branch 'dev' into JustinDrake-patch-20 2019-04-24 13:37:50 -06:00
Danny Ryan 2b999a6c7e
fix off by one error for eth1 data voting 2019-04-24 13:15:06 -06:00
Danny Ryan 7694b9e022
Merge branch 'dev' into piper/add-sos-style-offset-serialization-to-ssz 2019-04-24 12:37:16 -06:00
Danny Ryan 20d65e040b
pr feedback 2019-04-24 11:31:24 -06:00
Justin b1e1510e21
Update 0_beacon-chain.md 2019-04-24 20:57:31 +10:00
Justin 1284b93416
Update simple-serialize.md 2019-04-24 15:53:28 +10:00
Justin Drake 4734b22883 simplify 2019-04-24 15:32:43 +10:00
Justin Drake b361fdb385 bug 2019-04-24 15:29:46 +10:00
Justin Drake c37789dc5d Tests fixed 2019-04-24 15:27:47 +10:00
Justin Drake 55f042aa71 More fixes 2019-04-24 15:17:25 +10:00
Justin Drake df64eeefa0 Start fixing tests 2019-04-24 14:46:28 +10:00
Justin de01ffd38d
Merge branch 'dev' into JustinDrake-patch-14 2019-04-24 14:35:02 +10:00
Justin f2d885f0d8
Address Danny's comments 2019-04-24 14:23:51 +10:00
Danny Ryan 7b7b867e7d
Merge pull request #936 from ethereum/carl-patch-1
Enables transfers of balance proportions > 32 ETH
2019-04-23 12:24:13 -06:00
JSON b6a085d0d7
Update bls_signature.md 2019-04-23 13:01:21 -05:00
JSON 58c50c2f08
Update msg_hash_g2_compressed.md 2019-04-23 13:00:25 -05:00
JSON babf2721c7
Update msg_hash_g2_uncompressed.md 2019-04-23 13:00:15 -05:00
JSON dbcac289c8
Update priv_to_pub.md 2019-04-23 13:00:05 -05:00
JSON 2048b657b6
Update sign_msg.md 2019-04-23 12:59:58 -05:00
JSON f164702b70
Update README.md 2019-04-23 12:59:15 -05:00
JSON cf1c78b241
Update 0_beacon-chain.md 2019-04-23 12:55:15 -05:00
JSON d64d97eee7
Update core.md 2019-04-23 12:52:06 -05:00
JSON 5e4afc2dd0
Update rpc-interface.md 2019-04-23 12:49:59 -05:00
Alex Stokes e26112af37
Update 0_beacon-chain.md
typo fix
2019-04-23 08:36:40 -07:00