wicsa2016 blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... ·...

35
www.csiro.au The Blockchain as a So3ware Connector Sherry Xu , Cesare Pautasso Liming Zhu, Vincent Gramoli, Alexander Ponomarev, An Binh Tran, Shiping Chen Data61@CSIRO | University of Lugano (USI) design.inf.usi.ch

Upload: others

Post on 08-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

www.csiro.au*

The*Blockchain*as*a*So3ware*Connector*Sherry*Xu,*Cesare*Pautasso*Liming*Zhu,*Vincent*Gramoli,*Alexander*Ponomarev,*An*Binh*Tran,*Shiping*Chen*

Data61@CSIRO,,|,,University,of,Lugano,(USI),, ,design.inf.usi.ch*

Page 2: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

ContribuGon**•  Characterizing,blockchain,from,soDware,architecture,perspecGve,

•  RaGonales,to,support,the,architectural,decision,on,whether,to,employ,a,blockchain,as,opposed,to,other,soDware,connectors,

,•  ImplicaGons,of,using,the,blockchain,as,a,soDware,connector,•  Design,tradeJoffs,regarding,quality,aMributes,,•  Experience,harvested,from,realJworld,projects,

Blockchain,,|,,Sherry,Xu,2,,|,

Page 3: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*Background*

*

Page 4: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain,,|,,Cesare,Pautasso,4,,|,

Blockchain*1.0*–**Cryptocurrency**

A.#Antonopoulos,#Mastering#Bitcoin4unlocking#Digital#crytocurrencies,#2014#

Bitcoin*Network*

Page 5: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Benefits*of*Using*Blockchain*

5,,|,

Organization 1 Organization 2

Centralized Trusted Authority

Traditional trusted environment

Trusted*market*

Trusted*authenGcaGon*

Trusted*payment*

Blockchain,,|,,Sherry,Xu,

Page 6: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Benefits*of*Using*Blockchain*

6,,|,

Organization 1 Organization 2

Centralized Trusted Authority

Traditional trusted environment

•  CentralizaGon,•  Single,point,failure,•  Access,control,across,systems,•  System,internal,status,is,opaque,

•  CollaboraGon/interoperability,•  Fragmented,internal,systems,centralized,in,their,own,way,

•  Costly,to,interoperate,and,collaborate,

Blockchain,,|,,Sherry,Xu,

Page 7: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Benefits*of*Using*Blockchain*

7,,|,

Organization 1 Organization 2 Organization 1 Organization 2

Blockchain network

Centralized Trusted Authority

Traditional trusted environment Blockchain trustless environment Blockchain network

Blockchain,,|,,Sherry,Xu,

Page 8: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Why?*

Blockchain,,|,,Sherry,Xu,8,,|,

Blockchain network

•  Immutable*public*ledger*•  Audit,trail,of,what,happened,

•  Every*node*hosts*a*replica*•  Distributed,consensus,,

-  No#central#owner#of#consensus##•  TransacGon*is*verified*by*every*

node*

•  Gossip,protocol,for,propagaGon,•  Consensus,protocol,for,agreement,

Page 9: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*EvoluGon**

9,,|,

•  Blockchain,1.0,•  Bitcoin,transacGons,are,financial,transfers,•  Blockchain,ledger,can,store/transact,any,kind,of,data,

•  Blockchain,2.0,–,“Smart,contract”,•  Global,computaGonal,infrastructure,for,programs,•  EventJdriven,program,(with,state),that,runs,on,a,replicated,,

shared,ledger,•  Can,enact,decisions,on,complex,business,condiGons,•  CoordinaGon,with,business,processes,through,APIs,

•  Can,hold,and,transfer,assets,held,by,the,contract,itself,Blockchain,,|,,Sherry,Xu,

Page 10: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*EvoluGon**

10,,|,

•  Blockchain,1.0,•  Bitcoin,transacGons,are,financial,transfers,•  Blockchain,ledger,can,store/transact,any,kind,of,data,

•  Blockchain,2.0,–,“Smart,contract”,

Blockchain,,|,,Sherry,Xu,

Smart,contract,as,Escrow,

Page 11: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*as*Connector*Characterizing*Blockchain*from*Architecture*PerspecGve***

*

Page 12: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

So3ware*Connectors*

Blockchain,,|,,Cesare,Pautasso,12,,|,

•  Building,blocks,of,soDware,component,interacGon,–  Performance,–  Reliability,–  Security,

•  Services,–  CommunicaGon:,transfer,data,,–  CoordinaGon:,transfer,control,–  FacilitaGon:,enable,and,opGmise,component’s,interacGons,–  Conversion:,adjust,the,interacGons,between,incompaGble,interfaces,

Page 13: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Example*So3ware*Connectors*

Blockchain,,|,,Cesare,Pautasso,13,,|,

File,Transfer,

Message,Bus,

Shared,Database,

Remote,Procedure,Call,Stream,

Blockchain,

Page 14: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*used*in*a*Web*applicaGon*

Blockchain,,|,,Cesare,Pautasso,14,,|,

