You are on page 1of 34

Blockchain as

a Platform
Dr. Liming Zhu, Research Director, Software and Computational Systems
March 2016
www.csiro.au
2 | Blockchain | Liming Zhu
3 | Blockchain | Liming Zhu
Outline
Blockchain background
Innovations using blockchain as a platform
APIs opportunities
Research challenges
Summary

4 | Blockchain | Liming Zhu


Blockchain as a Platform
Background
Problems of Trusted Third Parties
Centralization
Single point of failure
Access control across systems Having a trusted third party is
an assumption behind most
System internal status is opaque API-Centric Architecture!
Policies and administration are done by others
Costly to interoperate and collaborate
For both creation and evolution
Trusted market Trusted payment Trusted authentication

6 | Blockchain | Data61, CSIRO


Blockchain 1.0 Cryptocurrency

A. Antonopoulos,
Mastering Bitcoin-
unlocking Digital
crytocurrencies, 2014

7 | Blockchain | Liming Zhu


Trustless environment

Organization 2 Organization 1 Organization 2


Organization 1

Blockchain network

Centralized Trusted Authority Blockchain network

Traditional trusted environment Blockchain trustless environment

8 | Blockchain | Liming Zhu


Blockchain 2.0 Smart Contracts
Bitcoin transactions are financial transfers
Blockchain ledger can store/transact any kind of data
Blockchain can store and execute programs

Smart Contracts
Can enact decisions on complex business conditions
Coordination with business processes through APIs
Can hold and transfer assets held by the contract itself

9 | Blockchain | Data61, CSIRO


Why? Blockchain network

Immutable data store


Public/Private ledger
Every node hosts a replica
Distributed consensus
No central owner of consensus
Transaction is verified by the whole
network

10 | Blockchain | Liming Zhu


Some Benefits of Using Blockchain
Decrease transaction cost and improve robustness (vs. centralised solutions)
Communicate peer-to-peer in a trustless environment

Immutable public ledger allows tracking ownership of real-world/digital assets


Transactions provide the transparent evidence of provenance

Conditional payments and complex business logic using smart contracts


Non-repudiation on both assets and business process

Enable true autonomous entities (IoT devices, distributed organisations)


Entities can create rules, responsibilities and permissions
11 | Blockchain | Data61, CSIRO
Blockchain as a Platform
Application Scenario
S1: Secure Contract Negotiation
Scenario
Negotiation processes can be Which organisation should
controlled by a third party, or D control sensitive negotiations?
one of the main parties

D D

13 | Blockchain | Data61, CSIRO


Secure Contract Negotiation
Blockchain replaces a centralized
trusted third party D

Negotiation
D D

14 | Blockchain | Data61, CSIRO


Secure Contract Negotiation
On-chain
Key distribution Tamper-proof log of events
Proposal of new value
Agree/Disagree
Authentication Amendment

Blockchain network
Key Federated Contract
generation authentication template On-chain
Mobile Contract
gateway
Off-chain generator Off-chain

Initiate, negotiate, sign


Bind smart contract with physical contract
Address of smart contract
Hash of physical contract
15 | Blockchain | Data61, CSIRO
Blockchain as a Platform
Application Scenario
S2.Open Data Registry
Scenario
Increase the data value through
Dataset Dataset
Dataset monetization Dataset
.
Data owner 1 Data owner 2

D M

M D

17 |
Data Consumer Payback based on the dataset
(Joint Analytics)
contribution and value
17 | Blockchain | Data61, CSIRO
Open Data Registry PlatformStructural Overview
On-chain
Dataset registry Job registry Tamper-proof log of events Conditional
Metadata Contribution criteria Usage policy compliance result
Policy address Dataset requirement When and what analytics job
payment

Policy compliance checker Data analytics


Data and APIs
Blockchain network
Blockchain
Policy Conflict Policy
Data analytics coordinate data
Compiler resolution Enforcement analytics
infrastructure
Usage policy
Off-chain specification
Organisation A On-chain

Off-chain
Register data set, Upload data analytics script
Organisation B

Data Administrator Data Analyst


18 | Blockchain | Data61, CSIRO
Open Data Registry PlatformBehavioral Overview

Post an Select Confirmed Policy compliance Run


