SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek.

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

CS425/CSE424/ECE428 — Distributed Systems — Fall Nikita Borisov - UIUC1.
Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.
Towards a More Democratic Mining in Bitcoins Goutam Paul R. C. Bose Centre for Cryptology & Security, Indian Statistical Institute Pratik Sarkar Indian.
CSCE 715 Ankur Jain 11/16/2010. Introduction Design Goals Framework SDT Protocol Achievements of Goals Overhead of SDT Conclusion.
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
Cryptography1 CPSC 3730 Cryptography Chapter 10 Key Management.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
BITCOIN An introduction to a decentralised and anonymous currency. By Andy Brodie.
Wide-area cooperative storage with CFS
Multicast Security CS239 Advanced Network Security April 16 th, 2003 Yuken Goto.
SybilCast: Broadcast on the Open Airwaves SETH GILBERT, CHAODONG ZHENG National University of Singapore.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Adaptively Secure Broadcast, Revisited
Mitigating DoS Attacks against Broadcast Authentication in Wireless Sensor Networks Peng Ning, An Liu North Carolina State University and Wenliang Du Syracuse.
The world’s first decentralized digital currency Meni Rosenfeld Bitcoil 29/11/2012Written by Meni Rosenfeld1.
On Power Splitting Games in Distributed Computation: The case of Bitcoin Pooled Mining Loi Luu, Ratul Saha, Inian Parameshwaran, Prateek Saxena & Aquinas.
Securing Every Bit: Authenticated Broadcast in Wireless Networks Dan Alistarh, Seth Gilbert, Rachid Guerraoui, Zarko Milosevic, and Calvin Newport.
Bitcoins and the Digital Economy Presented By: Matt Blackman.
Practical Byzantine Fault Tolerance
Authors: Yih-Chun Hu, Adrian Perrig, David B. Johnson
1 Bitcoin A Digital Currency. Functions of Money.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
SIA: Secure Information Aggregation in Sensor Networks B. Przydatek, D. Song, and A. Perrig. In Proc. of ACM SenSys 2003 Natalia Stakhanova cs610.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Merkle trees Introduced by Ralph Merkle, 1979 An authentication scheme
Shambhu Upadhyaya 1 Ad Hoc Networks – Network Access Control Shambhu Upadhyaya Wireless Network Security CSE 566 (Lecture 20)
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Demystifying incentives in the consensus computer Loi Luu, Jason Teutsch, Raghav Kulkarni, Prateek Saxena National University of Singapore.
Establishing authenticated channels and secure identifiers in ad-hoc networks Authors: B. Sieka and A. D. Kshemkalyani (University of Illinois at Chicago)
Key Management Network Systems Security Mort Anvari.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Security Review Q&A Session May 1. Outline  Class 1 Security Overview  Class 2 Security Introduction  Class 3 Advanced Security Constructions  Class.
Bitcoin Tech Talk Zehady Abdullah Khan (Andy) Graduate Assistant, Computer Science Department, Purdue University.
Bitcoin is a cryptographic currency that has been in continuous operation over the last 3 years. It currently enjoys an exchange rate of $4.80 (as of April.
Section #9: Bitcoins. Digital currency Unique string of bits Use cryptography for security and privacy Not tied to names: hard to trace Finite set of.
Using Rhythmic Nonces for Puzzle-Based DoS Resistance Ellick M. Chan, Carl A. Gunter, Sonia Jahid, Evgeni Peryshkin, and Daniel Rebolledo University of.
 Attacks and threats  Security challenge & Solution  Communication Infrastructure  The CA hierarchy  Vehicular Public Key  Certificates.
How Bitcoin Achieves Decentralization
Block Chain 101 May 2017.
CSE 4095 Lecture 22 – BlockChain Slides adapted from Claudio Orlandi.
Intrusion Tolerant Architectures
A SECURE SHARDING PROTOCOL FOR OPEN BLOCKCHAINS
Bitcoin and the Blockchain
Evaluation Forms for Blockchain- Based System ver. 1.0
Bitcoin - a distributed virtual currency system
Towards an optimized BlockChain for IoT
Distributed Systems for Information Systems Management
Bitcoin and the Blockchain
Ling Ren Joint work with Ittai Abraham, Dahlia Malkhi,
So what is Blockchain anyway?
Technical Overview of Bitcoin
Advanced Cryptography Protocols
Nakamoto Consensus Marco Canini
EECS 498 Introduction to Distributed Systems Fall 2017
Providing Secure Storage on the Internet
Bitcoin and the Blockchain
Setting the Stage for a Community Blockchain Incubator
Bitcoin: Data flow.
Nonce Making Sense of Nonces.
Kai Bu 04 Blockchain Kai Bu
TrustChain: A Sybil-resistant scalable blockchain
Blockchains and Auditing
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Scalable and Privacy-preserving Design of On/Off-chain Smart Contracts
Faculty Seminar Series Blockchain Technology
Explore Txs, block, blockchain in Bitcoin
Announcement Sign up google sheet for in class lectures
Presentation transcript:

SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek Saxena National University of Singapore

Bitcoin doesn’t scale Hard coded parameters – 1 block per 10 minutes – 1 MB block size – 7 TXs per second Today – 1-2 TXs per second – VISA: 10, 000 TXs per second

Our solution: SCP Scale up throughput several orders of magnitude – Without degrading any security guarantee Several blocks in each epoch – No. of blocks ≈ network computation capacity Require minimum network bandwidth – Broadcast only one block header

Byzantine consensus problem Problem – N nodes, f are malicious – Propose and agree on one value Byzantine consensus for blockchains – Set of valid TXs per epoch 0/1 Block i Block i-2 Block i-1

Classical byzantine consensus protocol Intensive research Can tolerate f < n/2 xAssumption of known identity set xBandwidth limited – O(n 2 ) messages (e.g. PBFT) – Work for a small network (e.g n < 1000)

Nakamoto consensus protocol Work for network of any size Select leader by proof of work Linear message complexity xDoes not scale well in practice xOne block per epoch xBandwidth = O(block size) xReparameterization is not a long term solution

Reparameterization: reducing epoch time Setup Using Amazon EC2 Run over 5 regions Results TX rate increases until some threshold Drops at 12 second epoch time

Problem Secure & scalable consensus protocol – Compete with VISA?

SCP overview Adjust throughput based on network mining power – Split the network into several committees – Committees propose blocks in parallel – No. of committees ≈ F(network mining capacity) Data needed for reaching consensus is minimal – Consensus data != transactional data – Verify block without block data – Selectively download block data

SCP protocol 2 2 Blk Header Data Blk 3 3 Consensus Blk

Step 1: Identity establishment Solve PoW – SHA2(EpochRandomness || IP || pubkey || nonce) < D IDPoWIPPubkey …a.b.c.dABC… …a.b.c.eDEF…..……….

Step 2: Assigning committees Randomly & uniformly distribute identities to committees – Based on the last k bits of PoW IDPoW … … … …11..… 00001… … … …01 … …

Size of a committee C Decide the probability of majority honest – P(error) reduces exponentially with C f = N/3, C = 400, p(error) ≈ f = N/3, C = 100, p(error) ≈ Why majority honest within a committee? – Run practical authenticated BFT – Allow others to verify committee’s block without block’s data At least 1 member is honest in any (C/2 + 1) members

Step 3: Propose a block within a committee Run a classical Byzantine consensus protocol – Members agree & sign on one valid data block – No. of messages ≈ O(C 2 ) TX sets included in data blocks are disjoint – Include TXs with a specific prefix BlockTX’s IDS Data Block 100… Data Block 201… Data Block 310… Data Block 411…

Step 4: Final committee unions all results 00001… … … …10 … … 00001… …00 … Header of Data Block 1 Header of Data Block 2 Propose a consensus block 00000… …11 … Header of Data Block 3

SCP blockchain Consensus block i-1 Consensus block i Consensus block i+1 Data block 1Data block 2 Data block 3

Step 5: Generate an epoch randomness Goal – Generate a fresh randomness – Adversary cannot control or predict Common approach: Use consensus block hash – Problem: adversary can predict the consensus block early Our approach: Users can have different randomness Commit R i in SHA2(R i ) when join the committee Agree on the consensus block Broadcast the block header and R i Use any c/2 R i as the epoch randomness

Implement a SCP-based cryptocurrency Challenges – How to form committees efficiently Too many new identities in each epoch Epoch time may be long to prevent conflict – Double spending transactions Without previous block data? Input 0x123…Input 0x123..

Forming committees efficiently Approach: Reuse identities from previous epoch – Elect one new member and remove the oldest one – Number of new identities ≈ number of committees … … C-2 C-1 C C C+1 1 st Epoch 2 nd Epoch 3 rd Epoch

Avoid double spending Approach: – Split double spending check into both miners and users (recipients) Double spending Across blocks Within a block Checked by committee members Checked by recipients* *: Proof-of-publicationProof-of-publication

Checking double spending across blocks Merkle tree of TX inputs – An input is spent in a block Proof of size log(N) – An input is not spent in a block Proof of size 2*log(N) All leaves are sorted Prove that 5 is not included?

Checking double spending across blocks (2) Sender proves that the TX’s input is not spent elsewhere – The proof of size L*log(N) – Can be optimized Recipient checks by using only consensus block headers – Actively support SPV clients without a trusted third party – Support 1-confirmation TXs

Conclusion SCP scales almost linearly with network mining capacity – More mining power, higher transaction rate – Reduced network bandwidth – Secure Applicable to several applications – Cryptocurrency, decentralized database, etc

Q&A Loi Luu

Future work Incentive structure – Incentivize committee members and other parties Prevent DoS attack by sending invalid TXs – Users can send arbitrary TXs to the blockchain now Rollback solution – P(error) != 0

Related work Bitcoin-NG & Ghost Allow more blocks xDoes not separate consensus plane and data plane Lighting network Allows more micro transactions xDoes not solve scalability problem Sidechains Good for experimenting new blockchains xDoes not make Bitcoin scalable

Adjusts number of committees frequently Similar to how Bitcoin adjusts the block difficulty – T: the expected epoch time – T’: the averaged epoch time of the most 1000 recent blocks – S: Current number of committees – S’: adjusted number of committees

Consensus Block Previous Block HashTimestamp Committee signatures Global Merkle Root Data block commitments No.Data Block’s hash Merkle root of TXs 10x123abc…… 20x123456…… Data Block 1 Previous Consensus Blk Merkle root commitment of TXs Block hashNo. of TXs Committee signatures Timestamp Included TXs Data Block 2 Previous Consensus Blk Merkle root commitment of TXs Block hashNo. of TXs Committee signatures Timestamp Included TXs

SCP properties Number of data blocks ≈ network mining power – Frequent adjustment of no. of blocks Data broadcast to the network is minimal – Broadcast data is independent of block size Secure against adaptive adversary w.h.p. – Can reparameterize c to secure against stronger adversary