Database,(big,data),

ApplicaGons,

API,

Tokens/Currencies,Smart,Contracts,

ApplicaGons, ApplicaGons,

Shared,Data,Ledger,(metaJdata,,small,data),

Blockchain*

ApplicaGons,

Page 15: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*as*a*So3ware*Connector*

Blockchain,,|,,Cesare,Pautasso,15,,|,

•  CommunicaGon,•  CoordinaGon,•  FacilitaGon,

Validation Oracle

Blockchain layer

Application layer

Blockchain network

Off- chain control

Node

Blockchain connector

ChainMining

TransactionValidation

Secure clearing payment

ChainChain

Permission mangement

Incentive mechanism

Off-chain data

Off- chain control

Off- chain control

Validation Oracle

Validation Oracle

Page 16: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*as*a*So3ware*Connector*

Blockchain,,|,,Cesare,Pautasso,16,,|,

•  CommunicaGon,•  Arbitrary,data,within,transacGon,•  Contract,storage,

•  CoordinaGon,•  TransacGons,–  From,external,owners,–  From,contract,accounts,–  Call,funcGons,defined,in,contracts,–  Create,new,contracts,

•  Oracle,,•  FacilitaGon,

OracleOracleOracle

Blockchain

Application layer

Off- chain control

Off-chain data

Off- chain control

Off- chain control

Contract Contract

TX TX

TX

Page 17: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*as*a*So3ware*Connector*

Blockchain,,|,,Cesare,Pautasso,17,,|,

•  CommunicaGon,•  CoordinaGon,•  FacilitaGon,•  TransacGon,validaGon,• Mining,mechanism,,•  Secure,clearing,payment,•  IncenGve,mechanism,•  Permission,management,

Validation Oracle

Blockchain layer

Application layer

Blockchain network

Off- chain control

Node

Blockchain connector

ChainMining

TransactionValidation

Secure clearing payment

ChainChain

Permission mangement

Incentive mechanism

Off-chain data

Off- chain control

Off- chain control

Validation Oracle

Validation Oracle

Page 18: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*LimitaGons*

Blockchain,,|,,Cesare,Pautasso,18,,|,

•  Limited,scalability,of,public,blockchain,•  The,public,blockchain,processes,3J20,transacGons,per,second,

•  VISA,handles,around,2000,transacGons,per,second,•  Improving,transacGon,processing,rate,,•  Larger,blockchain,size,•  OffJchain,transacGons,•  Smaller,transacGon,•  ,Remove,signature,,

•  Privacy,of,public,blockchain,•  ,EncrypGon,,

Page 19: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain*configuraGon*decision*

Blockchain,,|,,Cesare,Pautasso,19,,|,

Placement:*onUchain*vs.*offUchain*Enable,verificaGon,of,computaGonal,result,,limited,computaGon,power,and,data,storage,,publicly,available,,More,computaGon,power,and,data,storage,,less,cost,,addiGonal,trust,required,,integrate,with,exisGng,systems,

Public*chain*vs.*Private*chain*InformaGon,transparency,,scalability,,trustworthy,InformaGon,isolaGon,,easier,assetJspecific,auditablility,,

Oracle*placement:*Internal*vs.*External*Inject,external,state,into,the,blockchain,,increase,latency,Introduce,a,trusted,third,party,

Persmissionless*vs.*Permissioned**Worse,performance,,more,cost,,Sybil,aMack,,immutable,,BeMer,performance,,less,cost,,easy,reverse,,

Single*chain*vs.*MulGple*chains*Heterogeneous,dataset,,InformaGon,isolaGon,,harder,chain,and,permission,management,

Calculated*from*Ethereum*Store*1kb*data**costs*around*$0.32*read*1*kb*data*costs**$0.015**

Page 20: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain,vs.,Shared,DB:,OperaGons*

•  Insert,TransacGon,(Append,Only),

•  Create,•  Read,•  Update,•  Delete,

Blockchain,,|,,Cesare,Pautasso,20,,|,

Page 21: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain,vs.,Shared,DB:,ReplicaGon*

•  Full,ReplicaGon,on,every,peer, • MasterJSlave,• MulGJmaster,

Blockchain,,|,,Cesare,Pautasso,21,,|,

Page 22: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain,vs.,Shared,DB:,Consensus*

• Majority,of,peers,agree,on,the,outcome,of,transacGons,•  Tolerant,of,ByzanGne,Generals’problem,

•  Distributed,TransacGons,,(2,Phase,Commit,,Paxos),•  SynchronizaGon,

Blockchain,,|,,Cesare,Pautasso,22,,|,

Page 23: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain,vs.,Shared,DB:,Invariants*

•  TransacGons,validated,everywhere,•  Global,rules,enforced,on,the,whole,blockchain,•  No,extra,money,created,during,a,spending,

transacGon,

•  Integrity,Constraints,

Blockchain,,|,,Cesare,Pautasso,23,,|,

Page 24: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Project*RetrospecGve*Open*Data*Registry**

