An absolute beginner’s guide to Blockchain – Part 2
Welcome to Part 2 of my absolute beginner’s guide to blockchain. Firstly, I should start by congratulating you for making all the way through Part 1.
You did make it through Part 1 didn’t you? If not, you should probably go take a look HERE
I should warn you, this one feels a lot more technical. In actual fact it isn’t particularly complex, but I talk about a few things that feel as though they should be complicated. Try not to let that put you off.
Before we start we should probably summarise where we left off.
We’d agreed that money doesn’t actually exist, it is simply an arbitrary token that people are willing to accept in exchange for goods and services. As long as we all decide to accept it then it functions perfectly well.
We also agreed that control of that token must belong to a trusted third party in order for us to continue believing in it.
We had, somewhat controversially, decided that money doesn’t need to physically exist in order for us to be able to use it.
We did however decide that transactions of currency need to have certain characteristics in order to function.
- Both parties must believe in the value of the currency
- Each unit of currency must only be able to be spent once
- The effect of the transaction must be recordable in some way
- There must be a limited supply of the units of currency
This article will look at these, and how they apply to Bitcoin.
The Value of Money
This is the core of any system that is not based on physical ownership of a specific commodity. Theoretically there is no difference at all between the digital transaction that increases the number in your bank account by £1000 and the digital transaction that displays an image of a spider on your monitor.
We ascribe value to the “money” and not to the image.
And so, we are free to ascribe value to anything we wish to. In practice what this means is that if we are willing to exchange any form of goods or services for something, then that thing has acted as currency, whether this is metal coins, stuffed toys, or even digital concepts such as Bitcoin.
If you offer me your car in exchange for one Bitcoin and I agree, then we have both proven that we ascribe value to the digital transaction that moves one Bitcoin from me to you.
In all honesty there is nothing else to say about this.
I wish I could make it sound all impressive and technical, but for now at least it really is that simple. If people are willing to swap tangible, physical goods for Bitcoin, then Bitcoin has value.
The fun bit is when we get to talking about WHY people are willing to do this. And that is what we’re going to look at now.
The second and third characteristics of our list are different aspects of the same thing (at least when it comes to digital currency), and so we will look at them together.
When I gave my friend Mark a ten pound note we all agreed that I no longer had it, and that he did have it. We also agreed that I could not also give my other friend Scott the same ten-pound note.
And so at least when it comes to physical currency those criteria are satisfied. The presence or absence of the ten-pound note is as good a proof as we need for the transaction having taken place, and the fact that it is a physical item means it cannot be passed to two separate people.
But I also told you that we could do the same with Blockchain technology, and Bitcoin (other crypto currencies are also available). And so now, it is finally time for me to explain how.
Let’s say that I want to send Mark ten pounds digitally. As it stands I ask my bank to send his bank the money. They deduct the money from my account, and add it to his. We trust that this has actually happened because the bank maintains a ledger of transactions, and we both trust this ledger to be accurate.
The implications of this are quite significant. It puts us in a position where we are not able to make that transaction without involving a third party. Whether that is a bank, a payment processor like Paypal, or any form of online transaction service. We are reliant on that third party and their ledger, and as such we are then in a position where any decision they make has a direct impact on us and our ability to perform these transactions. Theoretically at least they could decide that we held no funds, wipe us from their ledger, and as it is them that holds the ledger we would have no recourse. This doesn’t happen because banks are regulated by our government. But we’ve all heard of people having to fight their bank because of an error on the part of the bank that has had a major impact on them.
Wouldn’t it be great if we could take that third party out of the equation?
Why yes Martin it really would.
Not only would we not have to pay them for their time and the service they provide, but we’d also be in a situation where our transactions were more secure. We wouldn’t be subject to the whims and vagaries of a complex and outdated system held together by a series of even more complex legislation.
You’ve probably guessed it by now, but that is exactly what Bitcoin does.
If I decide to send Mark a Bitcoin instead of ten pounds I don’t ever involve a bank. I don’t actually have to involve any third party at all. There is no centrally held ledger, because there is no central authority.
But the really cool thing is that the ledger still exists. In fact this ledger is what the Blockchain actually is.
Transactions are still recorded, and they are recorded in a way that is both more transparent, but also much more secure.
Instead of giving the job of maintaining it to a third party like a bank, we look after it ourselves. Every single person on the network (and by person I actually mean computer) keeps their own copy of the ledger. This is known as a “distributed ledger”. It isn’t encrypted, it isn’t hidden away, it isn’t password protected. Every single transaction on the Bitcoin network is there for anyone to see. It doesn’t have your name on it, so you are still anonymous. Transactions are listed according to the unique alphanumerical (that’s letters and numbers) identifier each person has.
If you’re interested you can see those transactions being carried out live here: https://blockexplorer.com/
So instead of me asking my bank to send the money to Mark, and assuming they will do it on my behalf, I simply announce to the network as a whole that I am sending one Bitcoin from me, to Mark. The network updates the ledger and the transaction is done.
My record shows I have one less Bitcoin, Mark’s record shows him as having one more Bitcoin, and the distributed ledger as a whole confirms this. I can’t spend that Bitcoin twice, because it is on public record that I have already spent it.
At its simplest level this is all there is to it.
There’s always a catch. This doesn’t address some of the things we mentioned earlier as being essential.
How does the network as a whole know that the message transferring one Bitcoin from me to Mark was actually sent by me?
How does that network know that Mark didn’t send that message himself?
When it comes to traditional banking we trust the bank itself to make sure this is the case. But with Bitcoin there is no bank. Instead we use a system that is based on the fact that no-one trusts anyone else, and so instead of relying on trust, we rely on mathematics.
It’s surprisingly simple.
To store Bitcoin, you need a file known as a wallet.
This is simply a record of how many Bitcoins you have, and a unique digital signature.
When I announce that I am sending one Bitcoin to Mark, what I am actually sending is a complex message that contains several things.
It contains my wallet’s unique identifier, Mark’s wallet’s unique identifier, the amount I am transferring, and also (and this is where you’re going to have to trust me) a unique password that shows the message is authentic.
This password is generated from both my identity, and the specific content of the message itself by the use of public and private key encryption. I’m not going to try to explain how that works here as it is horrifically complicated and we don’t actually need to know. But in essence it allows me to prove I am who I say I am without broadcasting the secret password of my “wallet”. If someone were to intercept that message and alter it, the signature would not longer be valid, and so the message would not be accepted on the network as a whole.
If someone were to send a message pretending to be me, the digital signature would not be valid and so the network would reject the message and the transaction would not be entered into the ledger.
This is the same technology used to encrypt traditional transactions online on any website that uses https instead of http. It is the same technology that hackers use when their ransomware encrypts files on your computer, and it is the same technology that email encryption uses to ensure your messages can’t be intercepted.
If you want to know more about how this works, then google “public key cryptography”.
If you’re willing to trust me on this, we can go on to Part 3. But as I am still writing that you should probably go grab a coffee…