











Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An introduction to Blockchain technology, explaining how it functions as a decentralized and distributed ledger, and how it ensures security through digital signatures. It also covers the implementation of a Blockchain in Java, including the process of mining a block and adding it to the blockchain. Java's reliability, portability, and plugin architecture make it an ideal choice for Blockchain development.
What you will learn
Typology: Summaries
1 / 19
This page cannot be seen from the preview
Don't miss anything!
GROUP 1
The blockchain is a distributed and decentralised ledger that stores data such as transactions, and that is publicly shared across all the nodes of its network.
● (^) Ledger The ledger is the main record holder which holds the list of the block. ● (^) Stores data The block stores the data(information). The data can be anything or of any type, we can think of. Here, we are taking the transactional information as data as an example. ● (^) Distributed and Decentralized Ledger Normally, there is the central machine which is responsible for doing everything with the data. But in the blockchain, there are many machines(so it is not centralised) and all the machines are connected peer to peer with each other. And all those machines are having the same ledger. Hence, the blockchain is distributed and decentralised ledger. In other words, the blockchain is distributed as the ledger itself that is shared with everyone using the same blockchain network. Each one gets the copy of the entire ledger and gets the update when something is added
● (^) In the process, the network decrypts the digital signature using the public key provided and extracts the information from that signature. ● (^) If the original information matches with the information extracted from the signature as shown in the above image, then it approves else it declines. ● (^) If the information does not match, there can be the following cases:
IMPLEMENTING A BLOCKCHAIN IN JAVA Mining a Block We represent a block by a hash value. Generating the hash value of a block is called “mining” the block. Mining a block is typically computationally expensive to do as it serves as the “proof of work”. The hash of a block typically consists of the following data:
Adding a Block into Blockchain While mining a block is computationally expensive, verifying that a block is legitimate is relatively much easier. All nodes in the network participate in verifying a newly mined block. Thus, a newly mined block is added into the blockchain on the consensus of the nodes. Now, there are several consensus protocols available which we can use for verification. The nodes in the network use the same protocol to detect malicious branch of the chain. Hence, a malicious branch even if introduced will soon be rejected by the majority of the nodes.