From 13b6a1c8f052c71f1436048a987a6ac87cd8448e Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Mon, 29 Apr 2024 20:17:10 +0800 Subject: [PATCH 01/33] SSZ wiki page - first commit --- docs/wiki/CL/SSZ.md | 12 ++++++++++++ wordlist.txt | 10 +++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 docs/wiki/CL/SSZ.md diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md new file mode 100644 index 00000000..a1f0d4c6 --- /dev/null +++ b/docs/wiki/CL/SSZ.md @@ -0,0 +1,12 @@ +# Simple Serialize (SSZ) + +## Overview + +Simple Serialize (SSZ) is a serialization and Merkleization scheme designed specifically for Ethereum's Beacon Chain. SSZ replaces the [RLP serialization](/docs/wiki/EL/RLP.md) used on the execution layer (EL) everywhere across the consensus layer (CL) except the [peer discovery protocol](https://github.com/ethereum/devp2p). Its development and adoption are aimed at enhancing the efficiency, security, and scalability of Ethereum's CL. + + +## Resources +- [Simple serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) +- [SSZ specs](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md) +- [eth2book - SSZ](https://eth2book.info/capella/part2/building_blocks/ssz/#ssz-simple-serialize) +- [Go Lessons from Writing a Serialization Library for Ethereum](https://rauljordan.com/go-lessons-from-writing-a-serialization-library-for-ethereum/) \ No newline at end of file diff --git a/wordlist.txt b/wordlist.txt index 886726bf..6eecc66f 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -565,4 +565,12 @@ ZKSNARKs Zksync CLRS Endian -Noam \ No newline at end of file +Noam +Aditional +Goeril +Goerli +Pyrmont +financials +performace +performence +testnets \ No newline at end of file From 0ebfbc7d6fb90c5b8bf2c47227f5fc265f14dad6 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 09:11:27 +0800 Subject: [PATCH 02/33] SSZ process for basic types is added --- docs/_sidebar.md | 1 + docs/wiki/CL/SSZ.md | 107 ++++++++++++++++++++++++++++++++++++++++++++ wordlist.txt | 5 ++- 3 files changed, 112 insertions(+), 1 deletion(-) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index e268c2b3..5ed81399 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -41,6 +41,7 @@ - [Proof-of-Stake] - [Beacon API] - [Networking](/wiki/CL/cl-networking.md) + - [SSZ Serialization](/docs/wiki/CL/SSZ.md) - Development - [Core development](/wiki/dev/core-development.md) - [Coordination](/wiki/protocol/pm.md) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index a1f0d4c6..22a996ae 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -4,6 +4,113 @@ Simple Serialize (SSZ) is a serialization and Merkleization scheme designed specifically for Ethereum's Beacon Chain. SSZ replaces the [RLP serialization](/docs/wiki/EL/RLP.md) used on the execution layer (EL) everywhere across the consensus layer (CL) except the [peer discovery protocol](https://github.com/ethereum/devp2p). Its development and adoption are aimed at enhancing the efficiency, security, and scalability of Ethereum's CL. +## How SSZ Works - Basic Types + +Here’s how SSZ handles the serialization and deserialization of the basic types: + +```mermaid +flowchart TD + A[Start Serialization] --> B[Choose Data Type] + B --> C[Unsigned Integer] + B --> D[Boolean] + + C --> E[Convert Integer to \nLittle-Endian Byte Array] + E --> F[Serialized Output for Integer] + + D --> G["Convert Boolean to Byte \n(True to 0x01, False to 0x00)"] + G --> H[Serialized Output for Boolean] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E,G process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class F,H output; +``` + +_Figure: Serialization Process for Basic Types._ + + +```mermaid +flowchart TD + A[Start Deserialization] --> B[Determine Data Type] + B --> C[Unsigned Integer] + B --> D[Boolean] + + C --> E[Read Little-Endian Byte Array] + E --> F[Reconstruct Original Integer Value] + F --> G[Deserialized Integer Output] + + D --> H[Read Byte] + H --> I["Translate Byte to Boolean \n(0x01 to True, 0x00 to False)"] + I --> J[Deserialized Boolean Output] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E,H,I process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class G,J output; +``` + +_Figure: Deserialization Process for Basic Types._ + +### Unsigned Integers + +Unsigned integers (`uintN`) in SSZ are denoted where `N` can be any of 8, 16, 32, 64, 128, or 256 bits. These integers are serialized directly to their little-endian byte representation, which is a form well-suited for most modern computer architectures and facilitates easier manipulation at the byte level. + +**Serialization Process for Unsigned Integers:** + +1. **Input**: Take an unsigned integer of type `uintN`. +2. **Convert to Bytes**: Convert the integer into a byte array of length `N/8`. For instance, `uint16` represents 2 bytes. +3. **Apply Little-Endian Format**: Arrange the bytes in little-endian order, where the least significant byte is stored first. +4. **Output**: The resulting byte array is the serialized form of the integer. + +**Example:** +- Integer `1025` as `uint16` would be serialized to `01 04` in hexadecimal. + +**Deserialization Process for Unsigned Integers:** + +1. **Input**: Read the byte array representing a serialized `uintN`. +2. **Read Little-Endian Bytes**: Interpret the bytes in little-endian order to reconstruct the integer value. +3. **Output**: Convert the byte array back into the integer. + +**Example:** +- Byte array `01 04` (in hex) is deserialized to the integer `1025`. Read the first byte `01` as the lower part and `04` as the higher part of the integer. It translates back to `0401` in hex when reassembled in big-endian format for human readability, which equals 1025 in decimal. + +### Booleans + +Booleans in SSZ are quite straightforward, with each boolean represented as a single byte. + +**Serialization Process for Booleans:** + +1. **Input**: Take a boolean value (`True` or `False`). +2. **Convert to Byte**: + - If the boolean is `True`, serialize it as `01` (in hex). + - If the boolean is `False`, serialize it as `00`. +3. **Output**: The resulting single byte is the serialized form of the boolean. + +**Example:** +- `True` becomes `01`. +- `False` becomes `00`. + +**Deserialization Process for Booleans:** + +1. **Input**: Read a single byte. +2. **Interpret the Byte**: + - A byte of `01` indicates `True`. + - A byte of `00` indicates `False`. +3. **Output**: The boolean value corresponding to the byte. + +**Example:** +- Byte `01` is deserialized to `True`. +- Byte `00` is deserialized to `False`. + +## How SSZ Works - Composite Types + +## Fixed VS Variable Length Types + +## SSZ Tools ## Resources - [Simple serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) diff --git a/wordlist.txt b/wordlist.txt index 6eecc66f..a0f2bf8b 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -573,4 +573,7 @@ Pyrmont financials performace performence -testnets \ No newline at end of file +testnets +Booleans +deserialization +deserialized \ No newline at end of file From 0f0d7e13454e79bf6555ef16ecb679c3c986c829 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 09:18:29 +0800 Subject: [PATCH 03/33] Explained the integer serialization a bit more --- docs/wiki/CL/SSZ.md | 2 +- wordlist.txt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 22a996ae..9c25b1de 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -67,7 +67,7 @@ Unsigned integers (`uintN`) in SSZ are denoted where `N` can be any of 8, 16, 32 4. **Output**: The resulting byte array is the serialized form of the integer. **Example:** -- Integer `1025` as `uint16` would be serialized to `01 04` in hexadecimal. +- Integer `1025` as `uint16` would be serialized to `01 04` in hexadecimal. First, convert `1025` to hex which gives `0x0401`. In little-endian format, the least significant byte (LSB) comes first. So, `0x0401` in little-endian is `01 04`. The byte array `[01, 04]` is the serialized output. **Deserialization Process for Unsigned Integers:** diff --git a/wordlist.txt b/wordlist.txt index a0f2bf8b..586a5b11 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -576,4 +576,5 @@ performence testnets Booleans deserialization -deserialized \ No newline at end of file +deserialized +LSB \ No newline at end of file From e1057e78c448f17255374038fee90f7d94a97278 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 10:27:35 +0800 Subject: [PATCH 04/33] added python commands for SSZ of basic types --- docs/images/ssz-basic-types-python.png | Bin 0 -> 247407 bytes docs/wiki/CL/SSZ.md | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 docs/images/ssz-basic-types-python.png diff --git a/docs/images/ssz-basic-types-python.png b/docs/images/ssz-basic-types-python.png new file mode 100644 index 0000000000000000000000000000000000000000..6a46e726bfdc2720ab804e2163557652e42ccdfd GIT binary patch literal 247407 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

