SlideShare a Scribd company logo
www.csiro.au
The Blockchain
as a Software 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
Contribution
• Characterizing blockchain from software architecture perspective
• Rationales to support the architectural decision on whether to
employ a blockchain as opposed to other software connectors
• Implications of using the blockchain as a software connector
• Design trade-offs regarding quality attributes
• Experience harvested from real-world projects
Blockchain | Sherry Xu2 |
Blockchain
Background
Blockchain | Cesare Pautasso4 |
Blockchain 1.0 –
Cryptocurrency
A. Antonopoulos,
Mastering Bitcoin-
unlocking Digital
crytocurrencies, 2014
Bitcoin Network
Benefits of Using Blockchain
5 |
Organization 1 Organization 2
Centralized Trusted Authority
Traditional trusted environment
Trusted market
Trusted authentication
Trusted payment
Blockchain | Sherry Xu
Benefits of Using Blockchain
6 |
Organization 1 Organization 2
Centralized Trusted Authority
Traditional trusted environment
• Centralization
• Single point failure
• Access control across systems
• System internal status is opaque
• Collaboration/interoperability
• Fragmented internal systems
centralized in their own way
• Costly to interoperate and collaborate
Blockchain | Sherry Xu
Benefits of Using Blockchain
7 |
Organization 1 Organization 2 Organization 1 Organization 2
Centralized Trusted Authority
Traditional trusted environment Blockchain trustless environment
Blockchain network
Blockchain | Sherry Xu
Why?
Blockchain | Sherry Xu8 |
Blockchain network
• Immutable public ledger
• Timestamped transactions
• Audit trail of what happened
• Every node hosts a replica
• Distributed consensus
- No central owner of consensus
• Transaction is verified by every node
• Gossip protocol for propagation
• Consensus protocol for agreement
Blockchain Evolution
9 |
• Blockchain 1.0
• Bitcoin transactions are financial transfers
• Blockchain ledger can store/transact any kind of data
• Blockchain 2.0 – “Smart contract”
• Global computational infrastructure for programs
• Event-driven program (with state) that runs on a replicated,
shared ledger
• Can enact decisions on complex business conditions
• Coordination with business processes through APIs
• Can hold and transfer assets held by the contract itself
Blockchain | Sherry Xu
Blockchain Evolution
10 |
• Blockchain 1.0
• Bitcoin transactions are financial transfers
• Blockchain ledger can store/transact any kind of data
• Blockchain 2.0 – “Smart contract”
Blockchain | Sherry Xu
Smart
contract as
Escrow
Blockchain as Connector
Characterizing Blockchain from
Architecture Perspective
Software Connectors
Blockchain | Cesare Pautasso12 |
• Building blocks of software component interaction
– Performance
– Reliability
– Security
• Services
– Communication: transfer data
– Coordination: transfer control
– Facilitation: enable and optimise component’s interactions
– Conversion: adjust the interactions between incompatible interfaces
Example Software Connectors
Blockchain | Cesare Pautasso13 |
File Transfer
Message Bus
Shared Database
Remote Procedure Call
Stream
Blockchain
Blockchain used in a Web application
Blockchain | Cesare Pautasso14 |
Database
(big data)
Applications
API
Tokens/CurrenciesSmart Contracts
Applications Applications
Shared Data Ledger (meta-data, small data)
Blockchain
Applications
Blockchain as a Software Connector
Blockchain | Cesare Pautasso15 |
• Communication
• Coordination
• Facilitation
Blockchain as a Software Connector
Blockchain | Cesare Pautasso16 |
• Communication
• Arbitrary data within transaction
• Contract storage
• Coordination
• Transactions
– From external owners
– From contract accounts
– Call functions defined in contracts
– Create new contracts
• Oracle
• Facilitation
OracleOracleOracle
Blockchain
Application layer
Off- chain
control
Off-chain
data
Off- chain
control
Off- chain
control
Contract Contract
TX TX
TX
Blockchain as a Software Connector
Blockchain | Cesare Pautasso17 |
• Communication
• Coordination
• Facilitation
• Transaction validation
• Mining mechanism
• Secure clearing payment
• Incentive mechanism
• Permission management
Blockchain Limitations
Blockchain | Cesare Pautasso18 |
• Limited scalability of public blockchain
• The public blockchain processes 3-20 transactions per second
• VISA handles around 2000 transactions per second
• Improving transaction processing rate
• Larger blockchain size
• Off-chain transactions
• Smaller transaction
• Remove signature
• Privacy of public blockchain
• Encryption
Blockchain configuration decision
Blockchain | Cesare Pautasso19 |
Placement: on-chain vs. off-chain
Enable verification of computational
result, limited computation power and
data storage, publicly available
More computation power and data
storage, less cost, additional trust
required, integrate with existing
systems
Public chain vs. Private chain
Information transparency, scalability,
trustworthy
Information isolation, easier asset-specific
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 attack,
immutable
Better performance, less cost, easy reverse
Single chain vs. Multiple chains
Heterogeneous dataset
Information isolation, harder chain and
permission management
Calculated from Ethereum
Store 1kb data costs around $0.32
read 1 kb data costs $0.015
Blockchain vs. Shared DB: Operations
• Insert Transaction
(Append Only)
• Create
• Read
• Update
• Delete
Blockchain | Cesare Pautasso20 |
Blockchain vs. Shared DB: Replication
• Full Replication on every peer • Master-Slave
• Multi-master
Blockchain | Cesare Pautasso21 |
Blockchain vs. Shared DB: Consensus
• Majority of peers agree on the
outcome of transactions
• Tolerant of Byzantine
Generals’problem
• Distributed Transactions
(2 Phase Commit, Paxos)
• Synchronization
Blockchain | Cesare Pautasso22 |
Blockchain vs. Shared DB: Invariants
• Transactions validated
everywhere
• Global rules enforced on the
whole blockchain
• No extra money created during a spending
transaction
• Integrity Constraints
Blockchain | Cesare Pautasso23 |
Project Retrospective
Open Data Registry
Data Prosumption Chain
25 |
Data Evolution Provenance
Raw data with
no value
added
Incremental
or value-
added data
Commercial
data
• Provenance
• How dataset evolves from raw data to value-added data
– Raw Data
– Government open data, individual device data
– Priced at zero, or at marginal cost
– Value-added data
– Private weather services
• Who, when, what ,how ( Metadata)
Incremental
or value-
added data
Blockchain
Blockchain | Sherry Xu
Data Monetization
26 |
Data owner 2
Dataset
.
Dataset
Data owner 1
Dataset
Dataset
D
D
Data Consumer
(Joint Analytics)
• Data has value
• Measurement criteria
• Payback based on the dataset value
26 | Blockchain | Sherry Xu
27 |
Post an
analytics job
Process Perspective
Dataset
requirement and
measurement
criteria
Register a
dataset
Policy compliance
checking
Run
analytics
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
On-chain computation
Off-chain computation
On-chain information
Blockchain | Sherry Xu
Blockchain | Ingo Weber28 |
Home page
• Statistics
• Provenance
Project Retrospective
Secure Contract Negotiation
Scenario
30 |
D D
D
Blockchain | Sherry Xu
• Negotiation is controlled by a third
party or one of the organizations
get involved.
• Which organisation should control
the negotiation process?
Lack
Trust
Secure Contract Negotiation
31 |
D
Blockchain | Sherry Xu
• Blockchain replaces a centralized
trusted third party
D D
Enable
Negotiati
on
Blockchain | Sherry Xu32 |
Secure Contract Negotiation
Initiate, negotiate, sign
Key distribution
Authentication
Tamper-proof log of events
• Proposal of new value
• Agree/disagree
• Amendment
Off-chain
Key
generation
Contract
generator
On-chain
Federated
authentication
Mobile
gateway
Contract
Template On-chain
Off-chain
• Bind smart contract with physical contract
• Address of smart contract
Conclusion
33 |
• Integration projects sometime struggle to find a central party trusted by all
participants
• The blockchain offers a trusted shared transaction log built on top of an untrusted
and decentralized network of peers.
• Software components may read the transaction history (immutable) and add
transactions to extend the blockchain
• Given its fully replicated nature, the blockchain has some limitations
(performance, data size)
• We have applied the blockchain as a software connector in several integration
projects (open data registry, legal contract negotiation, smart meters)
Blockchain | Sherry Xu
www.csiro.au
Thank you
Sherry Xu Cesare Pautasso
Data61@CSIRO | University of Lugano (USI)
design.inf.usi.ch