analytics job dataset datasets involved checking analytics

Pay

Policy checking result


Register a
Select job When and what job
dataset
Who pay how much
to whom

Dataset
requirements

API-driven and coordinated by blockchain Dataset


metadata and usage
policy address

19 | Blockchain | Data61, CSIRO


Blockchain as a Platform
Other Scenarios
IoT Devices
Energy Contract Bidding & Smart
Meters
Energy User Smart Meter Energy Retailer

Post, bid, report usage


On-chain On-chain On-chain
Off-chain Off-chain Off-chain Pay, register meter

Operate

Server-less DApp
21 | Blockchain | Data61, CSIRO
Business Processes Coordination
Blockchain as decentralized
Government
coordinator for business
processes
- Government as oracle
- Replicate some data from
Provide information/Notification oracle
Service License
Provider
Bid, inject external state, pay
Holder Information are exchanged
off-chain through API
Blockchain
Rule Engine Payment State Injector

22 | Blockchain | Ingo Weber


Blockchain as a Platform
API Opportunities
Connecting with Existing APIs
Blockchain as a connector/coordinator [1]
Coordinating business processes
Connecting with service APIs
Coordinating distributed data analytics
Data APIs: recording metadata, provenance, ownership..
Data analytics API: recording operations to data, coordination, reproducibility ,
validation .
Coordinating cross-org/person/device data analytics over (encrypted) data [2]

[1] S. Xu, C. Pautasso, L. Zhu, et al. Blockchain as a software connector, WICSA 2016
[2] https://n1analytics.com/ (Data61) and Enigma (MIT)
24 | Blockchain | Liming Zhu
APIs for Using Blockchain
Transaction API
To account address, monetary value, data package
Smart contract API
Creation: Source code of smart contract
Invocation: To contract address, function signature, parameters
Examples
Bitcoin: Go, Python, Ruby, Erlang
Ethereum: JavaScript

25 | Blockchain | Liming Zhu


APIs for Configuring Blockchains
Deployment of blockchain through APIs
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)/Submit transaction/Mining
Examples
Multichain; BlockApp: STRATO for Ethereum
26 | Blockchain | Liming Zhu
DevOps APIs for Blockchain Applications
Continues deployment of DApps & smart contracts
Dev/Test environment
Compilation and deployment
Dependency management
Build pipeline of blockchain applications
Integration of off-chain data stores
E.g. IPFS, Cloud
Examples
Truffle for Ethereum DApps
Embark for Ethreum DApps
27 | Blockchain | Liming Zhu
Blockchain-as-a-Service (BaaS)
Microsoft Azure; IBM Bluemix
Support public blockchains/DApps
Create VMs to join public blockchains/DApps
Support private blockchains
Private blockchain on cloud with permissoned local nodes
Local private blockchain with permissioned nodes on cloud
Dev/Test sandbox for multiple blockchains
Access other Off-chain functions through API
Azure as a marketplace for blockchains
28 | Blockchain | Liming Zhu
Blockchain
Research Challenges
Research: Designing with Blockchain
Blockchain as a component in system design
Distributed access control using Blockchain
Multiple Blockchains and inter-ledger transfers APIs
APIs between on-chain and off-chain components

Understanding tradeoffs (performance, control, )


Private vs. Public
On-chain vs. Off-chain
Blockchain vs. Central DB vs. Paxos

Industry interoperability platforms using blockchain


Governance and distributed risk management; API interoperability
30 | Blockchain | Liming Zhu
Research: Smart Contracts on Blockchain
Legal reasoning with Smart Contracts
Declarative Smart Contracts
Smart Contract APIs

31 | Blockchain | Liming Zhu


Blockchain as a Platform
Summary
Summary
Blockchain as an innovation platform
Peer-to-peer transactions in trustless environment
Wide range of innovation scenarios
API Opportunities for Blockchain
Service APIs: (passively) coordinating or through smart contract
Data APIs: recording metadata, provenance, ownership
Other APIs: using, configuring, DevOps, BaaS

For more info: Liming.Zhu@data61.csiro.au


http://www.data61.csiro.au
33 | Blockchain | Liming Zhu
Thank you
March 2016

www.csiro.au

You might also like