jztHhu|UJq?q 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 B[Define Vector with Type and Length] + B --> C[Serialize Each Element] + C --> D["Convert Each Element to \nByte Array (Little-Endian)"] + D --> E[Concatenate All Byte Arrays] + E --> F[Output Serialized Vector] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class F output; +``` + +_Figure: SSZ Serialization for Vectors._ + + +1. **Fixed-Length Definition**: Vectors are defined with a specific length and type of elements they can hold, such as `Vector[uint64, 4]` for a vector containing four 64-bit unsigned integers. + +2. **Element Serialization**: + - Each element in the vector is serialized independently according to its type. + - For basic types like integers or booleans, this means converting each element to its byte representation. + - If the elements are composite types, each element is serialized according to its specific serialization rules. + +3. **Concatenation**: + - The serialized outputs of each element are concatenated in the order they appear in the vector. + - Since the length of the vector and the size of each element are known and fixed, no additional metadata (like length prefixes) is needed in the serialized output. + +**Example:** +For a `Vector[uint64, 3]` with the elements `[256, 512, 768]`, each element is 64 bits or 8 bytes long. The serialization would proceed as follows: + +1. **Convert Each Integer to Little-Endian Byte Array**: + - `256` as `uint64` becomes `00 01 00 00 00 00 00 00`. + - `512` as `uint64` becomes `00 02 00 00 00 00 00 00`. + - `768` as `uint64` becomes `00 03 00 00 00 00 00 00`. + +2. **Concatenate These Byte Arrays**: + - The resulting concatenated byte array will be `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. + +**Serialized Output**: + - `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. + + +**SSZ Deserialization for Vectors** + +```mermaid +flowchart TD + A[Start Deserialization] --> B[Receive Serialized Byte Stream] + B --> C[Identify and Split Byte Stream \nBased on Element Size] + C --> D[Deserialize Each Byte Segment\n to Its Original Type] + D --> E[Reassemble Elements into Vector] + E --> F[Output Deserialized Vector] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class F output; +``` + +_Figure: SSZ Deserialization for Vectors._ + + +1. **Fixed-Length Utilization**: + - The deserializer uses the predefined length and type of the vector to parse the serialized data. + - It knows exactly how many bytes each element takes and how many elements are in the vector. + +2. **Element Deserialization**: + - The byte stream is split into segments corresponding to the size of each element. + - Each segment is deserialized independently according to the type of elements in the vector. + +3. **Reconstruction**: + - The elements are reconstructed into their original form (e.g., converting byte arrays back into integers or other specified types). + - These elements are then aggregated to reform the original vector. + +**Example:** +Given the serialized data for a `Vector[uint64, 3]`: +- Serialized Byte Array: `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. + +1. **Parse the Data into Segments**: + - Each segment consists of 8 bytes. + - First segment: `00 01 00 00 00 00 00 00` → Represents the integer 256. + - Second segment: `00 02 00 00 00 00 00 00` → Represents the integer 512. + - Third segment: `00 03 00 00 00 00 00 00` → Represents the integer 768. + +2. **Convert Each Segment from a Little-Endian Byte Array Back to an Integer**: + - Using little-endian format, each byte array is read and converted back into the respective `uint64` integer. + +3. **Reconstruction**: + - The reconstructed vector is `[256, 512, 768]`. + +We can run and verify it in python like below: + +```python +>>> from eth2spec.utils.ssz.ssz_typing import uint8, uint16, Vector +>>> Vector[uint16, 3](256, 512, 768).encode_bytes().hex() +'000100000000000000020000000000000003000000000000' +>>> print(Vector[uint64, 3].decode_bytes(bytes.fromhex('000100000000000000020000000000000003000000000000'))) +Vector[uint64, 3]<>(256, 512, 768) +>>> + +``` ## Fixed VS Variable Length Types @@ -142,4 +252,4 @@ We can run SSZ serialization and deserialization commands using the python Eth2 - [SSZ specs](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md) - [eth2book - SSZ](https://eth2book.info/capella/part2/building_blocks/ssz/#ssz-simple-serialize) - [Go Lessons from Writing a Serialization Library for Ethereum](https://rauljordan.com/go-lessons-from-writing-a-serialization-library-for-ethereum/) -- [Interactive SSZ serialiser/deserialiser](https://simpleserialize.com/) \ No newline at end of file +- [Interactive SSZ serializer/deserializer](https://www.ssz.dev/) \ No newline at end of file diff --git a/wordlist.txt b/wordlist.txt index 586a5b11..2b196276 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -577,4 +577,6 @@ testnets Booleans deserialization deserialized -LSB \ No newline at end of file +LSB +deserializer +serializer \ No newline at end of file From fa83523a2bffd09df4a4bc491d70bced1a0dff1a Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 12:33:51 +0800 Subject: [PATCH 08/33] Lists SSZ is added --- docs/wiki/CL/SSZ.md | 66 +++++++++++++++++++++++++++++++++++++++++++++ wordlist.txt | 4 ++- 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 523aa6eb..d9fa7ecc 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -241,6 +241,72 @@ Vector[uint64, 3]<>(256, 512, 768) ``` +### Lists + +Lists in SSZ are crucial for managing variable-length collections of homogeneous elements within a specified maximum length (`N`). This flexibility allows for dynamic management of the data structures such as transaction sets or variable state components, adapting to the changing needs of the network. + +**SSZ Serialization for Lists** + +1. **Define the List**: Lists in SSZ are defined with a specific element type and a maximum length, noted as `List[type, N]`. This definition not only constrains the list's maximum capacity but also informs how elements should be serialized. + +2. **Element Serialization**: + - Each element in the list is serialized based on its type. For `uint64` elements, the serialization process involves converting each integer into a byte array. + +3. **Concatenate Serialized Elements**: + - The outputs of the serialized elements are concatenated sequentially. The total length of the serialized data varies depending on the number of elements present at the time of serialization. + +4. **Include Length Metadata (Optional)**: + - Depending on the implementation requirements, the length of the list might be explicitly included at the start of the serialized data to aid in parsing and validation during deserialization. + +**Example**: +For a `List[uint64, 5]` containing the elements `[1024, 2048, 3072]`, the serialization process would involve: +- Converting each integer to a byte array in little-endian format: `00 04 00 00 00 00 00 00`, `00 08 00 00 00 00 00 00`, `00 0C 00 00 00 00 00 00`. +- Concatenating these arrays results in: `00 04 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 0C 00 00 00 00 00 00`. + +**SSZ Deserialization for Lists** + +1. **Receive Serialized Data**: The serialized byte stream for the list is the input, containing sequences of byte arrays for each element. + +2. **Parse and Deserialize Each Element**: + - Based on the element type, say `uint64`, parse the serialized stream into 8-byte segments. + - Convert each byte array from little-endian format back into a `uint64`. + +3. **Reassemble the List**: + - The deserialized elements are reassembled to recreate the original list. + +**Example**: +Given the serialized data `00 04 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 0C 00 00 00 00 00 00` for a `List[uint64, 5]`: +- Split the data into segments of 8 bytes: `00 04 00 00 00 00 00 00`, `00 08 00 00 00 00 00 00`, `00 0C 00 00 00 00 00 00`. +- Convert each segment from little-endian to integers: `1024`, `2048`, `3072`. +- The reconstructed list is `[1024, 2048, 3072]`. + +We can run and verify the SSZ for the above example as below: + +```python +>>> from eth2spec.utils.ssz.ssz_typing import uint8, List, Vector +>>> List[uint64, 5](1024, 2048, 3072).encode_bytes().hex() +'00040000000000000008000000000000000c000000000000' +>>> Vector[uint64, 3](1024, 2048, 3072).encode_bytes().hex() +'00040000000000000008000000000000000c000000000000' +>>> print(List[uint64, 5].decode_bytes(bytes.fromhex('00040000000000000008000000000000000c000000000000'))) +List[uint64, 5]<>(1024, 2048, 3072) +>>> +``` + +Lists are variable sized objects in SSZ they are encoded differently from fixed sized vectors when contained within another object, so there is a small overhead. For example, below `Alice` and `Bob` objects have different encoding. + +```python +>>> from eth2spec.utils.ssz.ssz_typing import uint8, Vector, List, Container +>>> class Alice(Container): +... x: List[uint8, 3] # Variable sized +>>> class Bob(Container): +... x: Vector[uint8, 3] # Fixed sized +>>> Alice(x = [1, 2, 3]).encode_bytes().hex() +'04000000010203' +>>> Bob(x = [1, 2, 3]).encode_bytes().hex() +'010203' +>>> +``` ## Fixed VS Variable Length Types diff --git a/wordlist.txt b/wordlist.txt index 2b196276..b8c53f94 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -579,4 +579,6 @@ deserialization deserialized LSB deserializer -serializer \ No newline at end of file +serializer +Deserialize +serialize \ No newline at end of file From 19af8570c77c07cb7f3c368ee6e042b1ad5baccb Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 12:38:08 +0800 Subject: [PATCH 09/33] Added mermaid flow diagrams for Lists SSZ --- docs/wiki/CL/SSZ.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index d9fa7ecc..f5a79e38 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -247,6 +247,25 @@ Lists in SSZ are crucial for managing variable-length collections of homogeneous **SSZ Serialization for Lists** +```mermaid +flowchart TD + A[Start Serialization] --> B[Define List with Type and Max Length] + B --> C[Serialize Each Element] + C --> D["Convert Each Element to \nByte Array (Little-Endian)"] + D --> E[Concatenate All Byte Arrays] + E --> F[Optional: Include Length Metadata] + F --> G[Output Serialized List] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E,F process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class G output; +``` + +_Figure: SSZ Serialization for Lists._ + 1. **Define the List**: Lists in SSZ are defined with a specific element type and a maximum length, noted as `List[type, N]`. This definition not only constrains the list's maximum capacity but also informs how elements should be serialized. 2. **Element Serialization**: @@ -265,6 +284,25 @@ For a `List[uint64, 5]` containing the elements `[1024, 2048, 3072]`, the serial **SSZ Deserialization for Lists** +```mermaid +flowchart TD +flowchart TD + A[Start Deserialization] --> B[Receive Serialized Byte Stream] + B --> C["Identify and Split Byte Stream Based \non Element Size (8 bytes for uint64)"] + C --> D[Deserialize Each Byte Segment to uint64] + D --> E[Reassemble Elements into List] + E --> F[Output Deserialized List] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class F output; +``` + +_Figure: SSZ Deserialization for Lists._ + 1. **Receive Serialized Data**: The serialized byte stream for the list is the input, containing sequences of byte arrays for each element. 2. **Parse and Deserialize Each Element**: From 5211ecff6f344ad80b15b1ad45fbd95c617169a8 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 12:39:41 +0800 Subject: [PATCH 10/33] fixed a typo in the mermaid diagram --- docs/wiki/CL/SSZ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index f5a79e38..99505131 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -288,7 +288,7 @@ For a `List[uint64, 5]` containing the elements `[1024, 2048, 3072]`, the serial flowchart TD flowchart TD A[Start Deserialization] --> B[Receive Serialized Byte Stream] - B --> C["Identify and Split Byte Stream Based \non Element Size (8 bytes for uint64)"] + B --> C["Identify and Split Byte Stream Based \n on Element Size (8 bytes for uint64)"] C --> D[Deserialize Each Byte Segment to uint64] D --> E[Reassemble Elements into List] E --> F[Output Deserialized List] From 056b8645f20e4f2a912b565cb8baa77911e4e148 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 12:40:23 +0800 Subject: [PATCH 11/33] fixed a typo in the mermaid diagram --- docs/wiki/CL/SSZ.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 99505131..4b35729c 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -285,7 +285,6 @@ For a `List[uint64, 5]` containing the elements `[1024, 2048, 3072]`, the serial **SSZ Deserialization for Lists** ```mermaid -flowchart TD flowchart TD A[Start Deserialization] --> B[Receive Serialized Byte Stream] B --> C["Identify and Split Byte Stream Based \n on Element Size (8 bytes for uint64)"] From 01f3a344515d5b99cace7cb610c07f29e62aedfc Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 13:31:26 +0800 Subject: [PATCH 12/33] Bitvector SSZ section is added --- docs/wiki/CL/SSZ.md | 97 +++++++++++++++++++++++++++++++++++++++++++++ wordlist.txt | 5 ++- 2 files changed, 101 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 4b35729c..885cadf8 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -345,6 +345,103 @@ Lists are variable sized objects in SSZ they are encoded differently from fixed >>> ``` +### Bitvectors + +Bitvectors in SSZ are used to manage fixed-length sequences of boolean values, typically represented as bits. This data structure is particularly efficient for compactly storing binary data or flags, which are common in Ethereum applications for indicating state conditions, permissions, or other binary settings. + +**SSZ Serialization for Bitvectors** + +```mermaid +flowchart TD + A[Start Serialization] --> B[Define Bitvector of Size N] + B --> C[Pack Bits into Bytes] + C --> D[Bits from LSB to\n MSB within each byte] + D --> E[Add Padding if N % 8 != 0] + E --> F[Output Serialized Byte Array] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class F output; +``` + +_Figure: SSZ Serialization for Bitvectors._ + +1. **Define the Bitvector**: A bitvector in SSZ is defined by its length `N`, which specifies the number of bits. For example, `Bitvector[256]` means a bitvector that contains 256 bits. + +2. **Convert Bits to Bytes**: + - Each bit in the bitvector represents a boolean value, where `0` corresponds to `False` and `1` to `True`. + - These bits are packed into bytes, with the least significant bit (LSB) first within each byte. This means the first bit in the bitvector corresponds to the LSB of the first byte. + +3. **Byte Array Formation**: + - The bits are serialized into a byte array by packing 8 bits into each byte until all bits are accounted for. + - If `N` is not a multiple of 8, the last byte will contain fewer than 8 bits of data, padded with zeros at the most significant bit positions. + +**Example**: +For a `Bitvector[10]` with the pattern `1011010010`: +- The first 8 bits (`10110100`) form the first byte. +- The remaining 2 bits (`10`) are padded with six zeros to form the second byte: `10000000`. +- The serialized output is `B4 80` in hexadecimal. + +**SSZ Deserialization for Bitvectors** + +```mermaid +flowchart TD + A[Start Deserialization] --> B[Receive Serialized Byte Array] + B --> C[Read Each Byte] + C --> D[Convert Bytes to Bits] + D --> E[Respect LSB to MSB \nOrder in Each Byte] + E --> F[Discard Padding if Present] + F --> G[Reconstruct Bitvector] + G --> H[Output Deserialized Bitvector] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E,F,G process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class H output; +``` + +_Figure: SSZ Deserialization for Bitvectors._ + +1. **Read Serialized Byte Array**: Start with a byte array that encodes the bitvector. + +2. **Extract Bits from Bytes**: + - Convert each byte back into bits. Remember, the bits are stored LSB first within each byte. + - If the bitvector's length `N` is not a multiple of 8, discard the extraneous padding bits in the final byte. + +3. **Reconstruct the Bitvector**: + - Reassemble the extracted bits into the original bitvector format, adhering to the specified length `N`. + +**Example**: +Given the serialized data `B4 80` for a `Bitvector[10]`: +- Convert `B4` (`10110100` in binary) and `80` (`10000000` in binary) back into bits. +- Extract the first 10 bits from the binary sequence: `1011010010`. +- The reconstructed bitvector is `1011010010`. + +You can run and verify it in python as below: + +```python +>>> from eth2spec.utils.ssz.ssz_typing import Bitvector +>>> Bitvector[8](0,0,1,0,1,1,0,1).encode_bytes().hex() +'b4' +>>> Bitvector[8](0,0,0,0,0,0,0,1).encode_bytes().hex() +'80' +``` + +Note that, functionally we could use either `Vector[boolean, N]` or `Bitvector[N]` to represent a list of bits. However, the latter will have a serialization up to eight times shorter in practice since the former will use a whole byte per bit. + +```python +>>> from eth2spec.utils.ssz.ssz_typing import Vector, Bitvector, boolean +>>> Bitvector[5](1,0,1,0,1).encode_bytes().hex() +'15' +>>> Vector[boolean,5](1,0,1,0,1).encode_bytes().hex() +'0100010001' +``` + ## Fixed VS Variable Length Types diff --git a/wordlist.txt b/wordlist.txt index b8c53f94..ce19e2cf 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -581,4 +581,7 @@ LSB deserializer serializer Deserialize -serialize \ No newline at end of file +serialize +bitvector +bitvector's +bitvectors \ No newline at end of file From 564edfeebec2c17d00db82489b444a2a112950d5 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 14:01:00 +0800 Subject: [PATCH 13/33] Bitlist SSZ section is added --- docs/wiki/CL/SSZ.md | 90 +++++++++++++++++++++++++++++++++++++++++++++ wordlist.txt | 6 ++- 2 files changed, 95 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 885cadf8..ac4675ba 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -442,6 +442,96 @@ Note that, functionally we could use either `Vector[boolean, N]` or `Bitvector[N '0100010001' ``` +### Bitlists + +Bitlists in SSZ are similar to bitvectors but are designed to handle variable-length sequences of boolean values with a specified maximum length (`N`). + +**SSZ Serialization for Bitlists** + +```mermaid +flowchart TD + A[Start Serialization] --> B[Define Bitlist of Size N] + B --> C[Pack Bits into Bytes] + C --> D[Add Sentinel Bit] + D --> E[Pad Final Byte if Necessary] + E --> F[Output Serialized Byte Array] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class F output; +``` + +_Figure: SSZ Serialization for Bitlists._ + + +1. **Define the Bitlist**: A bitlist is defined by its maximum length `N`, which determines the upper bound of bits that can be included. The actual number of bits, however, can be less than `N`. + +2. **Pack Bits into Bytes**: + - Each bit in the bitlist represents a boolean value, where `0` corresponds to `False` and `1` to `True`. + - These bits are serialized into a byte array, packed from the LSB to the MSB within each byte, similar to bitvectors. + +3. **Add Sentinel Bit**: + - To mark the end of the bitlist and distinguish its actual length from its maximum capacity, a sentinel bit (`1`) is added to the end of the bit sequence. This is crucial to ensure that the deserialization process accurately identifies the length of the bitlist. + +4. **Byte Array Formation and Padding**: + - After including the sentinel bit, the bits are packed into bytes, with any necessary padding applied to the last byte to complete it if the total number of bits (including the sentinel) does not divide evenly by 8. + + +**SSZ Deserialization for Bitlists** + +```mermaid +flowchart TD + A[Start Deserialization] --> B[Receive Serialized Byte Array] + B --> C[Convert Bytes to Bits] + C --> D[Identify and Remove Sentinel Bit] + D --> E[Remove Padding Bits] + E --> F[Reconstruct Original Bitlist] + F --> G[Output Deserialized Bitlist] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E,F process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class G output; +``` + +_Figure: SSZ Deserialization for Bitlists._ + +1. **Receive Serialized Byte Array**: Start with the byte array that encodes the bitlist, including the sentinel bit. + +2. **Extract Bits from Bytes**: + - Convert each byte back into bits, respecting the order (LSB to MSB). + - Continue this process for each byte in the serialized data. + +3. **Identify and Remove the Sentinel Bit**: + - As bits are extracted, locate the first `1` (sentinel bit) from the end of the bit sequence to determine the actual end of the bitlist data. + - All bits following the sentinel bit are disregarded as padding. + +4. **Reconstruct the Bitlist**: + - Reassemble the extracted bits (excluding the sentinel bit and any padding) into the original bitlist format. + +You can run the encoding of Bitlist like below: + +```python +>>> from eth2spec.utils.ssz.ssz_typing import Bitlist +>>> Bitlist[100](0,0,0).encode_bytes().hex() +'08' +``` + +As a consequence of the sentinel, we require an extra byte to serialize a bitlist if its actual length is a multiple of eight (irrespective of the maximum length `N`). This is not the case for a bitvector. + +```python +>>> Bitlist[8](0,0,0,0,0,0,0,0).encode_bytes().hex() +'0001' +>>> Bitvector[8](0,0,0,0,0,0,0,0).encode_bytes().hex() +'00' +``` + + ## Fixed VS Variable Length Types diff --git a/wordlist.txt b/wordlist.txt index ce19e2cf..d8e96318 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -584,4 +584,8 @@ Deserialize serialize bitvector bitvector's -bitvectors \ No newline at end of file +bitvectors +Bitlist +Bitlists +MSB +bitlist \ No newline at end of file From 0c87a4a955f4a0c20ccc7abea352a1eb8aa9a126 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 20:16:15 +0800 Subject: [PATCH 14/33] Container SSZ section and tools section are added --- docs/wiki/CL/SSZ.md | 248 +++++++++++++++++++++++++++++++++++++++++++- wordlist.txt | 6 +- 2 files changed, 251 insertions(+), 3 deletions(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index ac4675ba..0ae8dd93 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -531,15 +531,259 @@ As a consequence of the sentinel, we require an extra byte to serialize a bitlis '00' ``` +### Containers -## Fixed VS Variable Length Types +Containers in SSZ are fundamental structures used to group multiple fields into a single composite type. Each field within a container can be of any SSZ-supported type, including basic types like `uint64`, more complex types like other containers, vectors, or lists. Containers are analogous to structures or objects in programming languages, making them integral for representing complex and nested data structures in Ethereum. + +**SSZ Serialization for Containers** + +```mermaid +flowchart TD + A[Start Serialization] --> B[Define Container Schema] + B --> C[Serialize Each Field According to Type] + C --> D["Serialize Basic Types\n (uint64, boolean, etc.)"] + C --> E["Serialize Composite Types\n (Other containers, lists, vectors)"] + D --> F[Concatenate Serialized Outputs of Fields] + E --> F + F --> G[Output Serialized Container] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E,F process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class G output; +``` + +_Figure: SSZ Serialization for Containers._ + +1. **Define the Container**: A container in SSZ is defined by its schema, which specifies the types and order of its fields. This schema is crucial because it dictates how data should be serialized and deserialized. + +2. **Serialize Each Field**: + - Each field in the container is serialized in the order defined by the schema. + - The serialization method for each field depends on its type: + - **Basic types** are converted directly to their byte representations. + - **Composite types** (other containers, lists, vectors) are serialized recursively according to their own rules. + +3. **Concatenate Serialized Fields**: + - The serialized outputs of all fields are concatenated to form the complete serialized data of the container. + - If a field is of a variable size (like a list or a vector with variable length), its serialized data includes a length prefix or it may use offsets to indicate the start of the data, depending on the specifics of the implementation and type. + +**SSZ Deserialization for Containers** + +```mermaid +flowchart TD + A[Start Deserialization] --> B[Receive Serialized Container Data] + B --> C[Parse Data According to \nContainer Schema] + C --> D[Deserialize Fields Based on Type] + D --> E[Deserialize Basic Types] + D --> F[Deserialize Composite Types] + E --> G[Reconstruct Container with Deserialized Fields] + F --> G + G --> H[Output Deserialized Container] + + classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; + class A startEnd; + classDef process fill:#ccf,stroke:#f66,stroke-width:2px; + class B,C,D,E,F,G process; + classDef output fill:#cfc,stroke:#393,stroke-width:2px; + class H output; +``` + +_Figure: SSZ Deserialization for Containers._ + +1. **Read Serialized Data**: Begin with the serialized byte stream that represents the container. + +2. **Parse Serialized Data According to Schema**: + - Based on the container's schema, parse the serialized data into its constituent fields. + - This requires knowing the type and size of each field to correctly extract and deserialize each one. + +3. **Deserialize Each Field**: + - Each field's data is deserialized according to its type. + - Deserialization might involve converting byte arrays back into integers, decoding nested containers, or reconstructing lists and vectors from their serialized forms. + +4. **Reconstruct the Container**: + - As each field is deserialized, reconstruct the container by placing each field back into its defined position. + +**Example**: + +Let's delve into the SSZ serialization and deserialization process using the specific example of the `IndexedAttestation` container from the Beacon Chain. This example will outline how complex, nested containers are handled and processed in SSZ, particularly those involving both fixed-size and variable-size data types. + +The `IndexedAttestation` container looks like this. + +```python +class IndexedAttestation(Container): + attesting_indices: List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE] + data: AttestationData + signature: BLSSignature +``` + +It contains an `AttestationData` container, + +```python +class AttestationData(Container): + slot: Slot + index: CommitteeIndex + beacon_block_root: Root + source: Checkpoint + target: Checkpoint +``` + +which in turn contains two `Checkpoint` containers, + +```python +class Checkpoint(Container): + epoch: Epoch + root: Root +``` + +**IndexedAttestation Container Structure** + +The `IndexedAttestation` container includes several fields, some of which are fixed-size basic types and others are composite types including another container (`AttestationData`) and lists (like `attesting_indices`). + +Here's the structure: + +- **attesting_indices**: `List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE]` (variable size) +- **data**: `AttestationData` (composite container) +- **signature**: `BLSSignature` (fixed size) + +**AttestationData Container Structure** + +- **slot**: `Slot` (fixed size) +- **index**: `CommitteeIndex` (fixed size) +- **beacon_block_root**: `Root` (fixed size) +- **source**: `Checkpoint` (composite container) +- **target**: `Checkpoint` (composite container) + +**Checkpoint Container Structure** +- **epoch**: `Epoch` (fixed size) +- **root**: `Root` (fixed size) + +**Serialization Process** + +- **Serialize Fixed and Variable Components** +The serialization of an `IndexedAttestation` involves serializing each component based on its type: + +1. **Serialize Fixed-Size Elements** + - Each fixed-size element (`Slot`, `CommitteeIndex`, `Epoch`, `Root`, `BLSSignature`) is serialized to its corresponding byte format, typically little-endian for numeric types. + +2. **Serialize Variable-Size Elements** + - The `List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE]` is serialized by first recording the length of the list followed by the serialized form of each index. + - If a list or another variable-size element is empty or not at maximum capacity, it only consumes the space necessary for the actual data present, plus possibly some length or offset metadata. + +- **Concatenate Serialized Data** +1. All serialized bytes are concatenated in the order specified by the container's structure. Fixed-size fields are directly placed in order, while variable-size fields might include offsets or lengths as part of the serialization. + +**Example Serialization Output** + +```python +from eth2spec.utils.ssz.ssz_typing import * +from eth2spec.capella import mainnet +from eth2spec.capella.mainnet import * + +attestation = IndexedAttestation( + attesting_indices = [33652, 59750, 92360], + data = AttestationData( + slot = 3080829, + index = 9, + beacon_block_root = '0x4f4250c05956f5c2b87129cf7372f14dd576fc152543bf7042e963196b843fe6', + source = Checkpoint ( + epoch = 96274, + root = '0xd24639f2e661bc1adcbe7157280776cf76670fff0fee0691f146ab827f4f1ade' + ), + target = Checkpoint( + epoch = 96275, + root = '0x9bcd31881817ddeab686f878c8619d664e8bfa4f8948707cba5bc25c8d74915d' + ) + ), + signature = '0xaaf504503ff15ae86723c906b4b6bac91ad728e4431aea3be2e8e3acc888d8af' + + '5dffbbcf53b234ea8e3fde67fbb09120027335ec63cf23f0213cc439e8d1b856' + + 'c2ddfc1a78ed3326fb9b4fe333af4ad3702159dbf9caeb1a4633b752991ac437' +) + +print(attestation.encode_bytes().hex()) +``` + +The resulting serialized blob of data that represents this `IndexedAttestation` object is (in hexadecimal): + +```code +e40000007d022f000000000009000000000000004f4250c05956f5c2b87129cf7372f14dd576fc15 +2543bf7042e963196b843fe61278010000000000d24639f2e661bc1adcbe7157280776cf76670fff +0fee0691f146ab827f4f1ade13780100000000009bcd31881817ddeab686f878c8619d664e8bfa4f +8948707cba5bc25c8d74915daaf504503ff15ae86723c906b4b6bac91ad728e4431aea3be2e8e3ac +c888d8af5dffbbcf53b234ea8e3fde67fbb09120027335ec63cf23f0213cc439e8d1b856c2ddfc1a +78ed3326fb9b4fe333af4ad3702159dbf9caeb1a4633b752991ac437748300000000000066e90000 +00000000c868010000000000 +``` + +**Breakdown of the Serialization Output** + +To clearly explain the serialization process and the structure of the serialized data for the `IndexedAttestation` container in the example, let's break down the serialization into its individual components and understand how each part is represented in the byte stream. This unpacking helps illustrate how the SSZ format manages complex data structures. + +**Part 1: Fixed Size Elements** +1. **4-byte Offset for Variable Size List (`attesting_indices`)**: + - **Byte Offset**: `00` + - **Value**: `e4000000` + - **Explanation**: This indicates the start of the `attesting_indices` list in the serialized byte stream. The hexadecimal value `e4` converted to decimal is `228`, meaning the list starts at byte `228` from the beginning of the byte stream. + +2. **Slot (uint64)**: + - **Byte Offset**: `04` + - **Value**: `7d022f0000000000` + - **Explanation**: Represents the `slot` field serialized as a 64-bit unsigned integer. The hexadecimal `7d022f00` in little-endian format translates to `3080829` in decimal, which is the slot number. + +3. **Committee Index (uint64)**: + - **Byte Offset**: `0c` + - **Value**: `0900000000000000` + - **Explanation**: This is the `index` field, representing a committee index as a 64-bit unsigned integer. The value `09` indicates committee index `9`. + +4. **Beacon Block Root (Bytes32)**: + - **Byte Offset**: `14` + - **Value**: `4f4250c05956f5c2b87129cf7372f14dd576fc152543bf7042e963196b843fe6` + - **Explanation**: This is a 256-bit hash stored as `Bytes32`, representing the root hash of the beacon block. + +5. **Source Checkpoint Epoch (uint64) and Root (Bytes32)**: + - **Epoch Byte Offset**: `34` + - **Epoch Value**: `1278010000000000` + - **Root Byte Offset**: `3c` + - **Root Value**: `d24639f2e661bc1adcbe7157280776cf76670fff0fee0691f146ab827f4f1ade` + - **Explanation**: The source checkpoint contains an `epoch` (96274) and a `root`. The root is another 256-bit hash. + +6. **Target Checkpoint Epoch (uint64) and Root (Bytes32)**: + - **Epoch Byte Offset**: `5c` + - **Epoch Value**: `1378010000000000` + - **Root Byte Offset**: `64` + - **Root Value**: `9bcd31881817ddeab686f878c8619d664e8bfa4f8948707cba5bc25c8d74915d` + - **Explanation**: Similar to the source, the target checkpoint includes an `epoch` (96275) and a `root`, detailing the intended target of the attestation. + +7. **Signature (BLSSignature/Bytes96)**: + - **Byte Offset**: `84` + - **Value**: Concatenated over several lines due to its length (96 bytes total). + - **Explanation**: This is the cryptographic signature of the attestation, verifying its authenticity. + +**Part 2: Variable Size Elements** +1. **Attesting Indices (List[uint64, MAX_VALIDATORS_PER_COMMITTEE])**: + - **Byte Offset**: `e4` + - **Value**: `748300000000000066e9000000000000c868010000000000` + - **Explanation**: This represents the list of validator indices who are attesting to the block. It starts from the offset `228` and contains indices such as `33652`, `59750`, and `92360`. ## SSZ Tools +There are many tools available for SSZ. Here is a [full list](https://github.com/ethereum/consensus-specs/issues/2138) of SSZ tools. Below are some of the popular ones: + +- [py-ssz](https://github.com/ethereum/py-ssz) +- [dafny](https://github.com/ConsenSys/eth2.0-dafny) +- [Eth2.py](https://github.com/protolambda/remerkleable) +- [fastssz](https://github.com/ferranbt/fastssz/) +- [rust-ssz](https://github.com/ralexstokes/ssz-rs) + + ## Resources - [Simple serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) - [SSZ specs](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md) - [eth2book - SSZ](https://eth2book.info/capella/part2/building_blocks/ssz/#ssz-simple-serialize) - [Go Lessons from Writing a Serialization Library for Ethereum](https://rauljordan.com/go-lessons-from-writing-a-serialization-library-for-ethereum/) -- [Interactive SSZ serializer/deserializer](https://www.ssz.dev/) \ No newline at end of file +- [Interactive SSZ serializer/deserializer](https://www.ssz.dev/) +- [SSZ encoding diagrams by Protolambda](https://github.com/protolambda/eth2-docs#ssz-encoding) +- [SSZ explainer by Raul Jordan](https://rauljordan.com/go-lessons-from-writing-a-serialization-library-for-ethereum/) +- [SSZ Specifications](https://github.com/ethereum/consensus-specs/blob/v1.3.0/ssz/simple-serialize.md) \ No newline at end of file diff --git a/wordlist.txt b/wordlist.txt index d8e96318..5f4da571 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -588,4 +588,8 @@ bitvectors Bitlist Bitlists MSB -bitlist \ No newline at end of file +bitlist +Protolambda +dafny +fastssz +uint \ No newline at end of file From a282da4acfab047c43cba191f47c39b59a436cfb Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 20:38:09 +0800 Subject: [PATCH 15/33] SSZ VS RLP Serialization section is added --- docs/wiki/CL/SSZ.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 0ae8dd93..7cc145b5 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -127,7 +127,7 @@ We can run SSZ serialization and deserialization commands using the python Eth2 0 ``` -## How SSZ Works - Composite Types +## How SSZ Works on Composite Types ### Vectors @@ -777,6 +777,40 @@ There are many tools available for SSZ. Here is a [full list](https://github.com - [fastssz](https://github.com/ferranbt/fastssz/) - [rust-ssz](https://github.com/ralexstokes/ssz-rs) +## SSZ VS RLP Serialization + +| CRITERIA | COMPACT | EXPRESSIVENESS | HASHING | INDEXING | +|------------|---------|----------------|----------|----------| +| RLP | Yes | Flexible | Possible | No | +| SSZ | No | Yes | Yes | Poor | + +_Table: SSZ VS RLP Comparison by [Piper Merriam](https://twitter.com/pipermerriam)._ + +1. **Expressiveness**: + - **SSZ**: Supports all necessary data types directly without the need for additional abstraction layers. This makes SSZ inherently more straightforward and robust for handling complex data structures used in Ethereum PoS. + - **RLP**: Limited to dynamic length byte strings and lists. Additional data types are only supported through abstraction layers, which can introduce complexity and potential inefficiencies. + +2. **Hashing**: + - **SSZ**: Facilitates efficient hashing and re-hashing of objects, particularly beneficial for operations that require frequent updates to data states, such as those in sharding and stateless clients. This efficiency is crucial for maintaining blockchain integrity and performance. + - **RLP**: While hashing is possible, it does not offer the same performance optimizations, especially when data structures undergo minor modifications. + +3. **Indexing**: + - **SSZ**: Although indexing is described as 'poor', SSZ supports some level of direct access to serialized data without full deserialization, which is beneficial for certain operations within the blockchain. + - **RLP**: Does not support efficient indexing, potentially leading to `O(N)` complexity when accessing internal data, which can be a significant drawback for performance on large-scale networks. + +4. **Data Type Compatibility**: + - **SSZ**: Designed to be fully compatible with the data types and structures used within the Ethereum protocol, enhancing its utility for consensus mechanisms and network operations. + - **RLP**: While flexible, the need for additional layers to support various data types can lead to inefficiencies and increased complexity in implementation. + +5. **Designed for Ethereum 2.0 Requirements**: + - **SSZ**: Specifically created to meet the needs of Ethereum PoS, including sharding and proof-of-stake mechanisms, making it better suited for future developments and updates to the protocol. + +6. **Deterministic Serialization**: + - **SSZ**: Provides deterministic serialization results, ensuring that the same data structure serializes to the exact same byte sequence every time, which is crucial for consensus reliability. + +For these reasons, there is a strong effort in Ethereum to completely migrate to SSZ serialization for everything and stop the usage of RLP serialization. + +## SSZ Merkleization ## Resources - [Simple serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) From 1052118137af50a80e7760071cbcc0410cc0fcf9 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 15:51:28 +0800 Subject: [PATCH 16/33] New Merkleization wiki page is added --- docs/_sidebar.md | 1 + docs/wiki/CL/SSZ.md | 8 ++++--- docs/wiki/CL/merkleization.md | 44 +++++++++++++++++++++++++++++++++++ wordlist.txt | 3 ++- 4 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 docs/wiki/CL/merkleization.md diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 5ed81399..8c276c9f 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -42,6 +42,7 @@ - [Beacon API] - [Networking](/wiki/CL/cl-networking.md) - [SSZ Serialization](/docs/wiki/CL/SSZ.md) + - [Merkleization](/docs/wiki/CL/merkleization.md) - Development - [Core development](/wiki/dev/core-development.md) - [Coordination](/wiki/protocol/pm.md) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 7cc145b5..58650f15 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -2,7 +2,9 @@ ## Overview -Simple Serialize (SSZ) is a serialization and Merkleization scheme designed specifically for Ethereum's Beacon Chain. SSZ replaces the [RLP serialization](/docs/wiki/EL/RLP.md) used on the execution layer (EL) everywhere across the consensus layer (CL) except the [peer discovery protocol](https://github.com/ethereum/devp2p). Its development and adoption are aimed at enhancing the efficiency, security, and scalability of Ethereum's CL. +Simple Serialize (SSZ) is a serialization and [Merkleization](/docs/wiki/CL/merkleization.md) scheme designed specifically for Ethereum's Beacon Chain. SSZ replaces the [RLP serialization](/docs/wiki/EL/RLP.md) used on the execution layer (EL) everywhere across the consensus layer (CL) except the [peer discovery protocol](https://github.com/ethereum/devp2p). Its development and adoption are aimed at enhancing the efficiency, security, and scalability of Ethereum's CL. + +This document is about SSZ Serialization. You can learn more about SSZ merkleization at the [merkleization wiki page](/docs/wiki/CL/merkleization.md). ## How SSZ Works - Basic Types @@ -810,7 +812,6 @@ _Table: SSZ VS RLP Comparison by [Piper Merriam](https://twitter.com/pipermerria For these reasons, there is a strong effort in Ethereum to completely migrate to SSZ serialization for everything and stop the usage of RLP serialization. -## SSZ Merkleization ## Resources - [Simple serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) @@ -820,4 +821,5 @@ For these reasons, there is a strong effort in Ethereum to completely migrate to - [Interactive SSZ serializer/deserializer](https://www.ssz.dev/) - [SSZ encoding diagrams by Protolambda](https://github.com/protolambda/eth2-docs#ssz-encoding) - [SSZ explainer by Raul Jordan](https://rauljordan.com/go-lessons-from-writing-a-serialization-library-for-ethereum/) -- [SSZ Specifications](https://github.com/ethereum/consensus-specs/blob/v1.3.0/ssz/simple-serialize.md) \ No newline at end of file +- [SSZ Specifications](https://github.com/ethereum/consensus-specs/blob/v1.3.0/ssz/simple-serialize.md) +- [Why Ethereum Clients prefer SSZ over RLP?](https://etherworld.co/2023/01/25/why-ethereum-clients-prefer-ssz-over-rlp/) \ No newline at end of file diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md new file mode 100644 index 00000000..8220835c --- /dev/null +++ b/docs/wiki/CL/merkleization.md @@ -0,0 +1,44 @@ +# Merkleization and Hash Tree Roots + +In Ethereum consensus mechanism, it's critical for all participating nodes to agree on the state of the system consistently and efficiently. The [Simple Serialize (SSZ)](/docs/wiki/CL/SSZ.md) framework facilitates this through Merkleization, a process that transforms serialized data into a Merkle tree structure. This wiki page delves into the intricacies of Merkleization and its importance in ensuring a shared state across nodes in a scalable and secure manner. + +## Terminology and Methods + +- **Merkleization:** Refers to constructing a Merkle tree and deriving its root. +- **Hash Tree Root:** A specific application of Merkleization, used to compute the root hash of complex SSZ container. + +## The Need for Merkleization + +Cryptographic hash functions provide a solution by generating a compact, unique representation of a data set for a Beacon state. By hashing the serialized state of a Beacon chain, nodes can quickly and efficiently compare states by exchanging these small hash outputs. + +## Process of Merkleization + + +## Benefits of Merkleization + + +## Calculating Hash Tree Roots + + +### Packing and Chunking + + +### Mixing in the Length + + +## Summaries and Expansions + + +## Merkleization for Basic Types + + +## Merkleization for Composite Types + + + + + +## Resources +- [Hash Tree Roots and Merkleization](https://eth2book.info/capella/part2/building_blocks/merkleization/) +- [SSZ](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) +- [Protolambda on Merkleization](https://github.com/protolambda/eth2-docs?tab=readme-ov-file#ssz-hash-tree-root-and-merkleization) \ No newline at end of file diff --git a/wordlist.txt b/wordlist.txt index 5f4da571..7f29c471 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -592,4 +592,5 @@ bitlist Protolambda dafny fastssz -uint \ No newline at end of file +uint +Merkleization \ No newline at end of file From 64162f01651f98b5e5c85bc6013e2d51890f6459 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 15:58:08 +0800 Subject: [PATCH 17/33] Process of Merkleization section is added --- docs/wiki/CL/merkleization.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 8220835c..78eb5c98 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -13,6 +13,12 @@ Cryptographic hash functions provide a solution by generating a compact, unique ## Process of Merkleization +Merkleization involves breaking down the serialized data into 32-byte chunks, which serve as the leaves of a Merkle tree. These chunks are then combined pair-wise, hashed together, and the process is repeated up the tree until a single hash—the Merkle root—is derived. This root hash acts as a unique fingerprint for the entire dataset. The key steps are as below: + +- **Chunking:** Divide the serialized data into 32-byte chunks. +- **Tree Construction:** Pair up the chunks and hash each pair to form the next level of the tree. Repeat this step until only one hash remains: the Merkle root. +- **Padding:** If the number of chunks isn't a power of two, additional zero-value chunks are added to round out the tree, ensuring that the tree is balanced. + ## Benefits of Merkleization From 18c915fc869c2b7d14533f4131c407c6c559a6db Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 16:02:13 +0800 Subject: [PATCH 18/33] benefits of merkleization section is added --- docs/wiki/CL/merkleization.md | 3 ++- wordlist.txt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 78eb5c98..0f244b5e 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -19,9 +19,10 @@ Merkleization involves breaking down the serialized data into 32-byte chunks, wh - **Tree Construction:** Pair up the chunks and hash each pair to form the next level of the tree. Repeat this step until only one hash remains: the Merkle root. - **Padding:** If the number of chunks isn't a power of two, additional zero-value chunks are added to round out the tree, ensuring that the tree is balanced. - ## Benefits of Merkleization +- **Performance Efficiency:** While the tree requires hashing approximately twice the original data amount, caching mechanisms can store the roots of subtrees that don't change often. This significantly reduces the computational overhead as only altered parts of the data need re-hashing. +- **Light Client Support:** The Merkle tree structure supports the creation of Merkle proofs—small pieces of data that prove the inclusion and integrity of specific parts of the state without needing the entire dataset. This feature is crucial for light clients, which operate with limited resources and rely on these proofs to interact with Ethereum securely. ## Calculating Hash Tree Roots diff --git a/wordlist.txt b/wordlist.txt index 7f29c471..367cd20b 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -593,4 +593,5 @@ Protolambda dafny fastssz uint -Merkleization \ No newline at end of file +Merkleization +subtrees \ No newline at end of file From db0c2af347256f5fe5609b7d8fd82d5f81ea9711 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 17:08:44 +0800 Subject: [PATCH 19/33] SSZ tools reordered, merkleization structure and multiproofs sections --- docs/wiki/CL/SSZ.md | 86 ++++++++++++++--------------- docs/wiki/CL/merkleization.md | 100 ++++++++++++++++++++++++++++++++++ wordlist.txt | 3 +- 3 files changed, 144 insertions(+), 45 deletions(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 58650f15..317898f5 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -6,6 +6,48 @@ Simple Serialize (SSZ) is a serialization and [Merkleization](/docs/wiki/CL/merk This document is about SSZ Serialization. You can learn more about SSZ merkleization at the [merkleization wiki page](/docs/wiki/CL/merkleization.md). + +## SSZ Tools + +There are many tools available for SSZ. Here is a [full list](https://github.com/ethereum/consensus-specs/issues/2138) of SSZ tools. Below are some of the popular ones: + +- [py-ssz](https://github.com/ethereum/py-ssz) +- [dafny](https://github.com/ConsenSys/eth2.0-dafny) +- [Eth2.py](https://github.com/protolambda/remerkleable) +- [fastssz](https://github.com/ferranbt/fastssz/) +- [rust-ssz](https://github.com/ralexstokes/ssz-rs) + +## SSZ VS RLP Serialization + +| CRITERIA | COMPACT | EXPRESSIVENESS | HASHING | INDEXING | +|------------|---------|----------------|----------|----------| +| RLP | Yes | Flexible | Possible | No | +| SSZ | No | Yes | Yes | Poor | + +_Table: SSZ VS RLP Comparison by [Piper Merriam](https://twitter.com/pipermerriam)._ + +1. **Expressiveness**: + - **SSZ**: Supports all necessary data types directly without the need for additional abstraction layers. This makes SSZ inherently more straightforward and robust for handling complex data structures used in Ethereum PoS. + - **RLP**: Limited to dynamic length byte strings and lists. Additional data types are only supported through abstraction layers, which can introduce complexity and potential inefficiencies. + +2. **Hashing**: + - **SSZ**: Facilitates efficient hashing and re-hashing of objects, particularly beneficial for operations that require frequent updates to data states, such as those in sharding and stateless clients. This efficiency is crucial for maintaining blockchain integrity and performance. + - **RLP**: While hashing is possible, it does not offer the same performance optimizations, especially when data structures undergo minor modifications. + +3. **Indexing**: + - **SSZ**: Although indexing is described as 'poor', SSZ supports some level of direct access to serialized data without full deserialization, which is beneficial for certain operations within the blockchain. + - **RLP**: Does not support efficient indexing, potentially leading to `O(N)` complexity when accessing internal data, which can be a significant drawback for performance on large-scale networks. + +4. **Data Type Compatibility**: + - **SSZ**: Designed to be fully compatible with the data types and structures used within the Ethereum protocol, enhancing its utility for consensus mechanisms and network operations. + - **RLP**: While flexible, the need for additional layers to support various data types can lead to inefficiencies and increased complexity in implementation. + +5. **Deterministic Serialization**: + - **SSZ**: Provides deterministic serialization results, ensuring that the same data structure serializes to the exact same byte sequence every time, which is crucial for consensus reliability. + +For these reasons, there is a strong effort in Ethereum to completely migrate to SSZ serialization for everything and stop the usage of RLP serialization. + + ## How SSZ Works - Basic Types Here’s how SSZ handles the serialization and deserialization of the basic types: @@ -769,50 +811,6 @@ To clearly explain the serialization process and the structure of the serialized - **Explanation**: This represents the list of validator indices who are attesting to the block. It starts from the offset `228` and contains indices such as `33652`, `59750`, and `92360`. -## SSZ Tools - -There are many tools available for SSZ. Here is a [full list](https://github.com/ethereum/consensus-specs/issues/2138) of SSZ tools. Below are some of the popular ones: - -- [py-ssz](https://github.com/ethereum/py-ssz) -- [dafny](https://github.com/ConsenSys/eth2.0-dafny) -- [Eth2.py](https://github.com/protolambda/remerkleable) -- [fastssz](https://github.com/ferranbt/fastssz/) -- [rust-ssz](https://github.com/ralexstokes/ssz-rs) - -## SSZ VS RLP Serialization - -| CRITERIA | COMPACT | EXPRESSIVENESS | HASHING | INDEXING | -|------------|---------|----------------|----------|----------| -| RLP | Yes | Flexible | Possible | No | -| SSZ | No | Yes | Yes | Poor | - -_Table: SSZ VS RLP Comparison by [Piper Merriam](https://twitter.com/pipermerriam)._ - -1. **Expressiveness**: - - **SSZ**: Supports all necessary data types directly without the need for additional abstraction layers. This makes SSZ inherently more straightforward and robust for handling complex data structures used in Ethereum PoS. - - **RLP**: Limited to dynamic length byte strings and lists. Additional data types are only supported through abstraction layers, which can introduce complexity and potential inefficiencies. - -2. **Hashing**: - - **SSZ**: Facilitates efficient hashing and re-hashing of objects, particularly beneficial for operations that require frequent updates to data states, such as those in sharding and stateless clients. This efficiency is crucial for maintaining blockchain integrity and performance. - - **RLP**: While hashing is possible, it does not offer the same performance optimizations, especially when data structures undergo minor modifications. - -3. **Indexing**: - - **SSZ**: Although indexing is described as 'poor', SSZ supports some level of direct access to serialized data without full deserialization, which is beneficial for certain operations within the blockchain. - - **RLP**: Does not support efficient indexing, potentially leading to `O(N)` complexity when accessing internal data, which can be a significant drawback for performance on large-scale networks. - -4. **Data Type Compatibility**: - - **SSZ**: Designed to be fully compatible with the data types and structures used within the Ethereum protocol, enhancing its utility for consensus mechanisms and network operations. - - **RLP**: While flexible, the need for additional layers to support various data types can lead to inefficiencies and increased complexity in implementation. - -5. **Designed for Ethereum 2.0 Requirements**: - - **SSZ**: Specifically created to meet the needs of Ethereum PoS, including sharding and proof-of-stake mechanisms, making it better suited for future developments and updates to the protocol. - -6. **Deterministic Serialization**: - - **SSZ**: Provides deterministic serialization results, ensuring that the same data structure serializes to the exact same byte sequence every time, which is crucial for consensus reliability. - -For these reasons, there is a strong effort in Ethereum to completely migrate to SSZ serialization for everything and stop the usage of RLP serialization. - - ## Resources - [Simple serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) - [SSZ specs](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 0f244b5e..bd4814d7 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -24,6 +24,106 @@ Merkleization involves breaking down the serialized data into 32-byte chunks, wh - **Performance Efficiency:** While the tree requires hashing approximately twice the original data amount, caching mechanisms can store the roots of subtrees that don't change often. This significantly reduces the computational overhead as only altered parts of the data need re-hashing. - **Light Client Support:** The Merkle tree structure supports the creation of Merkle proofs—small pieces of data that prove the inclusion and integrity of specific parts of the state without needing the entire dataset. This feature is crucial for light clients, which operate with limited resources and rely on these proofs to interact with Ethereum securely. +## Merkle Tree Structure and Hashing + +The Merkle tree structure is organized such that every two adjacent leaf nodes are hashed together to produce a parent node, and this pairing and hashing continue upwards until a single hash is obtained at the top: + +```mermaid +graph TD; + HTR[Hash Tree Root] + HL12[Hash of Leaves 1 and 2] + HL34[Hash of Leaves 3 and 4] + L1[Leaf1] + L2[Leaf2] + L3[Leaf3] + L4[Leaf4] + + HTR --> HL12 + HTR --> HL34 + HL12 --> L1 + HL12 --> L2 + HL34 --> L3 + HL34 --> L4 +``` + +_Figure: Merkle Tree Structure._ + +In some instances, the distribution of the leaves might require a more complex tree with varying depths per branch, especially when certain nodes (like containers with multiple elements) need additional depth. + +## Generalized Indices + +To facilitate direct referencing and verification within the tree, each node (both leaves and internals) is assigned a generalized index. This index is derived from the node’s position within the tree: + +```mermaid +graph TD; + 1((1 / Depth 0)) + 2((2 / Depth 1)) + 3((3 / Depth 1)) + 4((4 / Depth 2)) + 5((5 / Depth 2)) + 6((6 / Depth 2)) + 7((7 / Depth 2)) + + 1 --> 2 + 1 --> 3 + 2 --> 4 + 2 --> 5 + 3 --> 6 + 3 --> 7 +``` + +_Figure: Merkle Tree Generalized Indices and Depth Levels._ + +- **Root Index:** 1 (depth = 0) +- **Subsequent Levels:** $2^depth + index$ where index is the node's zero-indexed position at that depth. + +## Multiproofs Using Generalized Indices + +Multiproofs using generalized indices provide an efficient way to verify specific elements within a Merkle tree without needing to know the entire tree structure. This concept is crucial in Ethereum and cryptographic applications where data integrity and verification speed are paramount. Let's break down the process using an example to understand how multiproofs work: + +**Understanding the Structure** +- A Merkle tree is structured in layers, where each node is either a leaf node (containing actual data) or an internal node (containing hashes of its child nodes). +- Generalized indices numerically represent the position of each node in the tree, calculated as $2^depth + index$, starting from the root (index 1). + +**Tree Layout for the Example** +- The tree is structured as follows, with `*` indicating the nodes required to generate the proof for the element at index 9: + +```mermaid +graph TD; + 1(("1*"))---2(("2")); + 1---3(("3*")); + 2---4(("4")); + 2---5(("5*")); + 3---6(("6")); + 3---7(("7")); + 4---8(("8*")); + 4---9(("9*")); + 5---10(("10")); + 5---11(("11")); + 6---12(("12")); + 6---13(("13")); + 7---14(("14")); + 7---15(("15")); + + classDef root fill:#f96; + classDef proof fill:#bbf; + classDef leaf fill:#faa; + + class 1 root; + class 2,5,8,9 proof; +``` + +_Figure: Merkle Tree Layout_ + +**Determining Required Nodes** +- **Identifying Required Hashes**: To validate the data at index 9, you need the hashes of the data at indices 8, 9, 5, 3, and 1. +- **Pairwise Hashing**: Combine the hashes of indices 8 and 9 to compute the hash corresponding to their parent node, which should be `hash(4)`. +- **Further Hash Combinations**: + - `hash(4)` is then combined with the hash from index 5 to produce the hash of their parent node, `hash(2)`. + - This result is combined with the hash from index 3 to work up to the next level. +- **Final Verification**: The combined result from the previous step is hashed with the root from the opposite branch (index 3) to produce the ultimate tree root (`hash 1`). +- **Integrity Check**: If the calculated root matches the known good root (`hash 1`), the data at index 9 is verified as accurate. If the data was incorrect, the resulting root would differ, indicating an error or tampering. + ## Calculating Hash Tree Roots diff --git a/wordlist.txt b/wordlist.txt index 367cd20b..d5a38e9e 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -594,4 +594,5 @@ dafny fastssz uint Merkleization -subtrees \ No newline at end of file +subtrees +multiproofs \ No newline at end of file From 5c9e1ca082714677946aaced913f132390422132 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 17:12:21 +0800 Subject: [PATCH 20/33] LaTex typo fixed --- docs/wiki/CL/merkleization.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index bd4814d7..16072354 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -75,7 +75,7 @@ graph TD; _Figure: Merkle Tree Generalized Indices and Depth Levels._ - **Root Index:** 1 (depth = 0) -- **Subsequent Levels:** $2^depth + index$ where index is the node's zero-indexed position at that depth. +- **Subsequent Levels:** $2^{depth} + index$ where index is the node's zero-indexed position at that depth. ## Multiproofs Using Generalized Indices @@ -83,7 +83,7 @@ Multiproofs using generalized indices provide an efficient way to verify specifi **Understanding the Structure** - A Merkle tree is structured in layers, where each node is either a leaf node (containing actual data) or an internal node (containing hashes of its child nodes). -- Generalized indices numerically represent the position of each node in the tree, calculated as $2^depth + index$, starting from the root (index 1). +- Generalized indices numerically represent the position of each node in the tree, calculated as $2^{depth} + index$, starting from the root (index 1). **Tree Layout for the Example** - The tree is structured as follows, with `*` indicating the nodes required to generate the proof for the element at index 9: From 3f69ffd5b86569f5e625b186cb1803b9e4ba2f31 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 18:01:50 +0800 Subject: [PATCH 21/33] packing and chunking section is added --- docs/wiki/CL/merkleization.md | 34 ++++++++++++++++++++++++++++++++++ wordlist.txt | 3 ++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 16072354..7aa578e4 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -124,11 +124,45 @@ _Figure: Merkle Tree Layout_ - **Final Verification**: The combined result from the previous step is hashed with the root from the opposite branch (index 3) to produce the ultimate tree root (`hash 1`). - **Integrity Check**: If the calculated root matches the known good root (`hash 1`), the data at index 9 is verified as accurate. If the data was incorrect, the resulting root would differ, indicating an error or tampering. +There are helper functions in the consensus specs to calculate the multiproofs and generalized indices. You can find [here.](https://github.com/ethereum/consensus-specs/blob/dev/ssz/merkle-proofs.md#merkle-multiproofs) + ## Calculating Hash Tree Roots +The hash tree root of an SSZ object is computed recursively. For basic types and collections of basic types, the data is packed into chunks and directly Merkleized. For composite types like containers, the process involves hashing the tree roots of each component. In the below sections we will see the working examples to understand the process. ### Packing and Chunking +Packing and chunking are crucial concepts in the context of Merkleization, especially when dealing with the SSZ used in the Beacon chain. Here's how packing and chunking work: + +**Serializing the Data** +- **Serialization** involves converting a data structure (basic types, lists, vectors, or bitlists/bitvectors) into a linear byte array using SSZ serialization rules. +- Each element is serialized based on its type. + +**Padding the Serialization** +- After serialization, the byte array might not perfectly align with the 32-byte chunk size used in Merkle trees. +- **Padding** is added to the serialized data to extend the last segment to a full 32-byte chunk. This padding consists of zero bytes (0x00). + +**Dividing into Chunks** +- The padded serialized data is then split into multiple 32-byte segments or "chunks." +- These chunks are the basic units used in the Merkleization process. + +**Padding to Full Binary Tree** +- The number of chunks from the previous step may not be a power of two, which is required to form a balanced binary tree (full binary tree). +- Additional zero chunks (chunks filled entirely with zero bytes) are added as necessary to bring the total count up to the nearest power of two. +- This ensures that the resulting Merkle tree is complete and balanced, facilitating efficient cryptographic operations. + +**Applying the Merkleization Process** +- With the chunks prepared, they are arranged as the leaves of a binary Merkle tree. +- Merkleization proceeds by hashing pairs of chunks together, layer by layer, until a single hash remains. This final hash is known as the Merkle root. + +**Practical Example:** +Suppose we have a list of integers that need to be packed and chunked: +- **Integers**: [10, 20, 30, 40] (Suppose each integer occupies 8 bytes). +- **Serialized Data**: A continuous byte array created from these integers. +- **Padding**: If the total serialized length is not a multiple of 32, padding bytes are added. +- **Chunks**: The data is divided into 32-byte chunks. +- **Zero Padding for Tree**: If the number of chunks is not a power of two, additional zero-filled chunks are appended. +- **Merkleization**: The chunks are then used as leaves in a Merkle tree to compute the root. ### Mixing in the Length diff --git a/wordlist.txt b/wordlist.txt index d5a38e9e..2e83116b 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -595,4 +595,5 @@ fastssz uint Merkleization subtrees -multiproofs \ No newline at end of file +multiproofs +Merkleized \ No newline at end of file From 388bb72e9c3e1dd753ec2027e4dc9d7e1a702d4c Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 19:43:43 +0800 Subject: [PATCH 22/33] Mixing in the Length section is added --- docs/wiki/CL/merkleization.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 7aa578e4..832daaef 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -166,6 +166,34 @@ Suppose we have a list of integers that need to be packed and chunked: ### Mixing in the Length +Mixing in the length is a crucial step in the Merkleization process, particularly when handling lists and vectors. This step ensures that the final hash tree root accurately reflects both the content and the structure of the data, including its length. Let's break down how this concept is applied and why it's important. + +**Purpose of Mixing in the Length** + +Mixing in the length is used to ensure that two different lists or vectors with similar contents but different lengths generate different hash tree roots. This is critical because without incorporating the length into the hash, two lists—one longer than the other but otherwise identical up to the length of the shorter list—would have the same hash tree root if only the content is hashed. This could lead to potential security vulnerabilities and inconsistencies within the data validation process. + +The example below illustrates that without including the length of the list, the Merkle root hashes for `a_root_hash` and `b_root_hash` remain the same despite representing two lists of different lengths. However, when the length is incorporated, the Merkle root hash `a_mix_len_root_hash` differs from both `a_root_hash` and `b_root_hash`. This distinction is crucial when dealing with lists or vectors of varying lengths in the merkleization. + + +```python +>>> from eth2spec.utils.ssz.ssz_typing import uint256, List +>>> from eth2spec.utils.merkle_minimal import merkleize_chunks +>>> a = List[uint256, 4](33652, 59750, 92360) +>>> a_len = a.length() +>>> a = List[uint256, 4](33652, 59750, 92360).encode_bytes() +>>> b = List[uint256, 4](33652, 59750, 92360, 0).encode_bytes() +>>> a_root_hash = merkleize_chunks([a[0:32], a[32:64], a[64:96]]) +>>> b_root_hash = merkleize_chunks([b[0:32], b[32:64], b[64:96], b[96:128]]) +>>> a_mix_len_root_hash = merkleize_chunks([merkleize_chunks([a[0:32], a[32:64], a[64:96]]), a_len.to_bytes(32, 'little')]) +>>> print('a_root_hash = ', a_root_hash) +a_root_hash = 0x3effe553b6091b1982a6850fd2a788943363e6f879ff796057503b76802edd9d +>>> print('b_root_hash = ', b_root_hash) +b_root_hash = 0x3effe553b6091b1982a6850fd2a788943363e6f879ff796057503b76802edd9d +>>> print('a_mix_len_root_hash = ', a_mix_len_root_hash) +a_mix_len_root_hash = 0xeca15347139a6ad6e7eabfbcfd3eb3bf463af2a8194c94aef742eadfcc3f1912 +>>> +>>> +``` ## Summaries and Expansions From 12d3e35210b91c76d0b0ec033a40e695e144c1b1 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 20:00:47 +0800 Subject: [PATCH 23/33] Summaries and Expansions section is added --- docs/wiki/CL/merkleization.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 832daaef..2219b78d 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -172,6 +172,8 @@ Mixing in the length is a crucial step in the Merkleization process, particularl Mixing in the length is used to ensure that two different lists or vectors with similar contents but different lengths generate different hash tree roots. This is critical because without incorporating the length into the hash, two lists—one longer than the other but otherwise identical up to the length of the shorter list—would have the same hash tree root if only the content is hashed. This could lead to potential security vulnerabilities and inconsistencies within the data validation process. +**An example of Mixing in the Length** + The example below illustrates that without including the length of the list, the Merkle root hashes for `a_root_hash` and `b_root_hash` remain the same despite representing two lists of different lengths. However, when the length is incorporated, the Merkle root hash `a_mix_len_root_hash` differs from both `a_root_hash` and `b_root_hash`. This distinction is crucial when dealing with lists or vectors of varying lengths in the merkleization. @@ -192,10 +194,18 @@ b_root_hash = 0x3effe553b6091b1982a6850fd2a788943363e6f879ff796057503b76802edd9 >>> print('a_mix_len_root_hash = ', a_mix_len_root_hash) a_mix_len_root_hash = 0xeca15347139a6ad6e7eabfbcfd3eb3bf463af2a8194c94aef742eadfcc3f1912 >>> ->>> ``` -## Summaries and Expansions +## Summaries and Expansions in SSZ Merkleization + +In Ethereum PoS, the concepts of summaries and expansions are integral to managing state data efficiently. Summaries provide a compact representation of data structures, encapsulating essential verification information without the full details. Expansions, on the other hand, deliver the complete data set for thorough processing or when detailed information is required. Here are their benefits: + +- **Efficiency and Speed**: By employing summaries, validators can quickly verify state changes or validate transactions without processing entire data sets. This method significantly speeds up validations and reduces computational overhead. +- **Reduced Data Load**: Summaries minimize the amount of data stored and transmitted, conserving bandwidth and storage resources. This is particularly beneficial for nodes with limited capacity, such as light clients, which rely on summaries for operational efficiency. +- **Security Enhancements**: The cryptographic hashes included in summaries ensure the integrity of the data, enabling secure and reliable verification processes without accessing the full dataset. +- **An Example**: + - **BeaconBlock and BeaconBlockHeader**: The `BeaconBlockHeader` acts as a summary, allowing nodes to quickly verify the integrity of a block without needing the complete block data. `BeaconBlock` is th expansion. + - **Proposer Slashing**: Validators use block summaries to efficiently identify and process conflicting block proposals, facilitating swift and accurate slashing decisions. ## Merkleization for Basic Types From 4b273240a99937ad45dd18fdc4943f4495408111 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 1 May 2024 20:30:02 +0800 Subject: [PATCH 24/33] A full example using code of merkleization for basic types --- docs/wiki/CL/merkleization.md | 44 ++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 2219b78d..c2a1debf 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -207,9 +207,51 @@ In Ethereum PoS, the concepts of summaries and expansions are integral to managi - **BeaconBlock and BeaconBlockHeader**: The `BeaconBlockHeader` acts as a summary, allowing nodes to quickly verify the integrity of a block without needing the complete block data. `BeaconBlock` is th expansion. - **Proposer Slashing**: Validators use block summaries to efficiently identify and process conflicting block proposals, facilitating swift and accurate slashing decisions. - ## Merkleization for Basic Types +Let's understand the Merkleization of basic types using an example. Below is a simple Merkle tree and we will follow the process of merkleization to get the merkle root hash. + +```mermaid +graph TD; + A["A"] --> HAB["H(A + B)"] + B["B"] --> HAB + C["C"] --> HCD["H(C + D)"] + D["D"] --> HCD + HAB --> HROOT["Root: H(H(A+B) + H(C+D))"] + HCD --> HROOT +``` + +_Figure: Sample Merkle Tree._ + +In the above Merkle tree, the leaves are our four blobs of data, A, B, C, and D. + +- **Define the Data:** + - In this example, we're dealing with four basic data items: A, B, C, and D. These are conceptualized as numbers (`10`, `20`, `30`, and `40` respectively) and will be represented in the Merkle tree as 32-byte chunks. +- **Convert Data to 32-byte Chunks:** + - Each data item is serialized into a 32-byte format using the `uint256` type from the SSZ typing system. Serialization involves converting the data into a format that is consistent and padded to ensure that each item is 32 bytes long. +- **Pair and Hash the Leaves:** + - Next, pairs of these serialized data chunks are concatenated and hashed. +- **Hash the Results to Form the Root:** + - Finally, the hashes from the previous step (`ab` and `cd`) are concatenated and hashed to form the Merkle root. +- **Output the Merkle Root:** + - The Merkle root is then converted to a hexadecimal string to make it readable. + +This final Merkle root is a unique representation of the data `A`, `B`, `C`, and `D`. Any change in the input data would result in a different Merkle root, illustrating the sensitivity of the hash function to the input data. This characteristic is essential for ensuring data integrity in Ethereum. + + +```python +>>> from eth2spec.utils.ssz.ssz_typing import uint256 +>>> from eth2spec.utils.hash_function import hash +>>> a = uint256(10).to_bytes(length = 32, byteorder='little') +>>> b = uint256(20).to_bytes(length = 32, byteorder='little') +>>> c = uint256(30).to_bytes(length = 32, byteorder='little') +>>> d = uint256(40).to_bytes(length = 32, byteorder='little') +>>> ab = hash(a + b) +>>> cd = hash(c + d) +>>> abcd = hash(ab + cd) +>>> abcd.hex() +'1e3bd033dcaa8b7e8fa116cdd0469615b29b09642ed1cb5b4a8ea949fc7eee03' +``` ## Merkleization for Composite Types From 095aef2ae3fffa0a0f4b7e86d48a34c10e46e6f4 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Thu, 2 May 2024 08:20:29 +0800 Subject: [PATCH 25/33] merkleization of IndexedAttestation section is added --- .../merkelization-IndexedAttestation.png | Bin 0 -> 247044 bytes docs/wiki/CL/merkleization.md | 181 +++++++++++++++++- wordlist.txt | 3 +- 3 files changed, 180 insertions(+), 4 deletions(-) create mode 100644 docs/images/merkelization-IndexedAttestation.png diff --git a/docs/images/merkelization-IndexedAttestation.png b/docs/images/merkelization-IndexedAttestation.png new file mode 100644 index 0000000000000000000000000000000000000000..2e5a7a56cadab72722526aba285ecd6d3c6c07cf GIT binary patch literal 247044 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ÐE!P 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

