Cryptocurrency Basics: What is a blockchain? - FourtyTwo/42 GitHub Wiki
Okay so I've been hearing about this Blockchain stuff, everyone says it's the new world wide web...but what is it exactly?
Okay first of all: Blockchain is cool and all but its wayyyy overhyped. A lot of people are marketing normal basic things but slapping Blockchain on it and being like wooaoaahahh look at this its the fuuuutuureee
No it isn't god damnit.
In simple terms, all a blockchain consists of is a linked list of hashes.
What is a hash?
Well, thats a bit complicated, but a hash is basically the output of plaintext through a hash function. A hash function, such as SHA-256 for example, takes an input, and "hashes" it to be a certain length of characters. The thing is though, you can never know what the origin of any random hash is,
for instance this hash right here: f6952d6eef555ddd87aca66e56b91530222d6e318414816f3ba7cf5bf694bf0f
You don't know what the input of this hash was. No one ever will (unless SHA-256 is broken but if thats the case we have some big problems on our hands).
So lets say you hash the string dog, no matter what you do, if you hash the string dog in SHA256 it will always give out this output: cd6357efdd966de8c0cb2f876cc89ec74ce35f0968e11743987084bd42fb8944
So in short, it basically condenses data into a certain size and it is impossible to know the input of any given sha256 hash unless you yourself know the input for sure.
Still with me here? Okay so the neat thing about hashing is that, it's very easy to verify a hash is a hash, and its very easy to verify that dog SHA256 is cd6357efdd966de8c0cb2f876cc89ec74ce35f0968e11743987084bd42fb8944. But it is impossible to forge a hash to make it look like the "dog" hash.
This is the core at what at blockchain uses to make itself a blockchain, hashes.
So basically a blockchain is a linked list that is linked together via hashes with whatever hash function you please.
But with Cryptocurrencies, they can't accept any old hash, so the cool dude named Satoshi Nakamoto thought of something called Proof Of Work. Basically, a correct hash on the Bitcoin blockchain requires a certain amount of 0's at the beginning of it. Which is hard to find if your manually putting strings in to see if they have enough 0's. It's incredibly hard.
That's why mining exists. Why make the hashes yourself when a computer could do thousands by the seconds? So you see, if someone or a group of people find the certain hash with a certain amount of 0's, its very easy to verify they actually found that hash because they know the input. But, you can't find a random hash with a bunch of 0's off the internet and try to put it into the Bitcoin blockchain unless you know the input.
That is the key element of how blockchain's do their thing: Proof Of Work.
Okay, quick recap, so basically a blockchain is a linked list of hashes that have a certain requirement to be a valid hash (this depends on what coin, in Bitcoin's case it just needs a certain amount of 0's at the beginning), and its easy to verify a hash, but impossible to forge a hash, allowing a Blockchain to have Proof of work and therefor be valid and reputable.
Does that make sense? I hope it did. I'm not the best writer.
Thanks for reading and I hope you learned something! :D