Hsiao-Wei Wang
ba8c44dd9a
Fix the new `Eth1Data` fields to `bytes32`
2019-01-19 15:46:09 +08:00
Hsiao-Wei Wang
47170bfafd
Merge branch 'master' into vbuterin-patch-2
2019-01-19 15:28:14 +08:00
Hsiao-Wei Wang
28ec5846de
Merge pull request #475 from ethereum/djrtwo-patch-4
...
remove unused variable def
2019-01-19 15:17:05 +08:00
Hsiao-Wei Wang
8dff59abd8
Merge pull request #474 from ethereum/djrtwo-patch-3
...
add some missing `data` calls
2019-01-19 15:16:00 +08:00
Hsiao-Wei Wang
15685cd3f1
Merge pull request #458 from ethereum/bytes32
...
Update BLS and core specs for `bytes32` and `bytes48` SSZ types
2019-01-19 15:09:09 +08:00
vbuterin
9e75a76fc1
Implement #459
...
Contents:
* Peg entries and exits to epoch boundaries
* Add a store of historical active index roots
* Mix it into the randomness
* Remove the delta hash chain
Note that the actual light client implementation is beyond the scope of the spec.
[Note to reviewers: verify that the invariant added in the PR is correct]
Question:
* Do we want to also only store epoch-boundary randao values? I don't think we use the epoch-intermediate ones anywhere.....
2019-01-18 21:06:21 -06:00
Danny Ryan
cc18df1185
remove unused variable def
2019-01-18 18:45:15 -06:00
Danny Ryan
89f0543ab9
add some missing `data` calls
2019-01-18 17:13:23 -07:00
Justin
1c48544fee
Update 0_beacon-chain.md
2019-01-18 21:38:25 +00:00
Justin
70dfdace15
Update 0_beacon-chain.md
2019-01-18 21:37:30 +00:00
Danny Ryan
aa29b9a347
add missing state param to calls to get_crosslink_committees_at_slots
2019-01-18 09:55:32 -06:00
Danny Ryan
b493f850fc
cleanup crosslink committees iters
2019-01-18 09:40:15 -06:00
Mikhail Kalinin
11009af16e
Adds a note about Python code exceptions
2019-01-18 18:01:43 +06:00
Alex Stokes
a7307b9236
Sign full `Exit` message so that a validator can prevent tampering ( #468 )
2019-01-18 10:10:23 +00:00
Hsiao-Wei Wang
690cf4b787
PR feedback
2019-01-18 16:21:58 +08:00
Danny Ryan
c8a42c4dcc
Merge pull request #429 from Nashatyrev/master
...
Potential UInt underflow in get_shard_committees_at_slot
2019-01-17 22:01:46 -06:00
Danny Ryan
90273cf46d
Merge pull request #469 from decanus/patch-10
...
`a.beacon_block_root` -> `a.data.beacon_block_root`
2019-01-17 20:25:50 -06:00
Danny Ryan
166a1d0638
Merge pull request #467 from decanus/patch-9
...
Adds Data field
2019-01-17 20:25:17 -06:00
Dean Eigenmann
15fdea5b1b
`a.beacon_block_root` -> `a.data.beacon_block_root`
2019-01-18 02:36:37 +01:00
Dean Eigenmann
96aac450b5
Update 0_beacon-chain.md
2019-01-18 02:22:12 +01:00
Dean Eigenmann
c8597a0d49
Update 0_beacon-chain.md
2019-01-18 02:11:54 +01:00
Hsiao-Wei Wang
063f658697
`bytes96` for Signature
2019-01-18 03:19:38 +08:00
Danny Ryan
91eba49eeb
fix slot for domain in verify_slashable_vote_data ( #465 )
2019-01-17 19:00:29 +00:00
Danny Ryan
8b64832a02
ensure inclusion distance is for lower applicable attestation
2019-01-17 12:07:41 -06:00
Hsiao-Wei Wang
df83dc7bf5
Merge branch 'master' into bytes32
2019-01-17 19:49:10 +08:00
vbuterin
7686702c29
Vote for block hash along with deposit root ( #448 )
2019-01-17 11:43:47 +00:00
Hsiao-Wei Wang
18b97cf922
pubkey: Bytes48
2019-01-17 19:40:26 +08:00
terence tsao
7439939e29
Misc Renamings ( #450 )
...
- `participation_bitfield` -> `aggregation_bitfield`
- `validator_registry_latest_change_slot` -> `validator_registry_update_slot`
- `latest_penalized_exit_balances` -> `latest_penalized_balances`
- `fork_data` -> `fork`
- `pre_fork_version` -> `previous_version`
- `pork_fork_version` -> `current_version`
- `fork_slot` -> `slot`
2019-01-17 11:18:30 +00:00
JinHwan
87fb35d244
Remove Record suffix ( #434 )
2019-01-17 11:01:13 +00:00
terence tsao
812b385f64
Normalize ETH units to Gwei ( #420 )
2019-01-17 10:55:05 +00:00
Hsiao-Wei Wang
209220787b
Deal with BLS APIs, will define `Bytes48` in the type hinting cleanup
2019-01-17 17:29:28 +08:00
Hsiao-Wei Wang
713af88c43
`proof_of_possession: Signature`
2019-01-17 17:03:20 +08:00
Hsiao-Wei Wang
725199593b
For pubkey type hinting, use `bytes` for now.
2019-01-17 17:00:39 +08:00
Hsiao-Wei Wang
0b10b0444a
Replace `Hash32` with `Bytes32`
2019-01-17 16:56:33 +08:00
Hsiao-Wei Wang
61f5d99dee
Fix `Deposit.branch` type notation
2019-01-17 16:54:38 +08:00
Hsiao-Wei Wang
14891047d7
Update `EMPTY_SIGNATURE`
2019-01-17 16:52:56 +08:00
Hsiao-Wei Wang
a588643661
Replace `uint384` with `bytes48` for pubkey
2019-01-17 16:51:50 +08:00
Hsiao-Wei Wang
7005e5fd55
Replace `['uint384']` with `Signature`
2019-01-17 16:49:08 +08:00
Hsiao-Wei Wang
b515683e39
Replace `'[uint384]'` with Signature
2019-01-17 16:47:27 +08:00
Hsiao-Wei Wang
8d5fd404a7
Add `Signature` SSZ obj
2019-01-17 16:42:46 +08:00
Hsiao-Wei Wang
accd3cfd01
Replace `hash32` with `bytes32`
2019-01-17 16:33:59 +08:00
Hsiao-Wei Wang
23e3f4defe
Rename `bytes1(x)`, `bytes2(x)`... function to `int_to_bytes1(x)`, `int_to_bytes2(x)`...
2019-01-17 16:30:04 +08:00
Anton Nashatyrev
d29cbd6535
Merge remote-tracking branch 'upstream/master'
2019-01-17 11:00:19 +03:00
Dean Eigenmann
509870d138
Update 0_beacon-chain.md
2019-01-17 02:18:30 +01:00
Dean Eigenmann
412d295da3
Update 0_beacon-chain.md
2019-01-16 22:28:15 +01:00
Dean Eigenmann
b74f518e4b
Fix typo `validators` -> `validator_registry`
2019-01-16 22:01:32 +01:00
Dean Eigenmann
60bbe7addc
Update 0_beacon-chain.md
2019-01-16 21:33:36 +01:00
Dean Eigenmann
5d542576d9
Update 0_beacon-chain.md
2019-01-16 21:31:33 +01:00
Danny Ryan
2c78645fc6
Merge pull request #452 from GregTheGreek/master
...
fix typo with get_attestation_participants
2019-01-16 13:41:03 -06:00
Hsiao-Wei Wang
e5ea67f4ac
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: GregTheGreek <gregorymarkou@gmail.com>
2019-01-16 14:39:00 -05:00
Dean Eigenmann
3b1ccae58c
Update 0_beacon-chain.md
2019-01-16 20:35:01 +01:00
Gregory Markou
2c25ed9062
fix typo with get_attestation_participants
2019-01-16 14:05:53 -05:00
Danny Ryan
85d6082990
Merge pull request #443 from terenc3t/patch-35
...
Replace shard_committee with crosslink_committee
2019-01-16 12:05:43 -06:00
Dustin Brody
5058e38b23
fix ValidatorRegistryDeltaBlock field naming/reference inconsistency
2019-01-15 20:26:53 -08:00
Hsiao-Wei Wang
0515adff44
Merge pull request #438 from mkalinin/fix-proposer-slashings
...
Fix one of proposer slashing verifications
2019-01-15 20:53:37 +08:00
Anton Nashatyrev
5321fee1cd
Merge with spec update
2019-01-15 11:32:19 +03:00
Danny Ryan
8173854227
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: mkalinin <noblesse.knight@gmail.com>
2019-01-15 12:02:17 +06:00
terence tsao
aa990eb10e
update `shard committees` in get_shuffling
2019-01-14 21:07:36 -08:00
Hsiao-Wei Wang
134ef6d252
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: terenc3t <terence@prysmaticlabs.com>
2019-01-14 20:44:30 -08:00
terence tsao
bd506e1222
Update 0_beacon-chain.md
2019-01-14 16:06:33 -08:00
Danny Ryan
6f539fb1af
minor fix to bls_verify param names in "proposer signature" ( #441 )
2019-01-14 22:23:57 +00:00
Hsiao-Wei Wang
1cd71b9d58
Fix some naming inconsistency and typos
2019-01-14 21:54:29 +08:00
Mikhail Kalinin
61cf6209d8
Fix one of proposer slashing verifications
2019-01-14 15:31:02 +06:00
Hsiao-Wei Wang
43d0142da9
Merge pull request #414 from benjaminion/vyper-merkle-branch
...
Add getter to Vyper contract for Merkle branches
2019-01-14 14:49:40 +08:00
terence tsao
4d1aadcc5c
Update 0_beacon-chain.md
2019-01-13 21:11:44 -08:00
Danny Ryan
891c87eca2
Merge pull request #408 from ethereum/vitalik91
...
Remove shard committees from the state
2019-01-13 22:55:08 -06:00
Danny Ryan
bbf6b5c267
Merge pull request #419 from jimpo/bls-correction
...
Correct references to signature scheme in beacon spec.
2019-01-13 16:05:53 -06:00
terence tsao
2646ca1337
Update 0_beacon-chain.md
2019-01-13 08:55:48 -08:00
Danny Ryan
2b66811a04
address terence pr feedback
2019-01-11 11:35:18 -06:00
Danny Ryan
0a7e72f641
Merge branch 'master' into vitalik91
2019-01-11 11:33:38 -06:00
Justin
271e7b5cb8
Update 0_beacon-chain.md
2019-01-11 16:23:10 +00:00
Justin
7a0d45279c
Update 0_beacon-chain.md
2019-01-11 15:24:29 +00:00
Stan Drozd
d9c6ad9008
get_attestation_participants: inline ceil_div8() ( #430 )
2019-01-11 14:37:38 +00:00
Anton Nashatyrev
8ebc4dece8
Local var should stay uint
2019-01-11 15:07:18 +03:00
Justin
c8bd90aba3
Update 0_beacon-chain.md
2019-01-11 11:53:12 +00:00
Justin
dd532d7887
Update 0_beacon-chain.md
...
* Avoid abbreviations
* Use `branch` as a more suggestive variable name than `ret`
* Cleanup spacing after comma
* Avoid having two index variables (`index` and `idx`)—Does this break anything?
2019-01-11 11:52:04 +00:00
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
jonny rhea
d2eca73482
added assertion that n >= 0
2019-01-10 18:09:58 -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
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
terence tsao
c589f8273b
Update 0_beacon-chain.md
2019-01-10 08:19:56 -08: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
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
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
Danny Ryan
14e14ce576
Merge pull request #397 from ralexstokes/fix-merkle-bug
...
Fixes bug with Merkle proof branch selection
2019-01-07 09:45:42 -07:00
Hsiao-Wei Wang
e772c4da6f
Merge branch 'master' into rename_pow_to_deposit
2019-01-07 14:02:11 +08:00
Alex Stokes
c69fa9a793
Fixes typo in `sorted` function.
...
In keeping with the rest of the code in this document we adhere to valid Python
where possible.
The custom comparator keyword argument for `sorted` is `key` so this commit
updates its usage when sorting validators by exit order.
2019-01-06 17:41:11 -06:00
Danny Ryan
fd2cc6956f
Merge branch 'master' into vbuterin-patch-19
2019-01-05 08:53:04 -07:00
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
vbuterin
c24f907088
Put back spaces
2019-01-04 09:22:59 -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
Hsiao-Wei Wang
fa08e240c8
Merge branch 'master' into HEAD
2019-01-04 15:55:03 +08:00
Hsiao-Wei Wang
61b2b6392c
bugfix and rename
...
Use `deposit_root_vote` for `DepositRootVote` object and `deposit_root` for the
deposit root hash.
2019-01-04 15:54:48 +08:00
Danny Ryan
36231e698a
Apply suggestions from code review
...
Co-Authored-By: hwwhww <hwwang156@gmail.com>
2019-01-04 15:54:35 +08: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
vbuterin
a5b1f2cc0a
Moved comment and changed conditional
2019-01-03 19:44:39 -06:00
vbuterin
3f4be7abb7
Fixed activation slot conditional.
2019-01-03 19:42:59 -06: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
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
b614595fbe
Merge branch 'master' into vbuterin-patch-19
2019-01-03 00:26:31 +08:00
Hsiao-Wei Wang
af8ed89170
Merge branch 'master' into rename_pow_to_deposit
2019-01-03 00:10:18 +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
Hsiao-Wei Wang
dcaf510213
Merge branch 'master' into rename_pow_to_deposit
2019-01-02 23:44:12 +08:00
Justin
3efe1b3b6c
Update 0_beacon-chain.md
2019-01-02 15:21:22 +00:00
Justin
429e5721f2
RANDAO hash chain and no stale shuffles
...
* Make RANDAO into a hash chain (this makes it easy for applications to prove the intermediate RANDAO reveals).
* Include `state.slot` when shuffle to avoid stale shuffles with skip slots
2019-01-02 14:20:01 +00:00
Justin
93b18d5160
Fix typo
2019-01-02 13:51:57 +00:00
Justin
696bf23b5e
Remove returned value for process_deposit
...
Also trim trailing whitespace
2019-01-02 13:41:32 +00: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
Justin
9a90803f5c
Update 0_beacon-chain.md
...
* `processed_deposit_root` => `latest_deposit_root`
* `receipt_root` => `deposit_root`
* `receipt_tree` => `deposit_tree`
* Emphasize that deposits are Ethereum 1.0 deposits in text in various places
* `Eth1Deposit` => `Deposit` for consistency (Also happy sticking with `Eth1Deposit` and replacing `deposit_` with `eth1_deposit_` everywhere. This may be unnecessary since Ethereum 2.0 deposits can be distinguished with the `shard_` prefix, e.g. `ShardDeposit` and `shard_deposit`.)
* Clarify `withdrawal_credentials`.
* Clarify that multiple Ethereum 1.0 blocks can have the same deposit root.
2019-01-02 13:18:35 +00:00
Hsiao-Wei Wang
3dbee05aa6
Rename `pow_receipt_` to `deposit_`
2019-01-02 18:27:09 +08: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
vbuterin
2105614059
Bunch of fixes
2019-01-01 22:37:43 -06:00
vbuterin
fdb1b6775d
Removed extraneous variable setting
2018-12-31 14:08:59 -06:00
Justin
fd295eb539
Merge branch 'master' into vbuterin-patch-19
2018-12-31 15:17:00 +00:00
Justin
d36b403c2e
Cleanups and fixes
...
Cleanups
* (typo) Remove `get_new_validator_registry_delta_chain_tip` from table of contents
* (typo) Update "Routines for updating validator status" in table of contents
* Update `FAR_FUTURE_SLOT` from `2**63` to `2**64 - 1`
* Put more constants in "Initial values", homogenise
* Cleanup note formatting
* Remove `ZERO_BALANCE_VALIDATOR_TTL` logic (to be possibly reintroduced in phase 2).
* Cleanup `min_empty_validator_index`
* Rename `deposit` to `amount` in `process_deposit` and `DepositData`.
* (typo) Remove new line under `process_penalties_and_exits`
* (typo) "Status codes" => "Status flags" in the table of contents
* (typo) `(state.slot - EPOCH_LENGTH) % LATEST_RANDAO_MIXES_LENGTH` => Use `SEED_LOOKAHEAD` instead.
* Put `state.validator_registry_latest_change_slot = state.slot` in `update_validator_registry`.
* Use `GENESIS_SLOT` for `last_poc_change_slot=0` and `second_last_poc_change_slot=0`.
Bugfixes
* (typo) `validator_exit` => `exit.validator_index`
* Separate initial deposits and initial activations to avoid double activations
* Replace `proposer.status != EXITED_WITH_PENALTY` with `validator.penalized_slot > state.slot` in two different places.
* Replace `status == EXITED_WITH_PENALTY` with `validator.penalized_slot <= state.slot` (and validator active) in two different places.
2018-12-31 15:14:14 +00:00
Danny Ryan
8f29bcdf08
Merge pull request #373 from ethereum/fix-slashing
...
fix slashing conditons
2018-12-31 07:57:51 -06:00
vbuterin
011970169c
Edited as per Justin's comments
2018-12-30 20:42:05 -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
vbuterin
4a93374025
Fixed as per hww's comments
2018-12-30 09:15:23 -06:00
Hsiao-Wei Wang
14f49aaacb
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-29 13:47:10 -06:00
vbuterin
bd5b32ec5a
Initialize status_flags
2018-12-29 13:44:51 -06:00
vbuterin
85d001001c
Fixed seed lookahead
2018-12-28 12:08:19 -06:00
vbuterin
d9e897bbcb
Status code / slot reorganization
...
* Added `activation_slot`, `exit_slot`, `penalized_slot`, `withdrawal_slot`, use these to determine if a validator is active
* Universal min activation/exit delay of 256 slots
* Min exit time of ~1 day, but penalization delays this to ~18 days
* Penalty calculation period of `[time penalized - 18 days, time penalized + 18 days]`; made the total penalties array fixed size and wraparound to make calculation more fine-grained
* Processes withdrawals in all epochs, not just dynasty-changing epochs
* Change `get_shuffling` function to take slot as argument
Not yet done:
* Removed `shard_committees` from the state
* Removed persistent committees from the state
2018-12-28 12:04:03 -06:00
Danny Ryan
aa9bda271f
fix slashing conditons to be based upon epochs rather than slots
2018-12-28 11:10:12 -06:00
terence tsao
10a8ba2d9e
rewording for validator registry precondition
2018-12-28 09:04:00 -08: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
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
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
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
vbuterin
53dd49167b
Changes to inactivity leak
...
* Fixes parameters and makes clear that the inactivity leak is on a per-epoch basis (before the leak was technically 64 times too weak as it was calculated per-slot but applied per-epoch)
* Adds a `// 2` to the inactivity leak to compensate for it being applied twice
* Changes how it is calculated (no inactivity leak for not being part of the head, only basic leak)
* Separates out early inclusion incentives into a separate incentive component rather than being multiplicative with everything else
2018-12-20 12:41:17 -05:00
Danny Ryan
eaab06f2dd
Merge pull request #298 from ethereum/update_vyper_contract
...
deposit contract: reduce on-chain computation
2018-12-20 09:24:32 -06:00
terence tsao
96633781fb
simplify total_attesting_balance
2018-12-20 06:37:03 -08:00
Danny Ryan
e780be349e
Merge pull request #345 from ChihChengLiang/patch-2
...
Fix typo in get_new_shuffling
2018-12-20 07:52:30 -06:00
Danny Ryan
c90ab16701
Merge pull request #340 from ethereum/vbuterin-patch-15
...
Remove MIN_VALIDATOR_REGISTRY_CHANGE_INTERVAL
2018-12-20 07:51:58 -06:00
Chih Cheng Liang
d3cdd3fcc0
Fix typo in get_new_shuffling
2018-12-20 19:36:35 +08:00
terence tsao
c177ce23b3
typo on attesting_validator?
2018-12-19 21:56:43 -08:00
Akhila Raju
bf753a6120
Remove line repeat in initiate_validator_exit
2018-12-19 19:56:26 -06:00
Akhila Raju
09e31acda5
Remove line repeat in activate_validator
2018-12-19 19:53:28 -06:00
Danny Ryan
0809ca0d62
fix 'CYCLE_LENGTH' -> 'EPOCH_LENGTH'
2018-12-19 19:35:55 -06:00
Danny Ryan
55ac9ac313
change TARGET_COMMITTEE_SIZE to 128
2018-12-19 15:09:17 -06:00
vbuterin
56bc4412bc
Remove MIN_VALIDATOR_REGISTRY_CHANGE_INTERVAL
...
Slight simplification. Only substantive change is that if the validator registry stays constant, we don't reshuffle 3 epochs after the last reshuffling (ie. before the reshufflings happened after 1, 2, 3, 4, 8, 16... epochs, now it's just 1, 2, 4, 8, 16...)
2018-12-19 14:09:50 -05:00
Hsiao-Wei Wang
9b9114fac2
Merge branch 'master' into update_vyper_contract
2018-12-19 23:39:59 +08:00
Danny Ryan
105e669391
Merge pull request #327 from ethereum/vbuterin-patch-18
...
Keep randao mixes in the state
2018-12-19 09:03:25 -06:00
Anirudha Bose
257c83cc23
Fix typos in the beacon chain spec
2018-12-19 12:47:37 +01:00
Danny Ryan
36e26c86a3
fix assert conditions in get_block_hash
2018-12-18 12:53:48 -06:00
Danny Ryan
0de7240452
Merge branch 'master' into vbuterin-patch-18
2018-12-18 12:50:06 -06:00
Danny Ryan
20006c674b
Merge branch 'master' into hwwhww-patch-2
2018-12-18 12:45:50 -06:00
Danny Ryan
8548f03d5a
Merge pull request #317 from ethereum/vbuterin-patch-15
...
Put validator balances into a separate list in the state
2018-12-18 12:41:10 -06:00
Danny Ryan
f7afd679da
fix comment
2018-12-18 12:37:25 -06:00
Danny Ryan
5943fd507f
fix remaining index error
2018-12-18 12:27:33 -06:00
Hsiao-Wei Wang
bb1559a86f
PR feedback
2018-12-19 01:19:47 +08:00
Danny Ryan
0bf1acc1eb
Merge pull request #333 from burnburn/casper_ref
...
Make Casper ref normative
2018-12-18 10:05:52 -06:00
Danny Ryan
8bf1a542fe
Merge pull request #288 from ethereum/prev-balance-note
...
per-epoch Balance difference consensus safety note
2018-12-18 08:52:00 -06:00
Dan Burnett
5a0d8c8f42
move to Informative
2018-12-18 09:41:59 -05:00
Hsiao-Wei Wang
49f3746dc7
fix
2018-12-18 18:58:59 +08:00
vbuterin
2611180119
Fixes as per Danny's comments
2018-12-18 05:33:03 -05:00
Hsiao-Wei Wang
edf335ebf0
Fix on startup functions
2018-12-18 11:58:28 +08:00
Dan Burnett
cc4e066029
formatting change
2018-12-17 15:19:58 -05:00
Dan Burnett
d505aa28fe
make Casper FFG normative
2018-12-17 15:15:37 -05:00
vbuterin
cc5cef52cb
Separated block roots and randao mixes length, and fixed per-slot randao updates
2018-12-17 14:04:04 -05:00
Danny Ryan
49ce718cc2
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:42 -05:00
Danny Ryan
e16c98b854
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:35 -05:00
Danny Ryan
eee26d7b69
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:17 -05:00
Danny Ryan
9c620d3853
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 13:53:04 -05:00
vbuterin
7f66f06871
Fixed one more outdated-style balance query
2018-12-17 10:43:05 -05:00
vbuterin
2fa7d254dd
Merge branch 'master' into vbuterin-patch-15
2018-12-17 10:41:23 -05:00
Danny Ryan
2c48bab3d8
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 10:40:41 -05:00
Danny Ryan
110fe75a70
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 10:40:31 -05:00
Danny Ryan
fbabeff838
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 10:40:21 -05:00
vbuterin
b402a7c1d6
Made a function multiline
2018-12-17 09:12:51 -05:00
Danny Ryan
eccfc912b5
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 09:11:39 -05:00
vbuterin
c0d65cc334
Changed get_effective_balance definition to use state+index
2018-12-17 09:10:44 -05:00
Danny Ryan
e9f986971e
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-12-17 09:08:13 -05:00
vbuterin
365437d4c2
Forgot to update randao mixes in one place
2018-12-17 04:46:28 -05:00
vbuterin
d1aa3b4cd6
Editing randao_mixes in place instead of as a queue
...
Saves having to re-Merkelize an entire 8192-item list every block.
2018-12-17 04:44:49 -05:00
vbuterin
416bbf9cea
Edit latest_block_roots in place instead of as a queue
...
Faster editing that way; otherwise every block will require completely reconstructing a 8192-sized Merkle tree.
2018-12-17 04:40:27 -05:00
vbuterin
4aa6e4de7b
Merge pull request #328 from ethereum/vbuterin-patch-19
...
Remove clamp
2018-12-17 04:17:02 -05:00
vbuterin
3725dd5cb1
Merge pull request #316 from ethereum/vbuterin-patch-13
...
Edit BLS spec as per issue #300
2018-12-16 04:06:57 -05:00
vbuterin
9e6c1a6244
Remove clamp
...
Removed the use of `clamp` from the spec, as there's no point in a helper function that's used exactly once; it only increases the amount people have to jump around the spec to understand what's going on.
2018-12-15 06:44:18 -05:00
vbuterin
425f7d51c9
Keep randao mixes in the state
...
Response to #295
Also a simplification, as two special cases get replaced: `state.randao_mix` -> `state.latest_randao_mixes[-1]`, and `state.next_seed` -> `state.latest_randao_mixes[-CYCLE_LENGTH-1]`.
2018-12-15 05:10:31 -05:00
Danny Ryan
62b95fbe33
fix process_deposit function signature
2018-12-14 15:21:32 -06:00
Danny Ryan
179352dbfe
remove ProofOfPossessionData
2018-12-14 15:20:21 -06:00
Danny Ryan
7b4c4f299d
add bls_aggregate_pubkeys ref in beacon chain spec
2018-12-14 09:39:14 -06:00
Danny Ryan
c448db46ea
Merge pull request #315 from ethereum/more-ssz-objects
...
More ssz objects pt 1
2018-12-14 09:30:19 -06:00
Danny Ryan
221874efcb
pr feedback
2018-12-14 09:29:49 -06:00
Danny Ryan
68a76ba727
Merge pull request #313 from ethereum/slashable-functions
...
Cleanup casper slashing
2018-12-14 08:58:01 -06:00
vbuterin
c43724132b
Clarify block hash -> block root
2018-12-13 23:01:32 -05:00
vbuterin
964395c362
Some bugfixes
2018-12-13 19:40:00 -05:00
vbuterin
2b9a0e999c
Separate validator balances
2018-12-13 19:28:59 -05:00
Danny Ryan
96aade9a2c
add proofofpossessiondata ssz object
2018-12-13 14:03:22 -06:00
Danny Ryan
f30d404856
add ValidatorRegistryDeltaBlock ssz object
2018-12-13 13:50:50 -06:00
Danny Ryan
9e74043a17
move ejectiosn to per-epoch. fix a couple bugs in validator status change functions ( #314 )
2018-12-13 19:45:08 +00:00
Danny Ryan
cd9e7ecaeb
minor fix
2018-12-13 12:18:29 -06:00
Danny Ryan
697d3c5eb5
add doc string for new slashing helper funtions
2018-12-13 12:17:39 -06:00
Danny Ryan
7c833fafc5
clean up casper slashing with helper functions etc
2018-12-13 12:09:39 -06:00
Raul Jordan
923df80b03
replace shard_block_hash with shard_block_root
2018-12-13 11:26:10 -06:00
terence tsao
9170efee1b
removed old comments
2018-12-13 08:27:22 -08:00
Hsiao-Wei Wang
1ea887c964
Deposits: define `DepositData` and rename `DepositParameters` to `DepositInput` ( #310 )
2018-12-13 15:36:57 +00:00
terence tsao
ddb91adecf
quick fix on typo
2018-12-13 06:51:47 -08:00
Gregory Markou
b554204688
clarified language around start_up ( #303 )
2018-12-13 13:08:51 +00:00
Justin
6b6a04c884
Bugfix (missing `state.`)
2018-12-13 10:03:50 +00:00
Hsiao-Wei Wang
c1a3b29145
Fix `verify_slashable_vote_data`: use `get_domain` ( #306 )
2018-12-13 09:55:37 +00:00
Hsiao-Wei Wang
6fa12f6603
Merge pull request #301 from ethereum/vote_rename
...
Some renames about vote and fix `verify_slashable_vote_data` (`verify_casper_votes`)
2018-12-13 13:58:10 +08:00
Hsiao-Wei Wang
d5a5e1815c
Rename `LATEST_BLOCK_ROOT_COUNT` -> `LATEST_BLOCK_ROOTS_LENGTH`
2018-12-13 13:55:34 +08:00
Hsiao-Wei Wang
9eeb863ec6
Refactor `verify_slashable_vote_data`
2018-12-13 03:11:53 +08:00
Hsiao-Wei Wang
ab7549e52e
Move `verify_slashable_vote_data` to the last verification of Casper slashings
2018-12-13 03:04:10 +08:00
Hsiao-Wei Wang
d2fda68ccb
Fix ToC
2018-12-13 03:00:53 +08:00
Hsiao-Wei Wang
4aa6ec4468
Update `CasperSlashing` and `verify_casper_votes`
...
1. Rename `verify_casper_votes` -> `verify_slashable_vote_data`
2. Rename `CasperSlashing.votes_1` -> `CasperSlashing.slashable_vote_data_1`
3. Rename `CasperSlashing.votes_2` -> `CasperSlashing.slashable_vote_data_2`
4. Fix `verify_slashable_vote_data` `(verify_casper_votes)`
2018-12-13 02:55:28 +08:00
Hsiao-Wei Wang
ae5221c4f8
Move BLS verification to later step
2018-12-13 02:11:47 +08:00
Hsiao-Wei Wang
ac3ffb3df6
`LATEST_BLOCK_ROOTS_COUNT` -> `LATEST_BLOCK_ROOT_COUNT`
2018-12-13 02:08:37 +08:00
Hsiao-Wei Wang
81c6b561fc
`CandidatePoWReceiptRootRecord.votes` -> `CandidatePoWReceiptRootRecord.vote_count`
2018-12-13 02:07:12 +08:00
Danny Ryan
cc34097fba
fix genesis
2018-12-12 11:51:42 -06:00
Hsiao-Wei Wang
130e45ee39
Reduce on-chain computation
2018-12-13 01:39:34 +08:00
Hsiao-Wei Wang
92b9253ecb
Fix ToC
2018-12-13 01:35:11 +08:00
terence tsao
3b0fe25c14
multiply GWEI_PER_ETH
2018-12-12 09:29:26 -08:00
Hsiao-Wei Wang
4c3c8510d4
Fix 'validator_index': 'uint64' -> 'uint24'
2018-12-13 01:09:56 +08:00
Danny Ryan
acd83973fb
bold note
2018-12-12 10:02:49 -06:00
Danny Ryan
70a577a786
Merge branch 'master' into prev-balance-note
2018-12-12 10:01:14 -06:00
Danny Ryan
10fa84b057
rename base_inactivity_penalty to inactivity_penalty
2018-12-12 09:28:47 -06:00
Danny Ryan
541f33094f
move rewards helpers to rewrds and penalties section
2018-12-12 09:14:44 -06:00
Danny Ryan
bc60576d3c
rework rewards sections as per PR feedback
2018-12-12 09:07:44 -06:00
Justin
19b0421d4d
Merge branch 'master' into fix-rewards
2018-12-12 13:11:10 +00:00
vbuterin
6b5479cac9
Moved ancestor hashes to state, changed to batched accumulator ( #269 )
...
* Replaced ancestors hashes in blocks with the previous block root
* Add a block root batched accumulator
* Cleanup processing presentation
2018-12-12 13:02:50 +00:00
Chih Cheng Liang
21da07b4f7
typo ( #294 )
2018-12-12 10:30:58 +00:00
Danny Ryan
e2714b3344
add bls_verify_multiple def to phase 0 spec ( #292 )
2018-12-11 21:18:30 +00:00
Danny Ryan
726ed97eb2
Merge branch 'rename_tree_roots' of https://github.com/terenc3t/eth2.0-specs into terenc3t-rename_tree_roots
2018-12-11 14:54:30 -06:00
Terence Tsao
3f31eecb18
fixed typo & s/winning_hash/winning_root/
2018-12-11 12:50:20 -08:00
Terence Tsao
a13997d738
updated rest of the fields except ancestor_hashes
2018-12-11 12:38:32 -08:00
Justin
9f8ae361f9
Rename `BLSVerify` to `bls_verify` and put `hash` in helpers
2018-12-11 20:30:28 +00:00
Danny Ryan
032007ad17
add organization to previous epoch attester helpers
2018-12-11 13:40:00 -06:00
Danny Ryan
5e84a53ff1
base_reward is 1/4 of total reward val can earn per cycle
2018-12-11 13:32:27 -06:00
Danny Ryan
42364fe7b1
add granular reward for the four different parts of attestation
2018-12-11 13:22:17 -06:00
Terence Tsao
e0e2fed1b5
rename hash tree roots as root
2018-12-11 09:53:56 -08:00
Danny Ryan
83224c320a
small edit to language
2018-12-11 11:16:24 -06:00
Danny Ryan
befc349878
add balance diff consensus safety note
2018-12-11 11:14:42 -06:00
Danny Ryan
e8d8b03089
note the vyper version the contract is expected to be compiled with ( #287 )
2018-12-11 16:29:09 +00:00
Danny Ryan
084880511d
Merge pull request #280 from ethereum/validator-status
...
validator status cleanup
2018-12-11 10:14:02 -06:00
Danny Ryan
5734b25fb1
rename bls verification spec ref
2018-12-11 10:13:31 -06:00
Danny Ryan
c462f563b1
use Deposit object for processing intiial deposits
2018-12-11 10:02:59 -06:00
Danny Ryan
1e3f518f02
pr feedback
2018-12-11 09:49:50 -06:00
Danny Ryan
e64bfb289c
Merge pull request #282 from ethereum/ssztreehash-cleanup
...
cleanup refs to SSZTreeHash
2018-12-11 09:17:57 -06:00
vbuterin
47dc3eb48b
Updated winning_hash description ( #283 )
2018-12-11 13:25:21 +00:00
Danny Ryan
6fccd9f793
cleanup a few more hash refs to ssztreehash
2018-12-10 17:08:04 -06:00
Danny Ryan
fa685abc47
add ref to ssztreehash spec. cleanup where ssztreehash should be used
2018-12-10 16:58:36 -06:00
Danny Ryan
ae33eec081
Merge branch 'master' into validator-status
2018-12-10 16:43:35 -06:00
Danny Ryan
e77bf04711
remove direct calls to exit_validator
2018-12-10 16:42:28 -06:00
Danny Ryan
70765a205e
fix toc
2018-12-10 16:30:25 -06:00
Danny Ryan
0c281c8113
local var i -> index
2018-12-10 16:17:42 -06:00
Danny Ryan
03901ffe65
cleanups
2018-12-10 16:14:08 -06:00
Danny Ryan
9cff4ae653
fix exit conditions
2018-12-10 15:56:22 -06:00
Danny Ryan
6f058c2756
begin validator status cleanup
2018-12-10 15:16:06 -06:00
Jacek Sieka
2facc754cc
attestations: avoid unsigned underflow (eth2.0-specs/issues/#224)
...
* and some nitpicks
2018-12-10 14:38:32 -06:00
Jacek Sieka
44ac70e7fe
remove trailing whitespace ( #278 )
2018-12-10 19:55:11 +00:00
Justin
03c014d0e3
Update 0_beacon-chain.md
2018-12-10 11:22:42 +00:00
Justin
0afafe1c76
Merge branch 'master' into JustinDrake-patch-8
2018-12-10 10:11:41 +00:00
Danny Ryan
de32e25bfc
fix initial initial persistent_committees ( #258 )
...
* fix initial persistent_committees
* initial persistent commmitees from active validator indices
2018-12-09 14:47:30 +00:00
Danny Ryan
685a1be651
Merge pull request #252 from ethereum/remove-specials
...
new block format pt2 -- remove specials
2018-12-09 08:33:46 -06:00
Danny Ryan
cc476db8c9
address pr ffeedback
2018-12-09 08:33:12 -06:00
Hsiao-Wei Wang
c897dd99c2
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2018-12-09 08:25:34 -06:00
vbuterin
70836ecd1c
Clarify why it's called INVERSE_SQRT_E_DROP_TIME ( #261 )
...
* (cleanup) Rename `SQRT_E_DROP_TIME` to `INVERSE_SQRT_E_DROP_TIME` to reflect `1/sqrt(e)`
* (cleanup) Justify why it's called INVERSE_SQRT_E_DROP_TIME
* (cleanup) Polish and simplify presentation
* (bug fix) Fixed 2**34 value
* (bug fix) Replace epochs with slots to make the calculations work
2018-12-09 13:08:11 +00:00
Hsiao-Wei Wang
e04378c38c
bytes32(pubkey) -> bytes48(pubkey) ( #265 )
2018-12-09 12:33:13 +00:00
Justin
2ed18bfa1f
Casper cleanups and bug fixes
...
* (cleanup) `SpecialAttestationData` => `CasperVotes`
* (cleanup) `vote_1`, `vote_2` => `votes_1`, `votes_2`
* (bug fix) Place a bound on the number of votes with `MAX_CASPER_VOTES`
* (bug fix) Supply `state` when calling `verify_casper_votes`
2018-12-07 20:09:49 +00:00
Danny Ryan
e2eedabed2
Merge pull request #254 from mkalinin/fix-boundary_attesting_balance-2
...
Fix epoch_boundary_attesting_balance calculation
2018-12-07 13:00:38 -06:00
Danny Ryan
a0e226c957
remove record from operation types
2018-12-07 12:51:15 -06:00
Danny Ryan
74ac7e6ee1
PR feedback
2018-12-07 12:43:11 -06:00
Chih Cheng Liang
357cb72d7a
fix broken md ( #257 )
2018-12-07 16:16:09 +00:00
Danny Ryan
dc4bbfedab
clarify header
2018-12-07 09:18:06 -06:00
Danny Ryan
c4acafdb58
change block objects to operations
2018-12-07 09:15:55 -06:00
Danny Ryan
3a24fed194
fix toc'
2018-12-07 09:05:29 -06:00
Danny Ryan
d9abce4471
rename transactiosn to block objects
2018-12-07 09:04:16 -06:00
Danny Ryan
76e5b76dc2
Merge branch 'master' into remove-specials
2018-12-07 08:12:58 -06:00
Danny Ryan
9f64530aac
remove BeaconBlockHeader
2018-12-07 07:46:52 -06:00
Mikhail Kalinin
1a716609ba
Fix epoch_boundary_attesting_balance calculation
...
get_effective_balance accepts ValidatorRecord object as an input but it was called with validator index instead
2018-12-07 18:23:55 +06:00
Justin
2d8efe57c0
Bug fixes and cleanups around exit_validator
...
Cleanups
* Use `state.slot` over `current_slot`.
* Specify `new_status`
* Segregate ejection processing
Bug fixes:
* Put ejections at the end of the per-slot processing (TODO: per-slot processing should come *after* per-epoch processing)
* Immediately exit ejections
* Include `ACTIVE_PENDING_EXIT` as an active state
* Renamed two `State` to `BeaconState`
2018-12-07 12:18:55 +00:00
Danny Ryan
35f8eccc1f
fix tox
2018-12-06 19:18:49 -06:00
Danny Ryan
57b86e3204
fix toc
2018-12-06 19:16:10 -06:00
Danny Ryan
bcb09a49a0
rework transactions data structure ordering
2018-12-06 19:13:19 -06:00
Danny Ryan
3ea04a28ca
fix table
2018-12-06 19:07:26 -06:00
Danny Ryan
80e224be8c
remove specials
2018-12-06 19:02:23 -06:00
Danny Ryan
40fd893fc1
remove extra field
2018-12-06 17:55:23 -06:00
Danny Ryan
d18ab07803
fix toc
2018-12-06 17:54:14 -06:00
Danny Ryan
7f542ca714
add beaconblockheader and body
2018-12-06 17:51:01 -06:00
Danny Ryan
15c11a46bd
consistency in multiplication of EPOCH_LENGTH formatting
2018-12-06 16:56:23 -06:00
Danny Ryan
332511b42b
simplify finality conditions
2018-12-06 16:51:29 -06:00
Danny Ryan
98430c7c68
address comments
2018-12-06 16:47:22 -06:00
Danny Ryan
ae1b64ccff
remove s helper
2018-12-06 16:38:40 -06:00
Danny Ryan
eb7715aa41
pr feedback
2018-12-06 16:12:33 -06:00
Danny Ryan
330b2449bf
pr feedback
2018-12-06 15:54:39 -06:00
Danny Ryan
5e058a15b8
remove 'slot_hash_block'
2018-12-06 10:41:50 -06:00
Danny Ryan
464ad63464
minor slot cleanups
2018-12-06 10:25:35 -06:00
Danny Ryan
3e1aad24b0
Merge branch 'master' into virtual-skip-block
2018-12-06 09:45:25 -06:00
Danny Ryan
c5eddd54f4
Merge branch 'master' into cleanup-validator-change
2018-12-06 09:42:24 -06:00
Danny Ryan
b8b2586c92
address review comments
2018-12-06 09:40:40 -06:00
Danny Ryan
f7e58dd82c
Merge branch 'master' into virtual-skip-block
2018-12-06 09:38:07 -06:00
Danny Ryan
8bc0254deb
add missing toc entry
2018-12-06 09:29:49 -06:00
Danny Ryan
7c25665d61
remove state.slot ref
2018-12-06 09:28:55 -06:00
Danny Ryan
c0ca669bd0
cleanup validator registry change to merge before #234
2018-12-06 08:51:57 -06:00
Danny Ryan
91f83e3861
isolate some of the per-epoch changes from the other #234
2018-12-06 08:38:31 -06:00
terence tsao
0626061977
don't need slot num in get_active_validator_indices
2018-12-05 17:26:07 -08:00
Danny Ryan
db65429cc8
rework to do virtual block transitions
2018-12-05 19:24:37 -06:00
Danny Ryan
22a77c331b
fix change_validators
2018-12-05 14:35:58 -06:00
Danny Ryan
1ccb1074c5
fix just/finality
2018-12-05 14:07:41 -06:00
Danny Ryan
e894a2dc18
fix issues in justificaiton/finality
2018-12-05 13:55:56 -06:00
Danny Ryan
4e0b120fe3
Merge branch 'master' into JustinDrake-patch-3
2018-12-05 13:14:16 -06:00
Danny Ryan
59494d1774
add state root processing
2018-12-05 13:03:24 -06:00
Danny Ryan
3a677eefa9
minor cleanup
2018-12-05 12:49:45 -06:00
Danny Ryan
cb871c3f0e
minor cleanups
2018-12-05 12:47:21 -06:00
Danny Ryan
c154c65f14
cleanup calls to 'get_block_hash'
2018-12-05 12:42:16 -06:00
Danny Ryan
3bd56891c5
cleanup per slot processing
2018-12-05 12:40:08 -06:00
Justin
eb26e10fae
Update 0_beacon-chain.md
2018-12-05 17:30:37 +00:00
Justin
f956135763
Fix #237 ( #238 )
2018-12-05 17:17:17 +00:00
terence tsao
130b837975
Fix ZERO_BALANCE_VALIDATOR_TTL and move get_domain
2018-12-05 14:41:11 +00:00
Justin
20407c8dd1
Update 0_beacon-chain.md
2018-12-05 14:34:50 +00:00
Justin
2fc3f88795
Update 0_beacon-chain.md
2018-12-05 11:22:15 +00:00
Paul Hauner
2913dfa6fe
Change `state.crosslinks` to `state.latest_crosslinks` ( #236 )
...
Change `state.crosslinks` to `state.latest_crosslinks` to match the `BeaconState` definition.
2018-12-05 09:03:09 +00:00
Justin
4c0841ec6a
Move to a per-slot state transition function
...
Initial pass for the migration from a per-block state transition function to a per-slot state transition function. More simplifications and cleanups can be made.
2018-12-04 21:28:31 +00:00
Justin
a4722faf12
Handle activations and exits separately for balance churn ( #230 )
...
This change is to avoid deposits from fully consuming the allowable balance churn, preventing exits from being processed. And vice versa with deposits/exits swapped.
A bunch of cleanups and bug fixes were made along the way.
2018-12-04 19:49:26 +00:00
Danny Ryan
b40a7c5ad6
Merge pull request #228 from ethereum/fix-validator-states
...
Fix deposit logic
2018-12-04 11:51:47 -06:00
Danny Ryan
17cf4e9f56
remove WITHDRAWN again
2018-12-04 11:23:37 -06:00
Danny Ryan
84a1a5fc07
fix pending -> exited_without_penalty. change pendning_exit to active_pending_exit. fix merkle tree in contract
2018-12-04 10:07:46 -06:00
Justin
5e4883ccbf
Stick with Keccak-256/SHA3 for now
...
See https://github.com/ethereum/eth2.0-specs/issues/218
2018-12-04 15:50:44 +00:00
Justin
73e77b75e1
Fix #223
...
`next_start_shard` does not need to be part of `state` (it's already available via `(state.shard_committees_at_slots[-1][-1].shard + 1) % SHARD_COUNT`)
2018-12-04 12:37:05 +00:00
Justin
67e4fa9d6f
Cleanup of deposit
...
* Structure the presentation, add sections to table of contents
* Remove incorrect and redundant information
* Add section on withdrawal credentials
2018-12-04 11:47:41 +00:00
Justin
4bf1539c83
Cleanups part 2 ( #217 )
...
Changelog (nothing major):
* Clean up constants
* Add to table of contents
* Rename a few
* Split into more categories (e.g. "Deposit contract" and "Initial values")
* Replaced `SQRT_E_DROP_TIME ` by `INACTIVITY_PENALTY_QUOTIENT`
* Put all the data structures in "Data structures", including specials
* Move deposit contract after "Data structures"
* `ShardAndCommittee` => `ShardCommittee` (and related changes)
* `aggregate_sig` => `aggregate_signature`
* `justified_slot_bitfield` => `justification_bitfield`
* Use double-ticks everywhere in Python docstrings
* Clean up deposit contract a bit
* Bug fix: ensure uniqueness of the `ChainStart` log
2018-12-04 10:57:09 +00:00
Danny Ryan
c2227a59de
fix int384 to uint384
2018-12-03 12:27:58 -06:00
vbuterin
0f59a564d0
Merge pull request #215 from mratsim/patch-1
...
Small typo in get_active_validator_indices
2018-12-03 09:38:03 -05:00
vbuterin
2f112e12fc
Merge pull request #202 from ethereum/initial_fork_slot
...
set initial fork_slot to INITIAL_SLOT_NUMBER
2018-12-03 09:37:27 -05:00
Mamy Ratsimbazafy
fe5a472ff6
Small typo in get_active_validator_indices
...
Change [ValidatorRecords] to [ValidatorRecord]
2018-12-03 15:14:31 +01:00
Paul Hauner
95211af400
ForkData typo
...
Extremely small change: added a close bracket to `ForkData`.
2018-12-03 14:08:33 +11:00
Hsiao-Wei Wang
11d4473863
Fix ToC
2018-12-01 13:29:19 +08:00
josojo
158c8f3ab3
minor correction
2018-11-30 22:47:28 +01:00
Danny Ryan
cf97bd18ea
Merge pull request #200 from burnburn/validator_definitions
...
add links to validator definition
2018-11-30 13:24:16 -06:00
Danny Ryan
daaf6e4bc2
Merge pull request #206 from burnburn/sample_reference
...
First/sample reference
2018-11-30 13:20:50 -06:00
Dan Burnett
38b3c572f6
Fix typo
2018-11-30 13:58:44 -05:00
Dan Burnett
72fc2a0cff
Show new reference style
2018-11-30 13:56:44 -05:00
Danny Ryan
1757c2ad26
Merge pull request #204 from burnburn/references
...
Add References section
2018-11-30 12:54:17 -06:00
Daniel Burnett
b04938d795
Merge branch 'master' into validator_definitions
2018-11-30 19:14:17 +01:00
Danny Ryan
b55ef47c9b
set initial fork_slot to INITIAL_SLOT_NUMBER
2018-11-30 12:04:18 -06:00
Dan Burnett
8f15b6179b
Add active validator links
2018-11-30 12:49:05 -05:00
Dan Burnett
13a5bdbf70
add links to validator definition
2018-11-30 12:31:09 -05:00
Justin
81360d50a4
Cleanups pt. 1 ( #185 )
...
Many cleanups in this monster commit! Two warnings:
1) More significant cleanups will be coming soon™.
2) While several bugs were fixed in this cleanup, some will undoubtedly have been introduced (thanks to the three reviewers!). In particular, the logic around validator statuses is known to be broken.
2018-11-30 14:28:33 +00:00
Dan Burnett
2701b44d23
Add References section
2018-11-29 11:12:12 -05:00
terence tsao
3b62508610
added link for BLS12-381 bls_verify spec
2018-11-29 06:18:31 -08:00
Danny Ryan
698283ee86
Merge pull request #188 from burnburn/notation
...
Add notation section
2018-11-29 07:29:03 -06:00
Dan Burnett
a851e09b9c
add Notation section
2018-11-29 07:44:43 -05:00
terence tsao
a891d5d585
Fix on_startup
2018-11-28 18:32:07 -08:00
Hsiao-Wei Wang
7359b36964
Remove tags
2018-11-28 23:07:39 +08:00
Hsiao-Wei Wang
64170f79a3
`ProcessedAttestations` -> `ProcessedAttestation`
2018-11-28 17:39:34 +08:00
Hsiao-Wei Wang
5abdbc600d
Fix `SQRT_E_DROP_TIME` description
2018-11-28 16:37:21 +08:00
Hsiao-Wei Wang
fead86e31c
Move vyper contract to `PoW chain registration contract` section
2018-11-28 16:00:53 +08:00
Hsiao-Wei Wang
ff92875aa1
fix constants table
2018-11-28 15:46:55 +08:00
Hsiao-Wei Wang
67123a79cb
proofread and add ToC
2018-11-28 15:40:27 +08:00
Danny Ryan
126a7abfa8
Merge branch 'master' into vbuterin-patch-7
2018-11-27 13:51:12 -06:00
Danny Ryan
0de7d3288a
change 'add_validator' to 'add_or_topup_validator'
2018-11-27 12:29:48 -06:00
vbuterin
e3eda6ff4e
Put back deletion period check
2018-11-27 13:25:25 -05:00
vbuterin
efdafee1ad
Made topping up a withdrawn account impossible
2018-11-27 13:23:26 -05:00
Danny Ryan
8b8253cdb2
fix incorrect types for eth in pow contract
2018-11-27 12:18:32 -06:00
vbuterin
4d3f388d28
Indent fix
2018-11-27 13:08:09 -05:00
vbuterin
9a20ecb9e4
Added handling for withdrawn validators
2018-11-27 12:07:30 -05:00
Hsiao-Wei Wang
b1fc396ab4
Refactor `change_validators`
2018-11-28 01:06:09 +08:00
Hsiao-Wei Wang
829e6d9034
Merge branch 'master' into hwwhww/patch-1
2018-11-28 00:29:15 +08:00
Danny Ryan
9f26fbb4e2
Merge pull request #149 from ethereum/vbuterin-patch-1
...
Replace cycles with epochs
2018-11-27 10:13:04 -06:00
Hsiao-Wei Wang
b27203c0ce
PR feedback: use `fork_data`
2018-11-27 23:54:09 +08:00
vbuterin
0d1b63bca3
Added min and max deposit sizes to Vyper contract
2018-11-27 10:07:21 -05:00
Hsiao-Wei Wang
562e60afdc
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 10:00:00 -05:00
Hsiao-Wei Wang
c70e555260
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 09:59:36 -05:00
Hsiao-Wei Wang
4dc7a8809c
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 09:59:25 -05:00
Hsiao-Wei Wang
eef28364ba
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 09:59:09 -05:00
Danny Ryan
cae363f209
add missing quotes for field
2018-11-27 08:21:42 -06:00
vbuterin
1df0f9f1b7
Fixed indent.
2018-11-27 07:25:31 -05:00
Hsiao-Wei Wang
2795af7bae
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 06:36:47 -05:00
Hsiao-Wei Wang
034e2d4546
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 06:36:10 -05:00
Hsiao-Wei Wang
2d766e4aae
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-27 06:35:55 -05:00
vbuterin
fc059f2ec1
Moved proposer reshuffling section
2018-11-27 06:30:19 -05:00
ncsolar
472a117162
Update 0_beacon-chain.md
...
Assumed it should read "A block `B` is justified if there is a descendant of `B`..." ?
2018-11-27 00:12:10 -06:00
Hsiao-Wei Wang
43ef444613
PR feedback: add `ForkData`
2018-11-27 11:52:06 +08:00
vbuterin
4ec40f06f3
Added topups
2018-11-26 19:08:04 -05:00
vbuterin
cd9c47af5a
Made pure functions return indices of validators instead of validator objects
...
Makes the code cleaner this way; returning an object that then gets mutated is confusing.
2018-11-26 18:51:34 -05:00
vbuterin
f2af5fd9df
Moved two calculations back to the FFG reward section
2018-11-26 18:44:29 -05:00
vbuterin
3b7164c2d6
Resolved some of @djrtwo's nitpicks
2018-11-26 18:39:35 -05:00
Danny Ryan
b8689e1727
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:35:32 -05:00
Danny Ryan
7fcd9930df
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:35:25 -05:00
Danny Ryan
e651e99210
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:35:02 -05:00
Danny Ryan
973d0ab591
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:33:31 -05:00
Danny Ryan
bcd9eb53fb
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:33:18 -05:00
Danny Ryan
fe4496dd74
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:33:06 -05:00
Danny Ryan
be56e58c1a
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-26 18:32:53 -05:00
vbuterin
9f1869cad9
Remove todos
2018-11-26 17:14:38 -05:00
vbuterin
170962c80f
Big refactor + simplification
2018-11-26 17:12:39 -05:00
vbuterin
386dab1140
Update 0_beacon-chain.md
2018-11-26 13:40:02 -05:00
Danny Ryan
d6d1f88ac1
Merge branch 'master' into vbuterin-patch-7
2018-11-26 10:48:28 -06:00
Hsiao-Wei Wang
b66f168468
PR feedback: reduce `on_startup` parameters
2018-11-27 00:21:59 +08:00
Danny Ryan
347e796b39
Merge branch 'master' into vbuterin-patch-1
2018-11-26 10:01:27 -06:00
Hsiao-Wei Wang
4067e0f25a
fix
2018-11-26 21:43:59 +08:00
Hsiao-Wei Wang
7bde8c415a
fix `get_new_validator_set_delta_hash_chain`
2018-11-26 21:27:41 +08:00
Hsiao-Wei Wang
defa7da1c6
Refactor and fix on_startup
2018-11-26 21:12:14 +08:00
vbuterin
b2d13e3e23
Merge branch 'master' into vbuterin-patch-13
2018-11-26 06:24:11 -05:00
Justin
78a82f6185
Merge pull request #170 from ethereum/djrtwo-patch-2
...
change SpecialRecord.kind to uint64
2018-11-26 10:47:50 +00:00
Justin
1bf04c8c17
Make status uint64
2018-11-26 10:47:32 +00:00
Justin
d6fd0a4dc4
Merge pull request #172 from ethereum/JustinDrake-patch-2
...
Remove fork_version for DOMAIN_LOGOUT
2018-11-26 10:45:58 +00:00
Hsiao-Wei Wang
6a7b280d49
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2018-11-26 10:45:39 +00:00
Hsiao-Wei Wang
b1740ba0c5
Proofread
2018-11-26 17:14:42 +08:00
Hsiao-Wei Wang
e5eb3daad1
Merge branch 'master' into vbuterin-patch-1
2018-11-26 16:01:45 +08:00
vbuterin
2902170b26
Reduce width of vyper code
2018-11-25 22:22:15 -05:00
vbuterin
04ac4ea54d
Fixed more nitpicks
2018-11-25 21:15:46 -05:00
vbuterin
2dad2d4c42
V -> v
2018-11-25 21:14:13 -05:00
Justin
13866e3e04
Remove fork_version for DOMAIN_LOGOUT
...
Also remove `LOGOUT_MESSAGE `
2018-11-25 18:19:22 +00:00
vbuterin
e6a15edc8d
Made contract compile in Vyper
2018-11-25 12:08:06 -05:00
Danny Ryan
2a7103d1f6
change SpecialRecord.kind to uint64
2018-11-25 10:41:59 -06:00
Danny Ryan
e539de9922
remove fork_version from ProposalSignedData
2018-11-25 10:37:52 -06:00
Danny Ryan
ed8dd1eabc
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-25 11:33:17 -05:00
Danny Ryan
b6349eefd4
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-25 11:33:07 -05:00
Danny Ryan
c0aa43804b
block proposer sig to uint384
2018-11-25 10:12:48 -06:00
Danny Ryan
e711076723
Update 0_beacon-chain.md
2018-11-25 10:02:43 -06:00
Danny Ryan
16d05b353a
remove `GENESIS_TIME` from constants
...
This constant has been superseded by `BeaconState.genesis_time`
2018-11-25 09:54:29 -06:00
Hsiao-Wei Wang
440fb337e7
Merge branch 'master' into vbuterin-patch-6
2018-11-25 22:57:50 +08:00
vbuterin
99d7f5c1b8
Address Justin's #1
2018-11-25 06:33:05 -05:00
vbuterin
e8aa93e53e
Addressed Justin's 16, 17, 18
2018-11-25 06:23:34 -05:00
Hsiao-Wei Wang
4310b0c7d0
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-25 06:11:40 -05:00
Justin
50e8e1a918
Update 0_beacon-chain.md
2018-11-24 21:51:09 +00:00
Justin
51f8ea16ae
Merge pull request #164 from ethereum/vbuterin-patch-12
...
Made candidate PoW receipt roots into a map
2018-11-24 21:42:51 +00:00
Justin
755eadb20a
Fixes to PoW receipt roots
2018-11-24 21:41:53 +00:00
vbuterin
5ba47b476a
Shard uint16 -> uint64
2018-11-24 16:20:20 -05:00
vbuterin
40d289f1a3
Resolved Justin's #13
2018-11-24 16:16:27 -05:00
vbuterin
4be17dea14
Made candidate PoW receipt roots into a map
2018-11-24 16:12:27 -05:00
vbuterin
b92889cf83
Add a minimum deposit time equal to the SHARD_PERSISTENT_COMMITTEE_CHANGE_PERIOD
2018-11-24 16:07:25 -05:00
vbuterin
6bdff4e82e
Fix Justin's issues 10 and 12
2018-11-24 16:04:07 -05:00
Danny Ryan
d0f43663a3
Update 0_beacon-chain.md
2018-11-24 14:40:48 -06:00
Justin
d0f7937089
Remove TODO
...
See for example https://github.com/ethereum/eth2.0-specs/issues/128
2018-11-24 19:54:05 +00:00
vbuterin
fe3a0d6881
Only increment total_deposit_count for 32 ETH deposits from PoW chain
2018-11-24 14:03:22 -05:00
vbuterin
117b7b6953
More reward changes
...
* Added rewards for proposers
* Added declining rewards for greater inclusion distance
2018-11-24 13:30:18 -05:00
vbuterin
0d26da4a7d
Cleaned up committee balance changes
2018-11-24 12:44:43 -05:00
vbuterin
b61f7d57c9
Further incremental steps on balances
2018-11-24 12:34:26 -05:00
Hsiao-Wei Wang
4ba62bb80a
Remove leftover
2018-11-25 00:22:28 +08:00
Hsiao-Wei Wang
c8e9ff3d87
`shard_id` -> `shard` patch
2018-11-25 00:20:47 +08:00
Justin
a818575ca8
Minor cosmetic fixes
2018-11-24 15:15:19 +00:00
vbuterin
403253c879
Added 2/3/4 cycle finalization options
...
Suppose B1, B2, B3, B4 are consecutive blocks and we are now processing the end of the cycle containing B4.
* If B4 is justified using source B3, then B3 is finalized.
* If B4 is justified using source B2, and B3 has been justified, then B2 is finalized.
* If B3 is justified using source B1, and B1 has been justified, then B1 is finalized.
2018-11-24 09:41:25 -05:00
Justin
70cef14a08
Merge pull request #156 from ethereum/vbuterin-patch-3
...
LMD fork choice rule
2018-11-23 20:48:12 +00:00
vbuterin
020ec39260
Clarify variables
2018-11-23 15:25:45 -05:00
vbuterin
c098978efb
Fixed domain separation for proposals
2018-11-23 15:14:53 -05:00
vbuterin
5508a0f9c5
get_fork_version -> get_domain
2018-11-23 15:13:21 -05:00
Hsiao-Wei Wang
048090acf6
Update specs/core/0_beacon-chain.md
...
Co-Authored-By: vbuterin <v@buterin.com>
2018-11-23 15:10:59 -05:00
vbuterin
545e35e4b1
Clarified "logarithmic"
2018-11-23 15:10:03 -05:00
vbuterin
ee40888d2e
Fix to fixes
2018-11-23 15:01:15 -05:00
vbuterin
bb6c81beb0
Merge pull request #158 from ethereum/JustinDrake-patch-1
...
Various fixes regarding PoW receipt roots
2018-11-23 14:58:03 -05:00
vbuterin
6f44db789f
s/=/==/
2018-11-23 14:57:43 -05:00
Jacek Sieka
70b181fe32
Small fixes
...
* pick out committee when getting proposer
* avoid unsigned underflow when chain is starting (since we're using
uint)
2018-11-23 12:57:17 -06:00
Hsiao-Wei Wang
252a24cff0
Minor fix: markdown grammar and typing hints
2018-11-24 01:38:57 +08:00
Justin
ea31ff3cea
Fix minor bug in `ghost_lmd`
2018-11-23 16:05:30 +00:00
Justin
b76eae8a71
Update 0_beacon-chain.md
2018-11-23 15:37:37 +00:00
Justin
361bcd6be4
More polishing to fork choice rule
2018-11-23 15:23:22 +00:00
Justin
92981e9714
Started cleaning up fork choice rule definition
2018-11-23 14:46:25 +00:00
vbuterin
f3094e179e
Resolved Justin's questions
2018-11-23 08:54:24 -05:00
Hsiao-Wei Wang
2375e0ce28
Merge branch 'master' into vbuterin-patch-6
2018-11-23 20:37:23 +08:00
Hsiao-Wei Wang
e7852de0c2
Merge branch 'master' into vbuterin-patch-1
2018-11-23 20:06:43 +08:00
Hsiao-Wei Wang
f513e2022e
Merge pull request #154 from terenc3t/patch-11
...
Typo in Vyper contract
2018-11-23 19:57:54 +08:00
4000D
e2193b1324
fix hyperlink
2018-11-23 13:54:11 +09:00
Justin
50458c1d31
Various fixes regarding PoW receipt roots
...
Question: What happens if the block proposer at the `POW_RECEIPT_ROOT_VOTING_PERIOD` boundary puts a bad receipt root? Does this give too much power to that block proposer?
2018-11-22 23:09:36 +00:00
Terence Tsao
925ac0ecc0
use convert function in Vyper
2018-11-22 06:32:15 -10:00
vbuterin
bc53f0e386
Fork choice rule
...
Added the LMD GHOST fork choice rule.
2018-11-22 08:24:20 -05:00
terence tsao
fec46f9e09
Typo in Vyper contract
2018-11-21 18:37:14 -10:00
vbuterin
745524b762
Added whistleblower reward ( #144 )
...
* Added whistleblower reward
* Update 0_beacon-chain.md
* Fixed proposer.deposit += ...
2018-11-21 15:21:07 +09:00
vbuterin
b4dfdb5ed4
Partial edits....
2018-11-20 16:49:43 -05:00
Danny Ryan
addd345b36
Merge branch 'master' into vbuterin-patch-1
2018-11-20 17:41:18 +09:00
vbuterin
396d798500
Separated out proposer from attesters ( #143 )
...
* Separated out proposer from validators
* Update 0_beacon-chain.md
* Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
* Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
* get_proposer -> get_beacon_proposer, block -> slot
* Move proposer sig to the end of a block
* Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
* sig -> signature
* add type hints for get_beacon_proposer
2018-11-20 16:40:04 +09:00
Hsiao-Wei Wang
00f7554ec4
Remove justified_streak
2018-11-20 11:18:58 +09:00
vbuterin
e925fe5705
Forgot to change validators -> state.validators
2018-11-19 20:15:10 -05:00
vbuterin
54217772fe
Added domain separation
2018-11-19 20:13:58 -05:00
vbuterin
eb29b28dc5
Update 0_beacon-chain.md
2018-11-19 15:59:15 -05:00
vbuterin
1eaf15cf73
Replace single specials limit with per-type limit
2018-11-19 11:14:18 -05:00
vbuterin
2fead870ad
Replace cycles with epochs
...
Also adjusted constants to keep interest rates and the quadratic leak period the same.
Also, did some simplifications of the cycle calculation procedure. Make the decision to remove automatic registration of a validator as a proposer when they join, because that can just happen on its own due to the reshuffling procedure.
2018-11-19 11:07:41 -05:00
vbuterin
21d120e771
Remove uint32 use.
2018-11-19 07:00:03 -05:00
Danny Ryan
71451e0a0b
Merge branch 'master' into vbuterin-patch-6
2018-11-19 17:59:45 +09:00
Hsiao-Wei Wang
54eeb49831
crystallized_state -> state
2018-11-19 12:48:12 +09:00
Hsiao-Wei Wang
c3e2c2a46d
Clean up leftover of CrystallizedState
2018-11-19 12:17:50 +09:00
Danny Ryan
2a077fbecc
init current_exit_seq in on_startup
2018-11-19 12:16:37 +09:00
Hsiao-Wei Wang
d7ead98ea4
Merge branch 'master' into vitalik9 and fix conflicts
2018-11-19 11:23:50 +09:00
Ben Edgington
c961b3dca8
Add ToDo for state_root specification ( #137 )
2018-11-19 11:05:53 +09:00
vbuterin
3bdd56b0f8
Fix bugs in #146 ( #147 )
...
* Fix bugs in #146
* Update 0_beacon-chain.md
* cleanup deposit params
2018-11-19 11:02:26 +09:00
vbuterin
d889eec555
Oops, accidental duplication
2018-11-18 07:09:50 -05:00
vbuterin
5dc66c328c
oops
2018-11-18 07:06:46 -05:00
vbuterin
ca4b670b11
Merge branch 'master' into vbuterin-patch-1
2018-11-18 07:06:01 -05:00
Danny Ryan
8a2e1d55a5
fix bls12-381 to be in standard notation
2018-11-18 10:34:23 +09:00
vbuterin
db9fdb9b72
Switch from alt_bn255 to BLS12-381
2018-11-17 18:20:39 -05:00
vbuterin
10c375244b
Cleaned up LOGOUT
2018-11-17 07:51:25 -05:00
Danny Ryan
06cf704e83
fix typo in slashing special
2018-11-17 13:52:49 +09:00
vbuterin
1664414852
Fixed as per hww's comments
2018-11-16 19:41:09 -05:00
vbuterin
eb24f9482d
int128 -> int64
2018-11-16 12:20:59 -05:00
vbuterin
57c2deefbb
Added description of genesis block
2018-11-16 11:41:59 -05:00
vbuterin
c9c85e8645
Added max specials count.
2018-11-16 10:48:57 -05:00
vbuterin
65dc333549
Move specials into block processing, and clean up specification
...
Moves the procedure for handling specials into the per-block processing loop. Cleans up the specification for handling them to be more unambiguous, and changes the formats to be more readable and simpler to implement.
2018-11-16 07:54:03 -05:00
Danny Ryan
ac207e4cc8
minor var fix ( #136 )
2018-11-16 08:23:28 +09:00
Danny Ryan
9825cc98fe
Update 0_beacon-chain.md
2018-11-16 08:16:35 +09:00
Danny Ryan
024852c024
Merge branch 'master' into vbuterin-patch-1
2018-11-16 08:13:33 +09:00
vbuterin
5ed4392b54
Minimal replacement of active/crystallized state with single state ( #122 )
...
* Minimal replacement of active/crystallized state with single state
* Update specs/beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
* Update specs/beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
* State -> BeaconState
* Update beacon-chain.md
* Update 0_beacon-chain.md
2018-11-15 13:20:25 +00:00
Ben Edgington
86ec833172
Remove MIN_BALANCE definition ( #131 )
...
MIN_BALANCE is not used - I'm guessing it was replaced by MIN_ONLINE_DEPOSIT_SIZE.
2018-11-15 12:28:47 +00:00
vbuterin
7d5436166e
Add shard blocks, shard data roots and how data is computed into cros… ( #123 )
...
* Add shard blocks, shard data roots and how data is computed into crosslinks
Includes:
* Shard block structure
* Shard block header verification rule
* Shard block fork choice rule
* Shard block body verification rule
* Crosslink verification rule
Possible simplification: require `calc_block_maxbytes` to always output an exact power of two; if we desire the average maxbytes to be smooth, we can simply make it a pseudorandom chose between powers. This reduces some of the padding complexity.
* create separate files for phases (#125 )
* create separate files for phases
* fix links
* add shard block pre processing conditions
* cleanup
* remove 'essentially'
* Updated handling for beacon chain skipping slots.
* Handle missing slots more
* modify attestation validity rule for crosslink hash
2018-11-14 21:01:57 +00:00