Commit Graph

991 Commits

Author SHA1 Message Date
Ben Edgington b75ac05ab6 Fix typo seed -> randao_mix 2019-01-11 11:05:43 +00:00
vbuterin 459734cb9e
get_randao_mix slot boundary fix 2019-01-10 22:34:13 -06:00
vbuterin 70c0cc43c5
Fixes as per Danny and Terence 2019-01-10 22:33:22 -06:00
Danny Ryan eec8b4ac44
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:02:51 -06:00
Danny Ryan 7736843917
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:01:30 -06:00
Danny Ryan 648c35dc3d
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:01:05 -06:00
Danny Ryan a0a96c7e7c
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-10 21:00:59 -06:00
Danny Ryan 5827b4cde2
Merge pull request #426 from jrhea/div_by_zero_fix
add assertion to integer_squareroot() to prevent negative results.
2019-01-10 19:20:58 -06:00
jonny rhea d2eca73482 added assertion that n >= 0 2019-01-10 18:09:58 -06:00
Danny Ryan 1c42a9daca
Merge pull request #427 from ralexstokes/fix-typo-penalized-exit-balances
Fix typo with initial generation of `latest_penalized_exit_balances`
2019-01-10 17:01:43 -06:00
Alex Stokes c141d90f0f
Fix typo with initial generation of `latest_penalized_exit_balances`
The spec as written is not valid python -- the generator of the list
comprehension must be iterable.

It looks like the author simply meant to `range` over the intended length.

This commit fixes the missing `range` operator
2019-01-10 15:41:15 -06:00
Ben Edgington 78fcda7ce0 Use bitwise xor to simplify merkle branch getter 2019-01-10 20:45:39 +00:00
Danny Ryan ab7f9d8f54
Merge pull request #422 from ethereum/JustinDrake-patch-1
Fix #320
2019-01-10 12:27:53 -06:00
Danny Ryan 5b1f352414
Merge pull request #388 from ralexstokes/add-missing-property-to-merkle-verification
Fixes a few bugs with deposit verification.
2019-01-10 12:15:12 -06:00
Danny Ryan 69cd904782
Merge branch 'master' into vitalik91 2019-01-10 11:29:11 -06:00
Vitalik Buterin e2886bf3d3 prev -> previous, cur -> current, get_shard_committee_at_slot rework, get_randao_mix rework 2019-01-10 11:01:19 -06:00
Danny Ryan 05fdfcb8c7
Merge pull request #424 from terenc3t/patch-32
Removed an unused line
2019-01-10 10:41:55 -06:00
terence tsao c589f8273b
Update 0_beacon-chain.md 2019-01-10 08:19:56 -08:00
Justin 3476b02ffa
Fix #320
* Avoids unnecessary hashing of `message`
* Makes the ordering of arguments (`message` followed by `domain`) consistent with usage order
2019-01-10 11:52:21 +00:00
Alex Stokes 4cf06d908a
Truncate the index into the Merkle tree to bytes[8]
The beacon chain expects a `uint64` in part to avoid big-int computation.
This commit updates the `Deposit` log so that it broadcasts data of the
appropriate size.
2019-01-09 17:18:15 -06:00
Alex Stokes d62834654f
Broadcast `merkle_tree_index` in lieu of the deposit count 2019-01-09 17:02:19 -06:00
Alex Stokes 7a6854aab9
Fix variable name that was lost in botched rebase 2019-01-09 16:52:43 -06:00
Jim Posen b25154c774 Correct references to sig scheme in beacon spec.
BLS is the name of the signature scheme and BLS12-381 is the name of the
curve that it is defined over. So it is more correct to talk about a
"BLS signature/pubkey" rather than a "BLS12-381 signature/pubkey".
2019-01-09 12:47:19 -08:00
Alex Stokes f49f7eddf9
Use the correct name for the `amount` field 2019-01-09 14:44:06 -06:00
Alex Stokes c5de2fe710
Add missing deposit root when performing Merkle verification 2019-01-09 14:37:51 -06:00
Alex Stokes 6f5a865508
Reorder type so the ssz serialization matches other uses
There is an order based on the Vyper deposit contract which should be maintained
here. There is also a reference to it when processing `Deposit` messages.

