Easy As Pie, explaining: Blockchains

in #blockchain8 years ago (edited)

Many Steemers are bloggers, writers, artists and so on, they may have heard about things like 'bitcoin' and 'blockchain', but have no clue about what it is. If you are one of those and you want to get it explained in a simplified manor, then this post is addressed to you. And I will do some more in this series: "Easy As Pie, Explaining: ...", like the 'How To' series. This series is mainly aimed at absolute beginners. And the first subject is: Blockchains. So, take a seat, hold on to your chair and read on.

What if you could create a database system that could not be tempered with without destroying the complete integrity of the information it contains. That would be a good way to secure information. But how would that be possible. Because up to a few years ago we would have to put our trust into our fellow humans to handle data for us. Every record of information put into a database could be corrupted by who ever controlles it. And that is still the case in our day to day life. Those who administer certain data are the ones who can even monopolize power over groups of humans. Like banks do with their money system for instance. And we tend not to give it too much thought, it is considered to be 'normal'. And that is due to the way it is presented to us in advertising.

What if you don't meet the demands of the banking system

That might be hard to understand if you grew up in a part of the world where everyone gets their own bank account, almost right away at birth. There are parts of the world though where a lot of people live their lifes without ever being able to register a bank account. And you might almost call them lucky, except that they are often living under bad circumstances, like: extreme poverty, hunger and so on. Now it may come as a suprise to you that the Blockchain technology actually can help these people. As it allready does in some parts of the world where a lot of people actually manage to live without being under 'siege' by the banking money system.

Why do I mention 'the banking controlled money system' in relation to 'the blockchain'? Well, because legend tells us that a certain "Nakamoto Satoshi" invented the blockchain technology somewhere in 2009. And apparanly for being fed up with the power and control the centralized banking system had over all of our lives. So, what if it were possible to give that power back to humanity, free to use for everyone, without a proof of residence, without being a so called 'legal registered citizen'... Satoshi even went as far as to claim it could be done without getting trust from a third party, like banks, governments, companies and so on. And all data would be put on a public ledger, imposible to corrupt parts of it, without the need of recreation of all the previous records in the database.

With computers adjusting a lot of data is easy, but then there is complex mathematics

So, Nakamoto Satoshi had this idea to create a trustless public ledger, that was in effect a decentralized database. And everybody on earth could join in with an internet connection. The software was made Open Source, meaning everybody was free to use it, share it, change it, and sharing it again. In the beginning of this Blockchain technology only a few people used it, as it often happens with new technology. But what did those early adaptors get into? I remember downloading that what was called a 'wallet' and looking at it. "Bitcoin wallet, okay, at zero, but what is the use?", it looked very boring to me back then, so I deinstalled it. That was somewhere in 2010, I think...

And yes, I know, that was not very visionary of me back then, that is why I early adopted Steem(It) ;-)

A database with records of transactions could be shared via the internet by everyone that had the right software to do so. And that software was called 'a Wallet', a digital one. But what could you store in it? Banking system money? Nope, in it you would just store so called 'Bitcoin'. Actually there were no banks involved at all, only others who used it too. And without any governance to control it. Because the data, the transactions, would be secured by mathematics known as cryptography. This would make sure that the information that was recorded into the database could not be corrupted. And Nakamoto Satoshi found a solution inspired in an anti-spam idea called 'Hash Cash' invented in 1997 by Adam Black. This idea introduces us to the concept of Proof Of Work, or POW.

Extremely large numbers, uniquely summerizing data

The reason it is called a blockchain is because the data is stored in blocks that are intertwined with each other. The way this is done is by creating a strong binding through cryptography. When the first data block of a blockchain has been generated, it is called the genesis block. This block is the root of every following block of data. And every next block has the previous one as their root. This is done through summerizing calculations, with the previous result incorporated, this is known as a proces called 'hashing'. A way to interlock all previous blocks with the next one, and so on, and so on. In effect creating a chain of blocks filled with data: the Blockchain.

Now the actuall proces of 'hashing' does only take a jiffy for any computer these days. It is just a bunch of information, that gets summerized, thanks to cryptography, into a unique long sequence of numbers. This can result in very large number. To visualize this, think of multiplying 256 times 256, and repeat that at least 16 times. Or if you want to stress out your calculator: 256^32 (^ means: to the power of) and make it even worse with 256^64. I think you can imagine that it will be hard to give names to these extreme huge numbers. But in cryptography it comes in real handy to use them, even if they are just symbolicly represented by a large string of characters. With the right summerizing technique, known as 'hashing', there is only in theory a chance that different data will result in the same code.

But still, you computer can do that kind of work in a jiffy. It is good a crunching numbers, so what makes a blockchain unique?

