Introduction

Introduction


A blockchain is a linear sequence of logical units called blocks.

The blocks of the blockchain are linked chronologically, the first block being the genesis block.

Genesis block

All blocks, with the exception of the genesis block, contain a cryptographic hash of the previous block, with this linking process known as hashcash. This allows verification of block authenticity without downloading the entire block data structure.

Block structure

Each block in the chain starts with a header, containing various metadata, then contains transactions. https://mostbet-azerbaycan-az.com/ These transactions are all claimed to have been generated by a single output from the genesis block at the beginning of time. A transaction in the blockchain is a pair (i, t) that denotes an output (which can be claimed to be sent by i) that was used in the transaction t. The combination of the outputs claimed in a transaction, and the transactions used in a block, make up the blockchain data structure.

Logical structure

Bitcoin block header contents

When a bitcoin transaction was requested the network has a certain amount of time to respond: this is called the tx time. If the tx time is smaller than the block creation time, the transaction fails because it is not yet in the block. The block creation time is defined as the time a valid block is created, i.e. it has at least one transaction, and has the maximum possible size and difficulty. All blocks after the genesis block (block 1) have a difference to the genesis block of less than the tx time. Other than the transaction time, every block also contains four numbers: the previous block hash, the current block hash, the merkle root of this block and the difficulty target of the previous block.

Bitcoin block contents

In the example below, all fields except the output field are the same as in a normal bitcoin block, but the output field is the address of the recipient (payer) of the transaction.

The end of a block contains the same hash of the previous block as the beginning, plus a Merkle root of the block header. Merkle trees are data structures, which can be used for efficient proof of inclusion.

Difficulty, Block size and Block time

The number of blocks that will be created per year, or the time the block will be created, is a random variable controlled by the difficulty. The average time it takes to create a block is 10 minutes. The block is of a fixed size, this

Report Page