Data

Introduction

This document specifies the data format for the generic data transmitted in Marlin Network without erasure coding.

Data Format

Witness Format

| stakeOffset |  timestamp  |  Chunk Hash  |  Witness Signature |
 <- 4 Bytes -> <- 4 Bytes -> <- 32 Bytes -> <---- 65 Bytes ---->

Witness Wire Format

| stakeOffset |  timestamp  | Witness Signature |
<- 4 Bytes  -> <- 4 Bytes -> <--- 65 Bytes --->

Assuming a message size of 500 bytes and 100000 Tx/sec with 1 min stake refresh times, the size of messages can be sent in a minute is 3 GB. 4*10^9 stake portions can be created hence the stakeoffset size of 4 bytes.

Attestation Format


|  Message Id |  Channel Id |  Timestamp  | MessageSize | StakeOffset |  Chunk Hash  | Attestation Signature |
 <- 4 Bytes -> <- 2 Bytes -> <- 4 Bytes -> <- 4 Bytes -> <- 4 Bytes -> <- 32 Bytes -> <------ 65 Bytes ----->

Attestation Wire Format

| Message Id | Channel Id |  Timestamp | StakeOffset | Attestation Signature |   Chunk   |
 <- 4 Byte -> <- 2 Byte -> <- 4 Byte -> <- 4 Bytes -> <----- 65 Bytes ------> <-X Bytes->