## 2 Overview of Blockchain Technology
### Blockchain Architecture
#### 2.1.1 Block  
Linear Blockchain  
As evident from Figure 1(a), the genesis/first block is the initial block in the distributed ledger that lacks a parent block. In a linear blockchain, a block fundamentally has two components: the block body and the block header. The version, parent block hash digest, root of the Merkle tree of operations/transactions, timestamp, nonce, and bits constitute the block header [73]. The version includes the most recent iteration of the block validation specifications that may be used to verify the block's validity. The hash digest of the preceding block's header is utilized as the parent block's hash. The root of the Merkle tree is the hash digest of the base of the Merkle tree, formed by the aggregation of the hash values of operations inside the block in a hierarchical manner. The formation of a Merkle tree using operations is described in the next section. The block's moment of birth is recorded by the timestamp, while the nonce is implemented as a counter that increments for every hash computation until the desired hash is found during consensus. Figure 2: Different realizations of blockchains. Bits is an entity depicting the difficulty level of the consensus algorithm. A group of transactions/operations and a transaction/operation counter with a value indicating how many operations/transactions exist within the block constitute the block body. Note that in, a linear blockchain architecture, multiple operations/transactions constitute a block [74]. Different from linear blockchain architecture, DAG blockchain, as shown in Figure 2b, is a DAG consisting of linked operations/transactions. The genesis transaction/operation is the very first transaction to occur on the DAG blockchain. The initial transaction in the IOTA DAG blockchain is empty. Typically, the transactions/operations are not categorized into blocks in the DAG blockchain, in contrast to a block on a linear blockchain, and instead exist as single transactions that are essentially linked and may confirm multiple previous transactions [4]. Indeed, this architecture has a transaction as a block and, thus, does not have the body and header fields found in the block of a linear blockchain. Furthermore, this architecture does not employ a Merkle tree and, therefore, does not need block miners to create and validate blocks. Hence, DAG blockchains have higher scalability and parallelism than linear blockchains [75]. IOTA tangle is one such realization of a DAG blockchain, which is a blockchain of transactions, with each transaction containing transaction hash, signed message, sender or receiver address, obsolete tag, value, timestamp, current index, last index, bundle hash, nonce, references to previous transaction data (trunk transaction hash, branch transaction hash), attachment tag, and attachment timestamp. The operation's/transaction's hash code has been designated as the transaction's hash. The transaction or operation that has been digitally signed and contains both the information regarding the transaction and the digital signature is commonly referred to as the signed message. The obsolete tag is a user-defined tag, while the value contains the amount of cryptocurrency in the transaction. The transaction's timestamp is contained in the moment at which it became connected to the tangle. The bundle's last index is the reference value for the previous transaction/operation, whereas the current index is its reference value for the most recent transaction/operation. The bundle hash contains the hash of value, last index, current index, timestamp, address, and obsolete tag. Nonce is a field used in proof-of-work consensus that is modified until a valid solution is found. References to previous transactions can be multiple, being two (trunk transaction hash and branch transaction hash) in the case of the IOTA DAG blockchain, and varying in other models of the DAG blockchain [76].