Bitcoin- I was skeptical hearing this word. But when I understood the crypto graphy behind I realized that this is a quiet revolution in IT. Let’s dig into technical details today. But before going into crypto behind the bitcoin blockchain please imagine exchanging money on the tick with your friends and family.
Sometimes you lend 100$, sometimes you borrow 200$. To keep track of that and square at the end of the month you need a notebook. You probably realize that it should be kept safe. The blockchain technology, which is a bitcoin basis, is this notebook.
It is based on 3 mechanisms:
- a digital signature that will authenticate the transaction parties
- a hashing procedure that will confirm the integrity of data
- a proof of work that will secure the history of all transactions
In detail when you borrow some money you confirm that by signing the data with your digital signature. Anyone could verify that with your public key enclosed in the data itself. But you would like to be sure that no one will tear out the sheet from the notebook or modify your entry in the notebook.
The hash created from data could ensure the above. If we will take into account also the hash from the previous transaction you will create a chain, like pages in the notebook. Altering one page will influence all others after this one. This could be not hard to do unless the hash itself will have specific property which is called proof of work.
Normally hash output from data is pretty much random. If you would like to get a predefined hash (i.e. starting with 10 zeros) then you would need to add to the original data some special number- nonce (number only used once). Finding the right one could only be done by guessing so it takes time to find it. This could take some time (i.e. 10 minutes for millions of computers around the world) and it is called mining.
This mining is done by the whole community so the community stamps each sheet in the notebook. To fake that someone would need to have more computing power than the whole community and stamp a new false sheet faster than the whole community. Also altering the history is impossible as it would require finding all of the hashes with proof of work from some point. So as long as you do not have more than 50% of resources in the network then the notebook with a list of transactions is safe.
It’s worth noticing, that this way of storing the data has lots of use cases that could revolutionalize i.e. an IoT but more on that in the next post.
Do share your views about crypto behind the Bitcoin blockchain in comments.