SlideShare a Scribd company logo
1 of 34
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

What's hot

Blockchain in banking bucharest meetup
Blockchain in banking   bucharest meetupBlockchain in banking   bucharest meetup
Blockchain in banking bucharest meetupAlex Proca
 
Blockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in LibrariesBlockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in LibrariesNabi Hasan
 
Blockchain explained
Blockchain explainedBlockchain explained
Blockchain explainedIBM Sverige
 
The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.Fran Strajnar
 
Blockchain Technologies
Blockchain TechnologiesBlockchain Technologies
Blockchain TechnologiesAdri Jovin
 
Blockchain: Bitcoin and Beyond
Blockchain: Bitcoin and BeyondBlockchain: Bitcoin and Beyond
Blockchain: Bitcoin and BeyondSanjeev Verma, PhD
 
Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges Merlec Mpyana
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to BlockchainThomvest Ventures
 
Blockchain on Azure and Use Cases
Blockchain on Azure and Use CasesBlockchain on Azure and Use Cases
Blockchain on Azure and Use CasesNuri Cankaya
 
Blockchain : A Catalyst for New Approaches in Insurance
Blockchain : A Catalyst for New Approaches in Insurance Blockchain : A Catalyst for New Approaches in Insurance
Blockchain : A Catalyst for New Approaches in Insurance VIJAY MUTHU
 
Overcoming the Barriers to Blockchain Adoption
Overcoming the Barriers to Blockchain AdoptionOvercoming the Barriers to Blockchain Adoption
Overcoming the Barriers to Blockchain AdoptionMongoDB
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Ingo Weber
 
Exploring Cryptocurrency Remittance
Exploring Cryptocurrency RemittanceExploring Cryptocurrency Remittance
Exploring Cryptocurrency RemittanceXRPTalk
 
Blockchain for Executives, Entrepreneurs and Investors
Blockchain for Executives, Entrepreneurs and InvestorsBlockchain for Executives, Entrepreneurs and Investors
Blockchain for Executives, Entrepreneurs and InvestorsFenbushi Capital
 
Blockchain - part 6 of 7 modern trends that every it pro should know about-
Blockchain  - part 6 of 7 modern trends that every it pro should know about-Blockchain  - part 6 of 7 modern trends that every it pro should know about-
Blockchain - part 6 of 7 modern trends that every it pro should know about-Ibrahim Muhammadi
 
blockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challangesblockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and ChallangesChetan Kumar S
 

What's hot (20)

Blockchain in banking bucharest meetup
Blockchain in banking   bucharest meetupBlockchain in banking   bucharest meetup
Blockchain in banking bucharest meetup
 
Blockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in LibrariesBlockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in Libraries
 
Blockchain explained
Blockchain explainedBlockchain explained
Blockchain explained
 
The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.
 
Blockchain Technologies
Blockchain TechnologiesBlockchain Technologies
Blockchain Technologies
 
Blockchain: Bitcoin and Beyond
Blockchain: Bitcoin and BeyondBlockchain: Bitcoin and Beyond
Blockchain: Bitcoin and Beyond
 
Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges Blockchain Security Issues and Challenges
Blockchain Security Issues and Challenges
 
Blockchain 101
Blockchain 101Blockchain 101
Blockchain 101
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to Blockchain
 
Blockchain for the Enterprise
Blockchain for the EnterpriseBlockchain for the Enterprise
Blockchain for the Enterprise
 
Blockchain on Azure and Use Cases
Blockchain on Azure and Use CasesBlockchain on Azure and Use Cases
Blockchain on Azure and Use Cases
 
Blockchain : A Catalyst for New Approaches in Insurance
Blockchain : A Catalyst for New Approaches in Insurance Blockchain : A Catalyst for New Approaches in Insurance
Blockchain : A Catalyst for New Approaches in Insurance
 
Block chain A Paradigm Shift
Block chain A Paradigm ShiftBlock chain A Paradigm Shift
Block chain A Paradigm Shift
 
bachelor
bachelorbachelor
bachelor
 
Overcoming the Barriers to Blockchain Adoption
Overcoming the Barriers to Blockchain AdoptionOvercoming the Barriers to Blockchain Adoption
Overcoming the Barriers to Blockchain Adoption
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
 
