Commit Graph

2429 Commits

Author SHA1 Message Date
protolambda f8cdd66ffc
minor fixes 2019-04-03 13:50:56 +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 39b4ef3892
Merge branch 'dev' into prev-cur-crosslinks 2019-04-03 11:57:07 +11:00
Danny Ryan dd520c6162
fix tests for get_domain PR 2019-04-03 11:22:14 +11:00
Danny Ryan 2f1ab491f9
Merge branch 'dev' into vbuterin-patch-2 2019-04-03 11:15:58 +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
Danny Ryan d8df789a70
simplify get_winning_root logic 2019-04-03 10:13:05 +11:00
Justin 37fc79cb94
Update 0_beacon-chain.md 2019-04-02 22:30:26 +04:00
vbuterin 06ba5fedd7 Add link to custody game to readme (#867) 2019-04-02 22:18:41 +04:00
Justin c4321c7cc7
Update 1_shard-data-chains.md 2019-04-02 22:17:55 +04:00
Danny Ryan 226e33b364
Merge pull request #863 from ethereum/JustinDrake-patch-8
Rename "transaction" to "operation"
2019-04-02 05:06:30 -06:00
Danny Ryan 529cf4223e
add previous and current crosslinks 2019-04-02 16:00:36 +11:00
Danny Ryan 577fc740d0
lint 2019-04-02 14:08:22 +11:00
Danny Ryan e037412f94
add process attester slashing tests 2019-04-02 14:04:04 +11:00
Danny Ryan 06d005999a
fix validator_indicies issue in process_attester_slashing 2019-04-02 13:50:06 +11:00
vbuterin 3fc24f3d41
Replace with empty instead of popping finished challenges 2019-03-31 21:20:43 -05: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
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