Main Block

Main blocks contain a copy of the transaction list, the receipt list, and the recent states. Though this approach is considered to be inefficient due to the necessity to store all receipts and states, it ensures storage of all the aspects and peculiarities of the blockchain work. To address these gaps, it is planned to improve storing methods in the upcoming releases.

The main block contains:

  • Timestamp

  • High

  • Hash

  • Previous block hash

  • Transactions

  • Transfer transactions

  • Reward transactions

  • Delegate transactions

  • Vote transactions

  • States

  • Delegate states

  • Account states

  • Receipts

  • Transactions Merkle Root

  • States Merkle Root

  • Receipts Merkle Root

  • Signature

  • Public key

Block validation algorithm depends on the role of a node. The basic block validation process and participation of each node can be viewed in the table below.

CheckPeerDelegateActive Delegate

Check if the previous block referenced exists and is valid

+

+

+

Check that the block is produced by the correct active delegate

+

+

+

Check that the timestamp of the block is in the correct time slot

+

+

+

Recalculate each transaction hash

+

+

Check each transaction sign

+

+

Smart Contract execution

+

Check transactions Merkle root

+

+

+

Reproduce each receipt

+

Check receipts Merkle root

+

+

+

Reproduce each state

+

Check states Merkle root

+

+

+

Recalculate block hash

+

+

Check block signature

+

+

+

Last updated