bitcoin-ng - usenix · 2017-07-14 · bitcoin-ng a scalable blockchain protocol nsdi, santa clara,...

52
Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University Initiative for Cryptocurrencies and Contracts Ittay Eyal Adem Efe Gencer Emin Gün Sirer Robbert Van Renesse IC3

Upload: others

Post on 06-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

Bitcoin-NG A Scalable Blockchain Protocol

NSDI, Santa Clara, CA, March 2016

Computer Science, Cornell University Initiative for Cryptocurrencies and Contracts

Ittay Eyal

Adem EfeGencer

Emin GünSirer

RobbertVan Renesse

IC3

Page 2: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

2

Hardware

Security

Payment Services

Exchanges

Cryptocurrency

Page 3: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

3

The Blockchain Promise

• Bank-to-bank settlements • Cheap remittance • Device-to-device payments (IoT)

Page 4: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

4

The Blockchain Promise

• Bank-to-bank settlements • Cheap remittance • Device-to-device payments (IoT)

Requires a bigger and faster boat

Page 5: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

5

Bitcoin-NG: A Scalable Blockchain Protocol• A replicated state machine (Monte-Carlo)• Extreme-churn robustness • High performance

(10x throughput, fraction of latency)

Evaluation • Novel performance metrics • Experiments with unmodified nodes

• Low latency • High throughput

Page 6: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

6

Blockchain: A Replicated State Machine

𝐴𝐴1 → 𝐵𝐵1

Log

A B

𝐴𝐴1 → 𝐴𝐴2 𝐵𝐵1 → 𝐶𝐶1

C

Page 7: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

7

The Blockchain

Log

block

header

𝑡𝑡

Page 8: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

8

The Blockchain

Log

block

header

𝑡𝑡

Page 9: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

9

The Blockchain

Log

hash( ) < target*

* target: a deterministic function of previous blocks

𝑡𝑡

Page 10: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

10

The Blockchain

Page 11: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

11

The Blockchain

Page 12: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

12

The Blockchain

Exponential, withconstant mean interval

Page 13: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

13

Incentive for Mining

• Internal Prize: • Minting• Fees

Wins proportional to computation power

Page 14: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

14

Forks

• Natural in a distributed system

Page 15: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

15

Fork Resolution

• Longest chain wins • Transactions are reverted • Double-spending a threat

Page 16: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

16

Fork Resolution

A transaction is confirmed when it is buried “deep enough”

Page 17: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

17

Security-Performance TradeoffNakamoto’s Blockchain exhibits a tradeoff: [Sompolinsky+’15, Lewenberg+’15]

Security Performance

Page 18: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

18

Metrics

• Bandwidth

• Latency• Consensus delay

• Security • Mining power utilization • Fairness

Page 19: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

19

Mining Power Utilization

∑∑( + )

𝑡𝑡

==> vulnerability to rollback

Page 20: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

20

FairnessKnown Miner Sizes

[blockchain.info, April 2015]

20%

Presence:∑𝑎𝑎𝑎𝑎𝑎𝑎 ¬∑𝑎𝑎𝑎𝑎𝑎𝑎

= 80%∑𝑚𝑚𝑎𝑎𝑚𝑚𝑚𝑚 ¬∑𝑚𝑚𝑎𝑎𝑚𝑚𝑚𝑚

= 60%

Fairness: Actual presenceFair presence = 60%

80%= 3/4

==> tendency towards centralization

Page 21: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

21

Block Frequency Experiments

==> More forks ==> worse security

• Increasing block frequency • Static bandwidth

Page 22: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

22

Block Size Experiments

• Static block frequency • Increasing block size

==> More forks ==> worse security

Page 23: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

23

Replicated state machine performance is typically bounded by single node performance

Can this be achieved for the blockchain model?

An Inherent Tradeoff?

Security Performance

Page 24: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

24

Nakamoto Blocks

𝑡𝑡

Page 25: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

25

Nakamoto Blocks

𝑡𝑡

Page 26: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

26

Nakamoto Blocks

𝑡𝑡

Page 27: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

27

Nakamoto Blocks

𝑡𝑡

epoch

Serialization

Page 28: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

28

Nakamoto Blocks

𝑡𝑡

epoch

Page 29: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

29

Nakamoto Blocks

𝑡𝑡

epoch

1. Leader election 2. Serialization

Page 30: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

30

Bitcoin-NG

𝑡𝑡

epoch

Lead

er e

lect

ion

Page 31: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

31

Bitcoin-NG

• Key blocks: • No content • Leader election

• Microblocks: • Only content • No contention

Page 32: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

32

Bitcoin-NG

• PoW• public

key K

signedwith k

Page 33: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

33

Bitcoin-NGlong exponential intervals (10 min)

short deterministic intervals (10 sec)

Page 34: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

34

Bitcoin-NG Incentives Next miner: Include previous microblocksLeader: Place transactions in microblocks

Counting microblocks for chain selection breaks security (Selfish Mining)

Page 35: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

35

Bitcoin-NG Incentives

fees

60%40%

Next miner: Include previous microblocksLeader: Place transactions in microblocks

Chain selection rule• Heaviest chain • Microblocks carry no weight

Fee distribution (exact bounds and analysis in paper)

Page 36: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

36

Test Bedsudo ip link add vlo04 type veth peer name vlo04bsudo ip link add vlo05 type veth peer name vlo05bsudo ip link add vlo06 type veth peer name vlo06bsudo 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-01sudo ip link set vlo02b netns node-020-02sudo ip link set vlo03b netns node-020-03sudo ip link set vlo04b netns node-020-04sudo ip link set vlo05b netns node-020-05sudo ip link set vlo06b netns node-020-06sudo 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

