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
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 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
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
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
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
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 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
cf1c78b241
Update 0_beacon-chain.md
2019-04-23 12:55:15 -05:00
Alex Stokes
e26112af37
Update 0_beacon-chain.md
...
typo fix
2019-04-23 08:36:40 -07:00
Danny Ryan
5619e7df9c
Update 0_beacon-chain.md
2019-04-23 09:21:30 -06:00
terence tsao
2650a2c061
Update 0_beacon-chain.md
2019-04-23 07:16:52 -07:00
Carl Beekhuizen
fe01b6f231
Merges dev into carl-patch-1
2019-04-23 13:39:19 +02:00
Danny Ryan
77af610185
Merge pull request #870 from ethereum/vbuterin-patch-10
...
Replace with empty instead of popping finished challenges
2019-04-22 15:30:18 -06:00
Danny Ryan
d4a33dbcaa
add descriptions of typeof and default functions
2019-04-22 15:29:47 -06:00
Danny Ryan
59de05e3e3
Merge pull request #977 from ethereum/JustinDrake-patch-19
...
Fix activation queue bug
2019-04-22 11:29:42 -06:00
Danny Ryan
d9b3021827
Merge pull request #971 from ethereum/vbuterin-patch-2
...
Signal non-final status of base reward and desired issuance goal
2019-04-22 11:15:10 -06:00
Danny Ryan
706191403c
Merge branch 'dev' into JustinDrake-patch-18
2019-04-22 09:48:43 -06:00
Danny Ryan
0079c635b6
Merge pull request #924 from ethereum/JustinDrake-patch-11
...
Remove serialization from consensus
2019-04-22 09:41:30 -06:00
Danny Ryan
d648b091b5
lint
2019-04-22 09:33:46 -06:00
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
vbuterin
c5ee74d5e0
Justin fixes
2019-03-19 11:21:17 -05:00
vbuterin
db92235d9e
Removed some no-longer-necessary functions
2019-03-19 09:34:37 -05:00
vbuterin
dd39d25c86
Replace committee exponential backoff with max progress
...
Removes the mechanism that only rotates committees if blocks have been finalized and every shard has been crosslinked or at exponentially decreasing intervals, and replaces it with a rule that shard committees can only progress a maximum of 64 epochs at a time to preserve the invariant that maximum possible work required per epoch for a validator is O(1).
2019-03-19 09:32:06 -05:00
Justin
78f47f2069
Avoid underflow in voluntary exits
2019-03-19 12:23:17 +00:00
Justin
e91036cfc9
Update 0_beacon-chain.md
2019-03-19 11:12:50 +00:00
Justin
0c383ce4a1
Update 0_beacon-chain.md
2019-03-19 11:11:18 +00:00
Justin
2b454d57f1
Update 0_beacon-chain.md
2019-03-19 11:08:17 +00:00
Justin
dc4b652f72
Only slash active validators
...
This is to prevent a spam/DoS attack where validators with zero balance get "slashed" but no validator loses any balance.
2019-03-19 11:03:42 +00:00
Justin
0039613628
Simplify exit_validator
...
Minor cleanup
2019-03-18 19:08:41 +00:00
Justin
d25c18b320
Update 0_beacon-chain.md
2019-03-17 11:48:47 +00:00
vbuterin
91a0c1ba5f
Persistent committee size per slot reduced to max 128 ( #734 )
...
* Persistent committee size per slot target 128 max 256
Cuts down the cost of verifying a shard chain and aggregating signatures for a shard chain, and also makes the shard chain signatures more usable by light clients for verification as they would only need to keep track of a max 256-sized committee.
2019-03-17 11:44:19 +00:00
Hsiao-Wei Wang
6b82f5e999
Set `GENESIS_FORK_VERSION` to a `bytes4` constant ( #792 )
...
* Set `GENESIS_FORK_VERSION` to a `bytes4` constant
* Update 0_beacon-chain.md
2019-03-17 11:33:42 +00:00
vbuterin
506fdf4042
Added FixedSizeList wrappers ( #777 )
...
* Added FixedSizeList wrappers
Requires corresponding changes to the spec pythonizer.
* FixedSizeList -> Vector
2019-03-17 11:33:19 +00:00
Sören Steiger
65162e0371
Update 0_beacon-chain.md ( #791 )
2019-03-16 20:56:10 +00:00
Sören Steiger
919b99e0ae
Add missing word ( #788 )
2019-03-16 12:46:45 +00:00
NIC Lin
1a0938169b
Fix `get_split_offset` ( #790 )
2019-03-16 12:45:39 +00:00
Justin
e5ff0d59ad
Update 0_beacon-chain.md
2019-03-16 11:23:41 +00:00
Sören Steiger
6b118d2398
Add trailing comma ( #789 )
2019-03-16 12:16:47 +08:00
Justin
709e0df39f
Update 0_beacon-chain.md
2019-03-15 13:54:33 +00:00
Justin
1236e8e1fa
Update 0_beacon-chain.md
2019-03-15 13:53:24 +00:00
Justin
4b461838d2
`GENESIS_EPOCH - 1` for `previous_shuffling_epoch` and `previous_justified_epoch`
...
See item 26 in #675 .
2019-03-15 13:32:24 +00:00
Justin
e912ed7fca
Include recently slashed churn in churn queue
...
Addresses #527 in combination with #784 .
2019-03-15 13:12:03 +00:00
Justin
4a8d748c55
Milder ejections
...
See item 22 in https://github.com/ethereum/eth2.0-specs/issues/675 . Also partially addresses https://github.com/ethereum/eth2.0-specs/issues/527 .
2019-03-15 13:05:46 +00:00
Justin
d8d653dd94
Update 0_beacon-chain.md
2019-03-15 12:51:46 +00:00
Justin
96ab535704
Simplify and cleanup process_attestation
...
Improve readability and testability (by avoiding untriggerable `assert`). Fix #753 .
2019-03-15 12:40:52 +00:00
Justin
58603f276e
Update 0_beacon-chain.md
2019-03-15 11:28:55 +00:00
Justin
dac43eb564
Simplify deposits
...
Fix #760
2019-03-15 11:18:06 +00:00
Justin
4a5ef98813
Move to SHA256
...
SHA256 is de facto blockchain standard. Standardisation of the hash function is a prerequisite for [full standardisation of BLS12-381 signatures](https://github.com/ethereum/eth2.0-specs/issues/605 ). Blockchain projects are likely to provide a cheap SHA256 opcods/precompile, and unlikely to provide a Keccak256 equivelent. (Even WASM-enabled blockchains are likely to provide a SHA256 opcode/precompile since WASM does *not* natively support optimised SHA256 CPU instructions.) With Ethereum 2.0 embracing SHA256 the wider industry is more likely to converge towards a unified cross-blockchain communication scheme via Merkle receipts.
There are no security blockers with SHA256 (see comments by Dan Boneh [here](https://github.com/ethereum/eth2.0-specs/issues/612#issuecomment-470452562 )).
2019-03-15 10:51:08 +00:00
Justin
68d1c74784
Update 0_beacon-chain.md
2019-03-15 09:45:20 +00:00
Justin
5d327b6364
Update 0_beacon-chain.md
2019-03-15 09:43:38 +00:00
Hsiao-Wei Wang
16123685af
Merge branch 'dev' into vbuterin-patch-3
2019-03-15 11:22:15 +08:00
vbuterin
24468de23b
Change get_shuffling to compute_committee
...
See #729 and #774
The behavior now is that the first committee will consist of `get_permuted_index(0..n-1)`, the second committee `get_permuted_index(n....2n-1)`, etc.
2019-03-14 20:28:44 -05:00
Justin
bbc5139115
Update 0_beacon-chain.md
...
Assuming `epoch % i` is a bug, and you meant `epoch + i`. @vbuterin
2019-03-14 19:01:32 +00:00
Justin
23d15f51a7
Update 0_beacon-chain.md
2019-03-14 18:57:17 +00:00
vbuterin
4442dfffb9
Fair proposer selection probability
...
Note that as a side effect, proposer selection becomes less predictable, but I don't feel like this is a large downside.
2019-03-13 21:42:49 -05:00
Alex Stokes
9774a3d581
Helper function returns correct type of `Gwei` instead of indices
2019-03-13 17:01:47 -07:00
Hsiao-Wei Wang
cdd59ae230
add return types to phase 1 functions
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-13 09:11:35 -06:00
Danny Ryan
b40236685c
phase 1 nitpicks
2019-03-13 09:04:12 -06:00
Danny Ryan
e8a5cd0747
fix up for tests
2019-03-12 12:32:11 -06:00
Danny Ryan
6e04b2118c
Merge branch 'dev' into store-justified-root
2019-03-12 12:08:59 -06:00
Danny Ryan
acf0f76d60
Merge branch 'dev' into JustinDrake-patch-1
2019-03-12 11:48:05 -06:00
Danny Ryan
a68b050053
set fork values in genesis as bytes4
2019-03-12 11:35:59 -06:00
Danny Ryan
7b829227ee
Merge branch 'dev' into JustinDrake-patch-4
2019-03-12 11:28:33 -06:00
Danny Ryan
25f6647ef2
minor formatting
2019-03-12 11:07:20 -06:00
Danny Ryan
bdaba00a58
Merge branch 'dev' into JustinDrake-patch-7
2019-03-12 10:56:22 -06:00
Justin
0a349f8bdc
Update 0_beacon-chain.md
2019-03-12 15:58:31 +00:00
Hsiao-Wei Wang
0f120415b5
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-03-12 16:49:04 +01:00
Justin
d8a3048f2c
Update 0_beacon-chain.md
2019-03-12 12:36:09 +00:00
Justin
64ba3a3107
Epoch-based proposer slashing
...
See #675 item 25.
2019-03-12 12:24:37 +00:00
Justin
6c35934060
Update 0_beacon-chain.md
2019-03-12 10:34:24 +00:00
Justin
addf7b77ab
Update 0_beacon-chain.md
2019-03-12 10:26:34 +00:00
Justin
578bf02b6f
Update 0_beacon-chain.md
2019-03-12 10:17:34 +00:00
Justin
a7544864d5
Update 0_beacon-chain.md
2019-03-12 10:02:52 +00:00
vbuterin
4410a55c4d
Mandatory deposits
...
Resolves #675 point 5.
2019-03-11 23:30:08 -05:00
Danny Ryan
3916643ef6
only update justified epoch/root if changed
2019-03-11 18:23:17 -06:00
Justin
3459ea0838
Check proposer is not slashed
2019-03-11 22:07:34 +00:00
Danny Ryan
f06a3b82e7
cache current and previous justified root in state
2019-03-11 14:38:10 -06:00
Danny Ryan
bf6bdbb021
cleanup minor var errors
2019-03-11 12:38:11 -06:00
Danny Ryan
36efb4498f
Merge branch 'dev' into vbuterin-patch-3
2019-03-11 10:44:18 -06:00
Justin
0704297480
Update 0_beacon-chain.md
2019-03-11 17:28:39 +01:00
Danny Ryan
9c2d34d876
Merge branch 'dev' into min-time-to-exit
2019-03-11 09:45:39 -06:00
Danny Ryan
2c7c48a4e0
Merge pull request #751 from ethereum/JustinDrake-patch-8
...
Disallow duplicate voluntary exits
2019-03-11 09:09:53 -06:00
Justin
2d3d7e33b3
Weaken criterion for attestation inclusion
...
The invariant that `get_current_epoch(state) in [get_current_epoch(state), get_previous_epoch(state)]` is preserved, as well as symmetry/fairness across blocks.
2019-03-10 21:58:32 +01:00
Danny Ryan
641bfc2f2c
Merge pull request #744 from ethereum/empty-attestation-bug
...
minor execution bugs
2019-03-10 08:26:21 -06:00
Justin
d425ea26e2
Update 0_beacon-chain.md
2019-03-10 13:50:28 +01:00
Justin
b7376aea5c
Disallow duplicate voluntary exits
...
Stricter processing of voluntary exits to remove an edge case
2019-03-10 13:49:37 +01:00
Justin
02428ec252
Do not check withdrawal credentials for existing validators
...
We should not invalidate blocks that contain a deposit with an inconsistent withdrawal credential as that would stall the chain.
2019-03-10 13:25:57 +01:00
Danny Ryan
902e65e072
add min persistent committee period resitriction on exits
2019-03-08 15:16:06 -07:00
Danny Ryan
0f3e0ef2ad
Merge pull request #743 from ethereum/JustinDrake-patch-9
...
Minor cleanups
2019-03-08 14:59:39 -07:00
Danny Ryan
30e64d7de6
fix get_inactivity_penalty function signature
2019-03-08 12:14:21 -07:00
Danny Ryan
f88db44e81
skip proposer bonus if no attestation for v index
2019-03-08 12:07:57 -07:00
Danny Ryan
f72e856620
Merge branch 'dev' into JustinDrake-patch-7
2019-03-08 10:46:36 -07:00
Danny Ryan
29014d554e
Merge branch 'dev' into JustinDrake-patch-9
2019-03-08 10:39:26 -07:00
Justin
f253feeacf
Update 0_beacon-chain.md
2019-03-08 18:34:51 +01:00
Justin
f180eb5e9e
Update 0_beacon-chain.md
2019-03-08 18:14:00 +01:00
Justin
de60533d72
Update 0_beacon-chain.md
2019-03-08 18:13:05 +01:00
Danny Ryan
f081f23c31
cache more than just state root at start of state transition
2019-03-08 09:48:46 -07:00
Justin
ecd93468a2
Update 0_beacon-chain.md
2019-03-08 17:38:19 +01:00
Justin
3aedf1226a
Update 0_beacon-chain.md
...
Did I get the type casting OK @hwwhww?
2019-03-08 17:36:58 +01:00
Justin
1141467349
Update 0_beacon-chain.md
2019-03-08 17:28:00 +01:00
Danny Ryan
9b598c91b7
Merge branch 'dev' into JustinDrake-patch-7
2019-03-08 09:10:08 -07:00
Danny Ryan
7dc61c6126
Merge branch 'dev' into epoch-start
2019-03-08 08:51:19 -07:00
Justin
a51d7d5db5
Update 0_beacon-chain.md
2019-03-08 10:50:45 +01:00
Justin
12695425c9
Use hash_tree_root everywhere
...
And get rid of merkle_root. This is possible because of SSZ tuples.
2019-03-08 10:32:40 +01:00
vbuterin
8dcc1ba930
Break LMD GHOST ties in favor of higher hash tree roots ( #737 )
2019-03-08 09:58:38 +01:00
Justin
1f147486fc
Semantic fork versions and signature domains
...
Fix #706
2019-03-08 09:57:09 +01:00
Justin
e74c79e353
Update 0_beacon-chain.md
2019-03-08 09:08:30 +01:00
Justin
33a05109ea
Fair proposer sampling
...
I think we want `first_committee[epoch % len(first_committee)]` as opposed to `first_committee[slot % len(first_committee)]`. The reason is that if the shuffling happens infrequently and `len(first_committee)` is a multiple of `SLOTS_PER_EPOCH` then the proposers will not be sampled fairly.
Taking this logic further, we may want to avoiding always picking the proposer from `first_committee`, e.g.:
```
validators_at_slot = []
for crosslink_committee, _ in get_crosslink_committees_at_slot(state, slot, registry_change):
validators_at_slot.append(crosslink_committee)
return validators_at_slot[epoch % len(validators_at_slot)]
```
2019-03-07 23:56:03 +01:00
Justin
339a7fb63b
Update 0_beacon-chain.md
2019-03-07 23:14:47 +01:00
Justin
2d9724dbfc
Update 0_beacon-chain.md
2019-03-07 23:13:06 +01:00
Danny Ryan
e57bfaab7c
clean up state transition notes
2019-03-07 13:36:22 -07:00
Danny Ryan
d00353534d
Merge branch 'dev' into epoch-start
2019-03-07 13:32:15 -07:00
Danny Ryan
6cf14884a8
epoch transition at start of epoch
2019-03-07 12:05:34 -07:00
Danny Ryan
8dec7d805c
reorder ssz types topologically
2019-03-07 11:02:13 -07:00
Hsiao-Wei Wang
250455a67e
Apply suggestions from code review
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-07 10:03:25 -07:00
Danny Ryan
987c741bea
fix state types
2019-03-07 09:44:55 -07:00
Danny Ryan
b1baea2d28
Merge branch 'dev' into vbuterin-patch-7
2019-03-07 08:56:29 -07:00
vbuterin
f9a07f7653
Fixed MIN_DEPOSIT_AMOUNT
2019-03-07 04:04:05 -06:00
vbuterin
be4b912373
Added underflow checking to decrease_balance
2019-03-07 04:02:53 -06:00
vbuterin
0759e170a7
High/low balance separation
...
See #685 for reasoning
2019-03-07 01:38:03 -06:00
vbuterin
ec12460b8b
Make wthdrawn validators immune to inactivity leak
2019-03-07 01:21:17 -06:00
vbuterin
663bc489b6
Added lexicographic tiebreaking
2019-03-06 22:54:52 -06:00
Danny Ryan
175dde7cf7
Merge branch 'dev' into patch-1
2019-03-06 15:56:35 -07:00
Danny Ryan
2f6e560e30
Merge branch 'dev' into vbuterin-patch-7
2019-03-06 15:07:20 -07:00
Alex Stokes
ee2fbd0df7
Fix calls of `signed_root`
2019-03-06 13:48:06 -08:00
Dankrad Feist
81f48ea1c3
Also fix length of Deposit.proof
2019-03-06 21:11:50 +01:00
Dankrad Feist
9d175c9dc9
Merge branch 'dev' into patch-1
2019-03-06 17:28:09 +01:00
Carl Beekhuizen
b4779cd83d
Apply suggestions from code review
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-06 08:55:39 -07:00
Carl Beekhuizen
c9e06d31f3
Apply suggestions from code review
...
base_reward -> get_base_reward
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-06 07:29:06 -07:00
dankrad
776196e66d
Add tuple lengths
...
Adding tuple lengths in BeaconState objects (this changes merkleization/serialization as no length mixin required)
2019-03-06 14:46:52 +01:00
Danny Ryan
b36e70040b
fix call to union
2019-03-05 16:18:41 -07:00
Danny Ryan
b5f0509595
fix proposal slashing minor bugs
2019-03-05 11:29:40 -07:00
Danny Ryan
be1cb4a850
Merge pull request #718 from ethereum/empty-base-reward
...
handle get_base_reward when no previous balance
2019-03-05 09:24:12 -07:00
Danny Ryan
0eacabc273
fix minor typo
2019-03-05 08:51:34 -07:00
Danny Ryan
99da6fe141
fix advance_slot ordering issue
2019-03-05 08:50:51 -07:00
Danny Ryan
e2a0452108
fix previous root ( #716 )
2019-03-05 14:07:00 +01:00
Hsiao-Wei Wang
ecb76420ec
`1e9` is float in Python, change it to `10**9`.
2019-03-05 17:30:42 +08:00
Danny Ryan
d2f7fa9a7e
fix call to get_current_epoch
2019-03-04 19:09:31 -07:00
Danny Ryan
bd936fa6ab
add missing return for justification/finalization reward deltas
2019-03-04 19:07:24 -07:00
Danny Ryan
02e8e89740
handle get_base_reward when no previous balance
2019-03-04 19:05:00 -07:00
Danny Ryan
0fdfbc473e
minor variable issues in helpers
2019-03-04 18:53:31 -07:00
Danny Ryan
0f274a906c
Merge branch 'vbuterin-patch-7' of github.com:ethereum/eth2.0-specs into vbuterin-patch-7
2019-03-04 18:02:46 -07:00
Danny Ryan
738acf0e05
fix calls for get_total_balance
2019-03-04 18:00:38 -07:00
Danny Ryan
47cca60148
handle when no attestations availble for crosslinking ( #717 )
2019-03-04 18:56:50 -06:00