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.
   94   95   96   97   98   99   100   101   102   103   104