위키 구독하기

Share wiki

Block

Wiki Powered byIconIQ
Block

Block

Block is a unit of data in the that contains a list of transactions, among other information, including a timestamp that marks the time of its creation. These transactions are encrypted and must be validated by network participants, commonly known as miners before the block can be added to the blockchain. Once a block is added to the blockchain, it becomes a permanent record, effectively unalterable due to cryptographic security measures. Subsequent transactions are recorded in a new block, initiating the cycle anew.[4][9]

Overview

In any , there are a huge number of transactions occurring every day. These transactions are recorded in units known as "blocks." A block contains the recent data and every time the block is completed, it makes room for a new block on the . The completed block is a permanent record of prior transactions, and new ones are recorded in the current one. As a result, the entire system enters into a loop that permanently saves all data. 
 image
To preserve the transaction history, blocks are strictly ordered, every new block created contains a reference to its parent block, and transactions within blocks are strictly ordered as well. [7]

Except in rare situations, there is consensus among network participants regarding the exact number and history of blocks. Participants work collectively to group live transaction requests into the upcoming block. This collaborative approach is facilitated through a mechanism where each block carries the hash of its preceding block in its header, thereby "chaining" the blocks together. This method preserves the block order and ensures the immutability of the data contained within them.[2]

Components

Blocks are created when miners or block successfully validate the encrypted information in the block header, which prompts the creation of a new block[5]. A block consists of the following two main parts: header and body.
block strc.png

A block's header contains information about the block and the miner. It is further divided into the following:

Previous Block's Hash

This is the hash of the previous block. It chains the blocks together and makes the data in the previous blocks immutable. If data in the previous blocks is changed, then the hash of that block will change causing the unchaining of the .
image

Other Block Header Fields

These fields can vary depending on the different requirements of different . Some of the common fields are as follows:

  • Nonce: This is an integer that a miner changes to change the hash of the block to achieve the network's difficulty. It is a random string of characters.
  • : This is the time at which the block was . It is usually in the Unix time.
  • Difficulty: It is the current difficulty level of the network. It is stored in different formats in every blockchain.
  • Merkel root hash: Hashes pair off transactions until only one hash remains, called a root hash or a Merkel root hash.
  • Block height: The number of blocks between the genesis block and the current block.
  • Block Size: It’s a 4-bytes or 32-bit field that contains the size of the block. It adds size in Bytes. For instance, Block Size: 216 Bytes.
  • : This field contains the amount rewarded to the miner for adding a block of transactions.
  • Tx Count: The transaction counter shows the number of transactions contained by the block. The field has a maximum size of 9 bytes.
    [6]
  • Block Time: Block time is the measure of the time it takes the miners or validators within a network to verify transactions within one block and produce a new block in that  can use different , which, among other factors, affect the time it takes to verify transactions and create new blocks. Each cryptocurrency has a different block time. For instance,  takes around 10 minutes, while  takes around 14 seconds.[10]

Body

The bulk of the block's body is composed of a list of individual transactions that took place in a specific timeframe.[3] Each transaction records the transfer of value (e.g., cryptocurrency transfers, smart contract operations) and contains various details, including:

  • Transaction ID: A unique identifier for each transaction.
  • Inputs: The inputs for the transaction, including details from previous transactions.
  • Outputs: The outputs for the transaction, typically including the recipient address and the transaction amount.[3]

Types

Genesis Block

The is the first block of a blockchain. The first genesis block was mined by in creating and released the idea in public in 2009.

This fundamental block enables the newly formed block to be linked to a previous state. The blockchain can ensure its immutability through this connection. This is because of the usage of the Merkle tree. This enables the association of the block history with a unique hash associated with those blocks.  Any change, no matter how little, inhibits the verification of the Merkle root is accurate, invalidating part or all of the blockchain's history, depending on the scenario. The genesis block is always the foundation block, hence it is also named 'Block 0'.

The genesis block allows network nodes to be synchronized. Synchronization is only feasible when both nodes' databases have the same genesis block. This guarantees that the distributed transaction ledger(DLT) on the is the same for everyone, ensuring security.

Valid Blocks

Valid blocks are all such blocks that have been and added to the blockchain. To get a valid block, each mined block must get network permission and report as a block that has solved the given cryptographic puzzle. When the network reaches , the block is added to the and distributed to all nodes. As a result, every in the network has a new block and acts as a verification point for it. All the operations and transactions that are happening in any are allowed by these blocks.

Each valid block contains a sequence of transactions that are validated together with the block. In , for instance, each legitimate block contains an average of 2100 transactions. As a result, each transaction in the valid block becomes a confirmed transaction. Every valid block added to the blockchain after that continues to confirm earlier transactions. This ensures that every transaction and block on the network is completely safe.

Each valid block comes with a data structure that allows this fact to be confirmed. The hash of the block, the Merkle Root, the , nuncio, the block transaction data, and the are all included in the structure. All of this is set up, such that each piece of information can be publicly confirmed.

Orphan Blocks

Orphan blocks are the blocks that are not part of the . These are generally generated by two miners mixing blocks at almost the same time, but they can also be caused by an attacker with enough computational power with the intention of reversing any transaction. These separate blocks that are produced, create a temporary . The network consensus procedure is invoked at this point to determine which blocks will be verified and which will be orphaned. Usually, the longest blockchain that contains the most amount of transactions and information will generally be decided on, making the security process very simple.

On scanning, the will detect which block between the original and the duplicate one will have more information and will choose the original one, thus ruining the game of the hacker. Therefore, the block that is not selected is the Orphan block. The network's keep the system network safe from such hacks. Block explorers can track orphan blocks. 
[8][11]

See something wrong?

편집자

Profile picture of Anonymous uservzbrv

편집 날짜

December 14, 2023

참고 문헌.

[1]

blocks of a blockchain

Jul 27, 2023

[2]

hash of a block

Jul 27, 2023

[3]

main components of a block

Jul 27, 2023

[4]

blockchain block

Jul 27, 2023

[5]

creation of a block

Jul 27, 2023

[6]

elements of a block

Jul 27, 2023

[7]

working of a block

Jul 27, 2023

[8]

types of blocks in different blockchains

Jul 27, 2023

[9]

blocks

Jul 27, 2023

[10]

block time

Jul 27, 2023

[11]

types

Jul 27, 2023