Blocks
Last updated
Last updated
Blocks on Circular have a header that collects information about their content. The blocks have :
BlockID (or Block Height)
Previous block hash
Logic timestamp of when it was minted
Nonce
Node ID
Node Signature
Block Hash (or Merkle Root)
Unlike traditional blockchain infrastructures that use a Merkle tree to hash all the different transactions, Circular's block has a single hash per transaction.
The hash is calculated as the hash of the transaction plus the block header itself, the same level of security of a Merkle tree at the cost of a smaller set of data and faster execution.
The node that executes the block minting receives the collection of the Priority Fees (if any) associated with each transaction in the block and a Mining Reward.
The Priority Fee is an optional fee that users can decide to pay to speedup the processing of a transaction.
On Circular there is no fixed block size and two consecutive blocks could have different size depending from the machine that is minting the block and other variables.
The blocksize is a dynamic variable and is controlled in real time to maximize the overall architecture performance.
Circular's entire blockchains are saved on the nodes in three different modes depending on the software version and the computing device:
Simple JSON formatted files (one per block)
Binary files (one per block)
Local SQL DB.
Edge blockchain backups implemented on DB/Cloud infrastructures can be used to speed up search procedures instead of relying on nodes. The Maximum Number of transactions per block is a configurable parameter and is dynamically assigned depending on the traffic volume and overall network performance.