Page 25: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Data*ProsumpGon*Chain*

25,,|,

Data*EvoluGon*Provenance**

Raw,data,with,no,value,added,

Incremental,or,valueJadded,data,

Commercial,data,

•  Provenance,•  How,dataset,evolves,from,raw,data,to,valueJadded,data,

–  Raw,Data,–  Government,open,data,,individual,device,data,–  Priced,at,zero,,or,at,marginal,cost,

–  ValueJadded,data,–  Private,weather,services,

•  Who,,when,,what,,how,(,,,,,,,,,,Metadata),

Incremental,or,valueJadded,data,

Blockchain*

Blockchain,,|,,Sherry,Xu,

Page 26: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Data*MoneGzaGon**

26,,|,

Data owner 2

Dataset

. Dataset

Data owner 1

Dataset Dataset

DD

Data Consumer (Joint Analytics)

•  Payback*based*on*the*dataset*contribuGon*and*value*

26,,|, Blockchain,,|,,Sherry,Xu,

Page 27: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

27,,|,

Post*an*analyGcs*job*

Process*PerspecGve*

Dataset,,requirement,and,,

measurement,criteria,

Register*a*dataset*

Policy*compliance*checking*

Run*analyGcs*

Dataset,,metadata,and,usage,

policy,address,,

Select*job*

Select*dataset*

Policy,checking,result,

When,and,what,job,

Who,pay,how,much,to,whom,

Data*Consumer*

Data*Owner*

Pay*

Paid*

OnUchain*computaGon*

OffUchain*computaGon*

OnUchain*informaGon*

Blockchain,,|,,Sherry,Xu,

Page 28: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain,,|,,Ingo,Weber,28,,|,

Home*page*of*Open*Data*Registry*•  StaGsGcs,,•  Provenance,,

Page 29: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Project*RetrospecGve*Secure*Contract*NegoGaGon**

Page 30: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Scenario*

30,,|,

D D

D

Blockchain,,|,,Sherry,Xu,

•  NegoGaGon*is*controlled*by*a*third*party*or*one*of*the*organizaGons*get*involved.*

•  Which*organisaGon*should*control*the*negoGaGon*process?*

Lack TRUST

Page 31: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Secure*Contract*NegoGaGon*

31,,|,

D

Blockchain,,|,,Sherry,Xu,

NegoGaGon*

•  Blockchain*replaces*a*centralized*trusted*third*party,

D D

Page 32: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Blockchain,,|,,Sherry,Xu,32,,|,

Secure*Contract*NegoGaGon*

IniGate,,negoGate,,sign,

Key*distribuGon,

AuthenGcaGon*

TamperUproof*log*of*events*•  Proposal,of,new,value,•  Agree/disagree,•  Amendment,

OffUchain*

Key*generaGon*

Blockchain network

Contract*generator*

OnUchain*

Federated*authenGcaGon*

Mobile*gateway*

Contract*Template* OnUchain*

OffUchain*

•  Bind*smart*contract*with*physical*contract*•  Address,of,smart,contract*

Page 33: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Conclusion**

33,,|,

•  IntegraGon,projects,someGme,struggle,to,find,a,central,party,trusted,by,all,parGcipants,

•  The,blockchain,offers,a,trusted,shared,transacGon,log,built,on,top,of,an,untrusted,and,decentralized,network,of,peers.,

•  SoDware,components,may,read,the,transacGon,history,(immutable),and,add,transacGons,to,extend,the,blockchain,

•  Given,its,fully,replicated,nature,,the,blockchain,has,some,limitaGons,(performance,,data,size),

• We,have,applied,the,blockchain,as,a,soDware,connector,in,several,integraGon,projects,(open,data,registry,,legal,contract,negoGaGon,,smart,meters),

Blockchain,,|,,Sherry,Xu,

Page 34: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

www.csiro.au*

Thank*you*

WICSA2016,

Page 35: WICSA2016 Blockchain as connector finaldesign.inf.usi.ch/sites/default/files/talks/... · Blockchain connector Mining Chain Transaction Validation Secure clearing payment ChainChain

Backup*

35,,|,

Pipe*Metadata*

Pipe*Metadata*

Pipe*Metadata*

Policy*Enforcement*

Conflict*resoluGon*

Policy*Compiler*

ETL*

Blockchain* Usage*policy*compliance*

•  Focus,on,ETL,(extract,,transform,,load),phase,•  AssumpGon,1:,ETL,is,before,every,data,pipe,•  AssumpGon,2:,SQL/Hive/SparkSQL,is,used,to,

do,ETL,•  LimitaGon:,tabular,data,only,

,

•  A,public/community,ledger,•  No,central,owner,of,consensus,

•  TransacGon,verificaGon,

•  Payment,,•  CondiGonal,payment,,

•  Micropayment,channel,

Metadata*

•  QuanGfy,the,value,of,the,dataset,,

•  Consumer,defined,criteria,•  For,example,,data,size,,data,coverage,,

Blockchain,,|,,Sherry,Xu,