Commit Graph

678 Commits

Author SHA1 Message Date
Alex Stokes
a0e454d86c Fixes bug with Merkle proof branch selection
This code determines the order in which the next branch element and the
current value should be hashed to produce the parent node in the Merkle tree.

The existing code fails to verify branches constructed in the standard way.

This patch fixes the spec code so that it works properly by using an appropriate
parity calculation.

Example code here to illustrate it working:
https://gist.github.com/ralexstokes/9d82e188bd3286ff74a1fa1dcb5068e0
2019-01-04 09:48:50 -06:00
Hsiao-Wei Wang
88de4e35f2 Merge pull request #395 from terenc3t/patch-28
Get shard_block_root from crosslink
2019-01-04 16:04:43 +08:00
Danny Ryan
e3c4155ba5 Merge pull request #393 from terenc3t/patch-27
Align Field Names with Phase 0 Spec
2019-01-03 21:48:14 -07:00
Danny Ryan
d360330f83 Merge pull request #394 from ralexstokes/fix-update-validator-registry-fn
Remove dangling `return` statement from spec function
2019-01-03 21:46:34 -07:00
Danny Ryan
a84dd398e4 Merge pull request #392 from ralexstokes/fix-units-ejection-balance
Fix a type error with units of wei when determining ejection balance.
2019-01-03 21:44:08 -07:00
Danny Ryan
d5e6d84269 Merge pull request #391 from ralexstokes/typo/hash-slot
Change "justified hash" to "justified slot"
2019-01-03 21:43:12 -07:00
terence tsao
97bd04607c Update 0_beacon-chain.md 2019-01-03 19:40:03 -08:00
terence tsao
c0140d72ee Update 0_beacon-chain.md 2019-01-03 18:23:23 -08:00
Alex Stokes
19a9582a48 Remove dangling return statement from spec function
This function declares that it returns `None` and instead directly mutates the
state.

There is a dangling return statement that this commit deletes.
2019-01-03 19:42:07 -06:00
terence tsao
19b1a31903 Update 1_shard-data-chains.md 2019-01-03 13:57:04 -08:00
Alex Stokes
9a83ad7b9b Fix a type error with units of wei when determining ejection balance.
`EJECTION_BALANCE` is in units of ETH.

`state.validator_balances[index]` is in units of Gwei.

