Commit Graph

1557 Commits

Author SHA1 Message Date
Danny Ryan 5744fef808
clean up some notes on deposits 2019-04-22 09:18:20 -06:00
Justin Drake 0bdd8e778b Add 0_deposit-contract.md 2019-04-22 23:29:19 +10:00
Justin Drake a103e79e67 Add 0_fork-choice.md 2019-04-22 23:20:48 +10:00
Justin 9404949015
Split off fork choice in a separate document 2019-04-22 23:18:17 +10:00
Hsiao-Wei Wang 1c5cc1299a
Update specs/core/0_beacon-chain.md
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-04-22 20:49:07 +10:00
Justin 81ee59bca8
Update 0_beacon-chain.md 2019-04-22 16:34:50 +10:00
Justin 6903f2eec7
Update 0_beacon-chain.md 2019-04-22 16:17:14 +10:00
Justin Drake c123fb1b97 Single effective balance per review by Vitalik—significant simplification 2019-04-22 16:13:46 +10:00
Justin dc275f024d
Update 0_beacon-chain.md 2019-04-22 15:16:34 +10:00
Justin 0da60ba90d
Fix activation queue bug
Fix bug [flagged by @NIC619 and @hwwhww](https://github.com/ethereum/eth2.0-specs/pull/850#issuecomment-485275575) whereby the `activation_epoch` of validators dequeued since the finalized epoch was overwritten.

Cosmetic changes:

1) Remove `activate_validator` (there is no overlap between genesis and non-genesis activations)
2) Improve comments related to activation queue
2019-04-22 15:12:30 +10:00
terence tsao 08d921a6c9 Make crosslink_data_root comment more explicit (#973) 2019-04-21 15:48:02 +10:00
Diederik Loerakker 75fae6f311 Change sorted[-1] to max() (#972) 2019-04-20 18:13:45 +10:00
Justin Drake d6644edcc9 Fix test 2019-04-20 17:12:40 +10:00
vbuterin a2a737b728
Signal non-final status of base reward and desired issuance goal 2019-04-20 01:45:18 -05:00
Justin Drake 7642abf114 Fix| 2019-04-20 16:36:34 +10:00
Justin Drake e184f0b3fe Fix 2019-04-20 16:35:02 +10:00
Justin Drake 06f475a844 Fixes 2019-04-20 16:32:41 +10:00
Justin Drake d700ea4406 Fixes 2019-04-20 16:10:25 +10:00
Justin Drake f07b94e77c Fixes 2019-04-20 15:37:12 +10:00
Justin Drake 356ef15166 Merge branch 'JustinDrake-patch-14' of github.com:ethereum/eth2.0-specs into JustinDrake-patch-14 2019-04-20 15:31:19 +10:00
Justin Drake 4d26ae255a Bug fix 2019-04-20 15:31:15 +10:00
Justin d067a9fcf2
Merge branch 'dev' into JustinDrake-patch-14 2019-04-20 15:19:21 +10:00
Justin Drake f908c8d3e0 Revamped balances and incentivisation 2019-04-20 15:17:33 +10:00
Justin 39d0822602
Sane SSZ object default values (#963) 2019-04-19 18:26:54 +10:00
Justin fad9b4672a
Disallow transfers
As discussed in yesterday's call, temporarily disable transfers until the network is deemed stable enough. We can consider doing a "test-run hard fork" changing this constant prior to the phase 1 hard fork.
2019-04-19 18:09:29 +10:00
Hsiao-Wei Wang 408ef7e6eb
Merge branch 'dev' into carl-patch-1 2019-04-19 14:50:48 +08:00
Danny Ryan 523800819b
Merge branch 'dev' into vbuterin-patch-2 2019-04-18 21:17:29 -06:00
Hsiao-Wei Wang 7a435d2e1a
Merge branch 'dev' into JustinDrake-patch-14 2019-04-19 09:37:11 +08:00
Carl Beekhuizen 26afa077fd Resolves conflicts and merges in dev 2019-04-18 23:17:53 +02:00
Danny Ryan faa6a46f15
Merge branch 'dev' into JustinDrake-patch-11 2019-04-18 11:45:45 -06:00
Danny Ryan 741a74a02c
re-add crosslink tests and ensure pass 2019-04-18 11:16:50 -06:00
Carl Beekhuizen d6e616d4fe Merge branch 'dev' into carl-patch-1
* dev:
  Cleanup per-epoch processing presentation (#959)
2019-04-18 12:02:10 +02:00
Justin fb641bc05f
Merge branch 'dev' into JustinDrake-patch-14 2019-04-18 19:51:17 +10:00
Justin Drake 7a016489c1 Moar 2019-04-18 19:33:38 +10:00
Justin 857d9b2ed9
Merge branch 'dev' into prev-cur-crosslinks 2019-04-18 19:09:41 +10:00
Justin d4ce0d20a0
Cleanup per-epoch processing presentation (#959) 2019-04-18 19:08:34 +10:00
Justin Drake 172e106b48 merge 2019-04-18 18:59:44 +10:00
Justin Drake 4244db92ad More cleanups 2019-04-18 18:53:22 +10:00
Hsiao-Wei Wang 743193aa7d
nitpicks 2019-04-18 16:53:02 +08:00
Justin Drake cae5c22718 Simplify get_crosslink_committee_for_attestation and move to test helpers 2019-04-18 18:15:20 +10:00
Justin 6975288254
Merge branch 'dev' into carl-patch-1 2019-04-18 17:52:56 +10:00
Justin 72f4e2d3b6
Update 0_beacon-chain.md 2019-04-18 17:51:50 +10:00
Justin 40a898f125
Update 0_beacon-chain.md 2019-04-18 17:46:31 +10:00
Justin d9afb67e29
Update 0_beacon-chain.md 2019-04-18 17:45:28 +10:00
Alex Stokes 4bca7f984d Add the prefix `state` when accessing the latest deposit count (#961) 2019-04-18 17:43:22 +10:00
Justin Drake 40b55cf433 More fixes 2019-04-18 14:43:24 +10:00
Justin 9ecafb2a1c
Update 0_beacon-chain.md 2019-04-18 14:33:45 +10:00
Justin fbaf771b1a
Update 0_beacon-chain.md 2019-04-18 14:20:34 +10:00
Justin 443786017f
Further decouple justification and finalisation (#958)
Addresses @djrtwo's comment [here](https://github.com/ethereum/eth2.0-specs/pull/925#issuecomment-484123950).
2019-04-18 13:31:19 +10:00
Danny Ryan 8c5f7a571d
Merge branch 'dev' into prev-cur-crosslinks 2019-04-17 20:27:25 -06:00
Justin 91921d8e86
Update 0_beacon-chain.md 2019-04-18 11:52:14 +10:00
Justin 71e1a598d2
Update 0_beacon-chain.md 2019-04-18 11:09:30 +10:00
Justin 3f9a65f1c8
Update 0_beacon-chain.md 2019-04-18 10:59:15 +10:00
Justin 0f8b1c5f3a
Update 0_beacon-chain.md 2019-04-18 10:56:15 +10:00
Hsiao-Wei Wang 5f9e625774
Merge branch 'dev' into start-at-zero 2019-04-18 08:50:50 +08:00
Hsiao-Wei Wang 02cbb35c8a
Merge pull request #957 from ethereum/finality-bug
fix finalization bug
2019-04-18 08:49:08 +08:00
Justin 9c14900c77
Update 0_beacon-chain.md 2019-04-18 10:45:22 +10:00
Danny Ryan 00a40d037d
Merge pull request #955 from ethereum/JustinDrake-patch-15
Remove custody_bitfield from PendingAttestation
2019-04-17 16:25:39 -06:00
Danny Ryan ca8bc77f96
Merge pull request #858 from ralexstokes/update-get-block-root-text
Update the descriptive text to refer to the correct type of root
2019-04-18 04:56:16 +10:00
Danny Ryan c783cdb2f4
fix bug and add transfer tests 2019-04-17 12:31:00 -06:00
Danny Ryan d118eb03c9
Merge branch 'dev' into carl-patch-1 2019-04-17 11:18:29 -06:00
Danny Ryan 5531adcdd1
remove old assertion in get_beacon_proposer_index 2019-04-17 09:41:23 -06:00
Danny Ryan af4d06c8bf
only run justification/finalization after 2 epochs 2019-04-17 09:38:10 -06:00
Danny Ryan 73bd821417
bug fix 2019-04-17 09:26:23 -06:00
Danny Ryan 4bffa87646
fix finalization bug 2019-04-17 08:57:23 -06:00
Danny Ryan 2cb8f1c520
Merge branch 'dev' into start-at-zero 2019-04-17 08:39:25 -06:00
Danny Ryan ef14396532
Merge branch 'dev' into prev-cur-crosslinks 2019-04-17 08:33:13 -06:00
Justin a4d87d44fb
Remove custody_bitfield from PendingAttestation
I don't think we need it :)
2019-04-17 22:22:53 +10:00
Justin cc92ee9f67
Update 0_beacon-chain.md 2019-04-17 15:53:24 +10:00
Hsiao-Wei Wang a93d34b8e4
Merge branch 'dev' into start-at-zero 2019-04-17 12:32:46 +08:00
Justin 57e5409383
Simplify Eth1Data voting (#938)
Remove `Eth1DataVote` object and simplify logic throughout.
2019-04-17 14:30:03 +10:00
Justin 6f56c379d6
Simplify get_justification_and_finalization_deltas
Cosmetic changes related to `get_justification_and_finalization_deltas`:

* Review naming of misc helper functions and variables
* Abstract away common logic and rework for readability
* Add `MAX_FINALITY_LOOKBACK` and `BASE_REWARDS_PER_EPOCH` constants
* Rescale `INACTIVITY_PENALTY_QUOTIENT`

Substantive changes:

* Make logic relative to `previous_epoch` throughout (as opposed to mixing `current_epoch` and `previous_epoch`)
* Replace inclusion delay bonus by an inclusion delay penalty
2019-04-17 14:06:28 +10:00
Hsiao-Wei Wang cc68df8346
Merge branch 'dev' into prev-cur-crosslinks 2019-04-17 12:01:40 +08:00
Hsiao-Wei Wang 587193076e Minor adjustments (#948)
1. Rename `earliest_attestation` to `get_earliest_attestation` to
avoiding conflicting to variable name
2. Extract `proposer_index` out of
`process_proposer_attestation_rewards` loops
2019-04-17 13:35:37 +10:00
Danny Ryan 882937b537 attesation proposer rewards to block processing (#920) 2019-04-17 12:32:50 +10:00
Justin 24492aa36f
Update 0_beacon-chain.md 2019-04-17 10:16:01 +10:00
JSON eeedea2d8c
Update 1_shard-data-chains.md 2019-04-16 12:03:22 -05:00
Carl Beekhuizen ae0afe389f
Cleaner assertion 2019-04-16 20:11:51 +10:00
Carl Beekhuizen ed28515a95 Enables transferes of BAL > 32 ETH 2019-04-16 16:16:13 +10:00
Justin f84818f19c
Decouple justification and finalization processing (#925) 2019-04-16 14:59:35 +10:00
Justin b6b82ae494
Update 0_beacon-chain.md 2019-04-15 08:15:20 +10:00
Justin a25c436b78
Update 0_beacon-chain.md 2019-04-15 08:14:33 +10:00
Justin 9eba123e2e
Remove serialization from consensus
Consensus now only cares about Merkleisation (i.e. `hash_tree_root`), not about serialization (i.e. `serialize`). This simplifies consensus code by a few tens of lines, is conceptually cleaner, and is more future proof.

A corresponding change is required in the deposit contract.
2019-04-15 07:54:08 +10:00
Alex Stokes 40d6a2635a Update 0_beacon-chain.md (#923)
Fix another typo w/ the withdrawal ~> exit queue PR
2019-04-15 07:03:47 +10:00
Diederik Loerakker 2a88dff2be
Merge pull request #919 from ethereum/JustinDrake-patch-10
Cleaner dust checking in transfers
2019-04-14 23:04:12 +10:00
Alex Stokes c01fb1eea6 Update 0_beacon-chain.md (#922)
More clean up on recent switch to exit queue
2019-04-14 22:56:01 +10:00
Alex Stokes bcf10ecf11 Update 0_beacon-chain.md (#921)
Fix typo to set the right property on the correct object
2019-04-14 22:55:38 +10:00
Hsiao-Wei Wang 3c8d1b23a5 Update specs/core/0_beacon-chain.md
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-04-14 22:12:39 +10:00
Justin a376b6607f
Cleaner dust checking in transfers
Inspired by [this](https://github.com/ethereum/eth2.0-specs/pull/916#commitcomment-33170877).
2019-04-14 21:53:32 +10:00
Danny Ryan 3555ab8c36
Merge branch 'dev' into prev-cur-crosslinks 2019-04-14 20:05:35 +10:00
Danny Ryan 0656817346
Merge branch 'dev' into start-at-zero 2019-04-14 19:46:21 +10:00
Danny Ryan 7840d29f2d
Merge pull request #850 from ethereum/vbuterin-patch-13
Withdrawal queue -> exit queue
2019-04-14 19:21:52 +10:00
Diederik Loerakker be86f966f8 fix transfer invariant, credits to @holiman for finding the edge case (#916) 2019-04-14 19:18:00 +10:00
Justin 3394368a66
Update 0_beacon-chain.md 2019-04-14 19:14:27 +10:00
Justin 875b2ba00d
Update 0_beacon-chain.md 2019-04-14 19:11:40 +10:00
Justin 0908ffa653
Update 0_beacon-chain.md 2019-04-14 19:01:53 +10:00
Danny Ryan 704ea7c301
Merge branch 'vbuterin-patch-13' of github.com:ethereum/eth2.0-specs into vbuterin-patch-13 2019-04-14 18:52:19 +10:00
Danny Ryan 06807cf520
fix tests and off by one error 2019-04-14 18:50:05 +10:00
Justin 0b770121fe
Update 0_beacon-chain.md 2019-04-14 18:23:30 +10:00
Justin 229af3deda
Update 0_beacon-chain.md 2019-04-14 18:10:44 +10:00
Justin 7705ecf89c
Update 0_beacon-chain.md 2019-04-14 17:28:45 +10:00
Justin 15bb9676d5
Update 0_beacon-chain.md 2019-04-14 17:04:36 +10:00
Justin d01fb80fd4
Update 0_beacon-chain.md 2019-04-14 17:02:04 +10:00
Justin 0d6448303d
Update 0_beacon-chain.md 2019-04-14 16:49:17 +10:00
vbuterin f85e7ac447
Added churn limit logic 2019-04-13 22:14:05 -05:00
Alex Stokes 5466a4875d
Update 1_shard-data-chains.md
Fix some typos
2019-04-14 09:54:35 +10:00
Danny Ryan 37004404d0
add exit queue test 2019-04-14 09:13:53 +10:00
Danny Ryan f7c5b0a1c6
set activation_eligibility_epoch during process_deposit 2019-04-14 08:30:13 +10:00
Danny Ryan eafcab7e58
check crosslinks validity root against previous 2019-04-14 08:24:54 +10:00
Justin 30fe6f5657
Update 0_beacon-chain.md 2019-04-14 00:47:14 +10:00
vbuterin cc2d005917
Merge branch 'dev' into vbuterin-patch-13 2019-04-13 06:18:54 -05:00
Danny Ryan a6b3b11356
ensure no reward for crosslinks taht can't form a chain 2019-04-13 17:49:25 +10:00
Danny Ryan 0a5a5b77d5
Merge branch 'dev' into prev-cur-crosslinks 2019-04-13 15:40:05 +10:00
terence tsao 710bacad75
Update 0_beacon-chain.md 2019-04-13 11:56:55 +10:00
Alex Stokes b34c41c525 Update 0_beacon-chain.md (#911)
Fix prose around state transition functionality
2019-04-13 09:56:19 +10:00
JSON ee1578d22a Update 0_beacon-chain.md (#908) 2019-04-13 09:33:53 +10:00
Danny Ryan a3b020384f
add tests for finality through the first few epochs 2019-04-12 23:17:57 +10:00
Danny Ryan 3c55854072
clean up 2019-04-12 21:16:34 +10:00
Justin 1e32661c4f
Remove references and copyright
Licensing is done at the repo level. The listed references are awkwardly incomplete (only the Python implementation was listed when we have ~10 implementations, and only the Casper paper was listed where we could add many ethresear.ch posts).
2019-04-12 19:54:33 +10:00
Danny Ryan a374e29184
Merge pull request #902 from ralexstokes/fix-ordering-of-process-deposits
Move the ordering of the definition of `process_deposit`.
2019-04-12 19:26:30 +10:00
Danny Ryan c119565d8b
Merge pull request #903 from ralexstokes/update-verify-indexed-attestation
Avoid materializing the merged list.
2019-04-12 19:07:01 +10:00
Alex Stokes 4824b34df3
Avoid materializing the merged list.
Fixes #901.
2019-04-12 19:02:16 +10:00
Danny Ryan ce0f52b52d
Merge pull request #890 from ethereum/proto-fix-justification-bitfield
limit bit-length of justification bitfield to strict 64
2019-04-12 18:59:42 +10:00
Alex Stokes c954eab96d
Move the ordering of the definition of `process_deposit`.
This move matches the symmetry of the other operation processing definitions.
2019-04-12 18:57:55 +10:00
Alex Stokes b966041ddb formatting fix (#899) 2019-04-12 18:56:55 +10:00
terence tsao 38b6e71bd5
Update 0_beacon-chain.md 2019-04-12 15:06:23 +10:00
Justin e9a44545be
Update 0_beacon-chain.md 2019-04-12 13:38:58 +10:00
Justin 47b9cdbb36
Update 0_beacon-chain.md 2019-04-12 13:18:10 +10:00
protolambda 7ffcdcfd7c
bitfield length limit style improvement 2019-04-12 09:12:37 +10:00
Danny Ryan 6ca550489e
prevent underflow of previous epoch in all cases 2019-04-11 22:48:27 +10:00
Danny Ryan 8c32128ffb
initial pass on genesis slot == 0 2019-04-11 22:28:42 +10:00
Danny Ryan 2468f9fc99
Merge pull request #868 from ethereum/vbuterin-patch-7
Separate out get_switchover_epoch
2019-04-11 18:55:39 +10:00
Danny Ryan 9c662ec4c3
fix shard delta for latest shard change 2019-04-11 18:48:05 +10:00
Danny Ryan b6158e080a
Merge branch 'dev' into vbuterin-patch-17 2019-04-11 18:36:15 +10:00
Hsiao-Wei Wang e2dc12e9f6 Update specs/core/0_beacon-chain.md
Co-Authored-By: ChihChengLiang <chihchengliang@gmail.com>
2019-04-10 16:24:05 +08:00
protolambda 509354582c
limit bit-length of justification bitfield to strict 64, prevent SSZ encoding crash due to too large integer size 2019-04-10 11:14:22 +10:00
vbuterin 9dde3a2661
Update replace_empty_or_append
Requires adding definitions of `empty` and `typeof` to the function puller.
2019-04-09 05:59:00 -05:00
vbuterin 7a1b38a6ad
Homogenised start shard
Alternative presentation to #884, should be substantively equivalent
2019-04-09 05:52:32 -05:00
Danny Ryan e246c3fb04
source_crosslink_root to previous_crosslink_root 2019-04-08 12:59:42 +10:00
Chih Cheng Liang ffccf742bd
replace signed_root with signing_root 2019-04-08 09:57:04 +08:00
Danny Ryan 42dc003e91
add previous_crosslink_root and enforce crosslinks form a chain 2019-04-07 17:55:38 +10:00
Danny Ryan 26df4f4bc8
Merge branch 'dev' into prev-cur-crosslinks 2019-04-07 16:26:42 +10:00
Danny Ryan 2baa242ac0
Merge pull request #877 from ethereum/sydney-test-format
A new more complete test format for ETH 2.0 testing
2019-04-07 16:23:04 +10:00
protolambda 117e157f29
update comment, fix net naming 2019-04-07 16:21:50 +10:00
Justin 47464f28dc
Update 0_beacon-chain.md 2019-04-07 08:45:43 +10:00
Hsiao-Wei Wang ebba3f5891
Fix typo 2019-04-07 01:59:10 +11:00
Hsiao-Wei Wang 8958cf86bb
Merge branch 'dev' into vbuterin-patch-13 2019-04-06 22:27:35 +08:00
Hsiao-Wei Wang 5ea5746fdd
Fix `get_genesis_beacon_state` and minor refactoring 2019-04-07 01:24:50 +11:00
Justin 63412d9b9e
Update 0_beacon-chain.md 2019-04-06 22:13:56 +11:00
Justin 7f0a93fc3e
Update 0_beacon-chain.md 2019-04-06 21:07:03 +11:00
Justin 169579ce3b
Update 0_beacon-chain.md 2019-04-06 20:45:11 +11:00
vbuterin 199e7849da Clarify lexicographic hash favoring (#881) 2019-04-06 13:07:26 +04:00
Danny Ryan f677af2179
Merge branch 'dev' into prev-cur-crosslinks 2019-04-05 19:55:47 +11:00
Danny Ryan dc325f7682
clean up a few things from PR 2019-04-05 19:39:03 +11:00
terence tsao 5a77e61160
Update 0_beacon-chain.md 2019-04-04 08:11:12 -07:00
Justin a790afa891
Update 0_beacon-chain.md 2019-04-04 08:23:48 +04:00
Justin d1af9144bc
Update 0_beacon-chain.md 2019-04-03 23:40:54 +04:00
Justin 6ca3c64526
Update 0_beacon-chain.md 2019-04-03 23:24:46 +04:00
Justin 76893cafaa
Missing typehint for `convert_to_indexed`
And some minor cleanups
2019-04-03 23:22:27 +04:00
Justin 2529cb1d74
Update 0_beacon-chain.md 2019-04-03 22:53:41 +04:00
Danny Ryan 1fa88fb6d1
remove previous crosslink check from process_crosslinks 2019-04-03 16:56:13 +11:00
protolambda 96ab5a334d
Add note on configuration of constants 2019-04-03 13:35:40 +11:00
Danny Ryan 39b4ef3892
Merge branch 'dev' into prev-cur-crosslinks 2019-04-03 11:57:07 +11:00
Danny Ryan 2f1ab491f9
Merge branch 'dev' into vbuterin-patch-2 2019-04-03 11:15:58 +11:00
Danny Ryan 75f0af45bb
Merge pull request #873 from ethereum/validator-indices-bug
minor bug `process_attester_slashings`
2019-04-02 18:07:30 -06:00
Danny Ryan 014138baab
pr feedback 2019-04-03 11:04:12 +11:00
Danny Ryan d8df789a70
simplify get_winning_root logic 2019-04-03 10:13:05 +11:00
Justin 37fc79cb94
Update 0_beacon-chain.md 2019-04-02 22:30:26 +04:00
Justin c4321c7cc7
Update 1_shard-data-chains.md 2019-04-02 22:17:55 +04:00
Danny Ryan 529cf4223e
add previous and current crosslinks 2019-04-02 16:00:36 +11:00
Danny Ryan 06d005999a
fix validator_indicies issue in process_attester_slashing 2019-04-02 13:50:06 +11:00
vbuterin 3fc24f3d41
Replace with empty instead of popping finished challenges 2019-03-31 21:20:43 -05:00
vbuterin bb990e9892
Separate out get_switchover_epoch
So that we can use it in for subkey reveals as well.
2019-03-31 17:49:02 -05:00
Justin c2edcebee3
Update 0_beacon-chain.md 2019-03-31 20:48:44 +04:00
Justin 79d1f9fb76
Update 0_beacon-chain.md 2019-03-31 20:45:57 +04:00
Hsiao-Wei Wang 77b0a4188b
Update `1_custody-game.md` as well 2019-03-31 22:54:46 +08:00
vbuterin b6be9e1830
Possible aesthetic rework to get_domain
In general I dislike how domains, which should be an unobtrusive out-of-the-way thing that we don't think about much, are taking up so much space in code to express, to the point of them being the single thing preventing `bls_verify` from being expressed in one line of code. Here I reorder arguments and add a default, and make `bls_verify` a one-liner.

Not necessarily convinced that exactly this approach is the way to go, but IMO it's worth considering.
2019-03-31 04:55:24 -05:00
Justin e4c3c556d5
Rename "transaction" to "operation"
Fix #822.
2019-03-31 09:02:10 +04:00
vbuterin 15498f22ef
Fixed exit epoch conditional 2019-03-30 19:26:44 -05:00
Alex Stokes 6f0f2a8f53
Update the descriptive text to refer to the correct type of root 2019-03-30 16:21:09 -07:00
Hsiao-Wei Wang a2dae9a8e0
Fix after merging 2019-03-29 15:26:26 +08:00
Hsiao-Wei Wang 9c4e034bed
Merge branch 'dev' into vbuterin-patch-13 2019-03-29 13:36:00 +08:00
vbuterin f5c5c166af Replace custody challenge game with JABS (#812)
See also #818.

===

* Replace custody challenge game with JABS

Replace the existing proof of custody game with a new game ("Justin's Awesome Bit Sum" or JABS) that works as follows:

* The data `D` is split up into 512-byte chunks `D[0] .... D[n-1]`, and use a mix function `mix(subkey, data) -> {0,1}` (currently the first bit of the hash of `subkey+data`). We calculate `M[i] = (mix(D[0]) + ... + mix(D[i-1])) % 2`, and set the custody bit to `M[n-1]`
* Anyone can challenge by providing the full `M` where `M[n-1]` is not equal to the custody bit
* Anyone can respond to a challenge by providing a specific position in `M` along with a branch of the data where `M[i-1] ^ mix(D[i]) != M[i]`

The maximum size of data is now `2**6` epochs *  `2**6` blocks * `2**14` bytes = `2**26` bytes, so assuming 512-byte mix chunks the maximum mix size is `2**17` bits or `2**14` bytes. The average mix size is `2**8` bytes.
2019-03-28 22:56:43 +00:00
Justin 1082c68fef
Separate document for phase 1 custody game (#818)
The 1-round custody game has been implemented. Many bugs squashed, and a bunch of polishing done. Miscellaneous known issues (~8 of them) to be resolved in separate, smaller, PRs.
2019-03-28 22:54:39 +00:00
Danny Ryan bad03ba554
Merge pull request #848 from wmpea/patch-1
Minor copyedits to 0_beacon-chain.md
2019-03-28 13:16:01 -06:00
Danny Ryan 66d5026ffe
minor copy edit 2019-03-28 13:15:38 -06:00
Danny Ryan 901478e148
Merge branch 'dev' into JustinDrake-patch-11 2019-03-28 12:14:13 -06:00
Danny Ryan 30e29324e9
Merge pull request #831 from ethereum/vbuterin-patch-3
Merge attestation verification logic
2019-03-28 11:33:34 -06:00
Danny Ryan ba47a8f4c4
remove unused set_bitfield_bit hlper 2019-03-28 11:29:45 -06:00
Danny Ryan 1f657cfec5
remove custody_bitfield from indexedattestation. add two separate arrays for 0 and 1 bit 2019-03-28 11:26:04 -06:00
Hsiao-Wei Wang aa4bbcc1c8
Bugfix 2019-03-29 00:43:28 +08:00
vbuterin deb0e32590
Fixes to make Justin happy 2019-03-28 10:51:36 -05:00
vbuterin 1aaa0030fc
Withdrawal queue -> exit queue 2019-03-28 08:58:18 -05:00
William M Peaster 458eb99133
Minor copyedits to 0_beacon-chain.md
Approximately a dozen minor copyediting fixes of non-code text for improved clarity, consistency, and accuracy.
2019-03-27 14:15:50 -05:00
William M Peaster b5bf56376b
Minor copyediting corrections to 0_beacon-chain.md
A handful of minor editing changes made to non-code text for the purposes of improved clarity, consistency, and accuracy.
2019-03-27 14:00:28 -05:00
Danny Ryan fbb09795ed
fix convert_to_indexed custody bitfield bug 2019-03-27 08:31:56 -06:00
Danny Ryan e9cdcac29e
Merge branch 'dev' into JustinDrake-patch-11 2019-03-26 14:09:07 -06:00
Danny Ryan 63e7346cfb
standaline -> indexed 2019-03-26 13:40:19 -06:00
Danny Ryan 81e0e494a8
Merge branch 'dev' into vbuterin-patch-3 2019-03-26 13:30:33 -06:00
Danny Ryan 654351faea
Merge branch 'dev' into vbuterin-patch-16 2019-03-26 13:04:18 -06:00
Danny Ryan 2c5a68b5b5
remove registry_change options from shuffling functions 2019-03-26 12:32:24 -06:00
Danny Ryan a8410b8b84
add some attestation tests. fix genesi crosslink bug 2019-03-26 11:27:07 -06:00
Danny Ryan 2c8e9a11e7
Merge branch 'dev' into vbuterin-patch-18 2019-03-26 10:13:17 -06:00
Danny Ryan c5f1db27f5
Merge branch 'dev' into JustinDrake-patch-7 2019-03-26 07:38:39 -06:00
Justin 87d2618a49
Update 0_beacon-chain.md 2019-03-26 13:21:49 +00:00
Danny Ryan 7f53f257cd
Merge branch 'dev' into JustinDrake-patch-4 2019-03-26 07:14:34 -06:00
Danny Ryan 0121adea38
fix beacon proposer function and mod v-guide to not have lookahead for proposing 2019-03-26 07:09:48 -06:00
Danny Ryan fcc1c64acb
Merge branch 'dev' into vbuterin-patch-13 2019-03-26 06:45:40 -06:00
Danny Ryan fceebeec4e
backport 839 into dev 2019-03-25 11:25:33 -06:00
Justin acc5f314ac
Update 0_beacon-chain.md 2019-03-25 14:54:43 +00:00
Justin fb837400b2
Can't spell (thanks continuous integration!) 2019-03-25 14:49:35 +00:00
Justin b7441e8ab7
Generalise `slash_validator` for phase 1
Make `slash_validator` friendly to phase 1. This is a cosmetic change in the context of phase 0.
2019-03-25 14:30:59 +00:00
Hsiao-Wei Wang 80e2553afd
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-22 09:32:21 -04:00
vbuterin ce18bde5c9
Simplified sorted index check 2019-03-22 06:20:38 -05:00
vbuterin 3ee9fc0cc7
Merge attestation verification logic
Also rename slashable attestation to standalone attestation to reflect its broader functionality in phase 1.
2019-03-22 06:10:44 -05:00
vbuterin e8257db320
Removed hanging min 2019-03-22 05:40:41 -05:00
Hsiao-Wei Wang b34858c67b
Refactor `get_justification_and_finalization_deltas` 2019-03-22 14:21:33 +08:00
Hsiao-Wei Wang ae67e9513b
Fix type hinting and add docstrings 2019-03-22 12:56:54 +08:00
Hsiao-Wei Wang 512ceff1bb
Merge branch 'dev' into vbuterin-patch-20 2019-03-22 11:58:32 +08:00
Danny Ryan 64e3db09d4
Merge branch 'dev' into JustinDrake-patch-19 2019-03-21 16:25:31 -06:00
Danny Ryan d8ad56f759
Merge pull request #828 from ethereum/vbuterin-patch-20-1
Small cosmetic change to slashable attestations
2019-03-21 15:50:08 -06:00
vbuterin 3ece05ccc1
Small cosmetic change to slashable attestations 2019-03-21 16:36:31 -05:00
vbuterin 3b403909e8
Cosmetic improvement to reward/penalty functions 2019-03-21 16:29:14 -05:00
vbuterin 38a5c3640b
Re-added some penalization in case of failure to finalize 2019-03-21 15:13:13 -05:00
vbuterin d1d1b73fb1
Simplify justification and finalization accounting logic
Much of the simplification is cosmetic. The following changes are substantive:

* Inactivity leak penalty specifically on missing the target, not both the target and the source
* Even outside of quadratic leak scenarios, slashing victims suffer offline penalties
2019-03-21 15:11:05 -05:00
Danny Ryan f6da42ffb3
fix markdown issues 2019-03-21 10:04:20 -06:00
Danny Ryan c99fe3fb38
Merge branch 'dev' into vbuterin-patch-3 2019-03-21 08:47:19 -06:00
Danny Ryan fd6d80fcb6
remove get_split_offset from phase 1 doc 2019-03-21 08:24:26 -06:00
vbuterin fdcfc91008
Add docstring into get_split_offset 2019-03-21 07:38:25 -05:00
Hsiao-Wei Wang 2215988415
Merge branch 'dev' into JustinDrake-patch-19 2019-03-20 21:59:40 +08:00
vbuterin fff76749d2
Merge branch 'dev' into vbuterin-patch-3 2019-03-20 08:05:22 -04:00
Justin 833691b8af
Update 0_beacon-chain.md 2019-03-20 08:16:39 +00:00
Danny Ryan a8e2b8cd1d
Merge branch 'dev' into vbuterin-patch-11 2019-03-19 16:06:33 -06:00
Danny Ryan acd7fdd762
add a few voluntary exit tests 2019-03-19 16:00:27 -06:00
Danny Ryan 9d7c2b264e
Merge branch 'dev' into JustinDrake-patch-20 2019-03-19 15:06:36 -06:00
Danny Ryan 2afbd8a02d
Merge branch 'dev' into JustinDrake-patch-8 2019-03-19 14:44:25 -06:00
Justin b664453a34
Update 0_beacon-chain.md 2019-03-19 20:43:05 +00:00
Danny Ryan ef0b3d2948
Merge branch 'dev' into JustinDrake-patch-20 2019-03-19 14:26:38 -06:00
Danny Ryan be13fa8ec3
Merge branch 'dev' into JustinDrake-patch-14 2019-03-19 14:20:12 -06:00
Danny Ryan 574fd8d63c
Merge branch 'dev' into JustinDrake-patch-18 2019-03-19 14:14:35 -06:00
Danny Ryan 23ef802da5
fix small bug in sytax 2019-03-19 13:25:34 -06:00
Danny Ryan cf06cb59c3
Merge branch 'dev' into JustinDrake-patch-13 2019-03-19 12:40:58 -06:00
Danny Ryan 054a1e3126
Merge branch 'dev' into JustinDrake-patch-12 2019-03-19 12:25:50 -06:00
Danny Ryan bdfc01cf93
Merge branch 'dev' into JustinDrake-patch-11 2019-03-19 12:13:42 -06:00
Danny Ryan f7fab30772
minor adjustment to not repeat committe count calc 2019-03-19 11:40:24 -06:00
Danny Ryan f5826e7f1c
small lint 2019-03-19 11:34:49 -06:00
Danny Ryan c8e9073414
define get_split_offset and squash a couple of bugs 2019-03-19 11:24:36 -06:00
Danny Ryan 009563b2c3
fix a few bugs in testing compute_committee 2019-03-19 11:15:51 -06:00
Justin b50e148642
Update 0_beacon-chain.md 2019-03-19 17:13:25 +00:00
Danny Ryan 0737494694
Merge branch 'dev' into vbuterin-patch-16 2019-03-19 11:04:11 -06:00