Entities
The Züs blockchain is structured around key entities that ensure the secure and efficient execution of transactions, state updates, and consensus.
These entities form the foundation of the decentralized storage network, enabling users to interact with the blockchain through transactions while ensuring data integrity, security, and verifiability.
This section provides an overview of the essential blockchain entities, including:
Block Entity: Represents a summary of a finalized block, including its hash, miner information, round details, and cryptographic proofs.
Transaction Entity: Defines how clients interact with smart contracts and other network participants, encapsulating key details such as sender, recipient, transaction type, and cryptographic signatures.
Transaction Confirmation: Validates transaction finality by linking transactions to blocks and providing proof of execution.
Magic Block: Governs network-wide changes by defining the active set of miners and sharders, ensuring continuity and security across view changes.
The Block Entity
Block entity represents the summary of a block from the blockchain.
version
Version of the block. Latest is "1.0".
creation_date
Time when the block is created.
hash
Hash of the block, which represents a SHA256 hash represented in hex string for all the fields of the block concatenated together and separated with :
.
miner_id
The ID of the miner generated the block.
round
Round when the block was generated.
round_random_seed
Seed number used to generate random numbers.
state_changes_count
Count of changes applied on the MPT state.
merkle_tree_root
Current root of the MPT computed from the transactions contained inside the block.
state_hash
Hex hash of the root of the MPT.
receipt_merkle_tree_root
The root of an MPT computed from the transactions of the block.
num_txns
Number of the transactions in the block.
magic_block
Transaction
Transaction represents the format of communication between the clients and the smart contracts, securely and atomically, to execute an operation on their data. It also represents the unit of work and state change in the blockchain, and the main contents of the blocks. Transactions play an important role in any blockchain, by and large.
A transaction in the Züs Network consists of the following:
Transaction Confirmation
After the transaction is selected in a block and the block is finalized, the sharder fires an event to add transaction confirmation, which is then added to the EventDB. For a client to make sure their transaction was successful, or to check the error in case of failure, they need to query the confirmation from the Sharder API.
version
Default is "1.0". Reflects the used version of the schema.
hash
Hash of the transaction, acts as a unique identifier.
block_hash
Hash of the block, acts as a unique identifier.
previous_block_hash
Hash of the previous block, acts as a unique identifier.
txn
miner_id
ID of the miner generated the block contained this transaction.
round
Round when the block contained this transaction was generated.
transaction_status
round_random_seed
Random seed of the round contained this txn.
state_changes_count
merkle_tree_root
Current root of the merkle tree computed from the transactions contained inside the block.
merkle_tree_path
Path of the hash of the transaction in merkle tree of txns.
receipt_merkle_tree_root
The root of a merkle tree computed from the transaction hashes of the block.
receipt_merkle_tree_path
Path of the hash of the transaction in the merkle tree of txn receipts.
Magic Block
Magic Block is an entity that contains meta information and configuration of the blockchain. It's changed during the view change process where it defines the new Active Set (set of miners/sharders contributing to the generation of the blocks in the blockchain) and the new hyper-parameter of the view change process (T, K, N).
Hash
SHA256 Hash of the magic block fields concatenated with each other, in Hexadecimal format.
PreviousMagicBlockHash
The hash of the magic block previous to this magic block.
MagicBlockNumber
The order of this magic block.
StartingRound
Round where this magic block started to be used.
Miners
The set of the miners used in generating the blocks.
Sharders
The set of the sharders used in generating the blocks.
ShareOrSigns
Shares and signs are pieces of information used to build the active set during the phases of the view change process.
Mpks
Set of Miner Public Keys.
T
Threshold of signatures to verify a signature.
K
The threshold of signatures needed for the view change to be successful.
N
The maximum number of miners, n.
Last updated