Page 99 - Handbook of Deep Learning in Biomedical Engineering Techniques and Applications
P. 99
Chapter 4 A critical review on using blockchain technology in education domain 87
Block 1
Block 0
Block 2
Block #
Block data 1 Block data 1 Block data 1 Block data 1
Genesis
42345 52635 74565 Nonce
……. ……. ……. …….
00000000 00015…4 000ae5…7 Parent
hash
00015…4 000ae5…7 000b56…4 Block
hash
Block data n 34567 Block data n 43267 Block data n 15372 Block data n Time
stamp
Figure 4.3 Structure of the blockchain.
hash value. Conventionally, the BC uses the secure hash
algorithm (SHA-256) for maintaining integrity. Block
consistency is verified using these hash values. These hash
values cannot be modified without the consensus among
the validators. Hence, this immutable characteristic of BCs
makes the data tamperproof in public BCs. In consortium
BCs, data modifications can lead to publishing modified
hash values into a public BC.
A block is a page of a ledger (Fig. 4.3). Conventionally the size
of a block is 1 MB. It comprises of a block header and a block
body. Block body contains the actual transaction data. The
block header contains the following:
• A block version that indicates rules/protocol supported.
• Block number.
• Timestamp that displays the current universal time.
• Parent block hash, a 256-bit hash value that references the
parent block. The parent block sequentially precedes the
current block.
• Nonce is a 4-byte field. To add the new block to BC, the
miner should identify the nonce value. The process of
finding the nonce value is a difficult and time-consuming
task. As block number, block data and hash of parent block
is known, and nonce value is randomly substituted to
obtain a hash less than the target value. The target value
implies the difficulty level and mandates the hash value
generated to be preceded by “n” number of zeros.
• Genesis block is the first block in the chain that does not
have a precursor (parent). Hence, hash value of its parent
block is set to 0’s.