Exploring Cryptocurrency Remittance
Exploring Cryptocurrency RemittanceExploring Cryptocurrency Remittance
Exploring Cryptocurrency Remittance
 
Blockchain for Executives, Entrepreneurs and Investors
Blockchain for Executives, Entrepreneurs and InvestorsBlockchain for Executives, Entrepreneurs and Investors
Blockchain for Executives, Entrepreneurs and Investors
 
Blockchain - part 6 of 7 modern trends that every it pro should know about-
Blockchain  - part 6 of 7 modern trends that every it pro should know about-Blockchain  - part 6 of 7 modern trends that every it pro should know about-
Blockchain - part 6 of 7 modern trends that every it pro should know about-
 
blockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challangesblockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challanges
 

Similar to The Blockchain as a Software Connector

Meeting of the Blockchain Community and discussion about the cryptocurrency b...
Meeting of the Blockchain Community and discussion about the cryptocurrency b...Meeting of the Blockchain Community and discussion about the cryptocurrency b...
Meeting of the Blockchain Community and discussion about the cryptocurrency b...recheck
 
Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsSaad Zaher
 
Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksIngo Weber
 
Blockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in FinanceBlockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in FinanceBlockchain Worx
 
Blockchain - a platform for Digital Transformation
Blockchain - a platform for Digital TransformationBlockchain - a platform for Digital Transformation
Blockchain - a platform for Digital TransformationFloyd DCosta
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledgersendhilkumarks
 
Introduction to Blockchain Governance Models
Introduction to Blockchain Governance ModelsIntroduction to Blockchain Governance Models
Introduction to Blockchain Governance ModelsGokul Alex
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsIngo Weber
 
Software Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain ApplicationsSoftware Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain ApplicationsIngo Weber
 
Enhance Your Mobile Application with The Use of Blockchain Technology
Enhance Your Mobile Application with The Use of Blockchain TechnologyEnhance Your Mobile Application with The Use of Blockchain Technology
Enhance Your Mobile Application with The Use of Blockchain TechnologyDivyaConsagous
 
On Engineering Economic Systems
On Engineering Economic SystemsOn Engineering Economic Systems
On Engineering Economic SystemsMichael Zargham
 
Blockchain Technology ,Architecture and its Structure
Blockchain Technology ,Architecture and its StructureBlockchain Technology ,Architecture and its Structure
Blockchain Technology ,Architecture and its Structurekasthurimukila
 
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)Amazon Web Services
 
Blockchain for Enterprises
Blockchain for EnterprisesBlockchain for Enterprises
Blockchain for EnterprisesHimanshu Pandey
 
Blockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial ServicesBlockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial ServicesRatnakar Pandey
 
Blockchain Security and Demonstration
Blockchain Security and DemonstrationBlockchain Security and Demonstration
Blockchain Security and DemonstrationYao Yao
 
Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Floyd DCosta
 

Similar to The Blockchain as a Software Connector (20)

Meeting of the Blockchain Community and discussion about the cryptocurrency b...
Meeting of the Blockchain Community and discussion about the cryptocurrency b...Meeting of the Blockchain Community and discussion about the cryptocurrency b...
Meeting of the Blockchain Community and discussion about the cryptocurrency b...
 
Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart Contracts
 
Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the Links
 
Blockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in FinanceBlockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in Finance
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
Blockchain - a platform for Digital Transformation
Blockchain - a platform for Digital TransformationBlockchain - a platform for Digital Transformation
Blockchain - a platform for Digital Transformation
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledger
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
Introduction to Blockchain Governance Models
Introduction to Blockchain Governance ModelsIntroduction to Blockchain Governance Models
Introduction to Blockchain Governance Models
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
 
Software Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain ApplicationsSoftware Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain Applications
 
Enhance Your Mobile Application with The Use of Blockchain Technology
Enhance Your Mobile Application with The Use of Blockchain TechnologyEnhance Your Mobile Application with The Use of Blockchain Technology
Enhance Your Mobile Application with The Use of Blockchain Technology
 
On Engineering Economic Systems
On Engineering Economic SystemsOn Engineering Economic Systems
On Engineering Economic Systems
 
Blockchain Technology ,Architecture and its Structure
Blockchain Technology ,Architecture and its StructureBlockchain Technology ,Architecture and its Structure
Blockchain Technology ,Architecture and its Structure
 
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
 
