So what exactly is a blockchain?
Blockchain is a distributed database that stores information in blocks, what you can
think of as a kind of virtual container for data.
As new data gets added, additional blocks are created.
The blocks are then linked together chronologically to form a sequence of blocks called a chain.
As new information gets added, the chains get longer.
This method of data storage is called nondestructive, meaning old data never gets erased or overwritten
because the previous blocks in the chain remain unchanged.
Each new block that is written contains something called a cryptographic hash, a small mathematical
fingerprint of the blocks that came before it in the chain, making it extremely difficult
to tamper with the data that resides inside the blocks.
One of the things that makes blockchain so powerful is its distributed nature.
Distributed in this case means that data isn't just stored in one centralized database controlled
by a single account or administrator, but across a wide-ranging network of computers
called nodes.
In fact, the capacity for global networking itself is the very core of how blockchain
works.
Modern distributed computer networks began in the late 1960s with ARPANET, a precursor
of the modern internet, which connected computers at research universities out West.
But peer-to-peer networks, which power block train's communication and are so central to
its functionality, are a much more recent invention.
The first well-known peer-to-peer network was Napster, which appeared in the late 1990s.
Napster-- as you probably remember-- allowed users to share music files between their personal
computers.
Each node-- or independent computer on the network-- has the ability to share data with
all of the others without being coordinated by a central computer.
To continue with the music metaphor, peer-to-peer networks that power blockchain are like an
orchestra without a conductor.
Each node is a musician listening to a vast symphony and playing its own music by ear.
Okay, so now we know that block chains organize data in blocks, and we know that blockchains
can use peer-to-peer networks to distribute and store data all over the world.
But how does the blockchain know which nodes have accurate information?
In other words, how does blockchain know what data is authentic?
If any node can modify the chain, what's to stop a malicious node from trying to fool
the rest of the network for its own advantage.
That's a problem called consensus; which is really about maintaining agreement on a network.
Consensus, as it turns out, is a very old kind of challenge, which mathematicians and
computer scientists call the Byzantine General's Problem.
What's an ancient general got to do with blockchain?
Well, sending out messages between multiple parties and making sure they are valid is
a problem that people have been struggling with for thousands of years.
Imagine you want to send out a message to your army that says "Attack at Dawn", but
your message is intercepted and replaced by your enemy with a counterfeit message that
reads "Retreat at Dawn".
If that happens you've got a serious problem on your hands.
On the battle field and in finance, there are a lot of ways things can go wrong.
But here's the headline: blockchain claims to have solved the Byzantine Generals Problem
using unique properties of high speed computer networks and massive number crunching power.
There are a number of different 'Consensus Mechanisms' that blockchains can use to do
this.
But to give you can idea of how consensus works here are some of the broad strokes.
Participants on the blockchain use their computers to simultaneously solve very hard math problems.
When one node successfully solves a math problem, a new problem is generated and all the computers
on the network switch from solving the old problem to solving the new problem.
Solving hard math problems takes time.
But because blockchain keeps full records of al the changes that have occurred, and
nothing is ever thrown away, the sequence of answers combined with the times the answers
were sent out to all the other nodes on the network, allows the entire network to validate
that the data hasn't been tampered with.
We've simplified this view of blockchain; there's a lot of wonky math going on behind
the scenes but if you followed it along so far, you've probably got a pretty good idea
of the general way blockchain creates trust in a distributed network with no single party
in charge.