Top Banner
Collaborative Business Processes Execution on Blockchain: The Caterpillar Approach Orlenys López-Pintado Marlon Dumas, Luciano García-Bañuelos, Ingo Weber November 19, 2019
31

Collaborative Business Processes Execution on Blockchain ...

Dec 11, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Collaborative Business Processes Execution on Blockchain ...

Collaborative Business Processes

Execution on Blockchain: The

Caterpillar Approach

Orlenys López-Pintado

Marlon Dumas, Luciano García-Bañuelos, Ingo Weber

November 19, 2019

Page 2: Collaborative Business Processes Execution on Blockchain ...

https://infinitechain.io/#an-home

2

Background

BLOCKCHAIN

P2P Network

No Central Authority

Untrusted Parties

Append only chain

Each node stores a copy

Consensus

Validate Transactions

Create/Validate Blocks

Proof of Work

Smart Contracts

Page 3: Collaborative Business Processes Execution on Blockchain ...

3

Message-Based Collaborative Processes

Fig. 1: Supply Chain Scenario from Weber et al. 2016

Page 4: Collaborative Business Processes Execution on Blockchain ...

4

Drawbacks

Bilateral message exchange is not geared to building consensus,

hence:• Correct execution hinges on parties checking on each other

• Traceability is a nightmare

• Exceptions cause havoc

• Disputes require manual resolution

• Process change and new partner on-boarding are hard

• Money flows happen outside the collaborative process

Electronic Data Interchange (EDI) networks can help• But rely on a central trusted provider to which everyone must be connected

• Quite inflexible

• …and money flows still happen elsewhere

Page 5: Collaborative Business Processes Execution on Blockchain ...

5

Collaborative Processes on Blockchain

Blockchain enables us to approach collaborative process execution

differently

• No messages, only blockchain transactions

Collaborative process models can be translated to smart contracts• Maintain execution state

• Ensure that the process is executed correctly

Process execution data on blockchain• Single source of truth across the participants

• Full traceability

Page 6: Collaborative Business Processes Execution on Blockchain ...

6

Blockchain for Collaborative Process Execution

(1) Blockchain as a recording medium• Parties still exchange messages and maintain the state of the part of the

process

• Each event (e.g. task completion) in the collaborative process is written on

the blockchain

• Supported by some BPMSs (e.g. Bizagi)

• No need for smart contracts

• Compliance by monitoring

(2) Blockchain as an execution medium• No more messages. All events are recorded as blockchain transactions.

• Smart contracts check compliance before changing the state of the process

• Compliance by design

Page 7: Collaborative Business Processes Execution on Blockchain ...

7

CATERPILLARA Blockchain-Based Business Process Management System

BPMN Process Model

Ethereum

Blockchain

? ?

? ?

ATERPILLAR

Smart Contracts

Page 8: Collaborative Business Processes Execution on Blockchain ...

8

Caterpillar: Design Principles

1. Transparent design of collaborative business processes• A collaborative process model looks exactly like a regular intra-organizational process

• One lane = one role in the collaboration

• Sequence flow across lanes → handover between two parties

• Kiss goodbye to bilateral messages…

Page 9: Collaborative Business Processes Execution on Blockchain ...

9

Collaborative Process on Blockchain

Page 10: Collaborative Business Processes Execution on Blockchain ...

10

Caterpillar: Design Principles

1. Transparent design of collaborative business processes• A collaborative process model looks exactly like a regular intra-organizational process

• One lane = one role in the collaboration

• Sequence flow across lanes → handover between two parties

• Kiss goodbye to bilateral messages…

2. Everything needed to execute the process is on the blockchain• All process instance state on the blockchain

• All execution logic is encoded in smart contracts

• Design-time component and tools only needed to deploy the process

• Off-chain runtime component is purely for convenience, BYO runtime is OK

3. Actors may be bound to roles at runtime

• According to policies that are tied to the deployed process model and enforced by smart

contracts

Page 11: Collaborative Business Processes Execution on Blockchain ...

11

System Architecture

Page 12: Collaborative Business Processes Execution on Blockchain ...

12

Demo Video

Page 13: Collaborative Business Processes Execution on Blockchain ...

13

Access Control

Alice’s company Bob’s company

Purchase

GoodsShip

Goods

Carrier

Collaborative Process

Role Based Access Control (RBAC)?

Page 14: Collaborative Business Processes Execution on Blockchain ...

14

Challenges

Alice’s company Bob’s company

Purchase

GoodsShip

Goods

Carrier

Carrier

Carol’s company

TRUSTAlice

Bob

Collaborative Process

Page 15: Collaborative Business Processes Execution on Blockchain ...

15

Challenges

Alice’s company Bob’s company

Purchase

GoodsShip

Goods

Carrier

LACK OF TRUST

Collaborative Process

ACTORS CHANGE DYNAMICALLY

TRUST RELATIONS CHANGE DYNAMICALLY

Dave’s company Carol’s companyWendy’s company

Page 16: Collaborative Business Processes Execution on Blockchain ...

16

Role Binding Model

Customer Supplier

Task * 1 Role

Role 1 1 Actor per (sub-)process instance

All assignments in sub-scopes stored

in a set

User Group

System

IoT

Blockchain

Account/identity

Page 17: Collaborative Business Processes Execution on Blockchain ...

17

Binding Policy Specification

Customer Supplier