h8vK}UO6 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 literal 0 HcmV?d00001 diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index c2a1debf..b8899720 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -204,7 +204,7 @@ In Ethereum PoS, the concepts of summaries and expansions are integral to managi - **Reduced Data Load**: Summaries minimize the amount of data stored and transmitted, conserving bandwidth and storage resources. This is particularly beneficial for nodes with limited capacity, such as light clients, which rely on summaries for operational efficiency. - **Security Enhancements**: The cryptographic hashes included in summaries ensure the integrity of the data, enabling secure and reliable verification processes without accessing the full dataset. - **An Example**: - - **BeaconBlock and BeaconBlockHeader**: The `BeaconBlockHeader` acts as a summary, allowing nodes to quickly verify the integrity of a block without needing the complete block data. `BeaconBlock` is th expansion. + - **BeaconBlock and BeaconBlockHeader**: The `BeaconBlockHeader` container acts as a summary, allowing nodes to quickly verify the integrity of a block without needing the complete block data from `BeaconBlock` container. `BeaconBlock` is the expansion. - **Proposer Slashing**: Validators use block summaries to efficiently identify and process conflicting block proposals, facilitating swift and accurate slashing decisions. ## Merkleization for Basic Types @@ -223,7 +223,7 @@ graph TD; _Figure: Sample Merkle Tree._ -In the above Merkle tree, the leaves are our four blobs of data, A, B, C, and D. +In the above Merkle tree, the leaves of the tree are the four blobs of data, A, B, C, and D. - **Define the Data:** - In this example, we're dealing with four basic data items: A, B, C, and D. These are conceptualized as numbers (`10`, `20`, `30`, and `40` respectively) and will be represented in the Merkle tree as 32-byte chunks. @@ -255,11 +255,186 @@ This final Merkle root is a unique representation of the data `A`, `B`, `C`, and ## Merkleization for Composite Types +In this section we learn how the `IndexedAttestation` composite type is Merkleized, using a detailed example to illustrate the process. +**Definition and Structure** +The `IndexedAttestation` is a composite type defined as follows: +```python +class IndexedAttestation(Container): + attesting_indices: List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE] + data: AttestationData + signature: BLSSignature +``` + +`IndexedAttestation` is composed of three primary components: + + - **attesting_indices:** A list of `ValidatorIndex`, representing the validators who are attesting. + - **data:** An `AttestationData` container, holding various pieces of data pertinent to the attestation. + - **signature:** A `BLSSignature`, which is a signature over the attestation. + +**Merkleization Process** + +The Merkleization of `IndexedAttestation` involves computing the hash tree root of each component and combining these roots to form the overall hash tree root of the container. + +**Merkleizing `attesting_indices`:** + +- **Serialization and Padding:** First, the list of indices is serialized. Given the potential length of this list (up to the `MAX_VALIDATORS_PER_COMMITTEE`), it often requires padding to align with the 32-byte chunks required for hashing. +- **Hashing:** The serialized data is hashed using the `merkleize_chunks` function, which handles the padding and constructs a multi-layer Merkle tree. +- **Mixing in Length:** Since lists in SSZ can vary in length but have the same type structure, the length of the list is also hashed (mixed in) to ensure unique hash representations for different-sized lists. + +```python +attesting_indices_root = merkleize_chunks( + [ + merkleize_chunks([a.attesting_indices.encode_bytes() + bytearray(8)], 512), + a.attesting_indices.length().to_bytes(32, 'little') + ]) +``` + +**Merkleizing data (`AttestationData`):** +- **Handling Nested Structures:** `AttestationData` itself contains multiple fields (like `slot`, `index`, `beacon_block_root`, `source`, and `target`), each of which is individually serialized and Merkleized. +- **Combining Hashes:** The hashes of these fields are then combined to produce the root hash of the `AttestationData`. + +```python +data_root = merkleize_chunks( + [ + a.data.slot.to_bytes(32, 'little'), + a.data.index.to_bytes(32, 'little'), + a.data.beacon_block_root, + merkleize_chunks([a.data.source.epoch.to_bytes(32, 'little'), a.data.source.root]), + merkleize_chunks([a.data.target.epoch.to_bytes(32, 'little'), a.data.target.root]), + ]) +``` + +**Merkleizing signature:** + +- **Simple Hashing:** The `BLSSignature` is a fixed-length field and is directly hashed into three 32-byte chunks, which are then Merkleized to get the signature's root. + +```python +signature_root = merkleize_chunks([a.signature[0:32], a.signature[32:64], a.signature[64:96]]) +``` + +**Combining Component Roots:** + +- The roots calculated from each component are then combined to compute the hash tree root of the entire `IndexedAttestation` container. +```python +indexed_attestation_root = merkleize_chunks([attesting_indices_root, data_root, signature_root]) +``` + +**Verification of Final Root:** + +- The correct implementation of Merkleization of `IndexedAttestation` ensures that changes in any part of the data structure are reflected in the final root hash, providing a robust mechanism for detecting discrepancies and ensuring data consistency across all nodes in the network. + +```python +assert a.hash_tree_root() == attestation_root +``` + +Now, you can visualize the full picture of the merkleization of `IndexedAttestation`: + +![merkleization of IndexedAttestation](/docs/images/merkelization-IndexedAttestation.png) + +Here is the full working code: + +```python +from eth2spec.capella import mainnet +from eth2spec.capella.mainnet import * +from eth2spec.utils.ssz.ssz_typing import * +from eth2spec.utils.merkle_minimal import merkleize_chunks + +# Initialise an IndexedAttestation type +a = IndexedAttestation( + attesting_indices = [33652, 59750, 92360], + data = AttestationData( + slot = 3080829, + index = 9, + beacon_block_root = '0x4f4250c05956f5c2b87129cf7372f14dd576fc152543bf7042e963196b843fe6', + source = Checkpoint ( + epoch = 96274, + root = '0xd24639f2e661bc1adcbe7157280776cf76670fff0fee0691f146ab827f4f1ade' + ), + target = Checkpoint( + epoch = 96275, + root = '0x9bcd31881817ddeab686f878c8619d664e8bfa4f8948707cba5bc25c8d74915d' + ) + ), + signature = '0xaaf504503ff15ae86723c906b4b6bac91ad728e4431aea3be2e8e3acc888d8af' + + '5dffbbcf53b234ea8e3fde67fbb09120027335ec63cf23f0213cc439e8d1b856' + + 'c2ddfc1a78ed3326fb9b4fe333af4ad3702159dbf9caeb1a4633b752991ac437' +) + +# A container's root is the merkleization of the roots of its fields. +# This is IndexedAttestation. +assert(a.hash_tree_root() == merkleize_chunks( + [ + a.attesting_indices.hash_tree_root(), + a.data.hash_tree_root(), + a.signature.hash_tree_root() + ])) + +# A list is serialised then (virtually) padded to its full number of chunks before Merkleization. +# Finally its actual length is mixed in via a further hash/merkleization. +assert(a.attesting_indices.hash_tree_root() == + merkleize_chunks( + [ + merkleize_chunks([a.attesting_indices.encode_bytes() + bytearray(8)], 512), + a.attesting_indices.length().to_bytes(32, 'little') + ])) + +# A container's root is the merkleization of the roots of its fields. +# This is AttestationData. +assert(a.data.hash_tree_root() == merkleize_chunks( + [ + a.data.slot.hash_tree_root(), + a.data.index.hash_tree_root(), + a.data.beacon_block_root.hash_tree_root(), + a.data.source.hash_tree_root(), + a.data.target.hash_tree_root() + ])) + +# Expanding the above AttestationData roots by "manually" calculating the roots of its fields. +assert(a.data.hash_tree_root() == merkleize_chunks( + [ + a.data.slot.to_bytes(32, 'little'), + a.data.index.to_bytes(32, 'little'), + a.data.beacon_block_root, + merkleize_chunks([a.data.source.epoch.to_bytes(32, 'little'), a.data.source.root]), + merkleize_chunks([a.data.target.epoch.to_bytes(32, 'little'), a.data.target.root]), + ])) + +# The Signature type has a simple Merkleization. +assert(a.signature.hash_tree_root() == + merkleize_chunks([a.signature[0:32], a.signature[32:64], a.signature[64:96]])) + +# Putting everything together, we have a "by-hand" Merkleization of the IndexedAttestation. +assert(a.hash_tree_root() == merkleize_chunks( + [ + # a.attesting_indices.hash_tree_root() + merkleize_chunks( + [ + merkleize_chunks([a.attesting_indices.encode_bytes() + bytearray(8)], 512), + a.attesting_indices.length().to_bytes(32, 'little') + ]), + # a.data.hash_tree_root() + merkleize_chunks( + [ + a.data.slot.to_bytes(32, 'little'), + a.data.index.to_bytes(32, 'little'), + a.data.beacon_block_root, + merkleize_chunks([a.data.source.epoch.to_bytes(32, 'little'), a.data.source.root]), + merkleize_chunks([a.data.target.epoch.to_bytes(32, 'little'), a.data.target.root]), + ]), + # a.signature.hash_tree_root() + merkleize_chunks([a.signature[0:32], a.signature[32:64], a.signature[64:96]]) + ])) + +print("Success!") +``` + +You can follow the instructions at [running the specs](https://eth2book.info/capella/appendices/running/) to execute the above code. ## Resources - [Hash Tree Roots and Merkleization](https://eth2book.info/capella/part2/building_blocks/merkleization/) - [SSZ](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) -- [Protolambda on Merkleization](https://github.com/protolambda/eth2-docs?tab=readme-ov-file#ssz-hash-tree-root-and-merkleization) \ No newline at end of file +- [Protolambda on Merkleization](https://github.com/protolambda/eth2-docs?tab=readme-ov-file#ssz-hash-tree-root-and-merkleization) +- [Running the specs](https://eth2book.info/capella/appendices/running/) \ No newline at end of file diff --git a/wordlist.txt b/wordlist.txt index 2e83116b..da4ce524 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -596,4 +596,5 @@ uint Merkleization subtrees multiproofs -Merkleized \ No newline at end of file +Merkleized +Merkleizing \ No newline at end of file From 3c6d61ba09140368aa0b4721e70c0cafccd55037 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Thu, 2 May 2024 08:43:44 +0800 Subject: [PATCH 26/33] typos fixed --- docs/wiki/CL/merkleization.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index b8899720..6cd06197 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -1,6 +1,6 @@ # Merkleization and Hash Tree Roots -In Ethereum consensus mechanism, it's critical for all participating nodes to agree on the state of the system consistently and efficiently. The [Simple Serialize (SSZ)](/docs/wiki/CL/SSZ.md) framework facilitates this through Merkleization, a process that transforms serialized data into a Merkle tree structure. This wiki page delves into the intricacies of Merkleization and its importance in ensuring a shared state across nodes in a scalable and secure manner. +In Ethereum consensus mechanism, it's critical for all participating nodes to agree on the state of the system consistently and efficiently. The [Simple Serialize (SSZ)](/docs/wiki/CL/SSZ.md) framework facilitates this through Merkleization, a process that transforms serialized data into a Merkle tree structure. This wiki page discusses the intricacies of Merkleization and its importance in ensuring a shared state across nodes in a scalable and secure manner. ## Terminology and Methods @@ -33,10 +33,10 @@ graph TD; HTR[Hash Tree Root] HL12[Hash of Leaves 1 and 2] HL34[Hash of Leaves 3 and 4] - L1[Leaf1] - L2[Leaf2] - L3[Leaf3] - L4[Leaf4] + L1[Leaf 1] + L2[Leaf 2] + L3[Leaf 3] + L4[Leaf 4] HTR --> HL12 HTR --> HL34 @@ -255,7 +255,7 @@ This final Merkle root is a unique representation of the data `A`, `B`, `C`, and ## Merkleization for Composite Types -In this section we learn how the `IndexedAttestation` composite type is Merkleized, using a detailed example to illustrate the process. +In this section we learn how the `IndexedAttestation` composite type is Merkleized, using a detailed example to illustrate the process. This example provides clear instances of the Merkleization process applied to composite, list, and vector types. It also showcases how summaries and expansions are effectively demonstrated through this process. **Definition and Structure** @@ -327,7 +327,7 @@ indexed_attestation_root = merkleize_chunks([attesting_indices_root, data_root, - The correct implementation of Merkleization of `IndexedAttestation` ensures that changes in any part of the data structure are reflected in the final root hash, providing a robust mechanism for detecting discrepancies and ensuring data consistency across all nodes in the network. ```python -assert a.hash_tree_root() == attestation_root +assert a.hash_tree_root() == indexed_attestation_root ``` Now, you can visualize the full picture of the merkleization of `IndexedAttestation`: From 9d79bc8027098c289e2ab80ce67cebbee15a2fee Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Thu, 2 May 2024 08:56:15 +0800 Subject: [PATCH 27/33] resolve conflicts - sidebar and wordlist --- docs/_sidebar.md | 8 ++--- wordlist.txt | 79 ++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 80 insertions(+), 7 deletions(-) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 8c276c9f..8eadebf0 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -37,10 +37,10 @@ - [Consensus Layer](/wiki/CL/overview.md) - [CL Clients](/wiki/CL/cl-clients.md) - [CL Specs](/wiki/CL/cl-specs.md) - - Client architecture - - [Proof-of-Stake] - - [Beacon API] - - [Networking](/wiki/CL/cl-networking.md) + - [Client architecture](/wiki/CL/client-architecture.md) + - [CL Clients](/wiki/CL/cl-clients.md) + - [Beacon API](/wiki/CL/beacon-api.md) + - [CL Networking](/wiki/CL/cl-networking.md) - [SSZ Serialization](/docs/wiki/CL/SSZ.md) - [Merkleization](/docs/wiki/CL/merkleization.md) - Development diff --git a/wordlist.txt b/wordlist.txt index da4ce524..b17d769b 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -3,7 +3,9 @@ aantop ABI accelerometer ACD +ACL addons +aggregative Aleth allowfullscreen amidst @@ -19,12 +21,14 @@ ASE Assche Assertoor assignees +atleast atomicity Attacknet attester attesters attestors autoplay +backend backfill Bankless Baranabé's @@ -51,34 +55,50 @@ blocksize bloXroute bloXroute's BLS +Bogotá Boneh bool +booleans +bootup borderless BPE broadcasted +BSON Buterin Buterin's bypassability bytecode +bytecodes calldata +canonicalized +Caplin Carb cartelization Casper +CDAP cdot cdots centralisation centric chainId Challanges +changeset +changesets Charmes cli +CLRS cmd CoC codebase codebases +codec CODECOPY +codecs +coinbase +commoditized Composability composable +computable config congestions Consensys @@ -97,8 +117,8 @@ Cryptopedia cryptosystem cybersecurity Cypherpunks -D'Amato Daemen +D'Amato Dankrad danksharding Danno @@ -126,15 +146,18 @@ Devs DEX Diffie DILITHIUM +Discordo discv distro docsify Domothy dotnet +Downloader Dracorn Dragan Driscoll DSA +dup DVT dx EB @@ -159,6 +182,7 @@ EL Elmore ELs Encodings +Endian env EOA EOAs @@ -183,9 +207,10 @@ ethresear ethresearch ethroadmap EVM -EVM's evmlab EVMONE +EVM's +EVMs excalidraw exchangeTransitionConfigurationV Explainer @@ -194,6 +219,7 @@ Feist Femboy Ferrin finalise +financials Flashbot's Flashbots Flashboys @@ -223,26 +249,33 @@ getPayloadV getters ghost Gilles +Goerli Golang Goldwasser Goomy Goron Gorondan gpg +gradle +gradlew Grafana Grandine Guillaume hackmd Hager +HashedStorages +Herc’s hoc Holesky homomorphic +Hotz Hsiao HSP Hulsing Hyperledger Hyperplonk ics +IETF iframe ify impera @@ -260,18 +293,21 @@ intermediation interop IOP IPC +IRTF ISA Jitsi js JSON JUMPDEST JVM +JWT Karapetsas Katex keccak Keccak's keecak KEM +keystore Kira Kleppmann Koblitz @@ -284,10 +320,12 @@ Lamport Lamport's ldots Lefteris +leveldb libp lifecycle Lightclient Lightclient's +linearizer liveness LLM LLMs @@ -304,17 +342,23 @@ mainnet Mana Mário mathbb +mdbx +MDBX MDS meldsun mem Mempool Menezes +merkelizing +merkle Merkle Merkleization Merkleize MEV mevboost Michaël +middleware +minimalistic Mitigations mload MMPTs @@ -331,7 +375,6 @@ MUL Murr MVE mvepbs -n't Nagu namespace namespaces @@ -345,11 +388,17 @@ NFT Nim NIST NIST's +Noam NOXX +NSS +n't Occhipinti +Odayan OFAC Offchain offsites +ommer +ommers onboarding onchain Oorschot @@ -374,6 +423,7 @@ permissionless permissionlessness PGA Pilipovic +PKCS Playdate pmod POC @@ -405,6 +455,7 @@ privateKey probabilistically programmability proto +protobuf prover Prover's Provers @@ -417,6 +468,7 @@ ptc pubsub PUSHX py +Pyrmont Pyspec pytest qubits @@ -432,6 +484,7 @@ responder restaking retesteth Reth +Reth's revm rightarrow RIPEMD @@ -450,6 +503,7 @@ runtime scalability scalable schemas +Schnorr Schocken Schwabe SECG @@ -458,8 +512,10 @@ SELFDESTRUCT Sepolia sexualized SHA +Shacham shadowfork Shafu +ShardedKey sharding ShareAlike Shead @@ -479,6 +535,7 @@ socio solvm SPHINCS Sproul +src SSF SSLE SSTORE @@ -490,9 +547,14 @@ StateDB stateful stateRoot stf +StorageShardedKey +StoragesHistory +StoragesTrie StreamEth subnets suboptimal +subprotocols +substack Summa systemd Takenobu @@ -500,10 +562,13 @@ Tani tbhl Teku testnet +testnets Tetris textnormal timeframe +tinygrad tldr +TLS TODO TPS tracoor @@ -520,6 +585,7 @@ trustlessly trustlessness TrustLook TSTORE +Tx txpool txs unaggregated @@ -527,20 +593,27 @@ Unbundling underbrace Unformatted unguessable +unix upstreamed utils +UTXOs UX Vadim validator +validator's validators Vanstone VB's VDFs +Vec +verifications verifier verifiers Verkle verkled Victorio +virtualized +virtualizing Vitalik Vitalik's VM From ac72d2a299828ac8830d502dbe1ee03968c91f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rio=20Havel?= <61149543+taxmeifyoucan@users.noreply.github.com> Date: Thu, 2 May 2024 11:20:24 +0200 Subject: [PATCH 28/33] Update _sidebar.md --- docs/_sidebar.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 362a8b08..1e400dc8 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -46,7 +46,7 @@ - [Beacon API](/wiki/CL/beacon-api.md) - [CL Networking](/wiki/CL/cl-networking.md) - [SSZ Serialization](/docs/wiki/CL/SSZ.md) - - [Merkleization](/docs/wiki/CL/merkleization.md) + - [Merkleization](/docs/wiki/CL/merkleization.md) - Development - [Core development](/wiki/dev/core-development.md) - [Coordination](/wiki/dev/pm.md) @@ -77,7 +77,7 @@ - [BLS](/wiki/Cryptography/bls.md) - [Keccak256](/wiki/Cryptography/keccak256.md) - Commitments - - [KZG](/docs/wiki/Cryptography/KZG.md) + - [KZG](/wiki/Cryptography/KZG.md) - [Post-Quantum Cryptography](/wiki/Cryptography/post-quantum-cryptography.md) - [Protocol Fellowship](/wiki/epf.md) From 1962d330e489f4e0e66501885887af37cf81fe11 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Mon, 6 May 2024 13:16:36 +0800 Subject: [PATCH 29/33] Updated for the suggestions after the review by Mario. --- docs/wiki/CL/merkleization.md | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 6cd06197..f7591c70 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -1,6 +1,6 @@ # Merkleization and Hash Tree Roots -In Ethereum consensus mechanism, it's critical for all participating nodes to agree on the state of the system consistently and efficiently. The [Simple Serialize (SSZ)](/docs/wiki/CL/SSZ.md) framework facilitates this through Merkleization, a process that transforms serialized data into a Merkle tree structure. This wiki page discusses the intricacies of Merkleization and its importance in ensuring a shared state across nodes in a scalable and secure manner. +In Ethereum consensus mechanism, it's critical for all participating nodes to agree on the state of the system consistently and efficiently. The [Simple Serialize (SSZ)](/docs/wiki/CL/SSZ.md) framework facilitates this through Merkleization, a process that transforms serialized data into a Merkle tree structure. The goal of the Merkleization scheme is to ensure that constrained environments (light clients, execution environments, etc.) can have access to light-weight proofs which they can use to make important decisions. This wiki page discusses the intricacies of Merkleization and its importance in ensuring a shared state across nodes in a scalable and secure manner. ## Terminology and Methods @@ -22,33 +22,9 @@ Merkleization involves breaking down the serialized data into 32-byte chunks, wh ## Benefits of Merkleization - **Performance Efficiency:** While the tree requires hashing approximately twice the original data amount, caching mechanisms can store the roots of subtrees that don't change often. This significantly reduces the computational overhead as only altered parts of the data need re-hashing. -- **Light Client Support:** The Merkle tree structure supports the creation of Merkle proofs—small pieces of data that prove the inclusion and integrity of specific parts of the state without needing the entire dataset. This feature is crucial for light clients, which operate with limited resources and rely on these proofs to interact with Ethereum securely. +- **Light Client Support:** The Merkle tree structure supports the creation of Merkle proofs—small pieces of data that prove the inclusion and integrity of specific parts of the state without needing the entire dataset. This feature is crucial for light clients, which operate with limited resources and rely on these proofs to interact with Ethereum securely. -## Merkle Tree Structure and Hashing - -The Merkle tree structure is organized such that every two adjacent leaf nodes are hashed together to produce a parent node, and this pairing and hashing continue upwards until a single hash is obtained at the top: - -```mermaid -graph TD; - HTR[Hash Tree Root] - HL12[Hash of Leaves 1 and 2] - HL34[Hash of Leaves 3 and 4] - L1[Leaf 1] - L2[Leaf 2] - L3[Leaf 3] - L4[Leaf 4] - - HTR --> HL12 - HTR --> HL34 - HL12 --> L1 - HL12 --> L2 - HL34 --> L3 - HL34 --> L4 -``` - -_Figure: Merkle Tree Structure._ - -In some instances, the distribution of the leaves might require a more complex tree with varying depths per branch, especially when certain nodes (like containers with multiple elements) need additional depth. +If you want to learn more about the Merkle tree structure, you can refer [here](https://eth2book.info/capella/part2/building_blocks/merkleization/) and [here](https://github.com/protolambda/eth2-docs?tab=readme-ov-file#ssz-hash-tree-root-and-merkleization). ## Generalized Indices @@ -132,7 +108,7 @@ The hash tree root of an SSZ object is computed recursively. For basic types and ### Packing and Chunking -Packing and chunking are crucial concepts in the context of Merkleization, especially when dealing with the SSZ used in the Beacon chain. Here's how packing and chunking work: +Packing and chunking enable the Merkleization with SSZ by formatting the serialized data and dividing them into pieces which are then hashed to a Merkle tree. Here's how the process works: **Serializing the Data** - **Serialization** involves converting a data structure (basic types, lists, vectors, or bitlists/bitvectors) into a linear byte array using SSZ serialization rules. From 1a287b853fd7dac8ec7d02fbd4f9cd9f19fedc3b Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 7 May 2024 21:43:37 +0800 Subject: [PATCH 30/33] Fixed the sugestions from Angaz --- docs/wiki/CL/SSZ.md | 445 +++++++++++++++------------------- docs/wiki/CL/merkleization.md | 6 - wordlist.txt | 78 +++--- 3 files changed, 230 insertions(+), 299 deletions(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 317898f5..9070a9f5 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -26,24 +26,24 @@ There are many tools available for SSZ. Here is a [full list](https://github.com _Table: SSZ VS RLP Comparison by [Piper Merriam](https://twitter.com/pipermerriam)._ -1. **Expressiveness**: - - **SSZ**: Supports all necessary data types directly without the need for additional abstraction layers. This makes SSZ inherently more straightforward and robust for handling complex data structures used in Ethereum PoS. - - **RLP**: Limited to dynamic length byte strings and lists. Additional data types are only supported through abstraction layers, which can introduce complexity and potential inefficiencies. +**Expressiveness**: +- **SSZ**: Supports all necessary data types directly without the need for additional abstraction layers. This makes SSZ inherently more straightforward and robust for handling complex data structures used in Ethereum PoS. +- **RLP**: Limited to dynamic length byte strings and lists. Additional data types are only supported through abstraction layers, which can introduce complexity and potential inefficiencies. -2. **Hashing**: - - **SSZ**: Facilitates efficient hashing and re-hashing of objects, particularly beneficial for operations that require frequent updates to data states, such as those in sharding and stateless clients. This efficiency is crucial for maintaining blockchain integrity and performance. - - **RLP**: While hashing is possible, it does not offer the same performance optimizations, especially when data structures undergo minor modifications. +**Hashing**: +- **SSZ**: Facilitates efficient hashing and re-hashing of objects, particularly beneficial for operations that require frequent updates to data states, such as those in sharding and stateless clients. This efficiency is crucial for maintaining blockchain integrity and performance. +- **RLP**: While hashing is possible, it does not offer the same performance optimizations, especially when data structures undergo minor modifications. -3. **Indexing**: - - **SSZ**: Although indexing is described as 'poor', SSZ supports some level of direct access to serialized data without full deserialization, which is beneficial for certain operations within the blockchain. - - **RLP**: Does not support efficient indexing, potentially leading to `O(N)` complexity when accessing internal data, which can be a significant drawback for performance on large-scale networks. +**Indexing**: +- **SSZ**: Although indexing is described as 'poor', SSZ supports some level of direct access to serialized data without full deserialization, which is beneficial for certain operations within the blockchain. +- **RLP**: Does not support efficient indexing, potentially leading to `O(N)` complexity when accessing internal data, which can be a significant drawback for performance on large-scale networks. -4. **Data Type Compatibility**: - - **SSZ**: Designed to be fully compatible with the data types and structures used within the Ethereum protocol, enhancing its utility for consensus mechanisms and network operations. - - **RLP**: While flexible, the need for additional layers to support various data types can lead to inefficiencies and increased complexity in implementation. +**Data Type Compatibility**: +- **SSZ**: Designed to be fully compatible with the data types and structures used within the Ethereum protocol, enhancing its utility for consensus mechanisms and network operations. +- **RLP**: While flexible, the need for additional layers to support various data types can lead to inefficiencies and increased complexity in implementation. -5. **Deterministic Serialization**: - - **SSZ**: Provides deterministic serialization results, ensuring that the same data structure serializes to the exact same byte sequence every time, which is crucial for consensus reliability. +**Deterministic Serialization**: +- **SSZ**: Provides deterministic serialization results, ensuring that the same data structure serializes to the exact same byte sequence every time, which is crucial for consensus reliability. For these reasons, there is a strong effort in Ethereum to completely migrate to SSZ serialization for everything and stop the usage of RLP serialization. @@ -64,12 +64,6 @@ flowchart TD D --> G["Convert Boolean to Byte \n(True to 0x01, False to 0x00)"] G --> H[Serialized Output for Boolean] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E,G process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class F,H output; ``` _Figure: Serialization Process for Basic Types._ @@ -89,12 +83,6 @@ flowchart TD H --> I["Translate Byte to Boolean \n(0x01 to True, 0x00 to False)"] I --> J[Deserialized Boolean Output] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E,H,I process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class G,J output; ``` _Figure: Deserialization Process for Basic Types._ @@ -105,19 +93,19 @@ Unsigned integers (`uintN`) in SSZ are denoted where `N` can be any of 8, 16, 32 **Serialization Process for Unsigned Integers:** -1. **Input**: Take an unsigned integer of type `uintN`. -2. **Convert to Bytes**: Convert the integer into a byte array of length `N/8`. For instance, `uint16` represents 2 bytes. -3. **Apply Little-Endian Format**: Arrange the bytes in little-endian order, where the least significant byte is stored first. -4. **Output**: The resulting byte array is the serialized form of the integer. +- **Input**: Take an unsigned integer of type `uintN`. +- **Convert to Bytes**: Convert the integer into a byte array of length `N/8`. For instance, `uint16` represents 2 bytes. +- **Apply Little-Endian Format**: Arrange the bytes in little-endian order, where the least significant byte is stored first. +- **Output**: The resulting byte array is the serialized form of the integer. **Example:** - Integer `1025` as `uint16` would be serialized to `01 04` in hexadecimal. First, convert `1025` to hex which gives `0x0401`. In little-endian format, the least significant byte (LSB) comes first. So, `0x0401` in little-endian is `01 04`. The byte array `[01, 04]` is the serialized output. **Deserialization Process for Unsigned Integers:** -1. **Input**: Read the byte array representing a serialized `uintN`. -2. **Read Little-Endian Bytes**: Interpret the bytes in little-endian order to reconstruct the integer value. -3. **Output**: Convert the byte array back into the integer. +- **Input**: Read the byte array representing a serialized `uintN`. +- **Read Little-Endian Bytes**: Interpret the bytes in little-endian order to reconstruct the integer value. +- **Output**: Convert the byte array back into the integer. **Example:** - Byte array `01 04` (in hex) is deserialized to the integer `1025`. Read the first byte `01` as the lower part and `04` as the higher part of the integer. It translates back to `0401` in hex when reassembled in big-endian format for human readability, which equals 1025 in decimal. @@ -128,11 +116,11 @@ Booleans in SSZ are quite straightforward, with each boolean represented as a si **Serialization Process for Booleans:** -1. **Input**: Take a boolean value (`True` or `False`). -2. **Convert to Byte**: +- **Input**: Take a boolean value (`True` or `False`). +- **Convert to Byte**: - If the boolean is `True`, serialize it as `01` (in hex). - If the boolean is `False`, serialize it as `00`. -3. **Output**: The resulting single byte is the serialized form of the boolean. +- **Output**: The resulting single byte is the serialized form of the boolean. **Example:** - `True` becomes `01`. @@ -140,17 +128,17 @@ Booleans in SSZ are quite straightforward, with each boolean represented as a si **Deserialization Process for Booleans:** -1. **Input**: Read a single byte. -2. **Interpret the Byte**: +- **Input**: Read a single byte. +- **Interpret the Byte**: - A byte of `01` indicates `True`. - A byte of `00` indicates `False`. -3. **Output**: The boolean value corresponding to the byte. +- **Output**: The boolean value corresponding to the byte. **Example:** - Byte `01` is deserialized to `True`. - Byte `00` is deserialized to `False`. -We can run SSZ serialization and deserialization commands using the python Eth2 spec as per the [instructions](https://eth2book.info/capella/appendices/running/) and verify the above byte arrays. +We can run SSZ serialization and deserialization commands using the python Eth PoS spec as per the [instructions](https://eth2book.info/capella/appendices/running/) and verify the above byte arrays. ```python >>> from eth2spec.utils.ssz.ssz_typing import uint64, boolean @@ -187,41 +175,36 @@ flowchart TD D --> E[Concatenate All Byte Arrays] E --> F[Output Serialized Vector] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class F output; ``` _Figure: SSZ Serialization for Vectors._ -1. **Fixed-Length Definition**: Vectors are defined with a specific length and type of elements they can hold, such as `Vector[uint64, 4]` for a vector containing four 64-bit unsigned integers. +**Fixed-Length Definition**: +- Vectors are defined with a specific length and type of elements they can hold, such as `Vector[uint64, 4]` for a vector containing four 64-bit unsigned integers. -2. **Element Serialization**: - - Each element in the vector is serialized independently according to its type. - - For basic types like integers or booleans, this means converting each element to its byte representation. - - If the elements are composite types, each element is serialized according to its specific serialization rules. +**Element Serialization**: +- Each element in the vector is serialized independently according to its type. +- For basic types like integers or booleans, this means converting each element to its byte representation. +- If the elements are composite types, each element is serialized according to its specific serialization rules. -3. **Concatenation**: - - The serialized outputs of each element are concatenated in the order they appear in the vector. - - Since the length of the vector and the size of each element are known and fixed, no additional metadata (like length prefixes) is needed in the serialized output. +**Concatenation**: +- The serialized outputs of each element are concatenated in the order they appear in the vector. +- Since the length of the vector and the size of each element are known and fixed, no additional metadata (like length prefixes) is needed in the serialized output. **Example:** -For a `Vector[uint64, 3]` with the elements `[256, 512, 768]`, each element is 64 bits or 8 bytes long. The serialization would proceed as follows: +- For a `Vector[uint64, 3]` with the elements `[256, 512, 768]`, each element is 64 bits or 8 bytes long. The serialization would proceed as follows: -1. **Convert Each Integer to Little-Endian Byte Array**: - - `256` as `uint64` becomes `00 01 00 00 00 00 00 00`. - - `512` as `uint64` becomes `00 02 00 00 00 00 00 00`. - - `768` as `uint64` becomes `00 03 00 00 00 00 00 00`. +**Convert Each Integer to Little-Endian Byte Array**: +- `256` as `uint64` becomes `00 01 00 00 00 00 00 00`. +- `512` as `uint64` becomes `00 02 00 00 00 00 00 00`. +- `768` as `uint64` becomes `00 03 00 00 00 00 00 00`. -2. **Concatenate These Byte Arrays**: - - The resulting concatenated byte array will be `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. +**Concatenate These Byte Arrays**: +- The resulting concatenated byte array will be `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. **Serialized Output**: - - `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. +- `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. **SSZ Deserialization for Vectors** @@ -234,44 +217,38 @@ flowchart TD D --> E[Reassemble Elements into Vector] E --> F[Output Deserialized Vector] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class F output; ``` _Figure: SSZ Deserialization for Vectors._ -1. **Fixed-Length Utilization**: - - The deserializer uses the predefined length and type of the vector to parse the serialized data. - - It knows exactly how many bytes each element takes and how many elements are in the vector. +**Fixed-Length Utilization**: +- The deserializer uses the predefined length and type of the vector to parse the serialized data. +- It knows exactly how many bytes each element takes and how many elements are in the vector. -2. **Element Deserialization**: - - The byte stream is split into segments corresponding to the size of each element. - - Each segment is deserialized independently according to the type of elements in the vector. +**Element Deserialization**: +- The byte stream is split into segments corresponding to the size of each element. +- Each segment is deserialized independently according to the type of elements in the vector. -3. **Reconstruction**: - - The elements are reconstructed into their original form (e.g., converting byte arrays back into integers or other specified types). - - These elements are then aggregated to reform the original vector. +**Reconstruction**: +- The elements are reconstructed into their original form (e.g., converting byte arrays back into integers or other specified types). +- These elements are then aggregated to reform the original vector. **Example:** -Given the serialized data for a `Vector[uint64, 3]`: +- Given the serialized data for a `Vector[uint64, 3]` - Serialized Byte Array: `00 01 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00`. -1. **Parse the Data into Segments**: - - Each segment consists of 8 bytes. - - First segment: `00 01 00 00 00 00 00 00` → Represents the integer 256. - - Second segment: `00 02 00 00 00 00 00 00` → Represents the integer 512. - - Third segment: `00 03 00 00 00 00 00 00` → Represents the integer 768. +**Parse the Data into Segments**: +- Each segment consists of 8 bytes. +- First segment: `00 01 00 00 00 00 00 00` → Represents the integer 256. +- Second segment: `00 02 00 00 00 00 00 00` → Represents the integer 512. +- Third segment: `00 03 00 00 00 00 00 00` → Represents the integer 768. -2. **Convert Each Segment from a Little-Endian Byte Array Back to an Integer**: - - Using little-endian format, each byte array is read and converted back into the respective `uint64` integer. +**Convert Each Segment from a Little-Endian Byte Array Back to an Integer**: +- Using little-endian format, each byte array is read and converted back into the respective `uint64` integer. -3. **Reconstruction**: - - The reconstructed vector is `[256, 512, 768]`. +**Reconstruction**: +- The reconstructed vector is `[256, 512, 768]`. We can run and verify it in python like below: @@ -300,29 +277,24 @@ flowchart TD E --> F[Optional: Include Length Metadata] F --> G[Output Serialized List] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E,F process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class G output; ``` _Figure: SSZ Serialization for Lists._ -1. **Define the List**: Lists in SSZ are defined with a specific element type and a maximum length, noted as `List[type, N]`. This definition not only constrains the list's maximum capacity but also informs how elements should be serialized. +**Define the List**: +- Lists in SSZ are defined with a specific element type and a maximum length, noted as `List[type, N]`. This definition not only constrains the list's maximum capacity but also informs how elements should be serialized. -2. **Element Serialization**: - - Each element in the list is serialized based on its type. For `uint64` elements, the serialization process involves converting each integer into a byte array. +**Element Serialization**: +- Each element in the list is serialized based on its type. For `uint64` elements, the serialization process involves converting each integer into a byte array. -3. **Concatenate Serialized Elements**: - - The outputs of the serialized elements are concatenated sequentially. The total length of the serialized data varies depending on the number of elements present at the time of serialization. +**Concatenate Serialized Elements**: +- The outputs of the serialized elements are concatenated sequentially. The total length of the serialized data varies depending on the number of elements present at the time of serialization. -4. **Include Length Metadata (Optional)**: - - Depending on the implementation requirements, the length of the list might be explicitly included at the start of the serialized data to aid in parsing and validation during deserialization. +**Include Length Metadata (Optional)**: +- Depending on the implementation requirements, the length of the list might be explicitly included at the start of the serialized data to aid in parsing and validation during deserialization. -**Example**: -For a `List[uint64, 5]` containing the elements `[1024, 2048, 3072]`, the serialization process would involve: +**Example**: +- For a `List[uint64, 5]` containing the elements `[1024, 2048, 3072]`, the serialization process would involve: - Converting each integer to a byte array in little-endian format: `00 04 00 00 00 00 00 00`, `00 08 00 00 00 00 00 00`, `00 0C 00 00 00 00 00 00`. - Concatenating these arrays results in: `00 04 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 0C 00 00 00 00 00 00`. @@ -336,27 +308,22 @@ flowchart TD D --> E[Reassemble Elements into List] E --> F[Output Deserialized List] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class F output; ``` _Figure: SSZ Deserialization for Lists._ -1. **Receive Serialized Data**: The serialized byte stream for the list is the input, containing sequences of byte arrays for each element. +**Receive Serialized Data**: +- The serialized byte stream for the list is the input, containing sequences of byte arrays for each element. -2. **Parse and Deserialize Each Element**: - - Based on the element type, say `uint64`, parse the serialized stream into 8-byte segments. - - Convert each byte array from little-endian format back into a `uint64`. +**Parse and Deserialize Each Element**: +- Based on the element type, say `uint64`, parse the serialized stream into 8-byte segments. +- Convert each byte array from little-endian format back into a `uint64`. -3. **Reassemble the List**: - - The deserialized elements are reassembled to recreate the original list. +**Reassemble the List**: +- The deserialized elements are reassembled to recreate the original list. -**Example**: -Given the serialized data `00 04 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 0C 00 00 00 00 00 00` for a `List[uint64, 5]`: +**Example**: +- Given the serialized data `00 04 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 0C 00 00 00 00 00 00` for a `List[uint64, 5]` - Split the data into segments of 8 bytes: `00 04 00 00 00 00 00 00`, `00 08 00 00 00 00 00 00`, `00 0C 00 00 00 00 00 00`. - Convert each segment from little-endian to integers: `1024`, `2048`, `3072`. - The reconstructed list is `[1024, 2048, 3072]`. @@ -403,28 +370,22 @@ flowchart TD D --> E[Add Padding if N % 8 != 0] E --> F[Output Serialized Byte Array] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class F output; ``` _Figure: SSZ Serialization for Bitvectors._ -1. **Define the Bitvector**: A bitvector in SSZ is defined by its length `N`, which specifies the number of bits. For example, `Bitvector[256]` means a bitvector that contains 256 bits. +**Define the Bitvector**: +- A bitvector in SSZ is defined by its length `N`, which specifies the number of bits. For example, `Bitvector[256]` means a bitvector that contains 256 bits. -2. **Convert Bits to Bytes**: - - Each bit in the bitvector represents a boolean value, where `0` corresponds to `False` and `1` to `True`. - - These bits are packed into bytes, with the least significant bit (LSB) first within each byte. This means the first bit in the bitvector corresponds to the LSB of the first byte. +**Convert Bits to Bytes**: +- Each bit in the bitvector represents a boolean value, where `0` corresponds to `False` and `1` to `True`. +- These bits are packed into bytes, with the least significant bit (LSB) first within each byte. This means the first bit in the bitvector corresponds to the LSB of the first byte. -3. **Byte Array Formation**: - - The bits are serialized into a byte array by packing 8 bits into each byte until all bits are accounted for. - - If `N` is not a multiple of 8, the last byte will contain fewer than 8 bits of data, padded with zeros at the most significant bit positions. +**Byte Array Formation**: +- The bits are serialized into a byte array by packing 8 bits into each byte until all bits are accounted for. +- If `N` is not a multiple of 8, the last byte will contain fewer than 8 bits of data, padded with zeros at the most significant bit positions. -**Example**: -For a `Bitvector[10]` with the pattern `1011010010`: +**Example**: For a `Bitvector[10]` with the pattern `1011010010`: - The first 8 bits (`10110100`) form the first byte. - The remaining 2 bits (`10`) are padded with six zeros to form the second byte: `10000000`. - The serialized output is `B4 80` in hexadecimal. @@ -441,27 +402,21 @@ flowchart TD F --> G[Reconstruct Bitvector] G --> H[Output Deserialized Bitvector] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E,F,G process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class H output; ``` _Figure: SSZ Deserialization for Bitvectors._ -1. **Read Serialized Byte Array**: Start with a byte array that encodes the bitvector. +**Read Serialized Byte Array**: +- Start with a byte array that encodes the bitvector. -2. **Extract Bits from Bytes**: - - Convert each byte back into bits. Remember, the bits are stored LSB first within each byte. - - If the bitvector's length `N` is not a multiple of 8, discard the extraneous padding bits in the final byte. +**Extract Bits from Bytes**: +- Convert each byte back into bits. Remember, the bits are stored LSB first within each byte. +- If the bitvector's length `N` is not a multiple of 8, discard the extraneous padding bits in the final byte. -3. **Reconstruct the Bitvector**: - - Reassemble the extracted bits into the original bitvector format, adhering to the specified length `N`. +**Reconstruct the Bitvector**: +- Reassemble the extracted bits into the original bitvector format, adhering to the specified length `N`. -**Example**: -Given the serialized data `B4 80` for a `Bitvector[10]`: +**Example**: Given the serialized data `B4 80` for a `Bitvector[10]`: - Convert `B4` (`10110100` in binary) and `80` (`10000000` in binary) back into bits. - Extract the first 10 bits from the binary sequence: `1011010010`. - The reconstructed bitvector is `1011010010`. @@ -500,28 +455,23 @@ flowchart TD D --> E[Pad Final Byte if Necessary] E --> F[Output Serialized Byte Array] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class F output; ``` _Figure: SSZ Serialization for Bitlists._ -1. **Define the Bitlist**: A bitlist is defined by its maximum length `N`, which determines the upper bound of bits that can be included. The actual number of bits, however, can be less than `N`. +**Define the Bitlist**: +- A bitlist is defined by its maximum length `N`, which determines the upper bound of bits that can be included. The actual number of bits, however, can be less than `N`. -2. **Pack Bits into Bytes**: - - Each bit in the bitlist represents a boolean value, where `0` corresponds to `False` and `1` to `True`. - - These bits are serialized into a byte array, packed from the LSB to the MSB within each byte, similar to bitvectors. +**Pack Bits into Bytes**: +- Each bit in the bitlist represents a boolean value, where `0` corresponds to `False` and `1` to `True`. +- These bits are serialized into a byte array, packed from the LSB to the MSB within each byte, similar to bitvectors. -3. **Add Sentinel Bit**: - - To mark the end of the bitlist and distinguish its actual length from its maximum capacity, a sentinel bit (`1`) is added to the end of the bit sequence. This is crucial to ensure that the deserialization process accurately identifies the length of the bitlist. +**Add Sentinel Bit**: +- To mark the end of the bitlist and distinguish its actual length from its maximum capacity, a sentinel bit (`1`) is added to the end of the bit sequence. This is crucial to ensure that the deserialization process accurately identifies the length of the bitlist. -4. **Byte Array Formation and Padding**: - - After including the sentinel bit, the bits are packed into bytes, with any necessary padding applied to the last byte to complete it if the total number of bits (including the sentinel) does not divide evenly by 8. +**Byte Array Formation and Padding**: +- After including the sentinel bit, the bits are packed into bytes, with any necessary padding applied to the last byte to complete it if the total number of bits (including the sentinel) does not divide evenly by 8. **SSZ Deserialization for Bitlists** @@ -535,28 +485,23 @@ flowchart TD E --> F[Reconstruct Original Bitlist] F --> G[Output Deserialized Bitlist] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E,F process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class G output; ``` _Figure: SSZ Deserialization for Bitlists._ -1. **Receive Serialized Byte Array**: Start with the byte array that encodes the bitlist, including the sentinel bit. +**Receive Serialized Byte Array**: +- Start with the byte array that encodes the bitlist, including the sentinel bit. -2. **Extract Bits from Bytes**: - - Convert each byte back into bits, respecting the order (LSB to MSB). - - Continue this process for each byte in the serialized data. +**Extract Bits from Bytes**: +- Convert each byte back into bits, respecting the order (LSB to MSB). +- Continue this process for each byte in the serialized data. -3. **Identify and Remove the Sentinel Bit**: - - As bits are extracted, locate the first `1` (sentinel bit) from the end of the bit sequence to determine the actual end of the bitlist data. - - All bits following the sentinel bit are disregarded as padding. +**Identify and Remove the Sentinel Bit**: +- As bits are extracted, locate the first `1` (sentinel bit) from the end of the bit sequence to determine the actual end of the bitlist data. +- All bits following the sentinel bit are disregarded as padding. -4. **Reconstruct the Bitlist**: - - Reassemble the extracted bits (excluding the sentinel bit and any padding) into the original bitlist format. +**Reconstruct the Bitlist**: +- Reassemble the extracted bits (excluding the sentinel bit and any padding) into the original bitlist format. You can run the encoding of Bitlist like below: @@ -591,27 +536,22 @@ flowchart TD E --> F F --> G[Output Serialized Container] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E,F process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class G output; ``` _Figure: SSZ Serialization for Containers._ -1. **Define the Container**: A container in SSZ is defined by its schema, which specifies the types and order of its fields. This schema is crucial because it dictates how data should be serialized and deserialized. +**Define the Container**: +- A container in SSZ is defined by its schema, which specifies the types and order of its fields. This schema is crucial because it dictates how data should be serialized and deserialized. -2. **Serialize Each Field**: - - Each field in the container is serialized in the order defined by the schema. - - The serialization method for each field depends on its type: - - **Basic types** are converted directly to their byte representations. - - **Composite types** (other containers, lists, vectors) are serialized recursively according to their own rules. +**Serialize Each Field**: +- Each field in the container is serialized in the order defined by the schema. +- The serialization method for each field depends on its type: +- **Basic types** are converted directly to their byte representations. +- **Composite types** (other containers, lists, vectors) are serialized recursively according to their own rules. -3. **Concatenate Serialized Fields**: - - The serialized outputs of all fields are concatenated to form the complete serialized data of the container. - - If a field is of a variable size (like a list or a vector with variable length), its serialized data includes a length prefix or it may use offsets to indicate the start of the data, depending on the specifics of the implementation and type. +**Concatenate Serialized Fields**: +- The serialized outputs of all fields are concatenated to form the complete serialized data of the container. +- If a field is of a variable size (like a list or a vector with variable length), its serialized data includes a length prefix or it may use offsets to indicate the start of the data, depending on the specifics of the implementation and type. **SSZ Deserialization for Containers** @@ -626,32 +566,27 @@ flowchart TD F --> G G --> H[Output Deserialized Container] - classDef startEnd fill:#f9f,stroke:#333,stroke-width:4px; - class A startEnd; - classDef process fill:#ccf,stroke:#f66,stroke-width:2px; - class B,C,D,E,F,G process; - classDef output fill:#cfc,stroke:#393,stroke-width:2px; - class H output; ``` _Figure: SSZ Deserialization for Containers._ -1. **Read Serialized Data**: Begin with the serialized byte stream that represents the container. +**Read Serialized Data**: +- Begin with the serialized byte stream that represents the container. -2. **Parse Serialized Data According to Schema**: - - Based on the container's schema, parse the serialized data into its constituent fields. - - This requires knowing the type and size of each field to correctly extract and deserialize each one. +**Parse Serialized Data According to Schema**: +- Based on the container's schema, parse the serialized data into its constituent fields. +- This requires knowing the type and size of each field to correctly extract and deserialize each one. -3. **Deserialize Each Field**: - - Each field's data is deserialized according to its type. - - Deserialization might involve converting byte arrays back into integers, decoding nested containers, or reconstructing lists and vectors from their serialized forms. +**Deserialize Each Field**: +- Each field's data is deserialized according to its type. +- Deserialization might involve converting byte arrays back into integers, decoding nested containers, or reconstructing lists and vectors from their serialized forms. -4. **Reconstruct the Container**: - - As each field is deserialized, reconstruct the container by placing each field back into its defined position. +**Reconstruct the Container**: +- As each field is deserialized, reconstruct the container by placing each field back into its defined position. **Example**: -Let's delve into the SSZ serialization and deserialization process using the specific example of the `IndexedAttestation` container from the Beacon Chain. This example will outline how complex, nested containers are handled and processed in SSZ, particularly those involving both fixed-size and variable-size data types. +Let's look into the SSZ serialization and deserialization process using the specific example of the `IndexedAttestation` container from the Beacon Chain. This example will outline how complex, nested containers are handled and processed in SSZ, particularly those involving both fixed-size and variable-size data types. The `IndexedAttestation` container looks like this. @@ -706,17 +641,17 @@ Here's the structure: **Serialization Process** - **Serialize Fixed and Variable Components** -The serialization of an `IndexedAttestation` involves serializing each component based on its type: + - The serialization of an `IndexedAttestation` involves serializing each component based on its type: -1. **Serialize Fixed-Size Elements** - - Each fixed-size element (`Slot`, `CommitteeIndex`, `Epoch`, `Root`, `BLSSignature`) is serialized to its corresponding byte format, typically little-endian for numeric types. +- **Serialize Fixed-Size Elements** + - Each fixed-size element (`Slot`, `CommitteeIndex`, `Epoch`, `Root`, `BLSSignature`) is serialized to its corresponding byte format, typically little-endian for numeric types. -2. **Serialize Variable-Size Elements** - - The `List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE]` is serialized by first recording the length of the list followed by the serialized form of each index. - - If a list or another variable-size element is empty or not at maximum capacity, it only consumes the space necessary for the actual data present, plus possibly some length or offset metadata. +- **Serialize Variable-Size Elements** + - The `List[ValidatorIndex, MAX_VALIDATORS_PER_COMMITTEE]` is serialized by first recording the length of the list followed by the serialized form of each index. + - If a list or another variable-size element is empty or not at maximum capacity, it only consumes the space necessary for the actual data present, plus possibly some length or offset metadata. - **Concatenate Serialized Data** -1. All serialized bytes are concatenated in the order specified by the container's structure. Fixed-size fields are directly placed in order, while variable-size fields might include offsets or lengths as part of the serialization. + - All serialized bytes are concatenated in the order specified by the container's structure. Fixed-size fields are directly placed in order, while variable-size fields might include offsets or lengths as part of the serialization. **Example Serialization Output** @@ -765,50 +700,52 @@ c888d8af5dffbbcf53b234ea8e3fde67fbb09120027335ec63cf23f0213cc439e8d1b856c2ddfc1a To clearly explain the serialization process and the structure of the serialized data for the `IndexedAttestation` container in the example, let's break down the serialization into its individual components and understand how each part is represented in the byte stream. This unpacking helps illustrate how the SSZ format manages complex data structures. **Part 1: Fixed Size Elements** -1. **4-byte Offset for Variable Size List (`attesting_indices`)**: - - **Byte Offset**: `00` - - **Value**: `e4000000` - - **Explanation**: This indicates the start of the `attesting_indices` list in the serialized byte stream. The hexadecimal value `e4` converted to decimal is `228`, meaning the list starts at byte `228` from the beginning of the byte stream. - -2. **Slot (uint64)**: - - **Byte Offset**: `04` - - **Value**: `7d022f0000000000` - - **Explanation**: Represents the `slot` field serialized as a 64-bit unsigned integer. The hexadecimal `7d022f00` in little-endian format translates to `3080829` in decimal, which is the slot number. - -3. **Committee Index (uint64)**: - - **Byte Offset**: `0c` - - **Value**: `0900000000000000` - - **Explanation**: This is the `index` field, representing a committee index as a 64-bit unsigned integer. The value `09` indicates committee index `9`. - -4. **Beacon Block Root (Bytes32)**: - - **Byte Offset**: `14` - - **Value**: `4f4250c05956f5c2b87129cf7372f14dd576fc152543bf7042e963196b843fe6` - - **Explanation**: This is a 256-bit hash stored as `Bytes32`, representing the root hash of the beacon block. - -5. **Source Checkpoint Epoch (uint64) and Root (Bytes32)**: - - **Epoch Byte Offset**: `34` - - **Epoch Value**: `1278010000000000` - - **Root Byte Offset**: `3c` - - **Root Value**: `d24639f2e661bc1adcbe7157280776cf76670fff0fee0691f146ab827f4f1ade` - - **Explanation**: The source checkpoint contains an `epoch` (96274) and a `root`. The root is another 256-bit hash. - -6. **Target Checkpoint Epoch (uint64) and Root (Bytes32)**: - - **Epoch Byte Offset**: `5c` - - **Epoch Value**: `1378010000000000` - - **Root Byte Offset**: `64` - - **Root Value**: `9bcd31881817ddeab686f878c8619d664e8bfa4f8948707cba5bc25c8d74915d` - - **Explanation**: Similar to the source, the target checkpoint includes an `epoch` (96275) and a `root`, detailing the intended target of the attestation. - -7. **Signature (BLSSignature/Bytes96)**: - - **Byte Offset**: `84` - - **Value**: Concatenated over several lines due to its length (96 bytes total). - - **Explanation**: This is the cryptographic signature of the attestation, verifying its authenticity. + +**4-byte Offset for Variable Size List (`attesting_indices`)**: +- **Byte Offset**: `00` +- **Value**: `e4000000` +- **Explanation**: This indicates the start of the `attesting_indices` list in the serialized byte stream. The hexadecimal value `e4` converted to decimal is `228`, meaning the list starts at byte `228` from the beginning of the byte stream. + +**Slot (uint64)**: +- **Byte Offset**: `04` +- **Value**: `7d022f0000000000` +- **Explanation**: Represents the `slot` field serialized as a 64-bit unsigned integer. The hexadecimal `7d022f00` in little-endian format translates to `3080829` in decimal, which is the slot number. + +**Committee Index (uint64)**: +- **Byte Offset**: `0c` +- **Value**: `0900000000000000` +- **Explanation**: This is the `index` field, representing a committee index as a 64-bit unsigned integer. The value `09` indicates committee index `9`. + +**Beacon Block Root (Bytes32)**: +- **Byte Offset**: `14` +- **Value**: `4f4250c05956f5c2b87129cf7372f14dd576fc152543bf7042e963196b843fe6` +- **Explanation**: This is a 256-bit hash stored as `Bytes32`, representing the root hash of the beacon block. + +**Source Checkpoint Epoch (uint64) and Root (Bytes32)**: +- **Epoch Byte Offset**: `34` +- **Epoch Value**: `1278010000000000` +- **Root Byte Offset**: `3c` +- **Root Value**: `d24639f2e661bc1adcbe7157280776cf76670fff0fee0691f146ab827f4f1ade` +- **Explanation**: The source checkpoint contains an `epoch` (96274) and a `root`. The root is another 256-bit hash. + +**Target Checkpoint Epoch (uint64) and Root (Bytes32)**: +- **Epoch Byte Offset**: `5c` +- **Epoch Value**: `1378010000000000` +- **Root Byte Offset**: `64` +- **Root Value**: `9bcd31881817ddeab686f878c8619d664e8bfa4f8948707cba5bc25c8d74915d` +- **Explanation**: Similar to the source, the target checkpoint includes an `epoch` (96275) and a `root`, detailing the intended target of the attestation. + +**Signature (BLSSignature/Bytes96)**: +- **Byte Offset**: `84` +- **Value**: Concatenated over several lines due to its length (96 bytes total). +- **Explanation**: This is the cryptographic signature of the attestation, verifying its authenticity. **Part 2: Variable Size Elements** -1. **Attesting Indices (List[uint64, MAX_VALIDATORS_PER_COMMITTEE])**: - - **Byte Offset**: `e4` - - **Value**: `748300000000000066e9000000000000c868010000000000` - - **Explanation**: This represents the list of validator indices who are attesting to the block. It starts from the offset `228` and contains indices such as `33652`, `59750`, and `92360`. + +**Attesting Indices (List[uint64, MAX_VALIDATORS_PER_COMMITTEE])**: +- **Byte Offset**: `e4` +- **Value**: `748300000000000066e9000000000000c868010000000000` +- **Explanation**: This represents the list of validator indices who are attesting to the block. It starts from the offset `228` and contains indices such as `33652`, `59750`, and `92360`. ## Resources diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index f7591c70..1883b5a0 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -81,12 +81,6 @@ graph TD; 7---14(("14")); 7---15(("15")); - classDef root fill:#f96; - classDef proof fill:#bbf; - classDef leaf fill:#faa; - - class 1 root; - class 2,5,8,9 proof; ``` _Figure: Merkle Tree Layout_ diff --git a/wordlist.txt b/wordlist.txt index b17d769b..78f71511 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -5,6 +5,7 @@ accelerometer ACD ACL addons +Aditional aggregative Aleth allowfullscreen @@ -44,7 +45,13 @@ bidpool bilinear bilinearity BIP +bitlist +Bitlist +Bitlists bitrate +bitvector +bitvector's +bitvectors bitwise BLOBHASH blockchain @@ -59,6 +66,7 @@ Bogotá Boneh bool booleans +Booleans bootup borderless BPE @@ -87,6 +95,7 @@ changesets Charmes cli CLRS +CLRS cmd CoC codebase @@ -117,8 +126,9 @@ Cryptopedia cryptosystem cybersecurity Cypherpunks -Daemen D'Amato +Daemen +dafny Dankrad danksharding Danno @@ -135,6 +145,10 @@ delegators deliverables Dencun deployer +deserialization +Deserialize +deserialized +deserializer Desmos dev Devcon @@ -183,6 +197,7 @@ Elmore ELs Encodings Endian +Endian env EOA EOAs @@ -207,19 +222,21 @@ ethresear ethresearch ethroadmap EVM +EVM's evmlab EVMONE -EVM's EVMs excalidraw exchangeTransitionConfigurationV Explainer Extractable +fastssz Feist Femboy Ferrin finalise financials +financials Flashbot's Flashbots Flashboys @@ -249,6 +266,8 @@ getPayloadV getters ghost Gilles +Goeril +Goerli Goerli Golang Goldwasser @@ -334,6 +353,7 @@ LMD Longrightarrow lookahead Lookahead +LSB LST Lua LuaVM @@ -353,7 +373,10 @@ merkelizing merkle Merkle Merkleization +Merkleization Merkleize +Merkleized +Merkleizing MEV mevboost Michaël @@ -369,12 +392,15 @@ Monnot mortem MPC MPT +MSB MSIZE mstore MUL +multiproofs Murr MVE mvepbs +n't Nagu namespace namespaces @@ -389,9 +415,9 @@ Nim NIST NIST's Noam +Noam NOXX NSS -n't Occhipinti Odayan OFAC @@ -419,6 +445,8 @@ PeerDAS Peeters pepc pepc's +performace +performence permissionless permissionlessness PGA @@ -456,6 +484,7 @@ probabilistically programmability proto protobuf +Protolambda prover Prover's Provers @@ -469,6 +498,7 @@ pubsub PUSHX py Pyrmont +Pyrmont Pyspec pytest qubits @@ -510,6 +540,8 @@ SECG secp SELFDESTRUCT Sepolia +serialize +serializer sexualized SHA Shacham @@ -555,6 +587,7 @@ subnets suboptimal subprotocols substack +subtrees Summa systemd Takenobu @@ -563,6 +596,7 @@ tbhl Teku testnet testnets +testnets Tetris textnormal timeframe @@ -588,6 +622,7 @@ TSTORE Tx txpool txs +uint unaggregated Unbundling underbrace @@ -635,39 +670,4 @@ zk zkEVMs ZKSNARK ZKSNARKs -Zksync -CLRS -Endian -Noam -Aditional -Goeril -Goerli -Pyrmont -financials -performace -performence -testnets -Booleans -deserialization -deserialized -LSB -deserializer -serializer -Deserialize -serialize -bitvector -bitvector's -bitvectors -Bitlist -Bitlists -MSB -bitlist -Protolambda -dafny -fastssz -uint -Merkleization -subtrees -multiproofs -Merkleized -Merkleizing \ No newline at end of file +Zksync \ No newline at end of file From eafdf2cdf911de9f73b8ba4006d277d87dc185a0 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 7 May 2024 21:55:34 +0800 Subject: [PATCH 31/33] wordlist conflicts resolved --- wordlist.txt | 72 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 58 insertions(+), 14 deletions(-) diff --git a/wordlist.txt b/wordlist.txt index 78f71511..72b5c076 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -15,10 +15,13 @@ Antonopoulos API api's APIs +APS Arbitrum Aritra ary ASE +Ashish +Asli Assche Assertoor assignees @@ -29,6 +32,7 @@ attester attesters attestors autoplay +AVS backend backfill Bankless @@ -57,6 +61,7 @@ BLOBHASH blockchain blockchain's blockchains +blockquote blockquotes blocksize bloXroute @@ -88,6 +93,7 @@ cdot cdots centralisation centric +Certora chainId Challanges changeset @@ -95,22 +101,26 @@ changesets Charmes cli CLRS -CLRS cmd CoC +Codasip codebase codebases codec CODECOPY codecs coinbase +collateralised +COMIS commoditized Composability composable +computability computable config congestions Consensys +Coq Corbellini CPUs CRS @@ -123,7 +133,10 @@ cryptoeconomics cryptographic cryptographically Cryptopedia +cryptopunks cryptosystem +CSP +curation cybersecurity Cypherpunks D'Amato @@ -133,11 +146,13 @@ Dankrad danksharding Danno Dany +DAO dapp dapps DAS dataset deboost +decrementing DeFi Degatchi delegator @@ -160,6 +175,8 @@ Devs DEX Diffie DILITHIUM +Dimitar +disambiguated Discordo discv distro @@ -174,6 +191,7 @@ DSA dup DVT dx +EAL EB ECADD ECC @@ -197,7 +215,6 @@ Elmore ELs Encodings Endian -Endian env EOA EOAs @@ -215,6 +232,7 @@ ERCs Erigon estimateGas eth +ETHCC Ethereum Ethereum's ethers @@ -234,9 +252,9 @@ fastssz Feist Femboy Ferrin +FFG finalise financials -financials Flashbot's Flashbots Flashboys @@ -248,6 +266,8 @@ FOSS frac frameborder Francesco +Frege +Friedrich frontend fulfillments fullscreen @@ -268,28 +288,33 @@ ghost Gilles Goeril Goerli -Goerli Golang Goldwasser Goomy Goron Gorondan +Gottfried +Gottlob gpg gradle gradlew Grafana Grandine +Grigore Guillaume +hackathon hackmd Hager +halmos HashedStorages Herc’s +hevm hoc Holesky homomorphic +Hopinheimer Hotz Hsiao -HSP Hulsing Hyperledger Hyperplonk @@ -297,19 +322,23 @@ ics IETF iframe ify +Imandra impera implementers incentivize incentivized incentivizes +Incentivizing includable inevitableeth infrastracture Infura init InsertCoin +intermediated intermediation interop +invariants IOP IPC IRTF @@ -326,15 +355,13 @@ keccak Keccak's keecak KEM +KEVM keystore Kira Kleppmann Koblitz Kurtosis -KYBER KZG -KZGCommitment -KZGProof Lamport Lamport's ldots @@ -354,12 +381,15 @@ Longrightarrow lookahead Lookahead LSB +LSM +LSP LST Lua LuaVM Lyubashevsky mainnet Mana +Manas Mário mathbb mdbx @@ -373,10 +403,10 @@ merkelizing merkle Merkle Merkleization -Merkleization Merkleize Merkleized Merkleizing +mev MEV mevboost Michaël @@ -400,6 +430,7 @@ multiproofs Murr MVE mvepbs +MVI n't Nagu namespace @@ -415,9 +446,9 @@ Nim NIST NIST's Noam -Noam NOXX NSS +NYU Occhipinti Odayan OFAC @@ -440,6 +471,7 @@ Parametrizing params Pari Parithosh +Pawel Pectra PeerDAS Peeters @@ -456,6 +488,7 @@ Playdate pmod POC POS +POSIX Potuz's POV PQ @@ -494,14 +527,15 @@ Prysmatic PSE PSE's ptc +publically pubsub PUSHX py Pyrmont -Pyrmont Pyspec pytest qubits +Raa radix rahul RANDAO @@ -517,6 +551,7 @@ Reth Reth's revm rightarrow +Rikard RIPEMD Ritchie rK @@ -525,11 +560,13 @@ roadmap rollup rollup's rollups +ROP RPC RPCs RSA RSA's runtime +Satisfiability scalability scalable schemas @@ -539,9 +576,11 @@ Schwabe SECG secp SELFDESTRUCT +semver Sepolia serialize serializer +Serokell sexualized SHA Shacham @@ -558,10 +597,11 @@ Siddharth Silkwarm Silverman Sipser -slashing +slashable slashings SLOAD smlXL +SMT SNARKify socio solvm @@ -573,6 +613,7 @@ SSLE SSTORE sstorge SSZ +staker stakers Stallman StateDB @@ -596,11 +637,11 @@ tbhl Teku testnet testnets -testnets Tetris textnormal timeframe tinygrad +TLA tldr TLS TODO @@ -622,13 +663,14 @@ TSTORE Tx txpool txs +UI uint unaggregated Unbundling underbrace Unformatted unguessable -unix +unincentivized upstreamed utils UTXOs @@ -664,7 +706,9 @@ Xatu XMSS XORed xy +Yan Yellowpaper +Yoichi Zaverucha zk zkEVMs From 470ba5cae63d1440e70e8124863ff7985f350713 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 7 May 2024 22:04:52 +0800 Subject: [PATCH 32/33] Fixed the sidebar links, removed /docs/ --- docs/_sidebar.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 1e400dc8..47992517 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -37,7 +37,7 @@ - [Transaction anatomy](/wiki/EL/transaction.md) - [JSON-RPC](/wiki/EL/JSON-RPC.md) - [DevP2P](/wiki/EL/devp2p.md) - - [RLP Serialization](/docs/wiki/EL/RLP.md) + - [RLP Serialization](/wiki/EL/RLP.md) - Consensus Layer - [Overview](/wiki/CL/overview.md) - [CL Specs](/wiki/CL/cl-specs.md) @@ -45,8 +45,8 @@ - [CL Clients](/wiki/CL/cl-clients.md) - [Beacon API](/wiki/CL/beacon-api.md) - [CL Networking](/wiki/CL/cl-networking.md) - - [SSZ Serialization](/docs/wiki/CL/SSZ.md) - - [Merkleization](/docs/wiki/CL/merkleization.md) + - [SSZ Serialization](/wiki/CL/SSZ.md) + - [Merkleization](/wiki/CL/merkleization.md) - Development - [Core development](/wiki/dev/core-development.md) - [Coordination](/wiki/dev/pm.md) From ada78ec42b4845968a009e0151e61cfabe7954ad Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Wed, 8 May 2024 09:23:18 +0800 Subject: [PATCH 33/33] wordlist conflicts and duplicates fixed --- docs/wiki/CL/SSZ.md | 7 ++++--- docs/wiki/CL/merkleization.md | 2 +- docs/wiki/research/eODS.md | 4 ++-- docs/wiki/research/roadmap.md | 2 +- wordlist.txt | 15 +++++++++------ 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 9070a9f5..d90ecbbf 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -2,9 +2,9 @@ ## Overview -Simple Serialize (SSZ) is a serialization and [Merkleization](/docs/wiki/CL/merkleization.md) scheme designed specifically for Ethereum's Beacon Chain. SSZ replaces the [RLP serialization](/docs/wiki/EL/RLP.md) used on the execution layer (EL) everywhere across the consensus layer (CL) except the [peer discovery protocol](https://github.com/ethereum/devp2p). Its development and adoption are aimed at enhancing the efficiency, security, and scalability of Ethereum's CL. +Simple Serialize (SSZ) is a serialization and [Merkleization](/wiki/CL/merkleization.md) scheme designed specifically for Ethereum's Beacon Chain. SSZ replaces the [RLP serialization](/wiki/EL/RLP.md) used on the execution layer (EL) everywhere across the consensus layer (CL) except the [peer discovery protocol](https://github.com/ethereum/devp2p). Its development and adoption are aimed at enhancing the efficiency, security, and scalability of Ethereum's CL. -This document is about SSZ Serialization. You can learn more about SSZ merkleization at the [merkleization wiki page](/docs/wiki/CL/merkleization.md). +This document is about SSZ Serialization. You can learn more about SSZ merkleization at the [merkleization wiki page](/wiki/CL/merkleization.md). ## SSZ Tools @@ -13,7 +13,7 @@ There are many tools available for SSZ. Here is a [full list](https://github.com - [py-ssz](https://github.com/ethereum/py-ssz) - [dafny](https://github.com/ConsenSys/eth2.0-dafny) -- [Eth2.py](https://github.com/protolambda/remerkleable) +- [remerkleable](https://github.com/protolambda/remerkleable) - [fastssz](https://github.com/ferranbt/fastssz/) - [rust-ssz](https://github.com/ralexstokes/ssz-rs) @@ -44,6 +44,7 @@ _Table: SSZ VS RLP Comparison by [Piper Merriam](https://twitter.com/pipermerria **Deterministic Serialization**: - **SSZ**: Provides deterministic serialization results, ensuring that the same data structure serializes to the exact same byte sequence every time, which is crucial for consensus reliability. +- **RLP**: RLP also provides deterministic serialization results. For these reasons, there is a strong effort in Ethereum to completely migrate to SSZ serialization for everything and stop the usage of RLP serialization. diff --git a/docs/wiki/CL/merkleization.md b/docs/wiki/CL/merkleization.md index 1883b5a0..47abeb2d 100644 --- a/docs/wiki/CL/merkleization.md +++ b/docs/wiki/CL/merkleization.md @@ -1,6 +1,6 @@ # Merkleization and Hash Tree Roots -In Ethereum consensus mechanism, it's critical for all participating nodes to agree on the state of the system consistently and efficiently. The [Simple Serialize (SSZ)](/docs/wiki/CL/SSZ.md) framework facilitates this through Merkleization, a process that transforms serialized data into a Merkle tree structure. The goal of the Merkleization scheme is to ensure that constrained environments (light clients, execution environments, etc.) can have access to light-weight proofs which they can use to make important decisions. This wiki page discusses the intricacies of Merkleization and its importance in ensuring a shared state across nodes in a scalable and secure manner. +In Ethereum consensus mechanism, it's critical for all participating nodes to agree on the state of the system consistently and efficiently. The [Simple Serialize (SSZ)](/wiki/CL/SSZ.md) framework facilitates this through Merkleization, a process that transforms serialized data into a Merkle tree structure. The goal of the Merkleization scheme is to ensure that constrained environments (light clients, execution environments, etc.) can have access to light-weight proofs which they can use to make important decisions. This wiki page discusses the intricacies of Merkleization and its importance in ensuring a shared state across nodes in a scalable and secure manner. ## Terminology and Methods diff --git a/docs/wiki/research/eODS.md b/docs/wiki/research/eODS.md index 0c1b2674..2bd41fba 100644 --- a/docs/wiki/research/eODS.md +++ b/docs/wiki/research/eODS.md @@ -13,7 +13,7 @@ Principal–Agent problem of liquid staking, in which the interests of the Agent are not aligned with the interests of the Principal, is part of any capital delegation, and even more so present in today's staking ecosystem[^1]. -Since the early days of Beacon Chain, market structures enabling to provide liquidty for staking pools without running an actual validator software have emerged in Ethereum. +Since the early days of Beacon Chain, market structures enabling to provide liquidity for staking pools without running an actual validator software have emerged in Ethereum. Thus, staking has split naturally in two classes of participants, outside protocol level[^2]: | Tier | Current natural separation | Slashing risk | @@ -198,7 +198,7 @@ In order to improve delegate selection powers[^17], we can: * improve voting tools within pools - Under the current paradigm, voting within staking pools is limited to governance token-holders (not ETH holders). There are attempts of Optimistic governance, where ETH holders can veto LSP governance votes, but (paraphrasing Vitalik) token voting is not strong enough, and ultimately any form of unincentivised delegate selection is just a type of token voting. + Under the current paradigm, voting within staking pools is limited to governance token-holders (not ETH holders). There are attempts of Optimistic governance, where ETH holders can veto LSP governance votes, but (paraphrasing Vitalik) token voting is not strong enough, and ultimately any form of unincentivized delegate selection is just a type of token voting. * improve competition between pools diff --git a/docs/wiki/research/roadmap.md b/docs/wiki/research/roadmap.md index 96c3893e..23a6c80f 100644 --- a/docs/wiki/research/roadmap.md +++ b/docs/wiki/research/roadmap.md @@ -28,7 +28,7 @@ Upgrades relating to the switch from proof-of-work to proof-of-stake. The Merge **IMPLEMENTED** | Upgrade | Description | Effect | State of the art | |:------------------------------------ |:---------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------- | -| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof-of-stake consensus mechanism | Beacon Chain was launched as an independent network connected to Ethereum, bootstraping validators in preparation for the Merge. | shipped
EIP-2982[^1] | +| Launch the Beacon Chain | A crucial step in Ethereum's shift to a proof-of-stake consensus mechanism | Beacon Chain was launched as an independent network connected to Ethereum, bootstrapping validators in preparation for the Merge. | shipped
EIP-2982[^1] | | Merge Execution and Consensus Layers | Ethereum's execution layer merged with the Beacon chain (consensus layer) | Proof-of-work activities ceased and the network's consensus mechanism shifted to proof-of-stake. Validators have the role and responsibility for processing the validity of all transactions and proposing blocks | shipped | | Enable Withdrawals | The last of the three-part process of Ethereum's transition to a proof-of-stake consensus mechanism | Validators can add their withdrawal credentials and Beacon Chain sweeps all inactive ETH | shipped
EIP-4895[^2] | diff --git a/wordlist.txt b/wordlist.txt index 3ce1b8b5..f67c6b4b 100644 --- a/wordlist.txt +++ b/wordlist.txt @@ -111,6 +111,7 @@ CODECOPY codecs coinbase collateralised +collateralized COMIS commoditized Composability @@ -139,9 +140,9 @@ CSP curation cybersecurity Cypherpunks +D'Amato Daemen dafny -D'Amato Dankrad danksharding Danno @@ -240,9 +241,9 @@ ethresear ethresearch ethroadmap EVM +EVM's evmlab EVMONE -EVM's EVMs excalidraw exchangeTransitionConfigurationV @@ -269,6 +270,7 @@ Francesco Frege Friedrich frontend +frontrunning fulfillments fullscreen Fullstack @@ -286,7 +288,6 @@ getPayloadV getters ghost Gilles -Goeril Goerli Golang Goldwasser @@ -315,6 +316,7 @@ homomorphic Hopinheimer Hotz Hsiao +HSP Hulsing Hyperledger Hyperplonk @@ -361,6 +363,7 @@ Kira Kleppmann Koblitz Kurtosis +Kyber KZG Lamport Lamport's @@ -431,6 +434,7 @@ Murr MVE mvepbs MVI +n't Nagu namespace namespaces @@ -447,7 +451,6 @@ NIST's Noam NOXX NSS -n't NYU Occhipinti Odayan @@ -477,7 +480,6 @@ PeerDAS Peeters pepc pepc's -performace performence permissionless permissionlessness @@ -543,6 +545,7 @@ Rareskills RB README referrerpolicy +remerkleable repo responder restaking @@ -714,4 +717,4 @@ zk zkEVMs ZKSNARK ZKSNARKs -Zksync +Zksync \ No newline at end of file

