1484 Commits

Author SHA1 Message Date
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
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
Alex Stokes
6f0f2a8f53
Update the descriptive text to refer to the correct type of root 2019-03-30 16:21:09 -07: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
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
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
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
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
81e0e494a8
Merge branch 'dev' into vbuterin-patch-3 2019-03-26 13:30:33 -06:00
Danny Ryan
654351faea
Merge branch 'dev' into vbuterin-patch-16 2019-03-26 13:04:18 -06:00
Danny Ryan
2c5a68b5b5
remove registry_change options from shuffling functions 2019-03-26 12:32:24 -06:00
Danny Ryan
a8410b8b84
add some attestation tests. fix genesi crosslink bug 2019-03-26 11:27:07 -06:00
Danny Ryan
2c8e9a11e7
Merge branch 'dev' into vbuterin-patch-18 2019-03-26 10:13:17 -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
7f53f257cd
Merge branch 'dev' into JustinDrake-patch-4 2019-03-26 07:14:34 -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
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
Hsiao-Wei Wang
80e2553afd
Update specs/core/0_beacon-chain.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-03-22 09:32:21 -04:00
vbuterin
ce18bde5c9
Simplified sorted index check 2019-03-22 06:20:38 -05:00
vbuterin
3ee9fc0cc7
Merge attestation verification logic
Also rename slashable attestation to standalone attestation to reflect its broader functionality in phase 1.
2019-03-22 06:10:44 -05:00
vbuterin
e8257db320
Removed hanging min 2019-03-22 05:40:41 -05:00
Hsiao-Wei Wang
b34858c67b
Refactor get_justification_and_finalization_deltas 2019-03-22 14:21:33 +08:00
Hsiao-Wei Wang
ae67e9513b
Fix type hinting and add docstrings 2019-03-22 12:56:54 +08:00
Hsiao-Wei Wang
512ceff1bb
Merge branch 'dev' into vbuterin-patch-20 2019-03-22 11:58:32 +08:00
Danny Ryan
64e3db09d4
Merge branch 'dev' into JustinDrake-patch-19 2019-03-21 16:25:31 -06:00
Danny Ryan
d8ad56f759
Merge pull request #828 from ethereum/vbuterin-patch-20-1
Small cosmetic change to slashable attestations
2019-03-21 15:50:08 -06:00
vbuterin
3ece05ccc1
Small cosmetic change to slashable attestations 2019-03-21 16:36:31 -05:00
vbuterin
3b403909e8
Cosmetic improvement to reward/penalty functions 2019-03-21 16:29:14 -05:00