Serialized Blocks
Under current consensus rules, a block is not valid unless its serialized size is less than or equal to 2 MB. All fields described below are counted towards the serialized size.
Bytes | Name | Data Type | Description |
---|---|---|---|
80 | block header | block_header | The block header in the format described in the block header section. |
Varies | txn_count | compactSize uint | The total number of transactions in this block, including the coinbase transaction. |
Varies | txns | raw transaction | Every transaction in this block, one after another, in raw transaction format. Transactions must appear in the data stream in the same order their TXIDs appeared in the first row of the merkle tree. See the merkle tree section for details. |
Coinbase
The first transaction in a block must be a coinbase transaction which should collect and spend any transaction fee paid by transactions included in this block.
Block Subsidy
Until the coin limit (~18 million Dash) is hit, all blocks are entitled to receive a block subsidy of newly created Dash value. The newly created value should be spent in the coinbase transaction.
The block subsidy declines by ~7.1% per year until all Dash is mined. Subsidy calculations are performed by the Dash Core GetBlockSubsidy() function.
Block Reward
Together, the transaction fees and block subsidy are called the block reward. A coinbase transaction is invalid if it tries to spend more value than is available from the block reward.
The block reward is divided into three parts: miner, masternode, and superblock.
Payee | Subsidy | Description |
---|---|---|
Miner | 45% | Payment for mining |
Masternode | 45% | Payment for masternode services (PrivateSend, InstantSend, Governance, etc.) |
Superblock | 10% | Payment for maintenance/expansion of the ecosystem (Core development, marketing, integration, etc.) |
Updated almost 5 years ago