Commit Graph

164 Commits

Author SHA1 Message Date
Justin 9adbaba96e
Update simple-serialize.md 2019-04-14 00:14:30 +10:00
Justin f6ed1df62b
Update simple-serialize.md 2019-04-14 00:10:02 +10:00
Justin 23c09541e2
Update simple-serialize.md 2019-04-14 00:05:43 +10:00
Justin a90bcc0cd4
Update simple-serialize.md 2019-04-14 00:00:46 +10:00
Justin 27cf02a9b0
Update simple-serialize.md 2019-04-13 23:59:03 +10:00
Justin 10f3db977d
Update simple-serialize.md 2019-04-13 23:56:06 +10:00
Justin 80bd4a381b
Update simple-serialize.md 2019-04-13 23:55:08 +10:00
Justin 35a6311208
Update simple-serialize.md 2019-04-13 23:50:23 +10:00
Justin 0695d0ad1c
Update simple-serialize.md 2019-04-13 23:48:47 +10:00
Justin aaa5a16765
Update simple-serialize.md 2019-04-13 23:45:18 +10:00
Justin 4d2bdf8628
Cleanup spec 2019-04-13 23:44:14 +10:00
Dankrad Feist 2017ce9614 Rename "option" -> "union"; "null" only in unions 2019-04-11 16:05:16 +01:00
jannikluhn 283ba8f761 Update specs/simple-serialize.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
2019-04-11 16:00:53 +01:00
JSON 9cd1b4206b
Update simple-serialize.md 2019-04-10 13:28:24 -05:00
Dankrad Feist cd85546954 Add option type and null 2019-04-10 15:09:53 +01:00
Piper Merriam 92f002c501
specify offsets better 2019-04-08 12:55:13 -06:00
Piper Merriam 66173b8ba3
static > fixed 2019-04-08 12:55:13 -06:00
Piper Merriam 5f465842a4
more language updates 2019-04-08 12:55:13 -06:00
Piper Merriam ca98d752d2
d 2019-04-08 12:55:13 -06:00
jannikluhn 1ab501975c
Update specs/simple-serialize.md
Co-Authored-By: pipermerriam <piper@pipermerriam.com>
2019-04-08 12:55:13 -06:00
jannikluhn 3741b7517b
Update specs/simple-serialize.md
Co-Authored-By: pipermerriam <piper@pipermerriam.com>
2019-04-08 12:55:13 -06:00
jannikluhn 32684d582a
Update specs/simple-serialize.md
Co-Authored-By: pipermerriam <piper@pipermerriam.com>
2019-04-08 12:55:13 -06:00
jannikluhn fa66640a00
Update specs/simple-serialize.md
Co-Authored-By: pipermerriam <piper@pipermerriam.com>
2019-04-08 12:55:13 -06:00
Piper Merriam 605028bbda
more precise definitions for and and expand code example for how sections are created 2019-04-08 12:55:13 -06:00
Piper Merriam 4a0459a087
PR feedback 2019-04-08 12:55:13 -06:00
Piper Merriam ad07649ec3
Update spec to use SOS style offset layout for variable size values. 2019-04-08 12:55:13 -06:00
Chih Cheng Liang ffccf742bd
replace signed_root with signing_root 2019-04-08 09:57:04 +08:00
Justin 390ece7fbe
Rename "vector" to "tuple" in SSZ spec (#794)
To be done in combination with #777.

Also:

* Define "fixed-size" and "variable-size" more rigorously
* Use `"` vs `'` consistently
* Add missing `"`
2019-03-17 11:33:29 +00:00
Danny Ryan 175dde7cf7
Merge branch 'dev' into patch-1 2019-03-06 15:56:35 -07:00
Dankrad Feist 37b77725d8 Make basic/non-basic for bytes explicit 2019-03-06 22:32:26 +01:00
Dankrad Feist eece029cdf Array spec to [type] and tuple to [type, N]. Also make notation consistent: use "base" for base types 2019-03-06 17:46:40 +01:00
Justin 57971aacb4
Update simple-serialize.md 2019-03-05 15:20:36 +01:00
Justin 25ef2553c7
Update simple-serialize.md 2019-03-01 12:02:29 +01:00
Justin 67793edc8d
Update simple-serialize.md 2019-02-28 11:34:24 +01:00
Justin 7ab7abe2ca
Update simple-serialize.md 2019-02-28 11:32:54 +01:00
Justin 3e6934b602
Update simple-serialize.md 2019-02-27 22:44:20 +01:00
Justin 74349eacd2
Update simple-serialize.md 2019-02-27 22:33:36 +01:00
Danny Ryan 8176cc4cf0
Apply suggestions from code review
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-02-27 22:23:42 +01:00
Justin bac352e70f
Update simple-serialize.md 2019-02-27 18:02:53 +01:00
Justin 99074d09ec
Update simple-serialize.md 2019-02-27 18:00:49 +01:00
Justin e766193588
Update simple-serialize.md 2019-02-27 17:59:49 +01:00
Justin 54a81a8ebf
Update simple-serialize.md 2019-02-27 17:56:51 +01:00
Justin aa676354a0
Update simple-serialize.md 2019-02-27 17:54:19 +01:00
Justin 95fa9d56b8
Update simple-serialize.md 2019-02-27 17:35:26 +01:00
jannikluhn 828146cbf8
Apply suggestions from code review
Co-Authored-By: JustinDrake <drakefjustin@gmail.com>
2019-02-27 17:15:46 +01:00
Justin 0df8f8b3c6
Update simple-serialize.md 2019-02-27 13:04:36 +01:00
Justin e698d7e29b
Update simple-serialize.md 2019-02-27 12:57:06 +01:00
Justin 07922a63fb
Update simple-serialize.md 2019-02-27 12:54:56 +01:00
Justin 28cf5860ea
Update simple-serialize.md 2019-02-27 12:53:24 +01:00
Justin 5116645dfa
Update simple-serialize.md 2019-02-27 12:40:08 +01:00
Justin 313fe46a94
Update simple-serialize.md 2019-02-27 12:06:06 +01:00
Justin df50ac1adc
Update simple-serialize.md 2019-02-27 12:03:27 +01:00
Justin 5c5f15c82c
Rewrite SSZ spec
* Implement tuples and a chunk-size reduction to 32 bytes (see #665 and #679)
* Simplify presentation where appropriate. For example, deserialisation is implicit from serialisation (similar to `bls_sign` being implicit from `bls_verify`) and is left as an implementation exercise.
* Dramatically reduce spec size and hopefully improve readability.
2019-02-27 11:54:23 +01:00
sigmoid 00aa553fee updated SSZ implementation list (#653)
* updated SSZ implementation list

Signed-off-by: sigmoid <alphabet@hotmail.co.kr>

* Update specs/simple-serialize.md

Co-Authored-By: NAKsir-melody <alphabet@hotmail.co.kr>
2019-02-20 00:47:15 +08:00
vbuterin 59ade930d6 Signature hashing proposal (#625)
If this is accepted, then we can replace all uses of signing in the protocol, which are currently done in a relatively inconsistent way (see proposer signatures, attester signatures, shard proposer signatures, exit message signatures.....) could be unified.
2019-02-16 21:44:27 +00:00
Justin 3459515c2c
Merkleise SSZ container elements (#595)
Reasons to use `merkle_hash` instead of  `hash` for containers:

1) **Smaller witnesses**: `BeaconState` is a somewhat wide container (26 fields as of now, likely 30+ in phase 2). With concatenation and plain concatenation the size of the Merkle witnesses for the top level are ~32 bytes per field element.
2) **Faster incremental hashing**
3) **Consistency**: Consistent with `merkle_hash` for lists/vectors.
2019-02-12 21:57:54 +00:00
Justin 9a4f4d5344
Fix SSZ merkleisation bug (#602) 2019-02-12 11:12:29 +00:00
Justin 0069241b9c
Alias `bytes` to `List[bytes1]` 2019-02-11 14:49:11 +00:00
Jordan Andrews afca1e2127 Add C# implementation 2019-02-11 22:01:05 +11:00
vbuterin 2ac420c5ea
Merge pull request #538 from ethereum/vbuterin-patch-1
SSZ list Merkle hashing change
2019-02-03 14:37:30 -06:00
vbuterin 197fa18893
Zpad is already in #543 2019-02-03 14:26:07 -06:00
Hsiao-Wei Wang dd197e46a6
Fix `zpad` 2019-02-01 22:31:00 +08:00
vbuterin 8ffd9adcaf
Hash_tree_root -> hash_tree_root_internal
Clarifies the distinction between "internal" hash roots (may be < 32 bytes for trivial objects) and "external" ones (zpadded to 32).
2019-01-31 18:03:23 -06:00
Hsiao-Wei Wang acb432ef3a
Update specs/simple-serialize.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-31 17:49:51 -06:00
Hsiao-Wei Wang 9271e6e318
Update specs/simple-serialize.md
Co-Authored-By: vbuterin <v@buterin.com>
2019-01-31 17:47:09 -06:00
vbuterin 5488e7b6a4
SSZ list Merkle hashing change
The current spec is arguably inconsistent, in that if a set of N values gets chunked into M chunks where M is not an exact power of 2, the chunks between M and next_power_of_2(M) are filled with SSZ_CHUNK_SIZE zero bytes each, but the last chunk is not padded, and could be arbitrarily short (eg. if the values are 4 bytes and there are 257 of them, then that gets serialized into eight chunks chunks where the first four are 64 values each, the fifth is 4 bytes corresponding to the last value, and the last three chunks are SSZ_CHUNK_SIZE zero bytes). This PR fills every chunk up to exactly SSZ_CHUNK_SIZE bytes for consistency.
2019-01-31 10:12:43 -06:00
jannikluhn 4bedb16e21
Merge branch 'master' into ssz-var-length-list 2019-01-28 10:53:04 +01:00
Chih Cheng Liang 45c064a2d6
remove all unnecessary newline 2019-01-24 16:24:05 +08:00
Chih Cheng Liang 5dfa4e005b
rename byte_order to byteorder 2019-01-24 16:12:43 +08:00
Chih Cheng Liang d41215aeec
rename Terminology to Variables and Functions 2019-01-24 16:11:45 +08:00
Chih Cheng Liang 14432e91a3
add code block to variable in the table 2019-01-24 16:11:04 +08:00
Chih Cheng Liang 88ffae6335
define deserialized_object and new_index 2019-01-24 16:08:56 +08:00
Chih Cheng Liang c2112f0bfc
PR feedback: remove unnecessary newline 2019-01-24 15:58:34 +08:00
Hsiao-Wei Wang 5bb02a9d09
Update specs/simple-serialize.md
Co-Authored-By: ChihChengLiang <chihchengliang@gmail.com>
2019-01-24 15:53:52 +08:00
Chih Cheng Liang 6ac5608d0b
Explicit check bytes end 2019-01-23 20:14:25 +08:00
Jannik Luhn f8670e8069 SSZ: Remove note on efficiency 2019-01-22 17:18:21 +01:00
Jannik Luhn a5519a7d3b SSZ: List serialization with variable element size
Fix #232
2019-01-22 17:14:25 +01:00
Hsiao-Wei Wang 13dc373224
Update specs/simple-serialize.md
Co-Authored-By: decanus <dean@tokenate.io>
2019-01-17 17:51:34 +01:00
Dean Eigenmann f485259d74
Update simple-serialize.md 2019-01-17 17:48:07 +01:00
Dean Eigenmann 7603d1d5c9
Update simple-serialize.md 2019-01-17 17:47:07 +01:00
Jacek Sieka a80f2717f3 ssz: switch integer encoding to little endian (#139) 2019-01-17 15:34:07 +00:00
Hsiao-Wei Wang 8d2f4a1705 SSZ: Add `bytesN`, remove `hashN` and `Address` (#455) 2019-01-17 11:02:57 +00:00
Danny Ryan 58bb609780
Merge pull request #400 from wemeetagain/ssz/fix-deserialize-container-variable-names
Fix minor variable name mismatch
2019-01-07 08:43:27 -07:00
Danny Ryan 92747579cd
Merge pull request #398 from wemeetagain/ssz/fix-deserialize-uint
Fix deserialize uint bounds logic
2019-01-07 08:13:56 -07:00
Danny Ryan 31d4ca594d
conform to standard 2019-01-07 08:13:26 -07:00
Hsiao-Wei Wang 6fc131433c
Update specs/simple-serialize.md
Co-Authored-By: wemeetagain <caymannava@gmail.com>
2019-01-07 00:54:40 -06:00
Cayman 140ee1ade9
Fix hash function link 2019-01-06 23:10:33 -06:00
Cayman cebbe7b7c5
Fix minor variable name mismatch 2019-01-06 13:05:27 -06:00
Cayman fb17be0e9b
Fix deserialize uint bounds logic
Array accesses should be relative to uint byte length, not bit length.
2019-01-04 11:14:27 -06:00
Alex Stokes d49b6e5087 Fix typo with missing bracket (#379) 2018-12-31 23:35:09 +00:00
terence tsao f21da324ef
updated SSZ implementation list 2018-12-22 15:13:54 -08:00
Vitalik Buterin a9328157a8
Don't lexicographically sort 2018-12-19 13:48:04 -05:00
Terence Tsao e0e2fed1b5 rename hash tree roots as root 2018-12-11 09:53:56 -08:00
Danny Ryan 49f3cfebdf
add link to appendix A 2018-12-10 16:22:42 -06:00
Alex Stokes ed3611904d
update reference to hash function 2018-12-10 13:32:16 -08:00
Nishant Das 88ef7b8186 typo (#270) 2018-12-10 08:28:11 +00:00
Chris Leishman eefaaf5ac3 Clarify TreeHash treatment of integers > 256bit
Also clarify treatment of hashes < 32bytes
2018-12-07 16:39:52 -08:00
Antoine Toulme ff2551e754 Add Java implementation of SSZ 2018-12-02 21:22:51 -08:00
vbuterin 05be2f05e3
tree_hash -> SSZTreeHash 2018-11-27 18:54:43 -05:00
Hsiao-Wei Wang b59dda3409
`CHUNK_SIZE` -> `SSZ_CHUNK_SIZE` 2018-11-28 00:12:28 +08:00