Can blockchains be made better using hardware-assisted security?

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

1 Attested Append-Only Memory: Making Adversaries Stick to their Word Byung-Gon Chun (ICSI) October 15, 2007 Joint work with Petros Maniatis (Intel Research,
Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering.
Byzantine fault tolerance
From Viewstamped Replication to BFT Barbara Liskov MIT CSAIL November 2007.
Byzantine fault tolerance
A. Haeberlen Fault Tolerance and the Five-Second Rule 1 HotOS XV (May 18, 2015) Ang Chen Hanjun Xiao Andreas Haeberlen Linh Thi Xuan Phan Department of.
Privacy Preserving Payments in Credit Networks By: Moreno-Sanchez et al from Saarland University Presented By: Cody Watson Some Slides Borrowed From NDSS’15.
EEC 688/788 Secure and Dependable Computing Lecture 15 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
SOSP 2007 © 2007 Andreas Haeberlen, MPI-SWS 1 Practical accountability for distributed systems Andreas Haeberlen MPI-SWS / Rice University Petr Kuznetsov.
SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek.
Block Chain 101 May 2017.
BChain: High-Throughput BFT Protocols
Design and Experience of A Large Blockchain Project
CSE 4095 Lecture 22 – BlockChain Slides adapted from Claudio Orlandi.
Intrusion Tolerant Architectures
Cryptocurrencies by.
Evaluation Forms for Blockchain- Based System ver. 1.0
Blockchains in 12 Easy Steps and Observations to Ponder…
Walter Binder Giovanna Di Marzo Serugendo Jarle Hulaas
Bitcoin - a distributed virtual currency system
Introduction to Hyperledger Fabric
Distributed Systems for Information Systems Management
Cryptocurrencies By Rui Sakurai and Shane Spears
Introduction to Blockchain & Ethereum
Blockchains and Cryptocurrencies: What Financial Planners Need to Know
Ling Ren Joint work with Ittai Abraham, Dahlia Malkhi,
So what is Blockchain anyway?
Blockchain Adrian Zaragoza.

Zcash Mining – A Guide For Beginners. Zcash (also known as ZEC and seventeenth most valued cryptocurrency with market capitalization of $500 million)
{ BLOCKCHAIN Technology. BSEtecBSEtec is a digital solution provider company which offers the best service with the implement of the latest technologies.
START The way we trust is changing Presentation for Thursday at IAAO
Rechtsanwältin – Germany Attorney at Law – New York
EECS 498 Introduction to Distributed Systems Fall 2017
Focus Group 3: Blockchain and digitalisation
Principles of Computer Security
Jacob Gardner & Chuan Guo
Cloud Security 李芮,蒋希坤,崔男 2018年4月.
Campbell R. Harvey Duke University and NBER
Distributed Ledger Technology (DLT) and Blockchain
Blockchain Alexander Prenta 9/27/2018.
Common-sense applications of hardware-based TEEs
IS 651: Distributed Systems Blockchain
From Viewstamped Replication to BFT
Swagatika (Jazz) Sarangi
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
IS 651: Distributed Systems Final Exam
Teechain: Scalable Blockchain Payments using Trusted Execution Environments GIZEM AKDENIZ DECEMBER 13 , 2018.
Blockchains and Auditing
Blockchains and Smart Contracts for the Internet of Things
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Faculty Seminar Series Blockchain Technology
Blockchain Technology
Cryptography Lecture 24.
Blockchain Technology: A New Approach to Provenance
Distributed Computers and Web Technologies (3-0-6)
ג'ואי מזרחי מיכל חקשור דור אזולאי.
Campbell R. Harvey Duke University and NBER
Blockchain Tech Big Picture
GAYATRI INSTITUTE OF COMPUTER AND MANAGEMENT HINJILICUT (GANJAM)
Blockchain Tech Big Picture
Bitcoin and Blockchain
Explore Txs, block, blockchain in Bitcoin
Sisi Duan Assistant Professor Information Systems
Announcement Sign up google sheet for in class lectures
Not about digital currencies
Sisi Duan Assistant Professor Information Systems
Cryptocurrency and Blockchain Technology
Presentation transcript:

Can blockchains be made better using hardware-assisted security? Lachlan J. Gunn, N. Asokan

What is a Blockchain? A (public) ledger whose integrity is guaranteed Each block is a set of transactions, cryptographically linked to the previous block Acceptance of one block implies agreement on entire history Problem: How to reach consensus on what transactions get included in a block? Choose who decides what transactions are included in a block Devise a way for everyone to agree on the sequence of blocks Block 1 Block 2 Block 3 Block 4

Proof of Work + “longest chain” rule Bitcoin, Ethereum, etc. all use Proof of Work to agree on the next block: Miners decide which transactions include in their proposal for the next block Proof of Work: use computation power to solve a puzzle; winner proposes next block Chance of success proportional to amount of computation (work) performed Fair: any miner expending the same amount of work has the same chance of winning Everyone follows the longest valid chain (chain with largest CPU power wins eventually) Miner 1 Miner 2 Miner 3

What’s wrong with Bitcoin, anyway? The luxury of not trusting anyone does not come for free: All transactions need to be online Slow: long confirmation time, low throughput Wasteful (energy expended on puzzle solving) Probabilistic finality Extremely scalable Finland Belgium Venezuela Bitcoin Austria Visa ETH Annual Power Consumption Philippines Data: Digiconomist, CIA World Factbook

Can hardware-assisted “trusted computing” help? Other Software Trusted Software Protected Storage Root of Trust Hardware support for Isolated execution Protected storage: Sealing Ability to report status to a remote verifier: Attestation Trusted Execution Environment (TEE) Cryptocards Trusted Platform Modules ARM TrustZone Intel Software Guard Extensions https://www.ibm.com/security/cryptocards/ https://www.infineon.com/tpm https://www.arm.com/products/security-on-arm/trustzone https://software.intel.com/en-us/sgx

Outline How to use hardware-assistance to improve blockchains? Changing the “business process” Replacing consensus (“longest chain” rule) … What challenges arise?

Changing the process

Fast off-chain transactions with TEEs Offline Online Fast off-chain transactions with TEEs Fast Slow Bitcoin payments are made from/to cryptographic keys TEE can enforce how a key is used and attest to such usage Online (on-chain): transaction to transfer money to a TEE-protected key Proves initial balance using the blockchain Offline: payment message + TEE-provided attestation: key used in only one outgoing payment Fast, offline payment to any payee who is guaranteed instantaneously that double-spending is not possible! but must wait for on-chain confirmation before using the money with anyone! Gopinath Nirmala, “Improving the Security and Efficiency of Blockchain-based Cryptocurrencies”, MSc thesis @Aalto, 2017. Dmitrienko et al., “Secure Wallet-Assisted Offline Bitcoin Payments with Double-Spender Revocation”, ASIACCS ‘17.

Teechan: Net settlement with TEEs Offline Teechan: Net settlement with TEEs Fast TEEs can use attestation to create a secure channel between them. Decide how much you trust the TEE. Set a credit limit. Create a secure channel between the TEEs. Transaction made via this channel: TEEs keep track of net transfer value. Either TEE can close the channel and perform net settlement. Fast, offline series of payments between two designated parties: guaranteed instantaneously that double-spending is not possible! can reuse the money for transactions with peer immediately but must wait for on-chain confirmation before using the money with anyone else Lind et al. “Teechan: Payment Channels Using Trusted Execution Environments”, Bitcoin ’17.

Proof of Elapsed Time Proof of Work: Work ~ Exp (difficulty) Efficient Wasteful Proof of Elapsed Time Proof of Work: First miner to solve puzzle wins (gets to proposes next block) Work ~ Exp (difficulty) Proposals can be made at a rate proportional to computational power Proof of Elapsed Time: TEE issues attestation after waiting (idly) for a while; First miner to get the attestation wins Idle wait time ~ Exp (difficulty) Proposals can be made at a rate proportional to the number of idle CPUs Intel, Hyperledger Sawtooth Documentation (2015).

Replacing Consensus

Byzantine Consensus Goals of classical Consensus schemes: Slow Byzantine Consensus Probabilistic Wasteful Goals of classical Consensus schemes: Liveness: all (honest) nodes produce output Safety: all (honest) nodes output same value Finality: output values are definitive Adversary model: Adversary can compromise some nodes Goals hold despite f compromised nodes Limits: No protocol can tolerate more than a third of nodes being compromised 1

PBFT The first practical protocol for Byzantine fault tolerance Fast PBFT Deterministic Efficient Scalable The first practical protocol for Byzantine fault tolerance Castro & Liskov, “Practical Byzantine Fault Tolerance”, OSDI’99. Less scalable than Proof of Work. O(n2) messages, n = 3f + 1

The landscape of consensus mechanisms Fast The landscape of consensus mechanisms Deterministic Efficient PBFT Scalable Can TEEs bring us out here? throughput Adapted from Marko Vukolić, "The quest for scalable blockchain fabric: Proof-of-work vs. BFT replication." International Workshop on Open Problems in Network Security. Springer International Publishing, 2015.

How can TEEs help design scalable consensus? Problem: Compromised nodes can equivocate Solution: Use attestation to prevent equivocation! Tolerate faults in ½ of the nodes Applicability limited to permissioned settings Chun et al., “Attested append-only memory: making adversaries stick to their word”, SOSP ‘07 Detected!

MinBFT Hardware-based monotonic counters → increase fault-tolerance PBFT Hardware-based monotonic counters → increase fault-tolerance Veronese et al., "Efficient Byzantine fault-tolerance." IEEE Trans. Computers 62.1 (2013): 16–30. O(n2) messages, n = 2f + 1

FastBFT TEE-protected secret sharing, message aggregation PBFT TEE-protected secret sharing, message aggregation → increase throughput Liu et al., “Scalable Byzantine Consensus via Hardware-assisted Secret Sharing”, IEEE Trans. Computers (2018). MinBFT O(n) messages, n = 2f + 1

Challenges

Challenges in relying on hardware-assistance TEE unavailable TEE Availability: TEEs will not be universally available: Gradual rollout Obsolescence Revocation TEE Compromise: Compromising some TEEs should not completely break the system

Example: Dealing with TEE availability in consensus Question: Can we improve consensus protocols by adding only a few TEEs? Answer*: can increase throughput if #TEEs > 1 but fault tolerance cannot be increased if (#TEEs / #Nodes) ≤ 2/3 Open question: How can we optimally increase fault tolerance when 2/3 < (#TEEs / #Nodes) < 1 (* Forthcoming research report)

Example: Dealing with TEE compromise in PoET Problem: A compromised TEE can win every block Statistical solution: refuse blocks from machines that have won too many times Before: compromised TEEs give attacker unlimited power After: attacker power proportional to # of compromised TEEs Open question: How can TEE-using applications detect/mitigate effects of TEE-compromise? Intel, Hyperledger Sawtooth Documentation (2015). Chen et al., “On Security Analysis of Proof-of-Elapsed-Time (PoET)”, SSS 2017.

Summary Hardware-assisted TEEs can improve blockchain-based systems Faster transactions, increased throughput, better efficiency,… without sacrificing scalability Any solution relying on hardware-assisted security must Mitigate effects of hardware compromise Work without universal hardware support Hardware-assisted TEEs can improve blockchain-based systems Faster transactions, increased throughput, better efficiency,… without sacrificing scalability ( Greater resilience in permissioned blockchains (some solutions are only applicable in permissioned blockchains) Any solution relying on hardware-assisted security must Mitigate effects of hardware compromise Work without universal hardware support Allows gradual deployment Tolerates obsolescence https://ssg.aalto.fi/research/projects/bcon/ http://www.icri-cars.org/ BCon project, Academy of Finland ICRI-CARS, Intel