For the ejection computation to work as desired, we need to convert the
`EJECTION_BALANCE` constant from ETH to Gwei.
2019-01-03 14:28:36 -06:00
Alex Stokes
457f84fa64 Change "justified hash" to "justified slot"
There should be a correspondence here but referring to the slot is more
explicit, especially for those who are not as familiar with the
details of FFG finalization.
2019-01-03 12:06:44 -06:00
Hsiao-Wei Wang
f92735454e Fix verify_slashable_vote_data
The first field of `AttestationDataAndCustodyBit` should be an `AttestationData` object, not an `SlashableVoteData` object.
2019-01-03 16:19:54 +08:00
Hsiao-Wei Wang
78e73633bc Merge pull request #382 from ethereum/remove_shard_reassignment_record
Remove `ShardReassignmentRecord`
2019-01-02 23:48:04 +08:00
Justin
7d240946a9 Update 0_beacon-chain.md
* Cleanup comments related to custody
* Rename "Miscellaneous" to "Custody" in the table of contents
* Use `INITIAL_SLOT_NUMBER` instead of `0` for initial custody slots
* (typo) Fix `second_latest_custody_reseed_slot` => `penultimate_custody_reseed_slot`
2019-01-02 13:35:57 +00:00
Hsiao-Wei Wang
35adc9c61a Remove ShardReassignmentRecord 2019-01-02 15:31:57 +08:00
Hsiao-Wei Wang
0d9ecce344 Rename poc_ to custody 2019-01-02 15:16:55 +08:00
Alex Stokes
d49b6e5087 Fix typo with missing bracket (#379) 2018-12-31 23:35:09 +00:00
Danny Ryan
8f29bcdf08 Merge pull request #373 from ethereum/fix-slashing
fix slashing conditons
2018-12-31 07:57:51 -06:00
terence tsao
c8ff723514 Update 0_beacon-chain.md 2018-12-30 16:06:33 -08:00
vbuterin
1a4973171f Remove references to the persistent committees (#376)
* Remove references to the persistent committees
2018-12-30 23:46:32 +00:00
Danny Ryan
aa9bda271f fix slashing conditons to be based upon epochs rather than slots 2018-12-28 11:10:12 -06:00
Hsiao-Wei Wang
6b84dae09e Fix #361: pass poc_commitment to validate_proof_of_possession (#364)
* Fix #361
2018-12-27 18:11:38 +00:00
terence tsao
44c389bfe3 crosslink rewards typo (#367) 2018-12-27 18:01:20 +00:00
Nishant Das
8c12896fa0 Cleanup merkle_root
Add docstring and fix spacing.
2018-12-27 17:58:24 +00:00
Hsiao-Wei Wang
2c9cefa6a7 Use current_ instead of this_` 2018-12-26 15:48:20 +08:00
terence tsao
a2422de686 Potential bug for crosslinks? 2018-12-23 09:34:46 -08:00
vbuterin
4938481428 Added hash-and-bit data structure as per #286 (#355)
* Added hash-and-bit data structure as per #286
2018-12-23 10:48:11 +00:00
Hsiao-Wei Wang
0ee724a4ab Merge pull request #356 from terenc3t/patch-22
updated SSZ implementation list
2018-12-23 12:04:31 +08:00
Hsiao-Wei Wang
985a3fe958 Merge pull request #351 from dangerousfood/vrc-con-update
Update VRC contract for Vyper v0.1.0-beta.6
2018-12-23 12:03:34 +08:00
terence tsao
f21da324ef updated SSZ implementation list 2018-12-22 15:13:54 -08:00
Danny Ryan
f8652fa25b Merge pull request #347 from ethereum/vbuterin-patch-15
Changes to inactivity leak
2018-12-22 07:13:41 -06:00
Danny Ryan
f84b7b5f31 Merge pull request #341 from ethereum/target-committee-size
change TARGET_COMMITTEE_SIZE to 128
2018-12-22 07:12:21 -06:00
Danny Ryan
a60ab53647 PR feedback 2018-12-22 07:11:58 -06:00
Danny Ryan
d0b5133912 Merge pull request #349 from ethereum/vbuterin-patch-17
Proof of custody placeholders
2018-12-22 07:08:18 -06:00
vbuterin
99817aeb0e Typo fix: lastest -> last 2018-12-21 17:23:42 -05:00
Danny Ryan
6a73a056f0 Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-21 17:22:42 -05:00
Joseph Delong
1068076822 update vrc cotnract for vyper v0.1.0-beta.6 2018-12-21 16:18:41 -06:00
Danny Ryan
fa8be783ad Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-21 17:12:38 -05:00
vbuterin
4f94f7579c Moved notes to the end of the section to make Danny happy 2018-12-21 11:29:15 -05:00
vbuterin
5fc8f6cfca Fixed deposit inclusion and positioning of state variables 2018-12-21 11:26:40 -05:00
Justin
c8efdc7431 Add placeholder array in state for VDFs
Added `latest_vdf_outputs` in `state` initialised to an array of `ZERO_HASH` of length `LATEST_RANDAO_MIXES_LENGTH // EPOCH_LENGTH`. (There's one VDF output per epoch. The VDF input is the RANDAO mix at the epoch boundary.)

 Further changes to activate VDFs (in a future phase):

* Add a new beacon "VDF output and proof" transaction, e.g. with `MAX_VDF_OUTPUT_AND_PROOF := 1`.
* Adjust the `MAX_SEED_LOOKAHEAD` constant, e.g. to `2**4 * EPOCH_LENGTH`. (The `2**4` parameter is essentially `A_max`.)
* Add a `process_vdf_output_and_proof` helper function in the per-block processing:
    * Verify the VDF input hasn't already been processed (check the corresponding `state.latest_vdf_outputs` entry is not `ZERO_HASH`.)
    * Verify the proof is correct, i.e. matches the VDF input and output
    * Save the VDF output to `state.latest_vdf_outputs`
* In the per-epoch processing set the corresponding entry in `state.latest_vdf_outputs` to `ZERO_HASH`.
* Use a VDF output for the shuffling seed.
2018-12-21 15:26:13 +00:00
Hsiao-Wei Wang
6667edb015 Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-21 09:08:01 -05:00
vbuterin
6eb4e59b8c slots -> epochs 2018-12-21 09:07:04 -05:00
vbuterin
8e30f1b63e Set zero balance TTL back to 2**22 2018-12-21 09:06:30 -05:00
Hsiao-Wei Wang
1d1db908e2 Fix grammar 2018-12-21 16:43:59 +08:00
Hsiao-Wei Wang
ac0b8aac07 Add initial setting of proof of custody placeholders 2018-12-21 16:41:48 +08:00
Hsiao-Wei Wang
e639f365a6 Merge pull request #344 from ethereum/hwwhww/chunk_size
phase1: Adjust `CHUNK_SIZE`
2018-12-21 11:04:36 +08:00
vbuterin
985c8a2c30 Proof of custody placeholders
Replacing #145
2018-12-20 16:01:00 -05:00
vbuterin
ac5db1da8d Doubled sqrt e drop time. 2018-12-20 12:51:34 -05:00