# Blockchain
Decentralized
# Hashing
- Any input produces random number output.
- One letter difference causes total change in output.
- Output cannot be used to calculate input.
- Same input gives same output.
# SHA256
# Rainbow function
# Simple Blockchain
# Proof of Work
Block 1 is called the genesis block. Genesis block does not have any previous hash to remember. In this case, you can give empty or random value.
The next block tells whether forgery happened or not.
In its simples form, blockchain must be constituted of 'block' (the data) and chain(previous data's hash value). Forgery causes change in all the hash values.
Because modern computers are super fast, we give computers 'homework' in order to make a new block. A condition to be met.
# Nonce
By giving data a temporary value, you can change the hash value. By repeatedly changing this temporary value, you can find when the hash value meets the condition. This temporary value is called the nonce.