Supplier Candidate Carrier

Under Shipment, Supplier nominates Candidate;

Under Shipment, Supplier nominates Carrier in Candidate endorsed-by Customer;

Nominator

Policy Statement Operations

Nominee

Binding Constraint

nominate

release

vote

Endorsement Constraint

Customer is case-creator;

Customer nominates Supplier;

Page 18: Collaborative Business Processes Execution on Blockchain ...

18

Role Lifecycle

UNBOUND NOMINATED

RELEASING BOUND

Nominate(E)

Nominate(!E)

Vote

(E not satisfied)

Vote

(E satisfiable)

Vote

(E satisfied)

Release(!E)

Release(E)

Vote

(E not satisfied)

Vote

(E satisfiable)

Vote

(E satisfied)

Page 19: Collaborative Business Processes Execution on Blockchain ...

19

Policy Consistency

N E

A is case-creator;

A nominates B;

A nominates C;

C nominates D, endorsed-by A and B;

uA nA bA

N E

uB nB bB

N E

uC nC bC

N E

uD nD bD

A & B

N

N

E

E

N

A & B

E

NO DEADLOCKS

Page 20: Collaborative Business Processes Execution on Blockchain ...

20

Web Interface

Page 21: Collaborative Business Processes Execution on Blockchain ...

21

ProblemCOMPILED APPROACHES

Lack of FLEXIBILITY

Code Generation:

Model Dependent

Redundant

Conformance with the model

Immutable = Secure = Tamper proof

Avoid changes in the process model during its execution

How to flexibly and cost-efficiently execute collaborative processes

involving mutually untrusted parties on a blockchain platform?

COST-EFFICIENCY?

Page 22: Collaborative Business Processes Execution on Blockchain ...

22

Interpreter Overview

2018- C. Sturm et al. (Single Contract Execution) INTERPRETED EXECUTION

Dynamic data structures to

store process-specific data.

Process perspectives decoupled on a Modular Architecture

Flexibility for the participants of the process to react under unexpected

situations during the execution

(1)Keeping different variants of the same model,

(2)Deviating the flow during the execution temporarily,

(3)Permanently modifying a process model with impact in all the future instances

BPMN Interpreter- Single Smart

contract encoding BPMN Standard

Page 23: Collaborative Business Processes Execution on Blockchain ...

System Architecture

23

Page 24: Collaborative Business Processes Execution on Blockchain ...

Dynamic & Space-Optimized Data Structures

24

IFlow(preC, postC, typeInfo)

G2:

preC = 0001100000 = 96

postC = 0010000000 = 128

typeInfo = 0000011010 = 26

Is Activity?

typeInfo & 1 != 0

Is User Task?

typeInfo & 2057 == 2057

Page 25: Collaborative Business Processes Execution on Blockchain ...

Dynamic Data Structures

25

IData

Page 26: Collaborative Business Processes Execution on Blockchain ...

BPMN Interpreter

26

Instance Creation

Page 27: Collaborative Business Processes Execution on Blockchain ...

Process Execution

Throw Event (…)

Thy Catch Event (…)

Kill Process (…)

Broadcast Signal (…)

BPMN Interpreter

27

Page 28: Collaborative Business Processes Execution on Blockchain ...

28

Experimental Results

Caterpillar Compiled: 0.011 – 0.031 ETH (1.66 – 4.54 EUR)

Costs for Average Gas Price

Full Execution (24-10-2019)

Caterpillar Interpreted:

0.007 – 0.010 ETH (0.95 – 1.39 EUR)

Processes including:

15 - 60 BPMN elements

Page 29: Collaborative Business Processes Execution on Blockchain ...

29

Download and Try

http://git.io/caterpillar

• Open-source (LGPL)

• NodeJS (off-chain components) + Solidity (on-chain)

• Docker image available (for Compiled Caterpillar)

Page 30: Collaborative Business Processes Execution on Blockchain ...

30

Remaining Challenges

• Cost and throughput are major challenges

• 0.02-0.04 Ether per process instance for real (but small) processes (EUR 5+ if compiled)

• Encryption of case data and seamless access to encrypted case data

• Given an RBAC model with dynamic role binding

• Current version of Caterpillar tied to Ethereum

• Open question: is it possible to support seamless interoperation with multiple blockchain platforms?

Page 31: Collaborative Business Processes Execution on Blockchain ...

31

Want to know more?

• O. López-Pintado, L. García-Bañuelos, M. Dumas, I. Weber, A. Ponomarev. “Caterpillar: A Business Process

Execution Engine on the Ethereum Blockchain.” Software Practice and Experience, 2019.

• https://arxiv.org/abs/1808.03517

• O. López-Pintado, M. Dumas, L. García-Bañuelos, I. Weber: “Dynamic Role Binding in Blockchain-Based

Collaborative Business Processes.” In CAiSE’2019.

• https://arxiv.org/abs/1812.02909

• O. López-Pintado, M. Dumas, L. García-Bañuelos, I. Weber: “Interpreted Execution of Business Process

Models on Blockchain.” In EDOC’2019.

• https://arxiv.org/abs/1906.01420

• O. López-Pintado, L. García-Bañuelos, M. Dumas, I. Weber:“Caterpillar: A Blockchain-Based Business

Process Management System.” Proceeding of BPM’2017 Demos (tool paper)

THANK YOU !!!