…continuing from: Why is the blockchain so revolutionary (ELI5)
Ok, I get that the blockchain is blocks of data cleverly chained together and distributed across lots of servers. However, I’ve heard that hackers are ingenious. Surely they can attack the blockchain in some way?
It’s true they can. For example, they can launch a Distributed Denial of Service (DDos) attack. This is when a hacker commandeers vast numbers of PCs and servers and tries to swamp a system with billions of messages. This kind of attack does not corrupt data, but it could try to stop a blockchain in its tracks.
So how does the blockchain defend itself against DDoS?
This depends on the blockchain. The Bitcoin blockchain provides the best example of one that has been hardened to handle DDoS attacks. I could list the clever things that have been done, (block size limit, script size limits, confirmation limits and so on) but your eyes would glaze over in the way they do when you’ve had two too many Tequilas. And then your head would slowly sink into the keyboard.
DDoS is dullsville anyway; banal, boring and been-there. What else do hackers do to try to subvert your holy blockchain?
Hacker attacks on blockchains differ considerably from attacks on other computer networks. What the hackers are trying to do is manipulate the process of reaching a consensus so they can change the information added to the ledger in the next block.
Hold on a minute, what do you mean, ledger?
OK. My bad. A blockchain, in its simplest form, is just a collection of transactions, like entries in an accounting system, so people sometimes call it a ledger.
Yeah, and what do you mean by consensus?
Blockchain networks have many “nodes.” In this context, a node is a server that hosts its own copy of the blockchain and will add a new block when one has been “mined.” Such servers are called “mining nodes” because they “mine” cryptocurrency.
Cough, cough: consensus? And btw, we are talking about computers and software. So how has this got anything to do with mining?
It doesn’t if you’re going to get all literal. “Mining” is used metaphorically here. The “mining nodes” can earn cryptocurrency by “mining blocks” — in effect, extracting value from blocks. This mining activity is competitive between all the mining nodes.
When enough transactions have arrived at a mining node to form a block, the mining software leaps into action. To win the competition, the mining node has to solve a computationally difficult problem. The first to get the answer gets the reward for that block.
(There are lots of mining nodes. Bitcoin, for example, has over 11,000).
Cough, cough, cough: consensus? And btw, why not solve a simple problem, it would all go faster. In fact why not just roll thousands of dice to work out which node won?
Actually, the “mining” problem can be made easier or harder. It’s adjustable. The point of the problem is not to reduce computer unemployment; it is to enforce a consensus as to what the next block is. See! “Consensus.”
The problem uses the hash of the previous block (remember I told you about the blockchain hash) along with all the transaction values to calculate another value (called a “nonce”) that can complete the block. The nonce has to obey some mathematical rules that I will not try to explain.
When one mining node solves the problem — works out a valid nonce — it sends the completed block to all the other nodes. They test it for correctness, and if it is correct, that mining node wins, and they all add it to the chain.
I’m not sure I understood that.
In which case you didn’t.
Let’s assume I did. How does the winning “mining node” get its reward?
Well, for the first transaction in the block, the mining node includes its own “coinbase transaction.” There is one such transaction in every block. It includes the address of the mining node’s dedicated crypto wallet and it also records the block reward amount to transfer to the wallet address. That transaction prints new crypto for the winning mining node.
Isn’t CoinBase the name of that big crypto exchange?
Yes. Is that a coincidence or did the founder know a thing or two about crypto? The latter perhaps. You’re not focussing are you?
No. Errr… so what does “proof of work” mean? I’ve heard the words. Does it have anything to do with mining?
I guess I should have mentioned it before, but mining a block is the same as carrying out “proof of work.” It mathematically proves that the mining node has done some work.
What would happen if two mining nodes came up with the right solution at precisely the same time? Do they both get half?
Strange though it may seem the network solves that problem all on its own. The two blocks cannot be identical because each contains a different “coinbase transaction.” If they both complete at the same time, the two mining nodes will both both distribute their respective blocks to the other mining nodes. Each node in the network will accept the first that arrives. If it is valid, it will accept that block and ignore the second one.
In total, across the network, there will be a consensus of which one won. Any node that persists with the one that lost will fork the chain, because they will have added the wrong block. This minority fork will eventually die for lack of support.
This reality provides nodes with a big incentive to accept the consensus. If they don’t, they end up with a dying fork and they cannot earn crypto.
So, how do the hackers try to subvert the consensus and insert some fraudulent transactions?
There are two known types of attack. They are called:
- The 51% attack
- The Sybil attack
Unfortunately, we don’t have time to discuss them in this blog posting; it will have to wait until the next blog in this series.
You always short-change me. Last time, despite your promise, you never explained why the blockchain was so revolutionary. This time you didn’t explain how bullet-proof the blockchain was. Your headlines are horribly misleading.
Sorry, but I don’t write the headlines. The editor does.
Perhaps you need to rebalance your workforce with a pink slip.
Do you really think the editor’s going to let that comment stand?
The next in the series is: What is a Wallet and How Does A Crypto Payment Work (Explain Like I’m 5)