A Blockchain
is simply a distributed database
which is managed by a peer-to-peer network
whichfollows a particular protocol
to validate the addition of new blocks into the database.
A Blockchain database
is used to store and maintain a list of records known as blocks
, the list of records or blocks continue to grow as more and more blocks are validated and added to the blockchain
.
Current popular databases are either relational
like MySQL
or non relational
like MongoDB
among others. A blockchain database lacks the features found in both
and you can simply think of it as just a database.
Twitter for example uses MySQL
and this restricts the storage of data / records to one or several servers and is private
and not open to the public.
Twitter users are not able to view their records or twitter records in public
and they are only viewable by Twitter
and they as a company / product only show what they want their users / public to see on an interface and hide everything else
.
Since a blockchain database
is distributed and managed by a peer-to-peer network
, it is public and is similar to the way torrents work
.
When you download a torrent and start torrenting, your torrent client or torrent software will download the torrent file(s) from a peer-to-peer network
so bits and pieces are fetched from different users who are currently online on their laptops / desktop
and have the complete file
in their storage and have their torrent client / software opened.
If one user decides to turn off their laptop / desktop
before your download finishes, your torrent software will just fetch the file(s) being downloaded, from different machines which are online and available and have the complete file, hence the actual file(s) is never lost
unless every single user on the network decides to delete it from their machines.
In that scenario of the torrent world, there is no single point of failure
, if one user decides to delete the file or if a machine crashes, the file(s) will still be available in the network for you to download from other machines / users and that is one of the reasons why a blockchain database is secure
since it is distributed.
If I downloaded the Bitcoin core / network today and deleted it,it would not affect the Bitcoin network and it would still be present in different nodes / computers.
This makes blockchain databases
suitable for storing critical records such as medical records, transaction records etc.
The first blockchain was brought into life by Satoshi Nakamoto
though the first publication of the concept / idea of cryptocurrency existed beforehand in 1991
by Stuart Haber and W. Scott Stornetta.
Satoshi published his paper in 2008.
Satoshi created a blockchain as the core component
of the digital currency Bitcoin
to create a public ledger which stores all transactions and make them available and visible to the public
and not controlled / monitored by a single / centralized party.
(Like in the Twitter example, though in this case you can use Visa as the example).
Incase I was wrong about anything above, comment below as I'm learning as well, leave an up-vote if you liked the article!
The torrent metaphor is appropriate.