You are on page 1of 29

Bitcoin-NG : A Scalable

Blockchain Protocol
Abstract
• This paper presents Bitcoin-NG a new blockchain protocol designed to
scale.
• Bitcoin-NG is a Byzantine fault tolerant blockchain protocol that is
robust to extreme churn and shares the same trust model as bitcoin.
• It addition to Bitcoin-NG, novel metrics to quantify the efficiency and
security of Bitcoin-like blockchain protocol are introduced.
• The experiments conducted demonstrate that Bitcoin-NG scales
optimally with bandwidth limited only by capacity of individual nodes,
and latency limited only by propagation time of the network.
Introduction
• Bitcoin-NG achieves performance improvement by decoupling
Bitcoin blockchain operations into 2 planes: leader election, and
transaction serialization.
• It divides time into epochs, and in each epoch, a single leader is
entitled to serialize transactions, until a new leader is chosen, marking
the end of current epoch.
• Here leader election is forward looking, and ensures the system is able
to continually process transactions.
Model & Goal
• System comprises of a set of N nodes connected by a reliable peer-to-
peer network.
• Nodes can generate key-pairs, but there is no trusted PKI.
• At any time t, a subset of nodes are byzantine and behave arbitrarily
controlled by single adversary.
• The other nodes are honest, and abide by the protocol.
• The mining power of Byzantine nodes is less than 1/4th of the total
computing power, at any given time.
• Properties of system include: Termination, Agreement, and Validity.
Bitcoin and its Blockchain Protocol
• The blockchain records transactions, in units of blocks.
• Each block includes a unique ID, and an ID (hash pointing) to the
preceding block.
• The first block called genesis block, is defined as part of the protocol.
• Each valid block contains:
A solution to cryptopuzzle involving hash of previous block.
The hash (of Merkle tree root) of transactions in the current block.
A special transaction called Coinbase, crediting miners with rewards.
Bitcoin and its Blockchain Protocol
(contd.)
• If multiple miners create blocks with same preceding block, the chain
is forked into branches forming a tree.
• Forks can be resolved by choosing a chain with most (heaviest)
mining power.
• Branches, and blocks outside the mainchain are called pruned, and the
transactions in those blocks are ignored, however they can be added to
mainchain later, given there is no conflicting transaction.
Bitcoin-NG Key Blocks
• Two types of blocks in this protocol include: Key blocks, and micro blocks.
• Key blocks contains: reference to previous block, current time, coinbase
transaction, target value, nonce field, public key.
• Key blocks are used to choose a leader.
• For a keyblock to be valid, the cryptographic hash of its header must be
smaller than the target value.
Bitcoin-NG Micro Blocks
• Micro blocks are generated by leader at a rate much higher than that of
key block generation.
• The size of microblock is bounded by predefined maximum.
• Microblock contains: Ledger entries and a header. However, the
header in turn contains: Reference to previous microblock, current
time, cryptographic hash of ledger entries, cryptographic signature of
header.
• For a microblock to be valid, all entries must be valid according to the
specification of state machine, and the signature has to be valid.
Structure of Bitcoin-NG chain, and
fee disbursement
Bitcoin-NG confirmation time
• If micro block generation is frequent, the miner who generates a new
key block may not hear all micro blocks generated by previous leader,
and may lead to fork.

• These forks are resolved, once the key block propagates to that node.
• Therefore, a user that sees a micro block, should wait for propagation
time of network, before considering into the chain.
Bitcoin-NG remuneration
• Remuneration is of two parts: each key block entitles its generator a
set amount, each ledger entry (transactions in micro blocks) carries a
fee, which is split between current leader, and next leader in 2:3 ratio.
• The key block coin base transaction amount is spendable only after a
maturity period of 100 key blocks. Why 100!!!
Bitcoin-NG micro block fork
prevention
• To demotivate leader from forking micro blocks, a poison transaction
is used to invalidate fraudulent leader transaction.
• The poisoner is awarded with a fraction of amount that is taken back
from the fraudulent leader.
• The poison transaction contains the header of first block in the pruned
branch as a proof of fraud.
• This poison transaction has to be placed in the blockchain, within the
maturity window of misbehaving leader key block.
Security Analysis
• Miners are motivated to:
 Include transactions in micro blocks.
 Extend heaviest chain.
 Extend longest chain.
What if the heaviest chain and longest chains are not the same?
• Heaviest Chain Extension: A honest majority will extend the heaviest chain, and
the minority will not catch up with honest majority.
• Micro blocks carry no weight, not even as a secondary index. (Then why
restriction on size/no. of transactions in micro blocks?)
• Bitcoin-NG is resilient to selfish mining against attackers with less than 1/4 th of the
mining power. (There are existing pools with more than 25% of mining power.)
Security Analysis
• Tx Inclusion, Longest chain Extension, Optimal network assumption: Not clear on
these equations.
• Bypass fee distribution: A user can bypass the fee distribution, and can directly pay
the current leader, but this doesn’t profit the user by any means, also, if the current
leader doesn’t place the transaction in his micro blocks, that leaves no motivation
for the next leader to consider this transaction.
• Censorship resistance: A malicious leader can censor a transaction by not placing
any transactions in his micro blocks, but this behavior comes to an end by the end
of his epoch.
• Since 3/4th of blocks are generated by honest miners, the user will have to wait for
4/3 blocks (13.33 mins) on average. What if 2 malicious nodes are subsequent
leaders?
Security Analysis
• Resilience to mining power variation: The (target) difficulty adjustment may create a
sudden rise/drop in mining power, however this only affects key blocks. Bitcoin-NG
censorship is reduced as well, as key blocks are produced less frequent.

