Commit Graph

1325 Commits

Author SHA1 Message Date
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
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
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 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 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
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
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
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
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