@@ -111,14 +111,15 @@ container MAY define multiple serialization formats.
111
111
#### Share Identifiers
112
112
113
113
Share identifiers identify [ share containers] ( #share-containers ) . Identifiers are not collision-resistant and there MAY
114
- be different identifiers referencing the same container.
114
+ be different identifiers referencing the same container. There SHOULD NOT be multiple containers identified by the same
115
+ identifier.
115
116
116
117
Identifiers MAY embed each other to narrow down the scope of needed shares. For example, [ SampleID] ( #sampleid ) embeds
117
118
[ RowID] ( #rowid ) as every sample lay on a particular row.
118
119
119
120
##### Serialization for Share Identifiers
120
121
121
- Share identifiers SHOULD be serialized by concatenating big-endian representations of fields in the order defined by
122
+ Share identifiers MUST be serialized by concatenating big-endian representations of fields in the order defined by
122
123
their respective formatting section. Serialized identifiers SHOULD have constant and predetermined lengths in bytes.
123
124
124
125
#### Versioning
@@ -145,14 +146,14 @@ EdsID {
145
146
146
147
The fields with validity rules that form EdsID are:
147
148
148
- ** Height** : A uint64 representing the chain height with the data square. It MUST be bigger than zero.
149
+ ** Height** : A uint64 representing the chain height with the data square. It MUST be greater than zero.
149
150
150
151
[ Serialized] ( #serialization-for-share-identifiers ) EdsID MUST have a length of 8 bytes.
151
152
152
153
#### Eds Container
153
154
154
- Eds containers encapsulate the [ DataSquare] [ square ] . Internally, they only keep the original data(1st quadrant) of the
155
- EDS with redundant data(2nd, 3rd and 4th quadrants) computable from the original data.
155
+ Eds containers encapsulate the [ DataSquare] [ square ] . Internally, they only keep the original data (1st quadrant) of the
156
+ EDS with redundant data (2nd, 3rd and 4th quadrants) computable from the original data.
156
157
157
158
Eds containers MUST be formatted by serializing ODS left-to-right share-by-share in the row-major order.
158
159
@@ -177,14 +178,14 @@ The fields with validity rules that form RowID are:
177
178
[ ** EdsID** ] ( #edsid ) : A EdsID of the Row Container. It MUST follow [ EdsID] ( #edsid ) formatting and field validity rules.
178
179
179
180
** RowIndex** : An uint16 representing row index points to a particular row. The 16 bit limit fits data squares up to 2TB.
180
- It MUST not exceed the number of Row roots in [ DAH] [ dah ] .
181
+ It MUST not exceed the number of [ DAH] [ dah ] Row roots reduced by one .
181
182
182
183
[ Serialized] ( #serialization-for-share-identifiers ) RowID MUST have a length of 10 bytes.
183
184
184
185
#### Row Container
185
186
186
- Row containers encapsulate the rows of the [ DataSquare] [ square ] . Internally, they only keep the left(original) half of
187
- the row with right(redundant) half recomputable from the left half.
187
+ Row containers encapsulate the rows of the [ DataSquare] [ square ] . Internally, they only keep the left (original) half of
188
+ the row with right (redundant) half recomputable from the left half.
188
189
189
190
Row containers are protobuf formatted using the following proto3 schema:
190
191
@@ -224,7 +225,7 @@ The fields with validity rules that form SampleID are:
224
225
[ ** RowID** ] ( #rowid ) : A RowID of the sample. It MUST follow [ RowID] ( #rowid ) formatting and field validity rules.
225
226
226
227
** ColumnIndex** : A uint16 representing the column index of the sampled share; in other words, the share index in the row.
227
- The 16 bit limit fits data squares up to 2TB. It MUST stay within the number of Column roots in [ DAH] [ dah ] .
228
+ The 16 bit limit fits data squares up to 2TB. It MUST stay within the number of [ DAH] [ dah ] Column roots reduced by one .
228
229
229
230
[ Serialized] ( #serialization-for-share-identifiers ) SampleID MUST have a length of 12 bytes.
230
231
@@ -371,7 +372,7 @@ should be extended whenever any new share identifier or new version of an existi
371
372
| DataID | 0x7821 | 0x7820 |
372
373
373
374
* EdsID and container are excluded from Bitswap composition. Bitswap is limited to messages of size 256kb, while EDSes are
374
- expected to be bigger. Also, its more efficient to parallelize EDS requesting by rows.
375
+ expected to be bigger. Also, it is more efficient to parallelize EDS requesting by rows.
375
376
376
377
## Backwards Compatibility
377
378
0 commit comments