• Forks: Micro block forks are quite frequent at key block generation, however these can be
resolved once the new key block arrives at the node.
• If a malicious miner becomes a leader, it will generate micro blocks until an honest leader
finds a key block. Nevertheless, transaction processing continues at the same rate, in micro
blocks. What if a malicious leader doesn’t opt to add transactions to microblocks?

• Key block forks are possible, when multiple key blocks are generated after the same prefix
of key blocks. This happens rarely as key blocks are generated less frequent, but are long.
Security Analysis
• Double Spending: A leader trying to double spend will fork on his
micro blocks, but a poison transaction invalidates his prize for
leadership.
• A miner mines before the micro block of a transaction, and later places
a conflicting (double spend) transaction. This might lose the attacker
fee, but is worthwhile if the loot by double spend is much more.
Metrics
• Consensus Delay: Time it takes for a system to reach agreement. The
( ) consensus delay is the -percentile -point-consensus-delay.
For example, if 90% of the time, 50% of the nodes agree on the state
of the state machine 10 seconds ago (but not less than that), then the
(50%, 90%) -consensus delay is 10seconds.
• Fairness: The two ratios: (1) Ratio of transitions not coming from
largest miner to that of all transitions. (2) Ratio of mining power not
owned by largest miner to that of total mining power. The ratio of both
these ratios is fairness, and ideally should be 1.
Metrics
• Mining power utilization: The ratio of mining power securing the
system to total mining power.
• Time to prune: Difference between the time a node learns about a
transition that will eventually pruned and the time it learns that
transition is not occurred.
• Time to win: Difference between the first time a node believes a never-
to-be-pruned-transition occurred, and the last time another node
disagrees, believing an alternative transition occurred.
Evaluation
• Bitcoin consensus delay, and bandwidth can be improved by tuning its
parameters, but its performance deteriorates. However Bitcoin-NG
outperforms Bitcoin in almost all metrics.
• In Bitcoin-NG, bandwidth is limited only by processing speed of
individual nodes, as higher throughput doesn't introduce key-block
forks. Consensus delay is determined by network propagation time,
because in common, all nodes agree on main chain, once they receive
the latest key block. Then what if we reduce the key-block interval?
Does forks doesn’t contribute to consensus delay?
Evaluation
• Consensus delay: (90%-90%)-consensus delay is taken on block
generation times. And high confidence will not gain better latency.
• Fairness: Fairness ratio is calculated as per specification.
• Mining power utilization: Bitcoin-NG difficulty is only accrued in
keyblocks, so microblock forks do not reduce mining power
utilization.
• Time to prune, time to win: 90th percentile is taken of all samples.
Evaluation Block Frequency
• Experiments targeted at improving consensus delay.
• Keeping the key block generation at one every 100 seconds, the
frequency of micro block generation is varied.
• For each frequency, micro block size is chosen such that payload
throughput is identical to that of Bitcoins operational system (1MB
every 10 minutes).
Evaluation
Block
Frequency
Evaluation Block Frequency
• The bandwidth measured as transaction frequency is close to 3.5, the
operational Bitcoin rate for such transactions.
• In these experiments, Bitcoin’s bandwidth is smaller than that of
Bitcoin-NG, giving Bitcoin the advantage with respect to other
metrics.
• A higher block frequency reduces Bitcoin consensus latency, as
transactions are placed more frequently in the ledger.
• Time to prune improves significantly as block frequency increases.
Evaluation Block Frequency
• Bitcoin mining power utilization drops quickly as frequency increases,
tending towards 1/4th the size of largest miner. At the extreme block
generation is so fast that by the time miner learns of a block generated
by another miner, that miner has generated more blocks. Which means
only the largest miner generate main chain, and everybody else ends
up in catching up to that chain.
• This also implies the deterioration of fairness, as forks are likely to be
resolved by largest miner at his will.
• As slow miners mine on old blocks, the time to win also increases.
Evaluation Block Frequency
• Since contention in Bitcoin-NG is limited to key block generation,
forks remain rare despite of high frequencies in micro blocks.
• Increasing micro block frequency achieves reduction of both
consensus delay, and time to prune. How?
Evaluation
Block Size
Evaluation Block Size
• Transaction frequency increases with block size.
• Large blocks take longer time to verify and propagate, and so the
chance for forks increases.
• These experiments demonstrate the tradeoff between latency, and
bandwidth.
• Consensus latency increases due to forks, as it takes longer to choose
the main chain.
• Time to win, and time to prune also increases, as blocks take longer to
catch up with larger size.
Evaluation Block Size
• The forks cause significant mining power loss, making the system
vulnerable to attacks that are much smaller.
• The fairness also reduces with increase in block size.

You might also like