Proof Of Work, making it hard to find the puzzle and easy to recreate

Now, there is a way to make sure the blocks of data get chained securely, without any governance. Every block of information has the summerizing code of the previous one, all the way back to the genesis block. And there is a very smart trick to make it safe to trust the information on the complete blockchain. Because 'hashing' blocks of data is very easy for a computer, except when there has to be a certain outcome. This is known as the difficulty to be able to find the right code. Now a summerizing algorythm (known as hashing) will create an apparant random outcome. And to make it harder to compute there is a difficulty added that states that the first few digits of the code should be zero. For this to be possible a counter is added to the data. In effect creating a different outcome every next addition.

This is counter is called a 'nonce' and is the actuall control number after some computer sends the message to the other computers in the network that it has cracked the code. When a Blockchain is created it will be quite easy to find the right solution for the connected computers. And then the first that sends the message to the network will be checked by the rest. This can be done by sharing the nonce and the timecode. This way the other computers do not have to find the nonce and timecode, but simple fill it in and check the claimed solution. If it matches they will send a confirmation to the network, and the block of data will be added by every connected computer.

That proces is called Proof Of Work {POW} and the actuall computer that found the right nonce at the right time gets rewarded by the network. Meaning it can add a certain amount of value to it's own blockchain wallet. And that way any blockchain system can create value, that is visible on the public ledger. That way, every block can have data that states how much value it created. And it can have information about transactions, once a certain amount of value is available in the decentralized network of the blockchain.

Huge numbers make keys possible for endless unique addresses

To make sure the value that a blockchain creates is spread inside the network at a slow pace a timer is being used. Bitcoin uses a 10 minute space between blocks being added to the complete intertwined database. The network adapts to that by raising difficulty if the 'hashing' solutions are being found too fast, as it will lower the amount of zero's needed in front of the code if block times take too long. This all done by very smart programming. And by computers that are voluntairy connected into a huge peer to peer (p2p) network, that comes to consensus every block. Without anybody that uses that computer knowing about who the others are, they don't even need to trust them. The calculations and the smart way of interlocking all data with each other makes it very safe to use. And the longer the chain gets, the harder it is to corrupt.

Now, the first blockchains, like Bitcoin and it's siblings, mainly concentrated on storing transaction information in blocks of data. That was the main purpose of the digital 'Wallet' blockchain. Creating endless amounts of unique addresses linked to a certain owner of cryptographic generated keys, that were inside that wallet, thanks to the extreme long numbers a computer can handle. And to protect these privcate keys these wallets can be locked down with a password. The network computers only know the public addresses and the ones who have the private code of these keys can only control the value connected. That is why the private codes in your wallet better be secured by a password. Anyone with the right private code, will have control over the possible value attached.

Do you think that it is possible to try and get some of those private codes? Then do the math, there are so many possible codes, 256 times 256, repeat that 16 times, for example. That allready gives such a huge number that you would not want to start counting from one to the end of 256 to the power of 16. So, even when every block generates a new private key, that generates a new public address, you'll never run out of them. Or creating the same key and address by accident. In effect this makes the blockchain technology safe to use for data storage of any kind of information.

Any kind of data can be stored on a blockchain database

With you being active at SteemIt you are actually adding information to a blockchain database. The technique used under the hoot is not a bitcoin bases blockchain, but it is called Graphene. And this one is not only able to generate value transactions, called STEEM, but it can store information as well. So the 'Steem on Graphene' blockchain database also contains blocks with text posted at SteemIt dot com.(At an amazing speed of one block every 3 seconds!) And it is secured there for as long as it keeps on going and if the blockchain database is avaible on any computer. Even in the far away future.

So, in effect, because it is a decentralized database where every new piece of information is interlocked by cryptography to the previous one, up to the root, or genenis, block it can be used for any kind of data. Specially when it is done trustless and it can be confirmed, everybody using it can proof for themselves that the information that was locked in there by consensus is the real deal.

And if I managed to explain the basics of the blockchain technology to you, you can probably imagine what impact this technology will have for the near future of humanity.


image cc-by-sa @oaldamster

Sort:  

thanks for all these informations @oldamster I suppose you drink a Kwak to find inspiration ;) It's difficult to understand all mechanism of blockchain and cryptocurrencies
@pickoum

You are welcome @pickoum. The technology behind cryptocurrencies and blockchains can be quite overwelming at first. No good beer can help you there. But after you get it, it is nice to have a Kwak, or La Trappe Quadruppel afterwards. ;-)

Ah. thank you. that does make sense.

You are welcome!
Glad it does.

Glad you appreciate it, thanks!