Bitcoin-NG and theBlockchain Test bed
Ittay EyalCornell
With Adem Efe Gencer, Emin Gün Sirer
and Robbert Van Renesse
Scaling Bitcoin Workshop, Montréal, August 2015

Goals• Lower latency• Higher throughput• Security

2

Parameter Tuning𝑡
1. Larger blocks →• Higher throughput

3

Parameter Tuning

2. Shorter block intervals →• Higher throughput• Lower latency

4

Scaling by Tuning Causes Forks
2’3’2314• Mining power loss
• Unfairness  centralization• Longer time to convergence5

Evaluation

Test Bedsudo ip link add vlo04 type veth peer name vlo04b
sudo ip link add vlo05 type veth peer name vlo05b
sudo ip link add vlo06 type veth peer name vlo06b
sudo ip link add vlo07 type veth peer name vlo07b# Assign one side of each virtual ethernet link to a namespace:sudo ip link set vlo01b netns node-020-01
sudo ip link set vlo02b netns node-020-02
sudo ip link set vlo03b netns node-020-03
sudo ip link set vlo04b netns node-020-04
sudo ip link set vlo05b netns node-020-05
sudo ip link set vlo06b netns node-020-06
sudo ip link set vlo07b netns node-020-07# Bring links up: (10.2.1.100+i at namespaces; 10.2.1.0+i here):sudo ifconfig vlo01 10.2.1.1/24 upsudo ifconfig vlo02 10.2.2.1/24 upsudo ifconfig vlo03 10.2.3.1/24 upsudo ifconfig vlo04 10.2.4.1/24 upsudo ifconfig vlo05 10.2.5.1/24 upsudo ifconfig vlo06 10.2.6.1/24 upsudo ifconfig vlo07 10.2.7.1/24 upsudo ip netns exec node-020-01 ifconfig vlo01b 10.2.1.100/24 upsudo ip netns exec node-020-02 ifconfig vlo02b 10.2.2.100/24 up

Infrastructure: ~150 machines x 8 cores
1Gb network
Client: 0.10.0
Network: emulated
P2P topology: manual# Node node- :020-04
sudo iptables -A FORWARD -i ethTPECCA j- DETALER,DEHSILBATSE,WEN etats -- esudo iptables -t nat -A PREROUTING -p tcp -d ot-- TAND j- DETALER,DEHSILBA
10.2.4.100:20040
sudo iptables -A FORWARD -i ethTPECCA j- DETALER,DEHSILBATSE,WEN etats -- esudo iptables -t nat -A PREROUTING -p tcp -d ot-- TAND j- DETALER,DEHSILBA
10.2.4.100:20041#Node node- :020-05
sudo iptables -A FORWARD -i ethTPECCA j- DETALER,DEHSILBATSE,WEN etats -- esudo iptables -t nat -A PREROUTING -p tcp -d ot-- TAND j- DETALER,DEHSILBA
10.2.5.100:20050
sudo iptables -A FORWARD -i ethTPECCA j- DETALER,DEHSILBATSE,WEN etats -- esudo iptables -t nat -A PREROUTING -p tcp -d ot-- TAND j- DETALER,DEHSILBA
10.2.5.100:20051#Node node- :020-06
sudo iptables -A FORWARD -i ethTPECCA j- DETALER,DEHSILBATSE,WEN etats -- esudo iptables -t nat -A PREROUTING -p tcp -d ot-- TAND j- DETALER,DEHSILBA

Blockchain content and mempool bootstrap

7

Consensus Delay
By example:
The (80%, 80%)-consensus delay is 10 seconds if
80% of the time, 80% of the nodes agree on thehistory until 10 seconds ago.

8

Consensus Delay

9

Consensus Delay

10Subjective Time to Prune

Δ
Time to prune: Until branch is pruned

11

Subjective Time to Prune

12

Subjective Time to Prune

13

Fairness
https://blockchain.info/pools

Pool sizes

4/2015

Fairness: Ratio of chain
blocks not from largest
pool (normalized)

14

Fairness

15

Fairness

16

Mining Power Utilization
2’3’2

3

1

4

Mining power utilization: Ratio ofgenerated blocks in the main chain

17

Mining Power Utilization

18

Mining Power Utilization

19

Time to Win
t=3t=4t=5t=6

Δ
Time to win: Until latest block on
any competing branch
20

Time to Win

21Time to Win

22Summary
Scaling the Blockchain
Metrics• Consensus delay• Fairness• Power utilization• Time to win• Time to prune

The Blockchain
test bedsudo ip link add vlo04 type veth peer namevlo04bsudo ip link add vlo05 type veth peer namevlo05bsudo ip link add vlo06 type veth peer namevlo06bsudo ip link add vlo07 type veth peer namevlo07bsudo ifconfig vlo05 10.2.5.1/24 upsudo ifconfig vlo06 10.2.6.1/24 upsudo ifconfig vlo07 10.2.7.1/24 upsudo ip netns exec node-020-01 ifconfig vlo01b
10.2.1.100/24 upsudo ip netns exec node-020-02 ifconfig vlo02b
10.2.2.100/24 up# Node node- :020-04sudo iptables -A FORWARD -i ethp-04 olv o-0

23Bitcoin NG

Bitcoin-NG• Key blocks:• No content• Leader election• Microblocks:• Only content• No contention
25

Bitcoin-NG

PoW,
Coinbase,andpublickey K

Signaturewith k26

Bitcoin-NG
long exponential
intervals (10 min)short deterministic
intervals (10 sec)27

Transaction Fees
60%

40%
fees

Incentives
Next miner: Include previous micro-blocks
Leader: Place transactions in micro blocks;
Smaller chance to win after a microblock28

Double Spending

29

Double Spending

Poison transaction cancels cheater reward
Poisoner receives nominal prize30

Consensus Delay

31

Consensus Delay

32

Fairness

33

Fairness

34

Mining Power Utilization

35

Mining Power Utilization

36

Time to Win

37

Time to Win

38Subjective Time to Prune

39

Subjective Time to Prune

40

Conclusion
Test Bed• Metrics• P2P topology• Properties to test
Bitcoin-NG• Comments and concerns• Adoption by Bitcoin
Ittay Eyal with Adem Efe Gencer, Emin Gün Sirer
and Robbert Van Renesse

41

𝑎:

Consensus Latency
𝑡1𝑡2
2

1

1

𝑏:
𝑐:

2

3

1

2
Δ1

3

Δ2

What is Δ such that at least 𝛿 of the time, 𝜀 of thenodes agree on the history up to 𝑡 − Δ42