blockchain: systems, security and...

30
Blockchain: Systems, Security and Applica8ons Dr. Yuzhe (Richard) Tang Department of EECS, Syracuse University May 10, 2018

Upload: others

Post on 19-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Blockchain:Systems,SecurityandApplica8ons

Dr.Yuzhe(Richard)TangDepartmentofEECS,SyracuseUniversity

May10,2018

Page 2: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Outline

A.   Introduc+on

B.  What’sPublicBlockchain?–  Externalviews–  Internalviews

C.  BlockchainModels,ProblemsandApplica8ons

5/10/18 YuzheTang,SyracuseUniv. 2

Page 3: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

A.Introduc8on:Cryptocurrency

•  Cryptocurrencyinthefield:– BitCoin,Ethereum,Litecoin,etc.

5/10/18 YuzheTang,SyracuseUniv. 3

Page 4: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

CryptocurrencythatislikeUSDollars•  Supportconven8onalmoneyflows:– Createmoneyinamint– Circulatemoneyamongownersthroughtransac+ons

•  Securityunderthreats:– Threat1:Printfakemoney– Threat2:Doublespending(digitalcurrency)

5/10/18 YuzheTang,SyracuseUniv. 4

Page 5: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

CryptocurrencythatisunlikeUSDollars•  USdollarisfiatcurrencycontrolledbyautori8es–  Issuedandprintedingov.mint– CirculatedwithmonitoringbyVisa

•  Authoritymaynotbetrustworthy

•  Cryptocurrencyremovescentralizedauthority.5/10/18 YuzheTang,SyracuseUniv. 5

Page 6: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

KeyIdeasofCryptocurrency•  Getridofauthoritybytrustdecentraliza+on

–  Don’ttrustgov.andVisa,insteadtrusttheen8repopula8ononplanet.

•  Makethenetworkopen-membershipandtransac8onhistorytransparent.–  Transparency&open-membershiphelpsnetworkreachtheplanetscale.

•  Automatetheen8reprocesswithincen+vecompa+bility.–  Automa8onremoveslaborandreducescosts.–  Paypeoplewhohelpmaintainthesystem.

5/10/18 YuzheTang,SyracuseUniv. 6

Page 7: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

•  Blockchainistheplacetorecordcryptocurrencytransac8ons.– BlockchainistheledgerforBitcoin

•  Blockchainisthesystemmaterializingtheaboveideas.

Introduc8on:CryptocurrencyandBlockchain

5/10/18 YuzheTang,SyracuseUniv. 7

Page 8: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Outline

A.  Introduc8on

B.   What’sPublicBlockchain?–  Externalviews–  Internalviews

C.  BlockchainModels,ProblemsandApplica8ons

5/10/18 YuzheTang,SyracuseUniv. 8

Page 9: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

What’sBlockchain:Overview

5/10/18 YuzheTang,SyracuseUniv. 9

•  Blockchainis…

Page 10: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

What’sBlockchain:Overview

5/10/18 YuzheTang,SyracuseUniv. 10

•  Blockchainis…1.  Atransac8onstoragesystem

Page 11: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

What’sBlockchain:Overview

5/10/18 YuzheTang,SyracuseUniv. 11

•  Blockchainis…1.  Atransac8onstoragesystem2.  Acryptocurrencymine3.  Aprogram-execu8onplacorm

Page 12: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

What’sBlockchain:Overview

5/10/18 YuzheTang,SyracuseUniv. 12

•  Blockchainis…1.  Atransac8onstoragesystem2.  Acryptocurrencymine3.  Aprogram-execu8onplacorm4.  Aconsensusprotocol5.  Aproofsystem6.  Manyotherthings

Page 13: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

1.BlockchainasTransac8onStorage

•  Interface:– sendTransac>on({from:account1,to:account2,value:amount})

– getTransac>on(txid)

•  Scenario:–  Getyourfirstbitcointhroughexchange/walletservice

5/10/18 YuzheTang,SyracuseUniv. 13

Page 14: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

SecurityofTransac8onStorage

•  Blockchainastransac8onstorage– Readabletothepublic(transparency)– Appendablebyhonestclientssendingvalidtransac8ons

– Oncecommieed,cannotbemodified(immutability)

•  Transac8onvalidity:Nodoublespending– AgerAlicepaysBobcoinX,Alicecan’tspendcoinX.

5/10/18 YuzheTang,SyracuseUniv. 14

Page 15: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

InternalofTransac8onStorage

•  Add-transac8onflow– Recentlysenttxsbroadcastandbufferedinmemorypools.

– Pendingtxsarevalidated•  Ensuringnodouble-spending

– AppendtxstoBlockchain•  Validatedtxsaregroupedtoblocks•  Blocksareappendedtotheblockchain.

5/10/18 YuzheTang,SyracuseUniv. 15

Page 16: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

InternalofTransac8onStorage

•  Transac8onsformaDAG–  Hashpointer:Representspendingrela8onshipbtwntxs

•  Transac8onDAG(100GB)isstoredintheBlockchainnetwork.

•  Blocks(32MB)arechainedandreplicatedintheBlockchainnetwork.

•  Immutabilityisensuredby–  Securityofhash(collisionresistance)–  Blocksarereplicated.

5/10/18 YuzheTang,SyracuseUniv. 16

Page 17: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

2.BlockchainasaMine

•  Likegoldmine,theBlockchainwillgivevaluables(inBitcoins)topeoplewhoputeffortsin.

•  Scenarios:Youpurchasesomehardwareandrunsome(non-sense)computa8ons– Withsomeprobability,yourcomputa8onwillberewardedinBitCoin

