Blockchains and Auditing

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
COMS 486 Iowa State University Introduction to Bitcoin A P2P Electronic Cash System.
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
BITCOIN An introduction to a decentralised and anonymous currency. By Andy Brodie.
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
1 Lecture 18: Security issues specific to security key management services –privacy –integrity/authentication –nonrepudiation/plausible deniability.
Cryptology Digital Signatures and Digital Certificates Prof. David Singer Dept. of Mathematics Case Western Reserve University.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Cryptography, Authentication and Digital Signatures
Practical Byzantine Fault Tolerance
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek.
Private key
Bitcoin Bitcoin is a cryptocurrency. The platform that hosts Bitcoin is a p2p system. Bitcoin can be abstracted as a digital file that records the account.
Block Chain 101 May 2017.
Motivation ✓ ✘ ? Bitcoin/Ideal Credit Card Works on Internet
Intrusion Tolerant Architectures
Kermit Lowry, John Whatley, Wesley Cooper, and Matthew Eith
Bitcoin and the Blockchain
Virtual currency? Crypto-currency? Internet Money? Property?
CSCE 715: Network Systems Security
CS480 Cryptography and Information Security
Bitcoin - a distributed virtual currency system
Distributed Systems for Information Systems Management
Cryptocurrencies By Rui Sakurai and Shane Spears
Introduction to Blockchain & Ethereum
The Cryptoeconomic Way
Blockchain beyond cryptocurrencies
Bitcoin and the Blockchain
Bitcoin Explained in 2 Minutes
Ling Ren Joint work with Ittai Abraham, Dahlia Malkhi,
So what is Blockchain anyway?
Advanced Cryptography Protocols
Life skill presentation
EECS 498 Introduction to Distributed Systems Fall 2017
CS 240: Computing Systems and Concurrency Lecture 20 Marco Canini
Introduction to Blockchains
Bitcoin and the Blockchain
Distributed Ledger Technology (DLT) and Blockchain
Nonce Making Sense of Nonces.
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
Can blockchains be made better using hardware-assisted security?
Protocol ap1.0: Alice says “I am Alice”
IS 651: Distributed Systems Blockchain
Key Management Network Systems Security
Swagatika (Jazz) Sarangi
Consensus Algorithms.
CDK: Chapter 7 TvS: Chapter 9
Kai Bu 04 Blockchain Kai Bu
Presentation On Bit-Coins.
Blockchains and Smart Contracts for the Internet of Things
Modified from Bob Vachon
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Faculty Seminar Series Blockchain Technology
Blockchain Technology: A New Approach to Provenance
Security: Integrity, Authentication, Non-repudiation
Distributed Computers and Web Technologies (3-0-6)
Chapter 8 roadmap 8.1 What is network security?
Campbell R. Harvey Duke University and NBER
Blockchain Tech Big Picture
Blockchain Tech Big Picture
Bitcoin and Blockchain
Explore Txs, block, blockchain in Bitcoin
Blockchains Lecture 6.
Announcement Sign up google sheet for in class lectures
Author: Satoshi Nakamoto
Presentation transcript:

Blockchains and Auditing Ethan Cecchetti CS 5430 April 25, 2018

Blockchain: A public tamper-proof log Useful for an audit log! Publicly visible Publicly writable Unmodifiable Event 1 Event 2 Event 3 ✔ ✔

Preventing Tampering Distribute Trust! VS

Traditional Consensus Event 1? ✔ Members Vote “Byzantine fault-tolerant (BFT) consensus” Tolerates < 1/3 faulty Must know who everyone is! ✔ ✔ X ✔

Sybil Attacks Event 1? ✔ What if anyone can join? X

Defending against Sybil Need a scarce resource BFT consensus uses identity – you only get one What else can we use? Computational power (Proof of Work) Money (Proof of Stake)

Computation as a scarce resource: Proof of Work

Proof of Work: The basics Find x such that Hash(x) < N This could take a while… What about replays? Add a nonce r Look for Hash(r || x) < N x1 x2 xk … Hash y1 > N y2 > N yk < N

Proof of Work: Building a log Make the nonce useful Use a message digest! d = Digest(m) Find x such that Hash(d || x) < N x1 x2 xk … Hash y1 > N y2 > N yk < N

Proof of Work: Building a log To add a message, generate a proof of work with that message Connect each message to previous Msg 1 d1 x1 Hash < N Msg 2 d2 x2 Hash < N Msg 3 d3 x3 Hash < N h1 h2

Proof of Work: Coming to consensus What can go wrong? Forks d3 x3 d4 x4 d1 x1 d2 x2 d'3 x'3 Take the heaviest fork (one with the most work)

Nakamoto Consensus If majority of computation is honest, honest parties will agree (eventually) Log is tamper-proof It would require redoing all of the work to tamper

Blockchains for Audit Individual accountability Event reconstruction Everything is visible. Everyone is accountable. Event reconstruction All of the events are there. Easy to reconstruct. Real-time intelligence Miners can verify everything as it goes on the log. before!

Not just a log! Authoritative record Instead of logging events elsewhere, the blockchain can record the definition of events (e.g. transactions) Online validation can prevent illegal events from ever happening!

What restrictions make sense? Transaction Processing System Each block has a limited number of transactions (1 MB) Transactions cannot create money Except coinbase transaction to reward miner Coins can only be spent once (spending creates new unspent coins) To spend a coin conditions must be met (e.g., owner authorizes) Bitcoin

Blockchains and Confidentiality

What do we do with private data? Cannot put it on the blockchain – everything is public Only publish commitments d1 x1 Secret M1 d2 x2 Secret M2 C1 C2 Commit(M1) Commit(M2)

What do we do with private data? Cannot put it on the blockchain – everything is public Only publish commitments Still tamper-proof ✔ No longer able to see actions Cannot reconstruct events X Cannot perform online validation X ☹

Doing better with private data Verify data validity without leaking secrets Ongoing research with two main tools Heavy-duty cryptographic constructs Complex zero-knowledge proofs Trusted hardware Places trust in hardware instead of crypto or a large group

Cryptographic Example: Solidus Bank-base confidential transactions $x Alice $10-x … Bob $5+x …

Cryptographic Example: Solidus Sending bank can see sender and value $x ✔ Alice $10-x … Bob $5+x …

Cryptographic Example: Solidus Receiving bank can see recipient and value $x ✔ Alice $10-x … Bob $5+x …

Cryptographic Example: Solidus Everyone can see banks involved $x ✔ ✔ ✔ Alice $10-x … Bob $5+x …

Cryptographic Example: Solidus Strong publicly verifiable integrity guarantees Sender authorized transaction Sender had money to send Transaction value was not negative Transaction was processed correctly Can (provably) furnish transaction details to external auditor

Trusted Hardware Special machine instructions Isolate process from the surrounding system Can remotely attest that they’re running specific code Uses (literally) hard-wired keys in the CPU Trustworthy code can operate on secret data and attest to correctness Examples: Intel Software Guard eXtensions (SGX) ARM TrustZone