Danny Ryan
55d21c1563
Update specs/test_formats/README.md
...
Co-Authored-By: protolambda <proto@protolambda.com>
2019-04-03 14:13:29 +11:00
Danny Ryan
5790af7fc4
Update specs/test_formats/README.md
...
Co-Authored-By: protolambda <proto@protolambda.com>
2019-04-03 14:13:17 +11:00
Danny Ryan
04b9ce8eac
Update specs/test_formats/README.md
...
Co-Authored-By: protolambda <proto@protolambda.com>
2019-04-03 14:13:05 +11:00
Danny Ryan
54eba8cbbe
Update specs/test_formats/README.md
...
Co-Authored-By: protolambda <proto@protolambda.com>
2019-04-03 14:12:48 +11:00
protolambda
96ab5a334d
Add note on configuration of constants
2019-04-03 13:35:40 +11:00
protolambda
80067721e2
A new more complete test format for ETH 2.0 testing
2019-04-03 12:29:34 +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
Justin
c4321c7cc7
Update 1_shard-data-chains.md
2019-04-02 22:17:55 +04:00
Danny Ryan
06d005999a
fix validator_indicies issue in process_attester_slashing
2019-04-02 13:50:06 +11:00
vbuterin
bb990e9892
Separate out get_switchover_epoch
...
So that we can use it in for subkey reveals as well.
2019-03-31 17:49:02 -05:00
Hsiao-Wei Wang
77b0a4188b
Update `1_custody-game.md` as well
2019-03-31 22:54:46 +08: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
vbuterin
2418bab250
Merge branch 'dev' into vitalik81
2019-03-30 19:22:08 -05:00
Hsiao-Wei Wang
a2dae9a8e0
Fix after merging
2019-03-29 15:26:26 +08:00
Hsiao-Wei Wang
9c4e034bed
Merge branch 'dev' into vbuterin-patch-13
2019-03-29 13:36:00 +08:00
vbuterin
f5c5c166af
Replace custody challenge game with JABS ( #812 )
...
See also #818 .
===
* Replace custody challenge game with JABS
Replace the existing proof of custody game with a new game ("Justin's Awesome Bit Sum" or JABS) that works as follows:
* The data `D` is split up into 512-byte chunks `D[0] .... D[n-1]`, and use a mix function `mix(subkey, data) -> {0,1}` (currently the first bit of the hash of `subkey+data`). We calculate `M[i] = (mix(D[0]) + ... + mix(D[i-1])) % 2`, and set the custody bit to `M[n-1]`
* Anyone can challenge by providing the full `M` where `M[n-1]` is not equal to the custody bit
* Anyone can respond to a challenge by providing a specific position in `M` along with a branch of the data where `M[i-1] ^ mix(D[i]) != M[i]`
The maximum size of data is now `2**6` epochs * `2**6` blocks * `2**14` bytes = `2**26` bytes, so assuming 512-byte mix chunks the maximum mix size is `2**17` bits or `2**14` bytes. The average mix size is `2**8` bytes.
2019-03-28 22:56:43 +00:00
Justin
1082c68fef
Separate document for phase 1 custody game ( #818 )
...
The 1-round custody game has been implemented. Many bugs squashed, and a bunch of polishing done. Miscellaneous known issues (~8 of them) to be resolved in separate, smaller, PRs.
2019-03-28 22:54:39 +00:00
Danny Ryan
bad03ba554
Merge pull request #848 from wmpea/patch-1
...
Minor copyedits to 0_beacon-chain.md
2019-03-28 13:16:01 -06:00
Danny Ryan
66d5026ffe
minor copy edit
2019-03-28 13:15:38 -06:00
Danny Ryan
901478e148
Merge branch 'dev' into JustinDrake-patch-11
2019-03-28 12:14:13 -06:00
Danny Ryan
30e29324e9
Merge pull request #831 from ethereum/vbuterin-patch-3
...
Merge attestation verification logic
2019-03-28 11:33:34 -06:00
Danny Ryan
ba47a8f4c4
remove unused set_bitfield_bit hlper
2019-03-28 11:29:45 -06:00
Danny Ryan
1f657cfec5
remove custody_bitfield from indexedattestation. add two separate arrays for 0 and 1 bit
2019-03-28 11:26:04 -06:00
Hsiao-Wei Wang
aa4bbcc1c8
Bugfix
2019-03-29 00:43:28 +08:00
vbuterin
deb0e32590
Fixes to make Justin happy
2019-03-28 10:51:36 -05:00
vbuterin
1aaa0030fc
Withdrawal queue -> exit queue
2019-03-28 08:58:18 -05:00
Danny Ryan
0ed94b209e
Merge pull request #847 from mkalinin/mkalinin-patch-4
...
Use signed_root as block id in Honest V guide
2019-03-27 20:18:55 -06:00
Danny Ryan
bae727a83c
Merge pull request #763 from mslipper/dev
...
Phase 0 Networking Specifications
2019-03-27 20:11:57 -06: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
Mikhail Kalinin
1b975d2ceb
Use signed_root as block id in Honest V guide
2019-03-27 19:23:23 +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
Vitalik Buterin
b91dfd6244
Add merkle_parial_from_paths
2019-03-26 12:56:35 -05: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
Matthew Slipper
6cc82278b4
Update rpc-interface.md
2019-03-25 13:27:18 -07: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
Hsiao-Wei Wang
417d526ce9
Merge pull request #825 from terenc3t/patch-56
...
Add table fo contents for light client sync
2019-03-22 11:53:25 +08:00
terence tsao
11c3291817
Update sync_protocol.md
2019-03-21 16:30:45 -07: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
terence tsao
d3f175d728
Update sync_protocol.md
2019-03-21 11:33:36 -07: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
Matthew Slipper
8794d03517
Updates with Whiteblock
2019-03-20 19:04:16 -07:00
vbuterin
ced6208d55
Edits
...
* shuffled committee -> period committee
* Reduced code redundancy
2019-03-20 11:49:28 -05:00
Hsiao-Wei Wang
2215988415
Merge branch 'dev' into JustinDrake-patch-19
2019-03-20 21:59:40 +08:00
vbuterin
fff76749d2
Merge branch 'dev' into vbuterin-patch-3
2019-03-20 08:05:22 -04:00
Justin
833691b8af
Update 0_beacon-chain.md
2019-03-20 08:16:39 +00:00
Danny Ryan
1083de0c61
add notes about mandatory deposits in validator guide
2019-03-19 17:38:09 -06:00
Danny Ryan
b72070b53e
Merge branch 'dev' into vbuterin-patch-12
2019-03-19 17:31:10 -06:00
Matthew Slipper
472d9c5c20
Updates from review
2019-03-19 15:32:38 -07:00
Danny Ryan
a8e2b8cd1d
Merge branch 'dev' into vbuterin-patch-11
2019-03-19 16:06:33 -06:00
Danny Ryan
acd7fdd762
add a few voluntary exit tests
2019-03-19 16:00:27 -06:00
Danny Ryan
9d7c2b264e
Merge branch 'dev' into JustinDrake-patch-20
2019-03-19 15:06:36 -06:00
Danny Ryan
2afbd8a02d
Merge branch 'dev' into JustinDrake-patch-8
2019-03-19 14:44:25 -06:00
Justin
b664453a34
Update 0_beacon-chain.md
2019-03-19 20:43:05 +00:00
Danny Ryan
ef0b3d2948
Merge branch 'dev' into JustinDrake-patch-20
2019-03-19 14:26:38 -06:00
Danny Ryan
be13fa8ec3
Merge branch 'dev' into JustinDrake-patch-14
2019-03-19 14:20:12 -06:00
Danny Ryan
574fd8d63c
Merge branch 'dev' into JustinDrake-patch-18
2019-03-19 14:14:35 -06:00
Danny Ryan
23ef802da5
fix small bug in sytax
2019-03-19 13:25:34 -06:00
Danny Ryan
cf06cb59c3
Merge branch 'dev' into JustinDrake-patch-13
2019-03-19 12:40:58 -06:00
Danny Ryan
054a1e3126
Merge branch 'dev' into JustinDrake-patch-12
2019-03-19 12:25:50 -06:00
Danny Ryan
bdfc01cf93
Merge branch 'dev' into JustinDrake-patch-11
2019-03-19 12:13:42 -06:00
Danny Ryan
f7fab30772
minor adjustment to not repeat committe count calc
2019-03-19 11:40:24 -06:00
Danny Ryan
f5826e7f1c
small lint
2019-03-19 11:34:49 -06:00
Danny Ryan
c8e9073414
define get_split_offset and squash a couple of bugs
2019-03-19 11:24:36 -06:00
Danny Ryan
009563b2c3
fix a few bugs in testing compute_committee
2019-03-19 11:15:51 -06:00
Justin
b50e148642
Update 0_beacon-chain.md
2019-03-19 17:13:25 +00:00
Danny Ryan
0737494694
Merge branch 'dev' into vbuterin-patch-16
2019-03-19 11:04:11 -06:00
vbuterin
c5ee74d5e0
Justin fixes
2019-03-19 11:21:17 -05:00
Danny Ryan
9e3079854f
Merge pull request #809 from ethereum/master
...
Backport CI testing into dev
2019-03-19 10:16:46 -06:00
vbuterin
db92235d9e
Removed some no-longer-necessary functions
2019-03-19 09:34:37 -05:00
vbuterin
dd39d25c86
Replace committee exponential backoff with max progress
...
Removes the mechanism that only rotates committees if blocks have been finalized and every shard has been crosslinked or at exponentially decreasing intervals, and replaces it with a rule that shard committees can only progress a maximum of 64 epochs at a time to preserve the invariant that maximum possible work required per epoch for a validator is O(1).
2019-03-19 09:32:06 -05:00
Justin
78f47f2069
Avoid underflow in voluntary exits
2019-03-19 12:23:17 +00:00
Justin
e91036cfc9
Update 0_beacon-chain.md
2019-03-19 11:12:50 +00:00
Justin
0c383ce4a1
Update 0_beacon-chain.md
2019-03-19 11:11:18 +00:00
Justin
2b454d57f1
Update 0_beacon-chain.md
2019-03-19 11:08:17 +00:00
Justin
dc4b652f72
Only slash active validators
...
This is to prevent a spam/DoS attack where validators with zero balance get "slashed" but no validator loses any balance.
2019-03-19 11:03:42 +00:00
Matthew Slipper
2dce326310
Bring back envelope
2019-03-18 16:02:31 -07:00
Justin
0039613628
Simplify exit_validator
...
Minor cleanup
2019-03-18 19:08:41 +00:00
Matthew Slipper
fba333c791
Updates from review
2019-03-17 21:19:45 -07:00
Justin
d25c18b320
Update 0_beacon-chain.md
2019-03-17 11:48:47 +00:00
vbuterin
91a0c1ba5f
Persistent committee size per slot reduced to max 128 ( #734 )
...
* Persistent committee size per slot target 128 max 256
Cuts down the cost of verifying a shard chain and aggregating signatures for a shard chain, and also makes the shard chain signatures more usable by light clients for verification as they would only need to keep track of a max 256-sized committee.
2019-03-17 11:44:19 +00:00
Hsiao-Wei Wang
6b82f5e999
Set `GENESIS_FORK_VERSION` to a `bytes4` constant ( #792 )
...
* Set `GENESIS_FORK_VERSION` to a `bytes4` constant
* Update 0_beacon-chain.md
2019-03-17 11:33:42 +00:00
Justin
390ece7fbe
Rename "vector" to "tuple" in SSZ spec ( #794 )
...
To be done in combination with #777 .
Also:
* Define "fixed-size" and "variable-size" more rigorously
* Use `"` vs `'` consistently
* Add missing `"`
2019-03-17 11:33:29 +00:00
vbuterin
506fdf4042
Added FixedSizeList wrappers ( #777 )
...
* Added FixedSizeList wrappers
Requires corresponding changes to the spec pythonizer.
* FixedSizeList -> Vector
2019-03-17 11:33:19 +00:00
vbuterin
1967a8939d
Fixed some variable names
2019-03-17 06:25:56 -05:00
Sören Steiger
65162e0371
Update 0_beacon-chain.md ( #791 )
2019-03-16 20:56:10 +00:00
Sören Steiger
919b99e0ae
Add missing word ( #788 )
2019-03-16 12:46:45 +00:00
NIC Lin
1a0938169b
Fix `get_split_offset` ( #790 )
2019-03-16 12:45:39 +00:00
Justin
e5ff0d59ad
Update 0_beacon-chain.md
2019-03-16 11:23:41 +00:00
Sören Steiger
6b118d2398
Add trailing comma ( #789 )
2019-03-16 12:16:47 +08:00
Justin
3944fd4b15
Clarify empty sums in BLS spec ( #782 )
...
Fix #775 .
2019-03-15 18:18:37 +00:00
Justin
709e0df39f
Update 0_beacon-chain.md
2019-03-15 13:54:33 +00:00
Justin
1236e8e1fa
Update 0_beacon-chain.md
2019-03-15 13:53:24 +00:00
Justin
4b461838d2
`GENESIS_EPOCH - 1` for `previous_shuffling_epoch` and `previous_justified_epoch`
...
See item 26 in #675 .
2019-03-15 13:32:24 +00:00
Justin
e912ed7fca
Include recently slashed churn in churn queue
...
Addresses #527 in combination with #784 .
2019-03-15 13:12:03 +00:00
Justin
4a8d748c55
Milder ejections
...
See item 22 in https://github.com/ethereum/eth2.0-specs/issues/675 . Also partially addresses https://github.com/ethereum/eth2.0-specs/issues/527 .
2019-03-15 13:05:46 +00:00
Justin
d8d653dd94
Update 0_beacon-chain.md
2019-03-15 12:51:46 +00:00
Justin
96ab535704
Simplify and cleanup process_attestation
...
Improve readability and testability (by avoiding untriggerable `assert`). Fix #753 .
2019-03-15 12:40:52 +00:00
Justin
58603f276e
Update 0_beacon-chain.md
2019-03-15 11:28:55 +00:00
Justin
b566722b52
Update sync_protocol.md
2019-03-15 11:25:15 +00:00
Justin
22be21223b
Update merkle_proofs.md
2019-03-15 11:24:59 +00:00
Justin
dac43eb564
Simplify deposits
...
Fix #760
2019-03-15 11:18:06 +00:00
Justin
4a5ef98813
Move to SHA256
...
SHA256 is de facto blockchain standard. Standardisation of the hash function is a prerequisite for [full standardisation of BLS12-381 signatures](https://github.com/ethereum/eth2.0-specs/issues/605 ). Blockchain projects are likely to provide a cheap SHA256 opcods/precompile, and unlikely to provide a Keccak256 equivelent. (Even WASM-enabled blockchains are likely to provide a SHA256 opcode/precompile since WASM does *not* natively support optimised SHA256 CPU instructions.) With Ethereum 2.0 embracing SHA256 the wider industry is more likely to converge towards a unified cross-blockchain communication scheme via Merkle receipts.
There are no security blockers with SHA256 (see comments by Dan Boneh [here](https://github.com/ethereum/eth2.0-specs/issues/612#issuecomment-470452562 )).
2019-03-15 10:51:08 +00:00
Justin
68d1c74784
Update 0_beacon-chain.md
2019-03-15 09:45:20 +00:00
Justin
5d327b6364
Update 0_beacon-chain.md
2019-03-15 09:43:38 +00:00
Hsiao-Wei Wang
16123685af
Merge branch 'dev' into vbuterin-patch-3
2019-03-15 11:22:15 +08:00
vbuterin
24468de23b
Change get_shuffling to compute_committee
...
See #729 and #774
The behavior now is that the first committee will consist of `get_permuted_index(0..n-1)`, the second committee `get_permuted_index(n....2n-1)`, etc.
2019-03-14 20:28:44 -05:00
Danny Ryan
aeb5bb9b11
Merge pull request #755 from ethereum/dev
...
v0.5.0 release
2019-03-14 15:49:49 -06:00
Justin
bbc5139115
Update 0_beacon-chain.md
...
Assuming `epoch % i` is a bug, and you meant `epoch + i`. @vbuterin
2019-03-14 19:01:32 +00:00
Justin
23d15f51a7
Update 0_beacon-chain.md
2019-03-14 18:57:17 +00:00
Vitalik Buterin
b65601afda
Updated Merkle proof file
2019-03-14 08:29:03 -05:00
Raúl Kripalani
863f85c45a
Update specs/networking/rpc-interface.md
...
Co-Authored-By: mslipper <me@matthewslipper.com>
2019-03-13 21:57:29 -07:00
Raúl Kripalani
22e6212e6f
Update specs/networking/node-identification.md
...
Co-Authored-By: mslipper <me@matthewslipper.com>
2019-03-13 21:56:47 -07:00
jannikluhn
5a9ef0fd98
Update specs/networking/rpc-interface.md
...
Co-Authored-By: mslipper <me@matthewslipper.com>
2019-03-13 21:55:59 -07:00
jannikluhn
f3bddee7a5
Update specs/networking/rpc-interface.md
...
Co-Authored-By: mslipper <me@matthewslipper.com>
2019-03-13 21:55:48 -07:00
jannikluhn
29caafc756
Update specs/networking/rpc-interface.md
...
Co-Authored-By: mslipper <me@matthewslipper.com>
2019-03-13 21:52:25 -07:00
vbuterin
4442dfffb9
Fair proposer selection probability
...
Note that as a side effect, proposer selection becomes less predictable, but I don't feel like this is a large downside.
2019-03-13 21:42:49 -05:00
terence tsao
c30018a716
Update 0_beacon-chain-validator.md
2019-03-13 18:45:52 -07:00
Alex Stokes
9774a3d581
Helper function returns correct type of `Gwei` instead of indices
2019-03-13 17:01:47 -07:00