a node of the network. A transaction is valid if it follows the rules of our protocol (e.g. sufficient funds to send, etc). 4. Block Structure Valid transactions are grouped into blocks with a structure shown in figure 1. Thevalidation and transactions hashes are merkle tree root hashes of the signatures and transaction data included in the block [7]. The state hash, included in the header, is likewise the merkle root hash of the persistent account state (external to the blockchain) after applying the transactions of the block. Finally the block hash is computed by hashing the header, validation, and transactions hashes. This way, the block hash itself is a merkle root hash such that any component of the block and account state can be verified with a merkle hash trail that leads to the block hash. A block is said to be valid if all the transactions in the block are valid and sufficient signatures are included in the validation. Figure 1: Block structure 5. Validators Validators are users with accounts that have coins locked in a bond deposit by posting a bond transaction. These validators participate in the consensus pro- tocol by broadcasting cryptographic signatures, or votes, to agree upon the next block. We say that a validator has voting power equal to the amount of the bonded coins. The validator can later unlock its coins by posting an unbonding transaction. Afterwards the coins remain locked for a predetermined period of time called the unbonding period, after which the validator is free to transfer or spend those coins 3
Tendermint: Consensus without Mining Page 2 Page 4