34
www.csiro.au Blockchain as a Platform Dr. Liming Zhu, Research Director, Software and Computational Systems March 2016

Blockchain as a Platform

  • Upload
    hakien

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Blockchain as a Platform

www.csiro.au

Blockchain asaPlatformDr. LimingZhu,ResearchDirector,SoftwareandComputationalSystemsMarch2016

Page 2: Blockchain as a Platform

Blockchain|LimingZhu2 |

Page 3: Blockchain as a Platform

Blockchain|LimingZhu3 |

Page 4: Blockchain as a Platform

Outline• Blockchain background• Innovationsusingblockchain asaplatform• APIs opportunities• Researchchallenges• Summary

Blockchain|LimingZhu4 |

Page 5: Blockchain as a Platform

Blockchain asaPlatformBackground

Page 6: Blockchain as a Platform

ProblemsofTrustedThirdParties• Centralization• Singlepointoffailure

• Accesscontrolacrosssystems• Systeminternalstatusisopaque• Policiesandadministrationaredonebyothers

• Costlytointeroperateandcollaborate• Forbothcreationandevolution

Blockchain|Data61,CSIRO6 |

Trustedmarket Trustedpayment Trustedauthentication

HavingatrustedthirdpartyisanassumptionbehindmostAPI-CentricArchitecture!

Page 7: Blockchain as a Platform

Blockchain 1.0— Cryptocurrency

Blockchain|LimingZhu7 |

A.Antonopoulos,MasteringBitcoin-unlockingDigitalcrytocurrencies,2014

Page 8: Blockchain as a Platform

Trustless environment

Blockchain|LimingZhu8 |

Organization 1 Organization 2 Organization 1 Organization 2

Blockchain network

Centralized Trusted Authority

Traditional trusted environment Blockchain trustless environment

Blockchain network

Page 9: Blockchain as a Platform

Blockchain2.0– Smart Contracts

Blockchain|Data61,CSIRO9 |

• Bitcointransactionsarefinancialtransfers• Blockchainledgercanstore/transactanykindofdata• Blockchaincanstoreandexecuteprograms

• SmartContracts• Canenactdecisionsoncomplexbusinessconditions

• CoordinationwithbusinessprocessesthroughAPIs• Canholdandtransferassetsheldbythecontractitself

Page 10: Blockchain as a Platform

Why?

Blockchain|LimingZhu10 |

• Immutabledatastore• Public/Privateledger

• Everynodehostsareplica• Distributedconsensus• Nocentralownerofconsensus

• Transactionisverifiedbythewholenetwork

Blockchain network

Page 11: Blockchain as a Platform

SomeBenefitsofUsing Blockchain

Blockchain|Data61,CSIRO11 |

• Decreasetransactioncostandimproverobustness(vs.centralisedsolutions)– Communicatepeer-to-peerina“trustless”environment

• Immutablepublicledgerallowstrackingownershipofreal-world/digitalassets– Transactionsprovidethetransparentevidenceofprovenance

• Conditionalpaymentsandcomplexbusinesslogicusingsmartcontracts– Non-repudiationonbothassetsandbusinessprocess

• Enabletrueautonomousentities(IoT devices,distributedorganisations)– Entitiescancreaterules,responsibilitiesandpermissions

Page 12: Blockchain as a Platform

BlockchainasaPlatformApplicationScenarioS1:SecureContractNegotiation

Page 13: Blockchain as a Platform

Scenario

13 |

D D

D

Blockchain|Data61,CSIRO

• Negotiationprocessescanbecontrolledbyathirdparty,oroneofthemainparties

• Whichorganisationshouldcontrolsensitivenegotiations?

Page 14: Blockchain as a Platform

SecureContractNegotiation

14 |

D

Blockchain|Data61,CSIRO

Negotiation

• Blockchain replacesacentralizedtrustedthirdparty

D D

Page 15: Blockchain as a Platform

Blockchain|Data61,CSIRO15 |

SecureContractNegotiation

Initiate,negotiate, sign

Keydistribution

Authentication

Tamper-proof logofevents• Proposal ofnewvalue• Agree/Disagree• Amendment

Off-chain

Keygeneration

Blockchain network

Contractgenerator

On-chain

• Bindsmartcontractwithphysicalcontract• Addressofsmartcontract• Hashofphysicalcontract

Federatedauthentication

Mobilegateway

Contracttemplate On-chain

Off-chain

Page 16: Blockchain as a Platform

BlockchainasaPlatformApplicationScenarioS2.OpenDataRegistry

Page 17: Blockchain as a Platform

Scenario

17 |

Data owner 2

Dataset

.

• Increasethe data value throughmonetization Dataset

Data owner 1

DatasetDataset

DD

Data Consumer(Joint Analytics)

M

M

• Payback based on the datasetcontribution and value

Blockchain|Data61,CSIRO17 |

Page 18: Blockchain as a Platform

Blockchain|Data61,CSIRO18 |

OpenDataRegistryPlatform—StructuralOverview

Registerdataset,Upload data analytics script…

Datasetregistry• Metadata• Policyaddress

Job registry• Contribution criteria• Dataset requirement

Tamper-proof logofevents• Usagepolicycompliance result• Whenandwhatanalyticsjob

Off-chain

Dataanalytics

Organisation A

Blockchain networkDataandAPIs

DataAdministrator DataAnalyst

Dataanalyticsinfrastructure

Policycompliancechecker

PolicyCompiler

PolicyEnforcement

On-chain

Off-chain

Organisation B

On-chain

Blockchaincoordinate dataanalytics

Conditionalpayment