–  Theprobabilitydependsonhowpowerfulyourhardwareisandhowmanyothersarecompe8ng

5/10/18 YuzheTang,SyracuseUniv. 17

Page 18: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

2.BlockchainasaMine

•  HowlikelyitistogetBitCointhru.mining?– Howbigisyourbudget?•  Constantcapital:buymachines,Variablecapital:electricityconsump8on

– Whoyouareupagainst(racingtowinthereward)?•  State-levelminers,bitcoinfarm,datacenters

5/10/18 YuzheTang,SyracuseUniv. 18

Page 19: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Security:SybilAeackResilience

•  Open-membershipnetwork:anyonecanjoin•  Honestmajorityminers:Securityassump8on•  Sybilaeack– Anindividualcancreatealargenumberofminerstobecomeandcontrolthemajorityofnetwork.

•  Mining:MakeithardtodoSybilaeack.– Havingaminerwinconsumesresources.– Havingmanyminerswinconsumessomanyresourcesthatan(adversarial)individualcannotafford.

5/10/18 YuzheTang,SyracuseUniv. 19

Page 20: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

3.BlockchainasProgram-Execu8onPlacorm

•  Programminginterface:Smartcontract– Smart-contractprogramisanexecutablerunningontheBlockchainnetwork

– Examples:

5/10/18 YuzheTang,SyracuseUniv. 20

Page 21: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

3.BlockchainasProgram-Execu8onPlacorm

•  Commonuseofsmartcontract:– Decision-makinglogic(IFTTT)

•  Whentosendtx,whocanspendthetx– Generalprogram(Turingcompletelanguageonchain)

•  Applica8on:Stock-exchange– Alicewilltrade10sharesfor$10,000whenthestockpriceisbelow$1000.•  (BitCoincanrepresentboth$10Kandsharesasdigitalgoods)

Acknowledge:Prof.AriJuels5/10/18 YuzheTang,SyracuseUniv. 21

Page 22: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Security:UnstoppableExecu8on•  Securityproper8es:– Autonomouslyexecuted,unstoppable– Transac8onfairness:

•  IfIpaidyou,tobefair,Ineedtoreceiveyourgoods.•  Replacetheroleofconven8onalbanksinasupplychain.

•  Internally,itisensuredby– Replicatedexecu8on– Honestmajority

5/10/18 YuzheTang,SyracuseUniv. 22

Page 23: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Outline

A.  Introduc8on

B.  What’sPublicBlockchain?–  Externalviews–  Internalviews

C.  BlockchainModels,ProblemsandApplica8ons

5/10/18 YuzheTang,SyracuseUniv. 23

Page 24: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Internal-MechanismOverview

1.  BlockchainisaP2Pnetworkoftwolayers– Clientssend/readtransac8ons– Minersmaintaintransac8onstorage

2.  Minersrunadd-txlogic1.  Broadcastpendingtxs2.  Validatetxs3.   Appendvalidatedtxsto

Blockchain

5/10/18 YuzheTang,SyracuseUniv. 24

Page 25: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Outline

A.  Introduc8on

B.  What’sPublicBlockchain?–  Externalviews–  Internalviews

C.   BlockchainModels,ProblemsandApplica+ons

5/10/18 YuzheTang,SyracuseUniv. 29

Page 26: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Alterna8veBlockchainModels

•  Private/Permissionedblockchain– QuorumfromJPMorganChase,HyperledgerfromIBM

– Runsinaconsor8umofminers(closednetwork)•  Privacy-preservingBlockchain– zCash/zeroCash:encryptedtransac8ons

•  Theyfeature:closed-membership,privatetransac8ons,privatecontractstate.

5/10/18 YuzheTang,SyracuseUniv. 30

Page 27: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

BigProblemsofBlockchainToday•  Energyconsump8onbyPoW

•  Scalability–  boundedbyblocksizeandminingrate.

•  Compu8ngpowercentraliza+on–  Miningpool

•  Cyber-crimethroughcryptocurrency

•  Privacyleakagethru.sidechannels

5/10/18 YuzheTang,SyracuseUniv. 31

Page 28: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

BlockchainApplica8onsBeyondBitcoins

•  DNSservers–  Blockstack

•  Personalkeymanagment–  Keybase.io,

•  Iden8tymanagement–  Interna8onaltravellingandCanadianbordercontrol

•  ServicediscoveryinVMWare•  Incen8vizedfitness

–  FryEgg•  Streamlinedincidentrepor8ng

–  BikeBlockchain

5/10/18 YuzheTang,SyracuseUniv. 32

Page 29: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

What’sNext?•  OnlineBlockchainLabsatSyracuseUniv.:

–  heps://goo.gl/hFmfQc

•  SEEDworkshopinMay,2018inSyracuse,NY–  Aneduca8onworkshopforcollegeandhigh-schoolteachers

–  hep://www.cis.syr.edu/~wedu/seed/workshop.html

•  Blockchaincourse–  CIS600&FIN600:BlockchainandCryptocurrencies(inFall,2018,atSU)•  hep://tristartom.github.io/docs/syl-4600.pdf•  Otheronlinematerials

5/10/18 YuzheTang,SyracuseUniv. 34

Page 30: Blockchain: Systems, Security and Applicaonstristartom.github.io/docs/BlockchainTutorial-SUPA.pdf · – Decision-making logic (IFTTT) • When to send tx, who can spend the tx –

Q/A

Contact: Yuzhe (Richard) Tang Assistant Professor Dept. of EECS Syracuse University [email protected] ecs.syr.edu/faculty/yuzhe

Thankyou!

36