Commit Graph

1972 Commits

Author SHA1 Message Date
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 76e053f176
Merge pull request #838 from ethereum/JustinDrake-patch-11
Generalise `slash_validator` for phase 1
2019-03-28 12:41:50 -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 eb229089c8
lint 2019-03-28 11:31:12 -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 c978bb4a67
Merge pull request #826 from ethereum/vbuterin-patch-16
Simplify justification and finalization accounting logic
2019-03-26 13:31:57 -06:00
Danny Ryan 81e0e494a8
Merge branch 'dev' into vbuterin-patch-3 2019-03-26 13:30:33 -06:00
Danny Ryan a38e3525cd
ensure validator balances are losing when no finality 2019-03-26 13:18:18 -06:00
Danny Ryan 654351faea
Merge branch 'dev' into vbuterin-patch-16 2019-03-26 13:04:18 -06:00
Danny Ryan 8550d7597a
Merge pull request #808 from ethereum/vbuterin-patch-18
Replace committee exponential backoff with max progress
2019-03-26 13:03:00 -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 9fa6055a8a
add more attestation tests 2019-03-26 11:41:15 -06:00
Danny Ryan a8410b8b84
add some attestation tests. fix genesi crosslink bug 2019-03-26 11:27:07 -06:00
Danny Ryan cdbba3e181
Merge branch 'vbuterin-patch-18' of github.com:ethereum/eth2.0-specs into vbuterin-patch-18 2019-03-26 10:16:29 -06:00
Danny Ryan 2c8e9a11e7
Merge branch 'dev' into vbuterin-patch-18 2019-03-26 10:13:17 -06:00
Danny Ryan 9bc1928bed
Merge pull request #780 from ethereum/JustinDrake-patch-7
Simplify deposits
2019-03-26 07:40:21 -06:00
Danny Ryan 5a708bae34
fix tests 2019-03-26 07:38:51 -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 2d413be91f
Merge pull request #779 from ethereum/JustinDrake-patch-4
Move to SHA256
2019-03-26 07:19:46 -06:00
vbuterin d0c473dbf8
Merge branch 'dev' into vbuterin-patch-18 2019-03-26 09:17:35 -04:00
Danny Ryan be57cafbfb
switch utils hash-function to sha256 2019-03-26 07:17:08 -06:00
Danny Ryan 7f53f257cd
Merge branch 'dev' into JustinDrake-patch-4 2019-03-26 07:14:34 -06:00
Danny Ryan db63b3e013
Merge pull request #772 from ethereum/vbuterin-patch-13
Fair proposer selection probability
2019-03-26 07:14:07 -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 3e9a304b47
Merge pull request #840 from ethereum/port-839
backport v0.5.1 bugfixes and #839 into dev
2019-03-25 14:22:26 -06:00
Danny Ryan fceebeec4e
backport 839 into dev 2019-03-25 11:25:33 -06:00
Justin acc5f314ac
Update 0_beacon-chain.md 2019-03-25 14:54:43 +00:00
Justin fb837400b2
Can't spell (thanks continuous integration!) 2019-03-25 14:49:35 +00:00
Justin b7441e8ab7
Generalise `slash_validator` for phase 1
Make `slash_validator` friendly to phase 1. This is a cosmetic change in the context of phase 0.
2019-03-25 14:30:59 +00:00