decentralization in bitcoin

Problems to be solved

  1. Who maintains the ledger of transactions?
  2. Who has authority over which transactions are valid?
  3. Who creates new bitcoins?

General Distributed consensus

There are n nodes that each have an input value. Some of these nodes are 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

Imperfect Conditions in system

Firstly, consensus in general is a hard problem since nodes might crash or be outright malicious.
Secondly, and specifically in the Bitcoin context, the network is highly imperfect. It’s a peer‐to‐peer system, and not all pairs of nodes are connected to each other.
Finally, there’s a lot of latency in the system because it’s distributed all over the Internet.

How blockchain achieved consensus

First, it introduces the idea of incentives, which is novel for a distributed consensus protocol.
Second, Bitcoin embraces the notion of randomness.

  • Bitcoin consensus algorithm (simplified)
  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
  • Double‐spend attack
    In fact, the double‐spend probability decreases exponentially with the number of confirmations. So, if the transaction that you’re interested in has received k confirmations, then the probability that a double‐spend transaction will end up on the long‐term consensus chain goes down exponentially as a function of k . The most common heuristic that’s used in the Bitcoin ecosystem is to wait for six confirmations.

Incentives and proof of work

  • Block Reward
    According to the rules of Bitcoin, the node that creates a block gets to include a special transaction in that block. This transaction is a coin‐creation transaction
  • Transaction fees
    So if you’re a node that’s creating a block that contains, say, 200 transactions, then the sum of all those 200 transaction fees is paid to the address that you put into that block.

Mining and proof‐of‐work

The key idea behind proof‐of‐work is that we approximate the selection of a random node by instead selecting nodes in proportion to a resource that we hope that nobody can monopolize.
If, for example, that resource is computing power, then it’s a proof‐of‐work system. Alternately, it could be in proportion to ownership of the currency, and that’s called p roof‐of‐stake. Although it’s not used in Bitcoin, proof‐of‐stake is a legitimate alternate model and it’s used in other cryptocurrencies.

Bitcoin achieves proof‐of‐work using hash puzzles

1
H(nonce || prev_hash || tx || tx || ... || tx) < target