Commit Graph

2361 Commits

Author SHA1 Message Date
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
Justin c2edcebee3
Update 0_beacon-chain.md 2019-03-31 20:48:44 +04:00
Justin 79d1f9fb76
Update 0_beacon-chain.md 2019-03-31 20:45:57 +04:00
Hsiao-Wei Wang 93540f9662
Rename transaction to operation in tests 2019-03-31 23:00:21 +08:00
Hsiao-Wei Wang 77b0a4188b
Update `1_custody-game.md` as well 2019-03-31 22:54:46 +08:00
vbuterin b6be9e1830
Possible aesthetic rework to get_domain
In general I dislike how domains, which should be an unobtrusive out-of-the-way thing that we don't think about much, are taking up so much space in code to express, to the point of them being the single thing preventing `bls_verify` from being expressed in one line of code. Here I reorder arguments and add a default, and make `bls_verify` a one-liner.

Not necessarily convinced that exactly this approach is the way to go, but IMO it's worth considering.
2019-03-31 04:55:24 -05: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
Alex Stokes 6f0f2a8f53
Update the descriptive text to refer to the correct type of root 2019-03-30 16:21:09 -07:00
protolambda 00c3c1e2a6
rename eth2 pkg to pyspec, per request of hww 2019-03-30 00:24:04 +08: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 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