Commit Graph

95 Commits

Author SHA1 Message Date
Justin Drake 196ac42025 Cleanup naming 2019-06-28 12:23:22 +01:00
Dankrad Feist 80c680e614
Phase 1 to Bitvector/Bitlist 2019-06-27 12:41:22 +01:00
protolambda 054a157953
get rid of TypingList, add MutableSequence 2019-06-25 02:58:10 +02:00
protolambda 9fb5806764
be explicit about input for balance sum 2019-06-25 00:24:13 +02:00
protolambda 1408a1ee0d
undo tuple wrapping 2019-06-23 00:17:54 +02:00
protolambda 00aae07d46
type annotation clean up 2019-06-22 18:12:42 +02:00
protolambda 80c40f5e09
merge dev, resolve minor merge conflicts 2019-06-21 21:22:23 +02:00
protolambda 5048b9e87a temporary fix for phase-1 spec typing 2019-06-20 20:20:45 +02:00
protolambda 4b4bf87e47 update shard doc, use new types, avoid List 2019-06-20 20:15:56 +02:00
Carl Beekhuizen 3418c3506f
Merge dev and resolve conflicts (please let the CI tests pass with the new dev) 2019-06-19 20:27:54 +02:00
Hsiao-Wei Wang dd79a0edb5
Merge branch 'dev' into mypy 2019-06-18 08:24:23 -06:00
Carl Beekhuizen 31a4700223
Merge conflicts on `dev` 2019-06-17 22:09:43 -04:00
Hsiao-Wei Wang 9af9bbf42b
Merge branch 'dev' into mypy 2019-06-17 17:51:00 -04:00
Danny Ryan 207eb808a0
split constants vs configuration 2019-06-17 15:19:44 -06:00
Carl Beekhuizen 11edda64ed
Adds fork-choice to spec builder 2019-06-15 18:42:03 -04:00
Hsiao-Wei Wang e93ba51ef8
More clean up 2019-06-15 18:25:37 -04:00
Hsiao-Wei Wang 48e8164e28
Add phase1 type hinting checks and fix many bugs 2019-06-12 20:08:19 -04:00
Justin Drake 565f61dfaa Cleanup containers 2019-06-09 20:41:21 +01:00
Carl Beekhuizen 35c03c5f3e
Adds review suggestions I missed 2019-06-06 11:45:22 +02:00
Carl Beekhuizen d761b6f041
Implements new SSZ types 2019-06-05 15:29:26 +02:00
Carl Beekhuizen fd05b6e364
Minor bugfixes 2019-05-28 09:58:51 +02:00
Carl Beekhuizen f7f069d6b5
Bug fixes and cleanup of 2_shard-data-chains 2019-05-26 19:41:36 +02:00
Carl Beekhuizen a7dbbafc92
Integrates shard-data-chains 2019-05-26 14:14:48 +02:00
Carl Beekhuizen f6ce817f24
merge dev->dankrad-patch-7 2019-05-25 15:57:28 +02:00
Danny Ryan 28b76bcd4c
a number of minor fixes in phsae 1 2019-05-24 11:59:22 -06:00
Carl Beekhuizen 24c4d21d5e
Minor edits + PEP8 2019-05-21 12:41:24 +02:00
Dankrad Feist ec230f443a
Merge branch 'dev' into dankrad-patch-7
# Conflicts:
#	specs/core/1_custody-game.md
#	specs/core/1_shard-data-chains.md
2019-05-09 01:00:25 +01:00
Danny Ryan af2bb7d6f6
Merge pull request #1044 from ethereum/JustinDrake-patch-21
Crosslink in AttestationData
2019-05-08 08:35:06 -06:00
Dankrad Feist 4ad92a0989
Fix typing 2019-05-07 13:23:28 +01:00
Dankrad Feist 1db49f4c98
Merge branch 'dev' into dankrad-patch-7
# Conflicts:
#	specs/core/1_custody-game.md
2019-05-07 12:27:24 +01:00
Dankrad Feist a604d03dff
Basic phase 1 pulling + correcting syntax errors in phase 1 2019-05-07 12:13:22 +01:00
Justin Drake 22b06d581d Update instances of int_to_bytes 2019-05-07 10:57:41 +01:00
Justin Drake ea60fb632c More renaming 2019-05-06 20:49:46 +01:00
Justin Drake f4db9ebae0 Renamings triggered by HW comment 2019-05-06 18:26:14 +01:00
Justin 7ba13aa4c5
Merge branch 'dev' into JustinDrake-patch-21 2019-05-06 17:48:09 +01:00
JSON d1c96c1e0d Doc standardization (#1039) 2019-05-06 16:30:32 +01:00
Justin Drake 5fb32fd19b Fix tests 2019-05-05 12:10:39 +01:00
Justin Drake e85678ac15 restore compute_committee 2019-05-01 15:21:38 +01:00
Justin Drake a0158c606e Expose get_commitee 2019-05-01 09:09:24 +01:00
JSON eeedea2d8c
Update 1_shard-data-chains.md 2019-04-16 12:03:22 -05:00
Alex Stokes 5466a4875d
Update 1_shard-data-chains.md
Fix some typos
2019-04-14 09:54:35 +10:00
Danny Ryan 2468f9fc99
Merge pull request #868 from ethereum/vbuterin-patch-7
Separate out get_switchover_epoch
2019-04-11 18:55:39 +10:00
Chih Cheng Liang ffccf742bd
replace signed_root with signing_root 2019-04-08 09:57:04 +08:00
Justin c4321c7cc7
Update 1_shard-data-chains.md 2019-04-02 22:17:55 +04: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
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
Danny Ryan fd6d80fcb6
remove get_split_offset from phase 1 doc 2019-03-21 08:24:26 -06: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
NIC Lin 1a0938169b Fix `get_split_offset` (#790) 2019-03-16 12:45:39 +00:00
Hsiao-Wei Wang cdd59ae230
add return types to phase 1 functions
Co-Authored-By: djrtwo <dannyjryan@gmail.com>
2019-03-13 09:11:35 -06:00