hybrid consensus: efficient consensus in the ... - bitbucket consensus.pdf · hybrid consensus idea...
TRANSCRIPT
![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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022043008/5f97c66197e19e634440b7d5/html5/thumbnails/15.jpg)
T HANK YOU
15