Slides of the keynote held at the BPM Blockchain Forum 2023, 13 September 2023, Utrecht, Netherlands.
Synopsis:
Multi-party business processes rely on the collaboration of various players in a decentralized setting. Blockchain technology can facilitate the automation of these processes, even in cases where trust among participants is limited. Transactions are stored in a ledger, a replica of which is retained by every node of the blockchain network. The operations saved thereby are thus publicly accessible, which benefits transparency, reliability, and persistence. Smart contracts can encode the system behavior agreed upon by the involved parties to define the behaviour of collaborative processes. Rule enforcement, traceability and non-repudiation are thus catered for, too. However, data, objects and services in the outer world are not directly accessible from within a blockchain execution evironment. On one hand, access to limited information hinders the adoption of programmable blockchains as an effective aid to process intelligence. On the other hand, transferring every bit of off-chain information on-chain is not only impractical but also undesirable, as this operation could violate typical confidentiality requirements in enterprise settings. In this talk, we discuss and explore approaches aimed at strengthening the bond between process and blockchain execution environments, balancing between knowledge sharing and secrecy preservation.
Designing IA for AI - Information Architecture Conference 2024
Look but don’t touch: On the impalpable bond between blockchain and process
1. Look but don’t touch:
On the impalpable bond
between blockchain and
process
Claudio Di Ciccio | claudio.diciccio.net | claudio@diciccio.net
Presented works were funded by the SmartDeFi project, Spoke 09, SERICS (PE00000014), under
the NRRP MUR program funded by the EU – NextGenerationEU; project PINPOINT
(B87G22000450001), under the PRIN MUR program; the Cyber 4.0 project BRIE.
2. Claudio Di Ciccio /klˈaːudio di ˈt͡ʃiːtt͡ʃo/
Associate professor
Ph.D. in Computer Science and Engineering
Main research interests:
automated reasoning &
logic and computation,
applied in
blockchain architectures &
process analytics
Claudio Di Ciccio 13/09/2023
2
3. So, what is your research about?
13/09/2023
Claudio Di Ciccio
3
Thanks to Sabrina Kirrane for the photo (2019)
4. So, what is your research about?
13/09/2023
Claudio Di Ciccio
4
Thanks to Sabrina Kirrane for the photo (2019)
5. Claudio Di Ciccio /klˈaːudio di ˈt͡ʃiːtt͡ʃo/
Associate professor
Ph.D. in Computer Science and Engineering
Main research interests:
automated reasoning &
logic and computation,
applied in
blockchain architectures &
process analytics
Claudio Di Ciccio 13/09/2023
5
6. Transaction
• Transfer of (crypto)assets (Ether, Bitcoin, Algo, …)
from account A to account B
Externally Owned
Account (EOA)
Externally Owned
Account (EOA)
Digital signature
13/09/2023
Claudio Di Ciccio
9
Transaction ID: 0xfa12…40c6da
8. Amsterdam, 1856
13/09/2023
Claudio Di Ciccio
11
• About 2000 ships departed on
an annual basis
• Seafarers
numerous
a vital contribution to trade
wages paid after a journey
(always in need of credit)
• Non-bank credit markets
Shopkeepers and boarding-house
keepers as lenders
• The Discipline Act (1856)
Forbids the use of seafarers’ wages
as redemption payments
Image source: https://www.istockphoto.com/nl/vector/amsterdam-in-the-
19th-century-gm538063610-95625387
9. The ledger of the
water bailiff’s
13/09/2023
Claudio Di Ciccio
12
• The Discipline Act prescribed
that lenders had to present
their unredeemed IOUs to the
water bailiff’s during the month
of July 1856
• Every IOU recorded basic
information, including:
the date on which it was entered
the names of lender and borrower
the unredeemed amount
• 13,708 loans were registered in
a 443-page ledger
A hand-drawn ink lithography of men writing a ledger in the water bailiff's
office in 1856 (DALL-E, https://openai.com/dall-e-2/)
10. Block
• Blocks group and collate transactions
• The order matters!
13/09/2023
Claudio Di Ciccio
13
11. Hashing the previous block for immutability
• Blocks refer back to direct predecessors via hashing
• The order matters!
13/09/2023
Claudio Di Ciccio
14
13. Centralised ledger
13/09/2023
Claudio Di Ciccio
16
“In Amsterdam, the water bailiff’s office was
located in the […] middle of one of the
seafarers’ quarters […] open for registering
IOUs six days per week.
On one occasion, clerks […] worked
overtime on a Sunday: presumably
because the company of H. Lond, one of
the largest lenders in town, had delivered its
1314 unredeemed IOUs the day before and
they did not want to start the new week with
such a backlog”
15. Private|public / Permissioned|permissionless
Transactability / visibility
Private Public
Consensus
Permissionless
Selected nodes can
transact and view,
all nodes can
participate in consensus
Every node can
transact and view,
participate in consensus
Permissioned
Selected nodes can
transact and view, or
participate in consensus
Every node can
transact and view,
selected nodes
participate in consensus
13/09/2023
Claudio Di Ciccio
18
Anderberg et al. “Blockchain Now And Tomorrow” (2019) http://dx.doi.org/10.2760/901029
16. “A universal platform with internal
programming language, so that everyone
could write any app”
[V. Buterin]
13/09/2023
19
Claudio
Di
Ciccio
From a peer-to-peer electronic cash system
to a programmable distributed environment
17. Smart Contracts
13/09/2023
Claudio Di Ciccio
20
• Smart Contracts in Ethereum
live in the Ethereum environment
execute a function when called
have direct control over their own
balance and key/value storage
exhibit a behaviour that is fully
specified by their code
18. 13/09/2023
Claudio Di Ciccio
21
Where are Smart Contracts
executed?
First on the mining nodes.
Then, potentially, on every node!
Only absolutely needed
instructions should be in the code!
The polygraph machine
19. Expressive power of
smart contracts
13/09/2023
Claudio Di Ciccio
22
• Variants exist
• Solidity is a Turing-complete
language for the Ethereum
blockchain
• Smart contracts can potentially
run any computable algorithm
Picture: https://doi.org/10.1093/ref:odnb/36578
20. A programmable distributed environment
Input encoded data.
Smart Contract
Account
13/09/2023
Claudio Di Ciccio
23
New
Smart Contract
Account
New address
Smart contract code to be deployed
Invoking a smart
contract function
Deploying a new
smart contract
Execution is not
externally
stoppable!
21. From high-level code to bytecode to bits and bytes
13/09/2023
Claudio Di Ciccio
24
22. A programmable distributed environment
Input encoded data.
Smart Contract
Account
13/09/2023
Claudio Di Ciccio
25
New
Smart Contract
Account
New address
Smart contract code to be deployed
Invoking a smart
contract function
Deploying a new
smart contract
Execution is not
externally
stoppable!
23. Execution is not for free
(most of all, in public blockchains)
13/09/2023
Claudio Di Ciccio
26
Wood , “Ethereum: A secure decentralised generalised transaction ledger” (2014), https://ethereum.github.com/yellowpaper/paper.pdf
24. A programmable distributed environment
Input encoded data.
Smart Contract
Account
13/09/2023
Claudio Di Ciccio
27
New
Smart Contract
Account
New address
Smart contract code to be deployed
Invoking a smart
contract function
Deploying a new
smart contract
Execution is not
externally
stoppable!
Gas price (execution costs)
Gas price (execution costs)
28. Advantages and connection to processes
• Smart contracts → Programmability → Process rule enforcing
• Transactions → Asset transfer & function invocation → Process execution
• Distributed store → Data persistency → Process monitoring
• Ledger → Transaction ordering → Logging
• Hashing → Robustness → Secure storage
• Signatures → Authentication → Non-repudiability
• Consensus → Eventual consistency → Traceability
13/09/2023
Claudio Di Ciccio
32
Images: Left: https://doi.org/10.1145/3183367; right: https://www.dagstuhl.de/en/seminars/seminar-calendar/seminar-details/18332
Layer of trust
even in a
regime of
partial trust
among actors
29. Executing inter-organisational processes on the
Blockchain: A model-driven approach
D.C, Cecconi, A., Dumas, M., et al. (2019), “Blockchain support for collaborative business processes”
13/09/2023
Claudio Di Ciccio
33
30. Executing inter-organisational processes on the
Blockchain: A model-driven approach
Caterpillar Lorikeet
13/09/2023
Claudio Di Ciccio
34
ChorChain
D.C, Cecconi, Dumas et al. Blockchain support for collaborative business processes. Informatik Spektrum pp. 1–9 (May 2019)
López-Pintado, García-Bañuelos, Dumas, Weber. Caterpillar: A blockchain-based business process management system. In: BPM Demos. CEUR.ws, 2017.
Tran, Lu, Weber. Lorikeet: A Model-Driven Engineering Tool for Blockchain-Based Business Process Execution and Asset. In: BPM Demos. CEUR.ws, 2018.
Corradini, Marcelletti, Morichetta, Polini, Re, Tiezzi: Engineering Trustable and Auditable Choreography-based Systems Using Blockchain. ACM TMIS 13(3), 2022.
31. Tracking execution
13/09/2023
Claudio Di Ciccio
35
D.C. et al. Blockchain-Based Traceability of Inter-organisational Business Processes. In: BMSD. Springer, 2018.
40. Objects are central in process management
13/09/2023
Claudio Di Ciccio
46
Screenshots captured from: https://www.tf-pm.org/resources/oced-standard; https://www.ocel-standard.org/; https://objects2023.github.io/
44. The order matters in blockchain-enabled processes
13/09/2023
Claudio Di Ciccio
50
Marco Montali presents “Reasoning about Knowledge in BPM: A Systematic Approach” at FM-BPM 2023 (BPM 2023, Utrecht)
46. How about the real world?
Oracles: From on-chain to off-chain and vice versa
13/09/2023
52
Claudio
Di
Ciccio
47. The Oracle
13/09/2023
Claudio Di Ciccio
53
Foundational Oracle Patterns: Connecting Blockchain to the Off-Chain World. BPM (Blockchain and RPA Forum) 2020: 35-51
DB
48. The Oracle
13/09/2023
Claudio Di Ciccio
56
Foundational Oracle Patterns: Connecting Blockchain to the Off-Chain World. BPM (Blockchain and RPA Forum) 2020: 35-51
DB
ISO/TC 307, ISO/TR 2345: “[A] DLT Oracle [is a] service that updates a distributed
ledger using data from outside the distributed ledger system”. (2019)
Previous literature: oracles as off-chain information providers.
We see oracles as a bridge
between the on-chain and off-chain worlds.
49. Oracle patterns: Overview
13/09/2023
Claudio Di Ciccio
57
Foundational Oracle Patterns: Connecting Blockchain to the Off-Chain World. BPM (Blockchain and RPA Forum) 2020: 35-51
50. Decentralised oracles
13/09/2023
Claudio Di Ciccio
58
Enhancing Blockchain-Based Processes with Decentralized Oracles. In: BPM Blockchain and RPA Forum 2021, 102-118, Springer.
51. Decentralised oracles (example: pull-in)
13/09/2023
Claudio Di Ciccio
59
Enhancing Blockchain-Based Processes with Decentralized Oracles. In: BPM Blockchain and RPA Forum 2021, 102-118, Springer.
52. Decentralised oracles (example: pull-in)
13/09/2023
Claudio Di Ciccio
60
Enhancing Blockchain-Based Processes with Decentralized Oracles. In: BPM Blockchain and RPA Forum 2021, 102-118, Springer.
Credit institute 1
Decentralized
oracle
Credit institute 3
Credit institute 2
Smart
contract
53. About privity
• Albeit very costly, we could inject all the
information we need on-chain.
• Even if we were able to inject all the data
in the world on chain, would we like the
idea?
• “Privity strives for limiting the sharing of
information within a contract to those
parties of a contract who have a
contractual need to know”
13/09/2023
Claudio Di Ciccio
61
Köpke, Franceschetti, Eder: Balancing Privity and Enforceability of BPM-Based Smart Contracts on Blockchains. BPM (Blockchain and CEE Forum) 2019: 87-102
54. While collaborators cooperate…
13/09/2023
Claudio Di Ciccio
62
Signing of the Peace Protocol Between Spain and the United States, August 12, 1898
(source: https://library.whitehousehistory.org/fotoweb/archives/5017-Digital-Library/Main%20Index/Artwork/520.tif.info)
55. … the whole network observes
13/09/2023
Claudio Di Ciccio
63
Scene from The Truman Show (1998). Image source: https://redeemingculture.com/film/drama/4106-the-truman-show-empathy-and-reality
57. Fix this image in your memory
13/09/2023
Claudio Di Ciccio
65
Image source: https://www.makinggameofthrones.com/production-diary/2013/5/29/leeches-dragons-and-a-bear-behind-the-scenes-of-episodes-307.html
58. Is this the same image?
13/09/2023
Claudio Di Ciccio
66
Image source: https://www.makinggameofthrones.com/production-diary/2013/5/29/leeches-dragons-and-a-bear-behind-the-scenes-of-episodes-307.html
59. Validation v. understanding
13/09/2023
Claudio Di Ciccio
67
Image source: https://www.makinggameofthrones.com/production-diary/2013/5/29/leeches-dragons-and-a-bear-behind-the-scenes-of-episodes-307.html
60. Business Process Model and Notation (BPMN)
collaboration diagram
13/09/2023
Claudio Di Ciccio
68
anufacturer
Production order
set up
Order parts
ill of materials
echanical
parts
supplier
ill of materials
received
Electronic
parts
supplier
ill of materials
received
61. The message, in clear
(as seen by the manufacturer)
13/09/2023
Claudio Di Ciccio
69
0xfd9ffe3578a42d81c4684bd47e6575d9a8f10cc6dab984bd7e19ee0dbacb6287
Hash:
62. The message
(as seen by external parties)
13/09/2023
Claudio Di Ciccio
70
0xfd9ffe3578a42d81c4684bd47e6575d9a8f10cc6dab984bd7e19ee0dbacb6287
Hash:
63. The message
(as seen by the electronic parts supplier)
13/09/2023
Claudio Di Ciccio
71
0xfd9ffe3578a42d81c4684bd47e6575d9a8f10cc6dab984bd7e19ee0dbacb6287
Hash:
64. The message
(as seen by the mechanical parts supplier)
13/09/2023
Claudio Di Ciccio
72
0xfd9ffe3578a42d81c4684bd47e6575d9a8f10cc6dab984bd7e19ee0dbacb6287
Hash:
65. Hence the name: CAKE
13/09/2023
Claudio Di Ciccio
73
Image source: https://heriots.co.uk/products/pistachio
67. InterPlanetary File System (IPFS)
13/09/2023
Claudio Di Ciccio
76
Distributed system for the storage and access to files
Content-addressing to uniquely identify each file in the network
The resource locator is derived from the content hash
Files scattered among several nodes
Distributed Hash Table (DHT) at its core
68. CP-ABE
• Attribute-Based Encryption (ABE): type of public-key encryption
• Ciphertext-Policy ABE (CP):
We associate roles and process instance ID with attributes
(propositional literals)
Messages are associated with policies
(propositional formulae on attributes)
• Attributes:
14548487, Supplier, Electronics, Electronics, Manufacturer
• Policy:
14548487 AND (Manufacturer OR (Supplier AND Electronics))
13/09/2023
Claudio Di Ciccio
77
Process
instance ID
Roles
78. Q&A
• Why a certifier?
With signatures, you can prove that “you are you”
Without a certifier, you cannot prove that what you say is true
• Who forges the keys?
A delegated key manager
• One certifier, one key manager. What about decentralisation?
Right…
• Can you integrate your technique with a BPMS?
Not yet but…
13/09/2023
Claudio Di Ciccio
87
Marangone, D.C:, Weber: Fine-Grained Data Access Control for Collaborative Process Execution on Blockchain. BPM (Blockchain and RPA Forum) 2022: 51-67
79. Room for improvement
13/09/2023
Claudio Di Ciccio
88
Marangone, D.C., Friolo, Nemmi, Venturi, Weber: MARTSIA: Enabling Data Confidentiality for Blockchain-based Process Execution (2023)
Multi-Authority Approach to Transaction Systems for Interoperating Applications
80. The new architecture: MARTSIA
13/09/2023
Claudio Di Ciccio
89
Marangone, D.C., Friolo, Nemmi, Venturi, Weber: MARTSIA: Enabling Data Confidentiality for Blockchain-based Process Execution (2023)
1. Key management 2. Data exchange
0. Initialisation
Push-
inbound
oracle
Pull-
outbound
oracle
82. More expressive policies
13/09/2023
Claudio Di Ciccio
91
Only authority A
can release the
decryption key part
that enable
Customs
At least two
authorities are
necessary to forge
the key part of an
actor involved in
case 43175279
Any authority
can generate
the key part
for a
Supplier
83. Room for improvement
13/09/2023
Claudio Di Ciccio
92
[14] Marangone, D.C., Friolo, Nemmi, Venturi, Weber: MARTSIA: Enabling Data Confidentiality for Blockchain-based Process Execution (2023)
Next: Marangone, D.C., Friolo, Nemmi, Venturi, Weber: Enabling Data Confidentiality with Public Blockchains (2023)
• Who deploys the smart contracts? Does this work only with Ethereum?
Huh…
84. The attribute certifier should not be a single node!
13/09/2023
Claudio Di Ciccio
93
Marangone, D.C., Friolo, Nemmi, Venturi, Weber: Enabling Data Confidentiality with Public Blockchains (2023)
2. Init 3. Key management
1. System boot 4. Data exchange
87. Why are prices in Gwei?
13/09/2023
Claudio Di Ciccio
96
ETH/EUR exchange Gas price on the Ropsten testnet
88. 13/09/2023
Claudio Di Ciccio
97
Open challenges
• Revoke access to data
Check out the InterPlanetary Name System
• Let Smart Contracts use with off-chain data via pull-inbound oracles
• Test with real-world multi-party business processes in production
• Extending the policy language with primitives for aggregating and
manipulating data
• …
89. Look but don’t touch:
On the impalpable bond
between blockchain and
process
Claudio Di Ciccio | claudio.diciccio.net | claudio@diciccio.net
Presented works were funded by the SmartDeFi project, Spoke 09, SERICS (PE00000014), under
the NRRP MUR program funded by the EU – NextGenerationEU; project PINPOINT
(B87G22000450001), under the PRIN MUR program; the Cyber 4.0 project BRIE.