This commit corrects the order here so all serializations will match.
2019-01-09 14:35:26 -06:00
Justin 4ea430207b
Update 0_beacon-chain.md 2019-01-09 14:12:47 -06:00
Alex Stokes dff84c00b0
Fixes bugs with description of deposit verification.
1. The order of the `deposit_data` serialization does not match the current
Vyper contract. The description now matches that serialization.

2. The `deposit.merkle_tree_index` was not being used (at least explicitly) so
the text now reflects which inputs are to be used for which parameters in the
pseudocode spec that follows.

3. There seems to be a bug where we want the initial leaf to be the `hash` of
the `DepositData`, not the data itself. The text now reflects this requirement.
2019-01-09 14:08:24 -06:00
Alex Stokes 5f19622f86
Add clarifying comment about where this index is coming from 2019-01-09 14:06:45 -06:00
Hsiao-Wei Wang 0b16430cf5
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 11:00:13 -06:00
Hsiao-Wei Wang 608ec2452c
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:56 -06:00
Hsiao-Wei Wang 83d54f6aa4
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:45 -06:00
Hsiao-Wei Wang 06c5c11cd5
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:31 -06:00
Hsiao-Wei Wang 35851b5303
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:59:20 -06:00
Vitalik Buterin 8f1325f95e Fixed bugs found by Danny 2019-01-09 10:58:33 -06:00
Danny Ryan 1daab4659a
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-09 10:40:40 -06:00
Danny Ryan d5fdeac6e8
Merge pull request #413 from benjaminion/vyper-const
Replace numeric constant with symbolic in Vyper contract
2019-01-08 19:32:36 -06:00
Ben Edgington 994a42e6b1 Add getter to Vyper contract for Merkle branches
Returns the Merkle branch for the leaf at index `index`. This getter provides
an alternative way for beacon chain proposers to access the Merkle tree of
deposits rather than being Ethereum 1.0 light clients. The method can be
called on a trusted Ethereum 1.0 archive node at specific past block numbers
to retrieve the Merkle branch needed to register a validator.
2019-01-08 20:42:19 +00:00
Ben Edgington 61f7e37eff Replace numeric constant with symbolic in Vyper contract
Vyper v0.1.0-beta.6 supports ranges with symbolic constants.
2019-01-08 19:42:22 +00:00
Danny Ryan 9dfc459849
Merge pull request #406 from terenc3t/patch-29
inclusion_slot and inclusion_distance in its own section
2019-01-08 10:49:14 -07:00
Danny Ryan 197b88df92
Merge pull request #404 from akhila-raju/patch-2
Removes naming conflict in get_shuffling.
2019-01-08 09:57:56 -07:00
Danny Ryan 609082c1af
change slot_num to slot_position 2019-01-08 09:57:15 -07:00
Danny Ryan d4271b6bbd
Merge pull request #384 from ethereum/JustinDrake-patch-1
RANDAO hash chain and no stale shuffles
2019-01-08 09:55:36 -07:00
Danny Ryan 78ee210d56
fix seed xor in get_shuffling using bytes32 2019-01-08 09:51:12 -07:00
Danny Ryan fff0989b8c
fix call to hash (from Hash32) 2019-01-08 09:35:51 -07:00
Danny Ryan f6453a7455
Merge branch 'master' into JustinDrake-patch-1 2019-01-08 10:09:30 -06:00
Danny Ryan 9f87511632
Merge pull request #372 from terenc3t/patch-25
Rewording Validator Registry Precondition
2019-01-08 08:43:59 -07:00
Vitalik Buterin b66218a264 Initial commit 2019-01-07 18:53:33 -06:00
terence tsao 4dab5fc72c
Update 0_beacon-chain.md 2019-01-07 15:55:05 -08:00
Akhila Raju b78458bbb2
Removes naming conflict in get_shuffling.
The variable name 'slot' in the for-loop in 'get_shuffling' conflicts with the get_shuffling argument name 'slot'. Renames 'slot' in for-loop to 'slot_num'.
2019-01-07 13:06:44 -05:00