More Related Content

The Blockchain as a Software Connector

  • 1. www.csiro.au The Blockchain as a Software 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
  • 2. Contribution • Characterizing blockchain from software architecture perspective • Rationales to support the architectural decision on whether to employ a blockchain as opposed to other software connectors • Implications of using the blockchain as a software connector • Design trade-offs regarding quality attributes • Experience harvested from real-world projects Blockchain | Sherry Xu2 |
  • 4. Blockchain | Cesare Pautasso4 | Blockchain 1.0 – Cryptocurrency A. Antonopoulos, Mastering Bitcoin- unlocking Digital crytocurrencies, 2014 Bitcoin Network
  • 5. Benefits of Using Blockchain 5 | Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment Trusted market Trusted authentication Trusted payment Blockchain | Sherry Xu
  • 6. Benefits of Using Blockchain 6 | Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment • Centralization • Single point failure • Access control across systems • System internal status is opaque • Collaboration/interoperability • Fragmented internal systems centralized in their own way • Costly to interoperate and collaborate Blockchain | Sherry Xu
  • 7. Benefits of Using Blockchain 7 | Organization 1 Organization 2 Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment Blockchain trustless environment Blockchain network Blockchain | Sherry Xu
  • 8. Why? Blockchain | Sherry Xu8 | Blockchain network • Immutable public ledger • Timestamped transactions • Audit trail of what happened • Every node hosts a replica • Distributed consensus - No central owner of consensus • Transaction is verified by every node • Gossip protocol for propagation • Consensus protocol for agreement
  • 9. Blockchain Evolution 9 | • Blockchain 1.0 • Bitcoin transactions are financial transfers • Blockchain ledger can store/transact any kind of data • Blockchain 2.0 – “Smart contract” • Global computational infrastructure for programs • Event-driven program (with state) that runs on a replicated, shared ledger • Can enact decisions on complex business conditions • Coordination with business processes through APIs • Can hold and transfer assets held by the contract itself Blockchain | Sherry Xu
  • 10. Blockchain Evolution 10 | • Blockchain 1.0 • Bitcoin transactions are financial transfers • Blockchain ledger can store/transact any kind of data • Blockchain 2.0 – “Smart contract” Blockchain | Sherry Xu Smart contract as Escrow
  • 11. Blockchain as Connector Characterizing Blockchain from Architecture Perspective
  • 12. Software Connectors Blockchain | Cesare Pautasso12 | • Building blocks of software component interaction – Performance – Reliability – Security • Services – Communication: transfer data – Coordination: transfer control – Facilitation: enable and optimise component’s interactions – Conversion: adjust the interactions between incompatible interfaces
  • 13. Example Software Connectors Blockchain | Cesare Pautasso13 | File Transfer Message Bus Shared Database Remote Procedure Call Stream Blockchain
  • 14. Blockchain used in a Web application Blockchain | Cesare Pautasso14 | Database (big data) Applications API Tokens/CurrenciesSmart Contracts Applications Applications Shared Data Ledger (meta-data, small data) Blockchain Applications
  • 15. Blockchain as a Software Connector Blockchain | Cesare Pautasso15 | • Communication • Coordination • Facilitation
  • 16. Blockchain as a Software Connector Blockchain | Cesare Pautasso16 | • Communication • Arbitrary data within transaction • Contract storage • Coordination • Transactions – From external owners – From contract accounts – Call functions defined in contracts – Create new contracts • Oracle • Facilitation OracleOracleOracle Blockchain Application layer Off- chain control Off-chain data Off- chain control Off- chain control Contract Contract TX TX TX
  • 17. Blockchain as a Software Connector Blockchain | Cesare Pautasso17 | • Communication • Coordination • Facilitation • Transaction validation • Mining mechanism • Secure clearing payment • Incentive mechanism • Permission management
  • 18. Blockchain Limitations Blockchain | Cesare Pautasso18 | • Limited scalability of public blockchain • The public blockchain processes 3-20 transactions per second • VISA handles around 2000 transactions per second • Improving transaction processing rate • Larger blockchain size • Off-chain transactions • Smaller transaction • Remove signature • Privacy of public blockchain • Encryption
  • 19. Blockchain configuration decision Blockchain | Cesare Pautasso19 | Placement: on-chain vs. off-chain Enable verification of computational result, limited computation power and data storage, publicly available More computation power and data storage, less cost, additional trust required, integrate with existing systems Public chain vs. Private chain Information transparency, scalability, trustworthy Information isolation, easier asset-specific 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 attack, immutable Better performance, less cost, easy reverse Single chain vs. Multiple chains Heterogeneous dataset Information isolation, harder chain and permission management Calculated from Ethereum Store 1kb data costs around $0.32 read 1 kb data costs $0.015
  • 20. Blockchain vs. Shared DB: Operations • Insert Transaction (Append Only) • Create • Read • Update • Delete Blockchain | Cesare Pautasso20 |
  • 21. Blockchain vs. Shared DB: Replication • Full Replication on every peer • Master-Slave • Multi-master Blockchain | Cesare Pautasso21 |
  • 22. Blockchain vs. Shared DB: Consensus • Majority of peers agree on the outcome of transactions • Tolerant of Byzantine Generals’problem • Distributed Transactions (2 Phase Commit, Paxos) • Synchronization Blockchain | Cesare Pautasso22 |
  • 23. Blockchain vs. Shared DB: Invariants • Transactions validated everywhere • Global rules enforced on the whole blockchain • No extra money created during a spending transaction • Integrity Constraints Blockchain | Cesare Pautasso23 |
  • 25. Data Prosumption Chain 25 | Data Evolution Provenance Raw data with no value added Incremental or value- added data Commercial data • Provenance • How dataset evolves from raw data to value-added data – Raw Data – Government open data, individual device data – Priced at zero, or at marginal cost – Value-added data – Private weather services • Who, when, what ,how ( Metadata) Incremental or value- added data Blockchain Blockchain | Sherry Xu
  • 26. Data Monetization 26 | Data owner 2 Dataset . Dataset Data owner 1 Dataset Dataset D D Data Consumer (Joint Analytics) • Data has value • Measurement criteria • Payback based on the dataset value 26 | Blockchain | Sherry Xu
  • 27. 27 | Post an analytics job Process Perspective Dataset requirement and measurement criteria Register a dataset Policy compliance checking Run analytics 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 On-chain computation Off-chain computation On-chain information Blockchain | Sherry Xu
  • 28. Blockchain | Ingo Weber28 | Home page • Statistics • Provenance
  • 30. Scenario 30 | D D D Blockchain | Sherry Xu • Negotiation is controlled by a third party or one of the organizations get involved. • Which organisation should control the negotiation process? Lack Trust
  • 31. Secure Contract Negotiation 31 | D Blockchain | Sherry Xu • Blockchain replaces a centralized trusted third party D D Enable Negotiati on
  • 32. Blockchain | Sherry Xu32 | Secure Contract Negotiation Initiate, negotiate, sign Key distribution Authentication Tamper-proof log of events • Proposal of new value • Agree/disagree • Amendment Off-chain Key generation Contract generator On-chain Federated authentication Mobile gateway Contract Template On-chain Off-chain • Bind smart contract with physical contract • Address of smart contract
  • 33. Conclusion 33 | • Integration projects sometime struggle to find a central party trusted by all participants • The blockchain offers a trusted shared transaction log built on top of an untrusted and decentralized network of peers. • Software components may read the transaction history (immutable) and add transactions to extend the blockchain • Given its fully replicated nature, the blockchain has some limitations (performance, data size) • We have applied the blockchain as a software connector in several integration projects (open data registry, legal contract negotiation, smart meters) Blockchain | Sherry Xu
  • 34. www.csiro.au Thank you Sherry Xu Cesare Pautasso Data61@CSIRO | University of Lugano (USI) design.inf.usi.ch

Editor's Notes

  1. I will pass it to Prof. Cesare Patasso to present this section.
  2. Permissionless: Anonymous miners Permissioned: Whitelisted miners with real identities
  3. Our second project is a platform for participants to securely negotiate sensitive data value, like legal contract.