Implementation of Blockchain in Java
Blockchain is the backbone Technology of Digital CryptoCurrency BitCoin.
- A Blockchain is a list of records called blocks that are linked together using linked lists and use the cryptographic technique.
- Each block contains its own digital fingerprint called Hash, the hash of the previous block, a timestamp and the data of the transaction made, making it more secure towards any kind of data breach.
- Therefore, if the data of one block is changed then its hash will also change. If the hash is changed, then its hash will be different from the next block that contains the hash of the previous block affecting all the hashes of the blocks after it. Changing of the hashes and then comparing it with other blocks allows us to check the blockchain.
Implementation of the Blockchain: The following are the functions used in the implementation of the blockchain.
- Creating Blocks: To create a block, a Block class is implemented. In the class Block:
- hash will contain the hash of the block and
- previousHash will contain the hash of the previous block.
- String data is used to store the data of the block and
- “long timeStamp” is used to store the timestamp of the block. Here long data type is used to store the number of milliseconds.
- calculateHash() to generate the hash
Below is the implementation of the class block:
- Generating Hashes: To generate hash, SHA256 algorithm is used.
Below is the implementation of the algorithm.
- Storing the blocks: Now, let us store the blocks in the ArrayList of Block type, along with their hash values by calling the constructor of the Block Class.
- Blockchain Validity: Finally, we need to check the validity of the BlockChain by creating a boolean method to check the validity. This method will be implemented in the “Main” class and checks whether the hash is equal to the calculated hash or not. If all the hashes are equal to the calculated hashes, then the block is valid.
Below is the implementation of the validity:
Advantages of the Blockchain:
- Blockchain is a distributed network of systems. Therefore, data breaches are very difficult to be carried out.
- Since, Blockchain generated hashes of each block, therefore, it is very difficult to carry out malicious attacks.
- Data Tampering will change the hash of each block which will make the blockchain invalid
My Personal Notes arrow_drop_up
Please Login to comment...