Blockchain As Platform
Blockchain As Platform
Blockchain As Platform
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
A. Antonopoulos,
Mastering Bitcoin-
unlocking Digital
crytocurrencies, 2014
Blockchain network
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
D D
Negotiation
D D
Blockchain network
Key Federated Contract
generation authentication template On-chain
Mobile Contract
gateway
Off-chain generator Off-chain
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
Off-chain
Register data set, Upload data analytics script
Organisation B
Pay
Dataset
requirements
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
[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
www.csiro.au