Skip to content

Commit

Permalink
feat!: max namespace version for tail padding (#1618)
Browse files Browse the repository at this point in the history
Closes #1610
  • Loading branch information
rootulp authored Apr 19, 2023
1 parent d88adf7 commit b36035f
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 24 deletions.
2 changes: 1 addition & 1 deletion pkg/da/data_availability_header_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func TestNilDataAvailabilityHeaderHashDoesntCrash(t *testing.T) {

func TestMinDataAvailabilityHeader(t *testing.T) {
dah := MinDataAvailabilityHeader()
expectedHash := []byte{0xd3, 0x27, 0xf4, 0x4e, 0x52, 0x55, 0x21, 0xa6, 0x1b, 0x83, 0x65, 0x20, 0xd1, 0x96, 0xa2, 0xd2, 0x2c, 0x1d, 0x48, 0x67, 0xdb, 0xde, 0x3b, 0x1, 0xb, 0xfb, 0xa0, 0xef, 0x76, 0xed, 0x30, 0x27}
expectedHash := []byte{0xe9, 0x5, 0x28, 0x49, 0xf, 0x1d, 0x51, 0x67, 0x29, 0x2c, 0x1f, 0x1b, 0x83, 0xe1, 0x74, 0x2a, 0x27, 0x48, 0x17, 0x34, 0x12, 0xc9, 0x1d, 0xf7, 0xdd, 0x1, 0x96, 0x78, 0xa4, 0x62, 0xb9, 0x77}
require.Equal(t, expectedHash, dah.hash)
require.NoError(t, dah.ValidateBasic())
}
Expand Down
8 changes: 7 additions & 1 deletion pkg/namespace/consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ const (
// NamespaceVersionZero is the first namespace version.
NamespaceVersionZero = uint8(0)

// NamespaceVersionMax is the max namespace version.
NamespaceVersionMax = math.MaxUint8

// NamespaceZeroPrefixSize is the number of `0` bytes that are prefixed to
// namespace IDs for version 0.
NamespaceVersionZeroPrefixSize = 22
Expand Down Expand Up @@ -54,7 +57,10 @@ var (

// TailPaddingNamespace is the namespace reserved for tail padding. All data
// with this namespace will be ignored.
TailPaddingNamespace = MustNewV0([]byte{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE})
TailPaddingNamespace = Namespace{
Version: math.MaxUint8,
ID: append(bytes.Repeat([]byte{0xFF}, NamespaceIDSize-1), 0xFE),
}

// ParitySharesNamespace is the namespace reserved for erasure coded data.
ParitySharesNamespace = Namespace{
Expand Down
2 changes: 1 addition & 1 deletion pkg/namespace/namespace.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func (n Namespace) ValidateBlobNamespace() error {

// validateVersion returns an error if the version is not supported.
func validateVersion(version uint8) error {
if version != NamespaceVersionZero {
if version != NamespaceVersionZero && version != NamespaceVersionMax {
return fmt.Errorf("unsupported namespace version %v", version)
}
return nil
Expand Down
10 changes: 10 additions & 0 deletions pkg/namespace/namespace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ func TestFrom(t *testing.T) {
validNamespace = append(validNamespace, NamespaceVersionZero)
validNamespace = append(validNamespace, NamespaceVersionZeroPrefix...)
validNamespace = append(validNamespace, bytes.Repeat([]byte{0x1}, NamespaceVersionZeroIDSize)...)
parityNamespace := bytes.Repeat([]byte{0xFF}, NamespaceSize)

testCases := []testCase{
{
Expand All @@ -95,6 +96,15 @@ func TestFrom(t *testing.T) {
ID: validID,
},
},
{
name: "parity namespace",
bytes: parityNamespace,
wantErr: false,
want: Namespace{
Version: NamespaceVersionMax,
ID: bytes.Repeat([]byte{0xFF}, NamespaceIDSize),
},
},
{
name: "unsupported version",
bytes: append([]byte{1}, append(NamespaceVersionZeroPrefix, bytes.Repeat([]byte{1}, NamespaceSize-len(NamespaceVersionZeroPrefix))...)...),
Expand Down
38 changes: 19 additions & 19 deletions pkg/shares/testdata/sample-block.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,38 @@
"version": {
"block": 11
},
"chain_id": "chain-id",
"chain_id": "private",
"height": 4,
"time": "2023-03-23T12:49:31.78555Z",
"time": "2023-04-11T20:52:54.923092Z",
"last_block_id": {
"hash": "mRqOqSpJTqv+V5SjYEUOoxBxvkans7lj5s8gr12k3Bo=",
"hash": "TLPtmfe84IKmiOU8K45MwPawkYq9XAx8KIYdQltNNXs=",
"part_set_header": {
"total": 1,
"hash": "j2YxQ+wkIpAVmzcqG4lU0/ZbKYGR4RUhuKWuv/3boEA="
"hash": "7HS0mrbP9UNbYk2YMkA8oigEvHEErzs3rC0i1RkloUY="
}
},
"last_commit_hash": "3tTkix7HzMr5ID5ekSxhwCsTAAN3IK+7GnbnYOj0UEE=",
"data_hash": "tC5XNbd9ANciu0qE2pebT3s4sydVdb+VFrRTou9ErBE=",
"validators_hash": "8nqqGWNNJLCwvgNQLsSuXQ3A5u6Y2cS/uz6C9iSAtOY=",
"next_validators_hash": "8nqqGWNNJLCwvgNQLsSuXQ3A5u6Y2cS/uz6C9iSAtOY=",
"last_commit_hash": "DTjLVpzuBBOdujbAcw8nnQ4ACGxXwt7JJ0u4FiBGcGk=",
"data_hash": "ecqvIuCjhlW76pE31tEJcRhohEODd3lo9YBNaza8HGg=",
"validators_hash": "T46pWC4iIg0DjiF1DpCCv4UVlqcP2piZ7+/Is/cLRPo=",
"next_validators_hash": "T46pWC4iIg0DjiF1DpCCv4UVlqcP2piZ7+/Is/cLRPo=",
"consensus_hash": "BICRvH3cKD93v7+R1zxE2ljD34qcvIZ0Bdi389qtoi8=",
"app_hash": "g03475/dZuJhSL1URJaXf8DHCA1mseDbp6DMuQAdq1Q=",
"app_hash": "hYTcK/JXCrBCS9C6gfDzYdBnx2dV3cTty21r1a+AbPA=",
"last_results_hash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
"evidence_hash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=",
"proposer_address": "7+lzX15H/Muj8dwKyvuqxYKn8l4="
"proposer_address": "8TeEky8GnBxKq/c2jmFemTVQCy0="
},
"data": {
"txs": [
"CsUCCqQBCqEBCiAvY2VsZXN0aWEuYmxvYi52MS5Nc2dQYXlGb3JCbG9icxJ9Ci9jZWxlc3RpYTF6eGVxeGVzZHF2bHFheG05ejd3YXR5cThyeHlrczJzZ3QzN21ydxIhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5PHmyRGvmt2mJGgKSGiIgYu5LAMTYu2MDopPcno77XTZq1JpVEOGH2GunsOed185CAQASWgpOCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohA6MujiyFeEMxcYO/DUma7R3gvAdVuxP3ngIA9uLF3ptjEgQKAggBEggQgIDpg7HeFhpArslWZvrjV7xcurv5aVqQh50k4Gl/XpdIPQkdtI/LbTpFwy60RlO7s4XqgEqq6ltJDDCQyW3bVvgm2gavID9/MhIBBBoESU5EWA=="
"CsUCCqQBCqEBCiAvY2VsZXN0aWEuYmxvYi52MS5Nc2dQYXlGb3JCbG9icxJ9Ci9jZWxlc3RpYTFuY3Y3bGh4NDRndnR5NmdmOGMzZjVoeTJneWx2NGRhOW4yZ3ZmMxIhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh/+2uFQ/iYjVRGgKSGiIgmcwTeaaECDCWTmNHehI5AtEkDFkxYs8YT/63si4foiVCAQASWgpOCkYKHy9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkSIwohA1ja+jKt+kagxAbHlZx4wzHALPC0YPqCn1DlHH6FHSpAEgQKAggBEggQgIDpg7HeFhpAc2aRvS1W7s5XPCEuekN8Tbt5i33u4pZYSIfb7rQuD4dp+H7FRePT2MXdNYmFx5IZtizLchyJ/UG+0EdySwNnvhIBBBoESU5EWA=="
],
"blobs": [
{
"namespace_id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAALk8ebJEa+a3aYk=",
"data": "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"
"namespace_id": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOH/7a4VD+JiNVE=",
"data": "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"
}
],
"square_size": 4,
"hash": "tC5XNbd9ANciu0qE2pebT3s4sydVdb+VFrRTou9ErBE="
"hash": "ecqvIuCjhlW76pE31tEJcRhohEODd3lo9YBNaza8HGg="
},
"evidence": {
"evidence": [
Expand All @@ -44,18 +44,18 @@
"last_commit": {
"height": 3,
"block_id": {
"hash": "mRqOqSpJTqv+V5SjYEUOoxBxvkans7lj5s8gr12k3Bo=",
"hash": "TLPtmfe84IKmiOU8K45MwPawkYq9XAx8KIYdQltNNXs=",
"part_set_header": {
"total": 1,
"hash": "j2YxQ+wkIpAVmzcqG4lU0/ZbKYGR4RUhuKWuv/3boEA="
"hash": "7HS0mrbP9UNbYk2YMkA8oigEvHEErzs3rC0i1RkloUY="
}
},
"signatures": [
{
"block_id_flag": 2,
"validator_address": "7+lzX15H/Muj8dwKyvuqxYKn8l4=",
"timestamp": "2023-03-23T12:49:31.78555Z",
"signature": "4pylZWV2g1j1o9C63G0mqHe/fGP2iJG8i3PhZNNuTTBJITVSKl5dVewyYa500tvwszUpsLBFh6QpAy+E767YAQ=="
"validator_address": "8TeEky8GnBxKq/c2jmFemTVQCy0=",
"timestamp": "2023-04-11T20:52:54.923092Z",
"signature": "1Z3NmDMQU1B5dhSkxdv7xQNF0/n/q3dn+qlHlVBGcXEI3AZ1z4Kua9f+vKOwP3RacsEuGggD90rEbhpN6IqmBA=="
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion specs/src/specs/consensus.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
| `INTERMEDIATE_STATE_ROOT_NAMESPACE` | `Namespace` | `0x000000000000000000000000000000000000000000000000000000000000000002` | Intermediate state roots, committed after every transaction. |
| `RESERVED_PADDING_NAMESPACE` | `Namespace` | `0x0000000000000000000000000000000000000000000000000000000000000000FF` | Padding after all reserved namespaces but before blobs. |
| `MAX_RESERVED_NAMESPACE` | `Namespace` | `0x0000000000000000000000000000000000000000000000000000000000000000FF` | Max reserved namespace is lexicographically the largest namespace that is reserved for protocol use. |
| `TAIL_PADDING_NAMESPACE` | `Namespace` | `0x00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFE` | Tail padding for blobs: padding after all messages to fill up the original data square. |
| `TAIL_PADDING_NAMESPACE` | `Namespace` | `0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE` | Tail padding for blobs: padding after all blobs to fill up the original data square. |
| `PARITY_SHARE_NAMESPACE` | `Namespace` | `0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF` | Parity shares: extended shares in the available data matrix. |

### Rewards and Penalties
Expand Down
2 changes: 1 addition & 1 deletion x/blob/types/payforblob_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ func TestValidateBasic(t *testing.T) {
{
name: "parity shares namespace id",
msg: paritySharesMsg,
wantErr: ErrInvalidNamespace,
wantErr: ErrParitySharesNamespace,
},
{
name: "tail padding namespace id",
Expand Down

0 comments on commit b36035f

Please sign in to comment.