Blockchain for Enterprises
Blockchain for EnterprisesBlockchain for Enterprises
Blockchain for Enterprises
 
Blockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial ServicesBlockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial Services
 
Blockchain Security and Demonstration
Blockchain Security and DemonstrationBlockchain Security and Demonstration
Blockchain Security and Demonstration
 
Blockchain (1).pptx
Blockchain (1).pptxBlockchain (1).pptx
Blockchain (1).pptx
 
Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking
 

More from Cesare Pautasso

Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteBeautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteCesare Pautasso
 
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?Cesare Pautasso
 
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Cesare Pautasso
 
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremDisaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremCesare Pautasso
 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Cesare Pautasso
 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...Cesare Pautasso
 
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesPush-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesCesare Pautasso
 
Atomic Transactions for the REST of us
Atomic Transactions for the REST of usAtomic Transactions for the REST of us
Atomic Transactions for the REST of usCesare Pautasso
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesCesare Pautasso
 
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionExploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionCesare Pautasso
 
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiReal-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiCesare Pautasso
 
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresCesare Pautasso
 
WS-* vs. RESTful Services
WS-* vs. RESTful ServicesWS-* vs. RESTful Services
WS-* vs. RESTful ServicesCesare Pautasso
 
RESTful Service Composition with JOpera
RESTful Service Composition with JOperaRESTful Service Composition with JOpera
RESTful Service Composition with JOperaCesare Pautasso
 
USI SCUBE Associate Member
USI SCUBE Associate MemberUSI SCUBE Associate Member
USI SCUBE Associate MemberCesare Pautasso
 
Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)Cesare Pautasso
 

More from Cesare Pautasso (20)

Beautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 KeynoteBeautiful APIs - SOSE2021 Keynote
Beautiful APIs - SOSE2021 Keynote
 
How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?How do you back up and consistently recover your microservice architecture?
How do you back up and consistently recover your microservice architecture?
 
Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?Microservices: An Eventually Inconsistent Architectural Style?
Microservices: An Eventually Inconsistent Architectural Style?
 
Disaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC TheoremDisaster Recovery and Microservices: The BAC Theorem
Disaster Recovery and Microservices: The BAC Theorem
 
Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...Team Situational Awareness and Architectural Decision Making with the Softwar...
Team Situational Awareness and Architectural Decision Making with the Softwar...
 
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
JOpera - Eclipse-based Visual Composition Environment featuring a general lan...
 
Push-Enabling RESTful Business Processes
Push-Enabling RESTful Business ProcessesPush-Enabling RESTful Business Processes
Push-Enabling RESTful Business Processes
 
BPMN for REST
BPMN for RESTBPMN for REST
BPMN for REST
 
SOA with REST
SOA with RESTSOA with REST
SOA with REST
 
Atomic Transactions for the REST of us
Atomic Transactions for the REST of usAtomic Transactions for the REST of us
Atomic Transactions for the REST of us
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
 
Exploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process ExecutionExploiting Multicores to Optimize Business Process Execution
Exploiting Multicores to Optimize Business Process Execution
 
Real-time Mashups di Web Service Geografici
Real-time Mashups di Web Service GeograficiReal-time Mashups di Web Service Geografici
Real-time Mashups di Web Service Geografici
 
Towards Scalable Service Composition on Multicores
Towards Scalable Service Composition on MulticoresTowards Scalable Service Composition on Multicores
Towards Scalable Service Composition on Multicores
 
BPM with REST
BPM with RESTBPM with REST
BPM with REST
 
WS-* vs. RESTful Services
WS-* vs. RESTful ServicesWS-* vs. RESTful Services
WS-* vs. RESTful Services
 
RESTful Service Composition with JOpera
RESTful Service Composition with JOperaRESTful Service Composition with JOpera
RESTful Service Composition with JOpera
 
SOA2010 SOA with REST
SOA2010 SOA with RESTSOA2010 SOA with REST
SOA2010 SOA with REST
 
USI SCUBE Associate Member
USI SCUBE Associate MemberUSI SCUBE Associate Member
USI SCUBE Associate Member
 
Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)Lighweight Collaboration Management (Mashups09@OOPSLA)
Lighweight Collaboration Management (Mashups09@OOPSLA)
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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.