Conflictresolution

Usagepolicyspecification

Page 19: Blockchain as a Platform

Blockchain|Data61,CSIRO19 |

Post ananalytics job

OpenDataRegistryPlatform—BehavioralOverview

Datasetrequirements

Register adataset

Confirmeddatasetsinvolved

Policycompliancechecking

Runanalytics

Datasetmetadata andusage

policyaddress

Selectjob

Selectdataset

Policycheckingresult

Whenandwhatjob

Whopayhowmuchtowhom

Pay

API-drivenandcoordinatedbyblockchain

Page 20: Blockchain as a Platform

BlockchainasaPlatformOtherScenarios

Page 21: Blockchain as a Platform

IoT Devices

Blockchain|Data61,CSIRO21 |

EnergyUser EnergyRetailerSmartMeter

On-chainOff-chain

On-chainOff-chain

On-chainOff-chain

Post,bid, reportusage

Pay, register meter

Operate

Server-less DApp

EnergyContractBidding&SmartMeters

Page 22: Blockchain as a Platform

Blockchain|IngoWeber22 |

ServiceProvider

BlockchainRuleEngine Payment

LicenseHolder

Government

Bid,injectexternalstate,pay

StateInjector

Provideinformation/Notification

BusinessProcessesCoordination

• Blockchain as decentralized coordinator for business processes- Government as oracle- Replicate some data from oracle

• Information are exchanged off-chain through API

Page 23: Blockchain as a Platform

Blockchain asaPlatformAPIOpportunities

Page 24: Blockchain as a Platform

ConnectingwithExistingAPIs• Blockchainasaconnector/coordinator[1]• Coordinatingbusinessprocesses• ConnectingwithserviceAPIs

• Coordinatingdistributeddataanalytics• DataAPIs:recordingmetadata,provenance,ownership..• DataanalyticsAPI:recordingoperationstodata,coordination,reproducibility,validation….

• Coordinatingcross-org/person/devicedataanalyticsover(encrypted)data[2]

Blockchain|LimingZhu24 |

[1]S.Xu,C.Pautasso,L.Zhu,etal.Blockchain asasoftwareconnector, WICSA2016[2]https://n1analytics.com/ (Data61)andEnigma(MIT)

Page 25: Blockchain as a Platform

APIs forUsingBlockchain• Transaction API• To accountaddress,monetary value, data package

• SmartcontractAPI• Creation: Source code of smart contract• Invocation:To contract address, function signature, parameters

• Examples• Bitcoin:Go, Python, Ruby, Erlang…• Ethereum: JavaScript

Blockchain|LimingZhu25 |

Page 26: Blockchain as a Platform

APIs forConfiguringBlockchains• Deploymentofblockchain throughAPIs• Configurable blockchain types– Public/Private/Consortium

• Configurable consensus algorithms– Proof-of-work/Proof-of-stake/Round-robin/Instant...

• Permission management through APIs• Grant/Revoke• Read(Join network)/Submittransaction/Mining…

• Examples– Multichain;BlockApp: STRATO for Ethereum

Blockchain|LimingZhu26 |

Page 27: Blockchain as a Platform

DevOps APIsfor Blockchain Applications• Continuesdeploymentof DApps&smart contracts• Dev/Testenvironment• Compilation and deployment• Dependencymanagement

• Build pipelineof blockchain applications• Integration of off-chain data stores– E.g. IPFS, Cloud

• Examples– Truffle for EthereumDApps– Embark for EthreumDApps

Blockchain|LimingZhu27 |

Page 28: Blockchain as a Platform

Blockchain-as-a-Service (BaaS)• MicrosoftAzure;IBMBluemix• Support public blockchains/DApps– Create VMs to join publicblockchains/DApps

• Support private blockchains– Private blockchain on cloud with permissoned local nodes– Local private blockchainwith permissioned nodes on cloud

• Dev/Test “sandbox” for multipleblockchains• AccessotherOff-chainfunctionsthroughAPI• Azure as amarketplace for blockchainsBlockchain|LimingZhu28 |

Page 29: Blockchain as a Platform

BlockchainResearchChallenges

Page 30: Blockchain as a Platform

Research:DesigningwithBlockchain• Blockchain asacomponentinsystemdesign• DistributedaccesscontrolusingBlockchain• Multiple Blockchains andinter-ledgertransfersAPIs• APIsbetweenon-chainandoff-chaincomponents

• Understandingtradeoffs (performance,control,…)• Privatevs.Public• On-chainvs.Off-chain• Blockchainvs.CentralDBvs.Paxos

• Industryinteroperabilityplatformsusingblockchain• Governanceanddistributedriskmanagement;APIinteroperabilityBlockchain|LimingZhu30 |

Page 31: Blockchain as a Platform

Research:SmartContractsonBlockchain• LegalreasoningwithSmartContracts• DeclarativeSmartContracts• SmartContractAPIs

Blockchain|LimingZhu31 |

Page 32: Blockchain as a Platform

Blockchain asaPlatformSummary

Page 33: Blockchain as a Platform

Summary• Blockchainasaninnovationplatform– Peer-to-peertransactionsin“trustless”environment– Widerangeofinnovationscenarios

• APIOpportunitiesforBlockchain– ServiceAPIs:(passively)coordinatingorthroughsmartcontract– DataAPIs:recordingmetadata,provenance,ownership…– OtherAPIs:using,configuring,DevOps,BaaS…

Blockchain|LimingZhu33 |

Formoreinfo:[email protected]://www.data61.csiro.au

Page 34: Blockchain as a Platform

www.csiro.au

Thankyou

March2016