struct Block { BlockHeader header, Transactions[] transactions } struct BlockHeader { SumMerkleRoot sumMerkleRoot, uint2048, RSAAccumulator, RSAInclusionProof RSAChainProof } struct RSAInclusionProof { uint2048 b, uint256 r } struct Transaction { TransactionContent content, Signatures[] signatures } struct TransactionContent { Input[] inputs, Output[] outputs, uint64 maxBlockIndex } struct Input { uint160 owner, uint64 blockIndex, uint32 txIndex, uint8 outputIndex, Segment amount } struct Output { uint160 owner, Segment amount } struct Segment { uint256 begin uint256 end }