Commit Graph

2249 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
protolambda ab9761bac2
Merge branch 'dev' into proto-merge-test-gen 2019-03-29 02:08:21 +08: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
protolambda ec37645e8f
update pyspec readme 2019-03-29 00:51:49 +08:00
Hsiao-Wei Wang aa4bbcc1c8
Bugfix 2019-03-29 00:43:28 +08:00
protolambda 3b132b71aa
refine makefile, update generator doc 2019-03-29 00:24:18 +08:00
protolambda 04d41ddabe
small fixes/tweaks, pytests and yaml generators work well now 2019-03-29 00:16:18 +08:00
protolambda adf91f50c5
run yaml test generators from makefile 2019-03-29 00:05:40 +08:00
vbuterin deb0e32590
Fixes to make Justin happy 2019-03-28 10:51:36 -05:00
protolambda f2703bc8d3
update readme with example pyspec import 2019-03-28 23:27:28 +08:00
protolambda 58f09b20f5
update CI, makefile has test runner now 2019-03-28 23:23:36 +08:00
protolambda 05970c9383
fix pyspec setup, and update usages: py_tests and in docs 2019-03-28 23:10:16 +08:00
protolambda 3f6d6535ad
Fix pyspec package structure 2019-03-28 22:04:51 +08: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
protolambda ec4d41e15d
fix config, work on py_tests 2019-03-28 02:30:47 +08:00
protolambda a106edacad
Scope pyspec packages, make pyspec more readable, fix imports 2019-03-28 01:21:07 +08:00
protolambda 883ea93545
update generator helper readme 2019-03-28 00:53:20 +08:00
protolambda bf951688b0
update pyspec readme 2019-03-28 00:49:39 +08:00
protolambda 645682553d
Update readme with links to spec contributor docs 2019-03-28 00:49:38 +08:00
protolambda c7da23e6da
update ci config and makefile 2019-03-28 00:49:38 +08:00
protolambda 64f012b276
Move test-generators to specs repo
Co-authored-by: Chih Cheng Liang <chihchengliang@gmail.com>
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
Co-authored-by: Dmitrii Shmatko <leodex23@gmail.com>
Co-authored-by: Jannik Luhn <jannik@brainbot.com>
Co-authored-by: Paul Hauner <paul@paulhauner.com>
Co-authored-by: protolambda <proto@protolambda.com>
2019-03-28 00:49:04 +08:00
protolambda 53e528e56c
work in progress: setup test libs, pyspec, pytests 2019-03-28 00:28:20 +08: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