Aenco’s Crypto Academy — #2. How Does Bitcoin Achieve Decentralization?

AENCO Ecosystem
✍Aenco Academy
Published in
4 min readSep 30, 2019

In the first article, we talked about the properties of Bitcoin. Today, we will see how Bitcoin can achieve decentralization, which is not purely technical but it’s a combination of technical and clever incentive engineering.

Let’s now examine decentralization in Bitcoin at a more technical level. A key term that will come up throughout this discussion is ​consensus,​and specifically,​ distributed consensus.​ The key technical problem to solve in building a distributed e‐cash system is achieving distributed consensus.

Distributed consensus protocol:

T​here are N n​​odes that each have an input value. Some of these nodes ​a​re faulty or malicious. A distributed consensus protocol has the following two properties:

● It must terminate with all honest nodes in agreement on the value
● The value must have been generated by an honest node

What does this mean in the context of Bitcoin? To understand how distributed consensus could work in Bitcoin, remember that Bitcoin is a peer‐to‐peer system. When Alice wants to pay Bob, what she actually does is broadcast a transaction to all of the Bitcoin nodes that comprise the peer‐to‐peer network.

What exactly is it that the nodes might want to reach consensus on in the Bitcoin network? Given that a variety of users are broadcasting these transactions to the network, the nodes must agree on exactly which transactions were broadcast and the order in which these transactions happened. This will result in a single, global ledger for the system.

So at any given point, all the nodes in the peer‐to‐peer network have a ledger consisting of a sequence of blocks, each containing a list of transactions, that they’ve reached consensus on.

How exactly do nodes come to consensus on a block?

One way to do this: at regular intervals, say every 10 minutes, every node in the system proposes its own outstanding transaction pool to be the next block. Then the nodes execute some consensus protocol, where each node’s input is its own proposed block. Now, some nodes may be malicious and put invalid transactions into their blocks, but we might assume that other nodes will be honest. If the consensus protocol succeeds, a valid block will be selected as the output. Even if the selected block was proposed by only one node, it’s a valid output as long as the block is valid. Now there may be some valid outstanding transaction that did not get included in the block, but this is not a problem. If some transaction somehow didn’t make it into this particular block, it could just wait and get into the next block.

Bitcoin consensus algorithm (simplified)

This algorithm is simplified in that it assumes the ability to select a random node in a manner that is not vulnerable to Sybil attacks.

1. New transactions are broadcast to all nodes

2. Each node collects new transactions into a block

3. In each round a r​andom​node gets to broadcast its block

4. Other nodes accept the block only if all transactions in it are valid (unspent, valid signatures)

5. Nodes express their acceptance of the block by including its hash in the next block they create

Let’s now try to understand why this consensus algorithm works. To do this, let’s consider how a malicious adversary — who we’ll call Alice — may be able to subvert this process.

Stealing Bitcoins. C​an Alice simply steal bitcoins belonging to another user at an address she doesn’t control? No. Even if it is Alice’s turn to propose the next block in the chain, she cannot steal other users’ bitcoins. Doing so would require Alice to create a valid transaction that spends that coin. This would require Alice to forge the owners’ signatures which she cannot do if a secure digital signature scheme is used. So as long as the underlying cryptography is solid, she’s not able to simply steal bitcoins.

Denial of service attack. L​et’s consider another attack. Say Alice really dislikes some other user Bob. Alice can then decide that she will not include any transactions originating from Bob’s address in any block that she proposes to get onto the block chain. In other words, she’s denying service to Bob. While this is a valid attack that Alice can try to mount, luckily it’s nothing more than a minor annoyance. If Bob’s transaction doesn’t make it into the next block that Alice proposes, he will just wait until an honest node gets the chance to propose a block and then his transaction will get into that block. So that’s not really a good attack either.

In next chapter, we will talk about how Bitcoin can protect the protocol from double-spend attack. Stay tuned!

source:
https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_book.pdf

About AENCO:

Aenco consists of a team with strong corporate management experience from global investment banks and financial institutions, as well as blockchain technologists and enthusiasts. Aenco is the world’s first blockchain-based healthcare technology financial solutions platform, connecting its ecosystem with the wider healthcare technology community.

Follow us:

Website: https://www.aencoin.com

Telegram: https://t.me/Aenco

LinkedIn: https://www.linkedin.com/company/Aenco

Medium: https://medium.com/@Aencoin

Twitter: https://twitter.com/Aencoin

Facebook: www.facebook.com/Aencoin

Discord: https://discord.gg/KXZzqgS

YouTube: YouTube.Aencoin.com

--

--