jztHhu|UJq?q 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 Date: Tue, 30 Apr 2024 10:31:24 +0800 Subject: [PATCH 05/33] added python commands for SSZ of basic types --- docs/wiki/CL/SSZ.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 0fa4eb03..3b76046c 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -108,7 +108,15 @@ Booleans in SSZ are quite straightforward, with each boolean represented as a si We can run SSZ serialization and deserialization commands using the python Eth2 spec as per the [instructions](https://eth2book.info/capella/appendices/running/) and verify the above byte arrays. -![SSZ Serialization using Eth2 Spec](/docs/images/ssz-basic-types-python.png) +```python +>>> from eth2spec.utils.ssz.ssz_typing import uint64, boolean +>>> uint64(1025).encode_bytes().hex() +'0104000000000000' +>>> boolean(True).encode_bytes().hex() +'01' +>>> boolean(False).encode_bytes().hex() +'00' +``` ## How SSZ Works - Composite Types From 8b39405d8b025e4a493959d7d47a18e3a71aba37 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 10:51:58 +0800 Subject: [PATCH 06/33] added python commands for deserialization of SSZ of basic types --- docs/wiki/CL/SSZ.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/wiki/CL/SSZ.md b/docs/wiki/CL/SSZ.md index 3b76046c..8ed145f1 100644 --- a/docs/wiki/CL/SSZ.md +++ b/docs/wiki/CL/SSZ.md @@ -110,12 +110,21 @@ We can run SSZ serialization and deserialization commands using the python Eth2 ```python >>> from eth2spec.utils.ssz.ssz_typing import uint64, boolean +# Serializing >>> uint64(1025).encode_bytes().hex() '0104000000000000' >>> boolean(True).encode_bytes().hex() '01' >>> boolean(False).encode_bytes().hex() '00' + +# Deserializing +>>> print(uint64.decode_bytes(bytes.fromhex('0104000000000000'))) +1025 +>>> print(boolean.decode_bytes(bytes.fromhex('01'))) +1 +>>> print(boolean.decode_bytes(bytes.fromhex('00'))) +0 ``` @@ -132,4 +141,5 @@ We can run SSZ serialization and deserialization commands using the python Eth2 - [Simple serialize](https://ethereum.org/en/developers/docs/data-structures-and-encoding/ssz/) - [SSZ specs](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md) - [eth2book - SSZ](https://eth2book.info/capella/part2/building_blocks/ssz/#ssz-simple-serialize) -- [Go Lessons from Writing a Serialization Library for Ethereum](https://rauljordan.com/go-lessons-from-writing-a-serialization-library-for-ethereum/) \ No newline at end of file +- [Go Lessons from Writing a Serialization Library for Ethereum](https://rauljordan.com/go-lessons-from-writing-a-serialization-library-for-ethereum/) +- [Interactive SSZ serialiser/deserialiser](https://simpleserialize.com/) \ No newline at end of file From e999d6ef7d4685821123185b6ed0752e7e0d0cc4 Mon Sep 17 00:00:00 2001 From: Nagu Thogiti Date: Tue, 30 Apr 2024 11:55:30 +0800 Subject: [PATCH 07/33] Vectors SS is added --- docs/images/ssz-basic-types-python.png | Bin 247407 -> 0 bytes docs/wiki/CL/SSZ.md | 114 ++++++++++++++++++++++++- wordlist.txt | 4 +- 3 files changed, 115 insertions(+), 3 deletions(-) delete mode 100644 docs/images/ssz-basic-types-python.png diff --git a/docs/images/ssz-basic-types-python.png b/docs/images/ssz-basic-types-python.png deleted file mode 100644 index 6a46e726bfdc2720ab804e2163557652e42ccdfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247407 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