# Node node- 020-04 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.4.100:20040sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.4.100:20041 # Node node- 020-05 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.5.100:20050sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.5.100:20051 # Node node- 020-06 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10 2 6 100:20060

~1000 standard clients (no virtualization) Implemented based on the Bitcoin-Core client

Infrastructure: 150 machines x 7 cores 1Gb network

Page 37: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

37

Test Bedsudo ip link add vlo04 type veth peer name vlo04bsudo ip link add vlo05 type veth peer name vlo05bsudo ip link add vlo06 type veth peer name vlo06bsudo 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-01sudo ip link set vlo02b netns node-020-02sudo ip link set vlo03b netns node-020-03sudo ip link set vlo04b netns node-020-04sudo ip link set vlo05b netns node-020-05sudo ip link set vlo06b netns node-020-06sudo 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

# Node node- 020-04 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.4.100:20040sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.4.100:20041 # Node node- 020-05 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.5.100:20050sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.5.100:20051 # Node node- 020-06 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10 2 6 100:20060

Network emulation:

• Latency and BW: Based on our measurements [Croman+’15]

• Implementation: Virtual network interfaces and kernel rate limiting

• Validation: Block propagation matches known trends [Decker&Wattenhofer’13]

Page 38: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

38

Test Bedsudo ip link add vlo04 type veth peer name vlo04bsudo ip link add vlo05 type veth peer name vlo05bsudo ip link add vlo06 type veth peer name vlo06bsudo 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-01sudo ip link set vlo02b netns node-020-02sudo ip link set vlo03b netns node-020-03sudo ip link set vlo04b netns node-020-04sudo ip link set vlo05b netns node-020-05sudo ip link set vlo06b netns node-020-06sudo 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

# Node node- 020-04 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.4.100:20040sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.4.100:20041 # Node node- 020-05 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.5.100:20050sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10.2.5.100:20051 # Node node- 020-06 :sudo iptables -A FORWARD -i eth e -- DETALER,DEHSILBATSE,WEN etats-TPECCA jsudo iptables -t nat -A PREROUTING -p tcp -d DETALER,DEHSILBA - TAND j--ot10 2 6 100:20060

Mining power distribution: Based on one-year statistics of operational Bitcoin system

Ratio

of

Min

ing

Pow

er

Temporal Miner Index (Descending power)

Page 39: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

39

Block Frequency

Block frequency [1/sec]

ConsensusDelay

Bitcoin

Bitcoin-NG

good

Page 40: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

40

Block Frequency

Block frequency [1/sec]

Fairness

Bitcoin

Bitcoin-NG

good

Page 41: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

41

Block Frequency

Block frequency [1/sec]

MiningPowerUtilization Bitcoin

Bitcoin-NG

good

Page 42: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

42

Block Size

Fairness

Bitcoin

Bitcoin-NG

good

Block size [byte]

Page 43: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

43

Block Size

MiningPowerutilization

Bitcoin

Bitcoin-NG

good

Block size [byte]

Page 44: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

44

Related Work “The Block Size Debate”Bitcoin-NG solves an inherent protocol shortcoming.

GHOST protocol, inclusive blockchainsPartial solutions. Perhaps could be used in concert with NG

Centralized solutions of the BFT consensus familyBitcoin-NG maintains Bitcoin’s weak model

Byzcoin, Hybrid Consensus Uses Bitcoin-NG’s technique with epoch-length quorums to improve security and latency even further.

Page 45: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

45

Summary

sudo ip link add vlo04 type veth peer name vlo04bsudo ip link add vlo05 type veth peer name vlo05bsudo ip link add vlo06 type veth peer name vlo06bsudo ip link add vlo07 type veth peer name vlo07bsudo 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-04 :sudo iptables -A FORWARD -i eth 0-olv o04-p

Bitcoin-NG

• High bandwidth • Low latency • Secure

Ittay Eyal, Adem Efe Gencer, Emin Gün Sirer, and RobbertVan Renesse. Bitcoin-NG, A Scalable Blockchain Protocol.

Page 46: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

46

Security Concern

• Unlike Nakamoto’s chain, Bitcoin-NG’s leader is a sitting duck

• Only the leader’s key is static. Microblockgeneration can be distributed

Page 47: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

47

Microblock Guarantees • With Nakamoto’s Blockchain:

fork by risking block prize • With Bitcoin-NG:

Free forking?

Page 48: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

48

Microblock Guarantees

• Poison transaction cancels cheater reward • Poisoner receives nominal prize

• With Nakamoto’s Blockchain: fork by risking block prize

• With Bitcoin-NG: Free forking? No.

Page 49: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

49

Incentive Compatibility

??

𝜋𝜋

Page 50: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

50

Broken Chain Selection RuleNext miner: Include previous microblocks

Microblocks carry small weight? Leader: Place transactions in micro blocks

Leader gets fees?

??

Page 51: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

51

Broken Chain Selection Rule

• Create secret chain:

• Always beat majority:

Next miner: Include previous microblocksMicroblocks carry small weight?

Leader: Place transactions in microblocksLeader gets fees?

Page 52: Bitcoin-NG - USENIX · 2017-07-14 · Bitcoin-NG A Scalable Blockchain Protocol NSDI, Santa Clara, CA, March 2016 Computer Science, Cornell University . Initiative for Cryptocurrencies

52

Block Size

Block size [byte]

ConsensusDelay

BitcoinBitcoin-NG

good