Hello Folks!
I have started going through blockchain technology and its core working. Since I am in the learning phase,
I would like to publish my readings inhere which would be useful for the fellow readers!
Chapter-I: BLOCKCHAIN - a step by step guide.
Blockchain Technology: - Most commonly it is defined as a decentralized, distributed ledger that records the source of digital assets.
Now this definition is very common but could be complex for new people to understand in one go.
So here is lighter version of the same:
Let us break down the Block-Chain word and understand it.
Block: It basically contains the digital information that originated from the digital source with some input.
Chain: On border scope this is the place where data is stored, a public ledger! i.e. Public database. The chain formed by addition of above blocks one after another. An imaginary chain of blocks would look like something as shown in the below image.
Until now we went through the Blockchain in a border sense. However in the process we have come across different terminology that indeed need to be understood for core learnings. For example, Hash, Genesis block, Digital Signature. Also some of the terms that we will learn furthermore would include Nonce, Nodes, Hash Functions (different types of SHA’s), Merkle Tree & Root etc.
What is Hash?First of all, in easy words it’s an alpha-numeric code. It is of fixed length based on the type of hash function. For example, a SHA-256 will have 64 characters. It will have A-Z or 0-9 characters in its every space from 1
st to 64
th characters.
Thus,
it is a process of generating fixed size output from an input of variable size. This is achieved through a mathematical expression known as Hash Formula. For input validation output has to be the same length all the time to have resistance. Moreover, a useful hash always gives output with different characters.
For example: SHA-256 for
so98nn is BitcoinTalk user is as follows:
814a31e327932a759de8ceae6861544401af2cbdf70310cc3898a45fcedba98e
In the above example, sentence
“so98nn is BitcoinTalk user” is an
Input given while the later is Hash code generated from it. This is unique code and there is a way to generate different code for the same sentence above. However, if you change any single character of the sentence then the whole Hashcode will be different.
For example: SHA-256 for
so98nn in BitcoinTalk user is as follows:
b87b6e2099b132fe873aeec15c34cb2ee4e51da3ed7adf65ca46e513a285c577
Notice that I have just changed the “n” alphabet in the second sentence and thus it has given a completely different hash as compared to the original one. This is why it becomes more unique and integrity of data is maintained with such a complex code generation system.
Create your own Or verify above Hash here :
https://emn178.github.io/online-tools/sha256.html
Most important are
SHA-2 and
SHA-3. In this, you might notice that there is a number followed by the name SHA, those are the
nominators of size of the hash. That means, if I say it's SHA-256 then,
256 is bite size for that hash. Thus, it can’t have more size Or lesser than that.
There could be different types of hash functions as follows:
1) Secure Hashing Algorithm (SHA)
2) RACE Integrity Primitives Evaluation Message Digest (RIPEMD)
3) Message Digest Algorithm-5 (MD-5)
4) BLAKE2
Since the most common hash function that we are using in the world of bitcoin is SHA-2, we should know that there are sub-types such as
SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256.
* I will continue the rest of the learnings afterwards . . .
**Suggest the right board if this one is not correct