Block Structure

Comparison of TL-B Schemas in TON and Tycho

Tycho maintains compatibility with the TON ecosystem at the cell and TVM levels, but introduces several targeted changes to the block format and network configuration parameters.

These modifications are designed to make the consensus and collator pipeline more efficient. In particular, Tycho provides:

  • higher-precision timestamps,

  • additional metadata about message queue processing progress.

The practical implication is important:

A parser that strictly expects the canonical TON schemas from block.tlbarrow-up-right will not correctly decode a Tycho block.

Tycho changes constructors and adds new fields, therefore blocks must be parsed using Tycho TL-B schemas and a parser that explicitly supports them.


TL-B Schema Differences

BlockInfo changes

Tycho adds millisecond precision to the block generation time.

-block_info#9bc7a987 ... shard:ShardIdent gen_utime:uint32 start_lt:uint64 end_lt:uint64 ... = BlockInfo;
+block_info_tycho#9bc7a988 ... shard:ShardIdent gen_utime:uint32 gen_utime_ms:uint16 start_lt:uint64 end_lt:uint64 ... = BlockInfo;

Block changes

Tycho replaces the Block constructor and introduces a separate structure describing outgoing message queue updates.


ShardDescr changes

Tycho modifies the constructor and extends fields related to message processing progress tracking.


ShardState changes

Tycho updates the ShardStateUnsplit constructor and replaces the outgoing message queue structure with a detailed processing progress structure. Tycho also adds millisecond-level timestamps inside the shard state.


McStateExtra and consensus data changes

Tycho updates the masterchain_state_extra . The flags range is extended and an optional consensus_info field appears:


CatchainConfig data changes

Tycho change of ConfigParam 28 change. Instead of CatchainConfig, CollationConfig is introduced with the collation_config_tycho and collation_config_tycho_v2 schemas.


ConsensusConfig data changes

Tycho change of ConfigParam 29 change. The consensus_config_tycho schema is used for ConsensusConfig.


block.tlb full diff

Last updated