The Blockchain For Dummies Guide — Part 4
RECAP: In Part 3, we dove into some cryptography basics and how cryptography combines with blockchain to give us some assurances about the state of our blockchain ledger. All well and good, but what’s it useful for? What can we do with blockchain that we can’t with a regular database?
So going back to our General’s problem, we now have a way that our general’s can reach an agreement, they can tell they’ve reached an agreement, and they can be sure about both of those facts. When we have this golden trinity in a distributed system, its known as Byzantine Fault Tolerance (BFT).
NOTE: The graphic I used with Legos shows only two generals only for lack of a better image, but in order for a system to be truly byzantine fault tolerance it would need to have at least at least three generals or nodes so that a network consensus could be reached. Having only two generals, a system provably can never reach a definite consensus, just to clarify.
This brings us into an important point about byzantine fault tolerance, which is that we can only guarantee byzantine fault tolerance if 2/3 of the network are acting honestly and are not faulty (each general’s message actually gets through).
In a situation where, more than 1/3 of the network is either malicious or faulty, we lose the ability to reach consensus completely. Therefore, the more nodes (generals) there are in a BFT system, the harder it is to corrupt.
Okay, so we’re tossing around some pretty advanced concepts like Byzantine Fault Tolerance, we’ve got cryptography, and a database where data is all linked together, but the obvious question remains:
Who cares? What can we use all this for?
The True Power of Blockchain
So bringing all this stuff together, blockchain provides us with a few very distinctive advantages that we couldn’t achieve with a regular database. With blockchain, we get authenticity, non-repudiation, and immutability — when taken together, these three advantages can allow us to track the movement of real things such as property, currency, and other assets.
Say what?
Let’s break these down.
Authenticity
First, blockchain gives us the ability to track the authenticity of data. In our Caesar Cipher example and our shift-1 algorithm (remember “hello:gdkkn”), if we get a little more creative with our cryptography (using what’s called asymmetric cryptography), we’re able to track that message distinctly.
In other words, if someone else later on sent the same exact message of “hello:gdkkn” to our blockchain, we’d have a way of uniquely identifying the first message from the second message, even though the message content is the same. We could even go as far as telling who sent each one.
This becomes important because if we’re using a blockchain to track the transfer of something that has real world value, say a digital currency, we have a means of determining which “coin” is being transferred, from whom, and to whom.
And because records are linked together in a blockchain, we have a complete audit trail to track whether the sender has the right to send that digital coin because we can verify if they were the last person to have received it.
Wow! That’s huge!
Non-repudiation
Non-repudiation essentially means that when a message has been sent, its existence cannot be denied. Using cryptography combined with our distributed ledger (audit trail), we have a means for objectively determining the origin and existence of each message.
This is also a big advancement from our traditional database because using our digital coin example, nobody can deny that I am the owner of it because the audit trails shows me as the last receiver.
And because the digital coin itself is cryptographically identified and secured using asymmetric cryptography, it can’t be duplicated or “double spent” by the owner.
Immutability
We also gain the advantage that since all data in the blockchain is linked together (remember our crayons and how they referred to the previous crayon?), we have a way of guaranteeing that our blockchain is unchangeable or immutable.
If someone tries to pass off a modified crayon blockchain as the blockchain we’ve been contributing to, the references would not match up, even if one crayon was changed. Essentially, the whole chain falls apart.
This provides us with the assurance that we can safely track assets of real world value without worry of ownership being corrupted because we have a complete audit trail of that asset’s rightful owner.
Using Blockchain For Payments
So it turns out that these three advantages of authenticity, non-repudiation, and immutability that we gain with blockchain lay the foundation for us to do some pretty cool stuff such as creating a whole new way of sending payments.
In Part 5, we’ll go into digital currencies, the history of currencies, and how blockchain provides the foundation for working payment system to flourish without an intermediary such as a bank or payment processor.