Blockchains Lecture 6.

Slides:



Advertisements
Similar presentations
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Advertisements

Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Lecture 4 Cryptographic Tools (cont) modified from slides of Lawrie Brown.
James Higdon, Sameer Sherwani
Elgamal Public Key Encryption CSCI 5857: Encoding and Encryption.
Block Chain 101 May 2017.
BChain: High-Throughput BFT Protocols
Virtual Private Network (VPN)
Basics of Cryptography
Hash Functions Which of these problems is easier to solve:
Home: Tel: , H.P.: Office: 공) 7710A
Evaluation Forms for Blockchain- Based System ver. 1.0
Public Key Encryption and Digital Signatures
Introduction to Blockchain & Ethereum
Principles of Computer Security
Blockchain beyond cryptocurrencies
Basic Network Encryption
Digital signatures.
Blockchain at UB B. Ramamurthy
Digital Signatures Last Updated: Oct 14, 2017.
Advanced Cryptography Protocols
Cryptography Lecture 12.
CS 465 TLS Last Updated: Oct 31, 2017.
ICS 454 Principles of Cryptography
Cryptography Lecture 27.
CAS CS 538 Cryptography.
Which blockchain? The future at a crossroad
Principles of Computer Security
Cryptography Lecture 14.
Blockchain at UB B. Ramamurthy
Distributed Ledger Technology (DLT) and Blockchain
Which blockchain? The future at a crossroad
The Secure Sockets Layer (SSL) Protocol
ICS 454 Principles of Cryptography
IS 651: Distributed Systems Blockchain
Blockchain Concepts RISK FORUM 2017 Hash function (e.g. SHA-256)
Swagatika (Jazz) Sarangi
Outline Using cryptography in networks IPSec SSL and TLS.
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
IS 651: Distributed Systems Final Exam
OurSQL = MySQL + Blockchain
FST Network All Rights Reserved
Introduction to Cryptography
Cryptography Lecture 12.
Lecture 4.1: Hash Functions, and Message Authentication Codes
Blockchains and Auditing
Basic Network Encryption
Byzantine Fault-Tolerance
Modified from Bob Vachon
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Faculty Seminar Series Blockchain Technology
Blockchain Technology
Cryptography Lecture 15.
Cryptography Lecture 24.
Blockchain Technology: A New Approach to Provenance
Cryptography Lecture 27.
ג'ואי מזרחי מיכל חקשור דור אזולאי.
Blockchain Tech Big Picture
Blockchain Tech Big Picture
What is A blockchain? B. RAMAMURTHY ©2019, ALL RIGHTS RESERVED
Blockchains Lecture 1.
Blockchains Lecture 4.
Explore Txs, block, blockchain in Bitcoin
Blockchains Lecture 2.
Sisi Duan Assistant Professor Information Systems
How to Use Charm Crypto Lib
LAB 3: Digital Signature
BUILDING A BLOCKCHAIN USING PYTHON
Presentation transcript:

Blockchains Lecture 6

Bitcoin Bitcoin is a blockchain Bitcoin is not a blockchain Both claims are correct! Let’s find out why. Not the main focus of the class, as Bitcoin is not technically a blockchain for programming at all. Bitcoin is mainly a crypto-currency.

Rough course outline Building blocks Secrecy Integrity Private-key setting Private-key encryption Message authentication codes Public-key setting Public-key encryption Digital signatures Building blocks Pseudorandom functions/block ciphers (AES) Hash functions (SHA) Number theory (RSA, Diffie-Hellman, Discrete Logarithm, Elliptic Curve, LWE)

To Understand Bitcoin We need Digital signatures (ESDSA) Hash function (modeled as a random oracle)

A History of Bitcoin? https://arxiv.org/abs/1810.06130

Visualizing Bitcoin https://www.youtube.com/watch?v=Lx9zgZCMqXE&t=86s

Not Stored But Locally Verified

Only Being Stored

Using Merkle Tree

Bitcoin Bitcoin’s chain is called “blockchain.” Blockchain, however, has a general meaning: not just a crypto-currency, but a general platform for programming! So Bitcoin, in the above sense, it not a blockchain, as it has a very limited script language that can be used in very limited applications. Ethereum essentially generalizes Bitcoin for a platform for easy and Turing-complete programming via “Smart contracts.”

Blockchains (State Machine Replication) Blockchains tolerate Byzantine (arbitrary) failures Integrity/safety: the code to be executed correctly Availability/liveness: the service is always available (Typically, not confidentiality) Replicas Client

Can Be Bitcoin Explained with State Machine Replication?

The “Total Order” Requirement Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 $100

The “Total Order” Requirement Chase: “Charge 10%” Client 1: “Deposit $100” $100 $90 $190 Chase: “Charge 10%” Client 1: “Deposit $100” $100 $90 $190 $100

The “Total Order” Requirement Chase: “Charge 10%” Client 1: “Deposit $100” $100 $90 $190 Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 $100

Characterizing Blockchains Permissionless: explicitly/implicitly rely on cryptocurrency Permissioned: traditional Byzantine fault-tolerant distributed system (consortium blockchains, private blockchains) Membership Consensus Approach Examples Permissionless Dynamic PoX (Proof of “X”) Bitcoin, Ethereum Permissioned Fixed; know IDs of each other BFT (Byzantine fault tolerance) Fabric, Iroha, Chios, BEAT

Characterizing Blockchains Permissionless: explicitly/implicitly rely on cryptocurrency Permissioned: traditional Byzantine fault-tolerant distributed system (consortium blockchains, private blockchains) Hybrid: use BFT to improve permissionless blockchains Membership Consensus Approach Examples Permissionless Dynamic PoX (Proof of “X”) Bitcoin, Ethereum Permissioned Fixed; know IDs of each other BFT (Byzantine fault tolerance) Fabric, Iroha, Chios, BEAT Hybrid (permissonless) Sybil resistant PoX+ BFT Elastico, OmniLedger, Ethereum Casper

Blockchains Yes, blockchains are virtually replicated servers achieving consensus Whatever applications make senses in the client server model can work in the client blockchain model! So virtually everything could be implemented using blockchains