BLOCKCHAIN
APPLICATION DESIGN
WHY AND WHEN TO USE A BLOCKCHAIN?
• Blockchain technology does not solve every
problem
• Sometimes a centralized database is more suitable for a
specific project
• Many companies leverage the “Blockchain hype” to
receive more funding with unrealistic projects
WHY AND WHEN TO USE A BLOCKCHAIN?
Source: https://medium.com/@sbmeunier/when-do-you-need-blockchain-decision-models-a5c40e7c9ba1
WHY AND WHEN TO USE A BLOCKCHAIN?
• Blockchain can help with accountability and
traceability:
• Everyone can see what transactions are made on a public
blockchain
• Everyone can check they are valid
• Example use case: the supply chain industry.
Customers can easily track the provenance of
products.
WHY AND WHEN TO USE A BLOCKCHAIN?
• Blockchain can help with decentralization:
• Nobody can control it
• Everyone can check they are valid
• Example use cases: currency creation, asset
ownership management, casinos…
DESIGNING THE BUSINESS CASE
• Consider :
▪ The business problem that we are trying
to solve
▪ The participants involved (users and
organizations)
▪ The assets
▪ The transactions, which are underpinned
by contracts
• The goal now is to move these topics into a
machine- readable form and eventual
deployment to a blockchain system.
WHAT MAKES A GOOD BLOCKCHAIN USE CASE
Identifying a good blockchain use-
case is not easy!
There should always be:
1. A business problem to be solved that cannot be more efficiently solved with other
technologies
2. An identifiable business network with participants, assets, and transactions.
3. A need for trust that requires consensus, immutability, finality, and provenance.
MODELING IS THE MAPPING OF BUSINESS CONCEPTS ONTO TECHNICAL
CONCEPTS
Assets Contracts Transactions Business Participants
Network
Algorithm to Single Computer network Digital
Data structures in modify the invocation of a topology certifica
a pre-agreed asset state contract’s te for
format algorithm each
user or
organiz
ation
Models do not need to be complete, but they need to be sufficient to solve the problem .
© Copyright IBM Corporation
MODELING ASSETS
• Assets correspond to data that is stored in the blockchain ledger.
Approach: The business network agrees that the attributes of the assets
are shared and a blockchain solution architect models them by using
an appropriate language.
“commercialPaper”
{“0000475
Commercial Paper :
923”,
ID: 0000475923 {
Issuer: MagnetoCorp “Magneto
“id”:
Owner: MagnetoCorp Corp”,
“string”,
Face “Magneto
“issuer”: “string”,
value: Corp”,
$1,000,00 ”owner”:
Model “string”, Instan
“1000000
0 Maturity date: 2020- ”faceValue”: Ledger
02-28
definition
“integer”,
”,ce
“2020-02-
”maturityDat
28”}
e”: “date”
“Physical” asset }
Attributes
MODELING CONTRACTS AND TRANSACTIONS
• Contracts are the actions that modify assets in the world state:
▪ Algorithms with inputs and outputs.
▪ Should use modelled assets.
• Each invocation of a contract is a transaction and logged on the
blockchain:
▪ Once recorded on the blockchain, transaction logs cannot be modified or deleted.
• Hyperledger Fabric calls the code that implements contract logic
chaincode.
MODELING USERS AND ORGANIZATIONS
• Every organization, user, and system component has an
identity in the blockchain network:
▪ Used for identifying actors in the network, and signing
and encrypting information.
• There are standard ways of expressing identity by using
certificates.
• Several Issues to consider:
▪ Who is considred as a user in the blockchain?
▪ How certificates are issued and revoked?
▪ The relationship between users and organizations, and
between organizations.
EXAMPLE: CAR LEASING
PARTICIPANTS
ASSET
4
CAR LEASING: PARTIPANTS/ROLES
PARTICIPANTS
Government Manufacturer Leasing Lessee At the end of the
Dealer buys
regulator adds the company leases car’s life, the
the car from
creates and make, model, buys the the car scrap merchant
the
populates the and vehicle car from from the disposes of the
manufacturer.
Missions
registration identification the dealer. Leasing car.
for the new number to company
vehicle. the vehicle .
information.
CAR LEASING: NEEDED
INFORMATION
PARTICIPANTS
INFORMATION NEEDED BY EACH
Vehicle Vehicle Vehicle Vehicle Vehicle Vehicle end
registration, registration, information information, information, of life and
ownership, make, model, ownership ownership, leasing disposal
and lifecycle and vehicle service history, period, and record
information identification warranty, lease terms
PARTICPANT
number. leasing history,
lessee
information,
and lease
terms
TRADITIONAL: DISPARATE DATA AT EACH
PARTICIPANT
Government
Manufacturer’s
regulator’s records
records
Scrap
merchant’s Dealer ’s Accounta
records records bility
Privacy
Scalabi
lity
Leasing
Lessee’s company’s
records records
Problem: Inefficient, expensive, and vulnerable
BLOCKCHAIN SOLUTION: A SHARED,
REPLICATED, AND PERMISSIONED LEDGER…
Manufacturer
Government
regulator
Smart Shared
contract ledger Dealer
Scrap
s
merchant
Records
Conditions of asset
for asset transfer
transfer
Lessee
Leasing
company
... and Smart contracts to define services that access the ledger.
ACTIVITY 1
• Teams: 3 or 4 members per team.
• To do: Part 1 of the Assignement