15
1 Hybrid Consensus: Efficient Consensus in the Permissionless Model Rafael Pass and Elaine Shi IC3

Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

1

Hybrid Consensus: Efficient Consensus in the Permissionless

Model Rafael Pass and Elaine Shi

IC3

Page 2: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

BlockchainsSatoshi Nakamoto, 2009

Public databaseShared & maintained between network

participants

Blockchain agreement protocolPeriodically agree on a new block of data

Block 3

Block 2

Block 1

Block 4

Page 3: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

The Blockchain Agreement Problem

Set of N computational nodesNo inherent identityNo PKI

Agree on a blockIncludes a set of new

transactions (or data)Two properties

AgreementValidity: all transactions satisfy

some validity conditions

Block 3

Block 2

Block 1

Page 4: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Scalability Issue

1 MB block per 10 mins3-7 TXs per second

Support limited computationsSeveral DoS attacks recently

Demand from Practice: 1,200 - 50,000 TXs/s

Page 5: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

5

Byzantine Agreement

1p

2p

3p

4p5p

•Complete graph•permissioned

Page 6: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

6

Agreement:Every correct node chooses the same valueIf all the correct nodes have the same

input, that input must be the value chosen

Page 7: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Existing protocols are not scalable

7Number of nodes

Tran

sact

ion

rate

Low

High

Small Large

xKnown static identity setxO(n2) messages

x Constant TX ratex Re-parameterization is not a long term solution

BFTProtocols

NakamotoConsensus

?

Page 8: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Hybrid Consensus Idea• Use PoW chain to elect a static committee• honest nodes run the blockchain for csize + λ

blocks where csize = Θ(λ) denotes the targeted committee size.

• honest nodes would remove the trailing, unstablized λ blocks from its local chain, and call the miners of the first csize blocks the BFT committee.

• Run BFT to agree on a new block

Page 9: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Blocks

PoW blockBFT block

Σ: a set of signatures| Σ| ≥ csize/3

R-th committee 9

h,nonce,TXsh’,Σ,TXs

Page 10: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Step 1: Identity establishment

Solve PoWID = H ( h, Nonce, txs) < D

The last csize confirmed blocks define members in a committee

Random seed for the PoW Difficulty

Page 11: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Step 2: Propose BFT blocks

Run a classical Byzantine agreement protocol-Members agree & sign on one valid BFT block-Each committee serves for a period of time to

generate csize PoW blocks, e.g. 1 day.- Broadcast the block to the network

Page 12: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

When each committee has at least C members?

Each committee has O(λ)O(λ 2) messages=>scalable

Page 13: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Security guaranteesDue to the consistency property of PoW

chain, all honest nodes agree on the same BFT committee.

Due to the chain quality property of PoWchain, with appropriate overall parameters, we can ensure that more than 2/3 of the committee members are honest which is sufficient to ensure the security of the permissioned BFT protocol.

Page 14: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

Security guaranteesDue to the chain growth property of the pow

chain, it will not take too long for the BFT committee to form

Page 15: Hybrid Consensus: Efficient Consensus in the ... - Bitbucket Consensus.pdf · Hybrid Consensus Idea • Use PoWchain to elect a static committee • honest nodes run the blockchainfor

T HANK YOU

15