Executive Synopsis
Dramatically Reduce Cost and Time for Smart Contract Development
- A Business Analyst (BA) uses the following six steps to create a model representing
the trade activity processes and their business logic, then transforms the model
into a smart contract deployed on a target blockchain:
- Uses a graphical diagramming tool to create a model of the business processes expressed using the
Business Process Management Notation (BPMN). The model is stored in an XML file.
- Uses a graphical diagramming tool to create a model of the business logic for the business processes
created in the previous step.
- BA uses the SCaaS tool (aka TABS tool in research papers) to:
- Transform the BPMN model to smart contracts and API.
- Deploy the smart contract(s) and prepare the API.
- BA prepares information necessary for the trading activity:
- Uses a JSON or text editor to create JSON files containing information
such as customs or insurance documents necessary for the trading activity.
- Tells SCaaS to initiate the trade activity by invoking the API with
appropriate information from the JSON files.
API methods invoke the smart contract methods with appropriate information.
- Software developer effort is greatly reduced as the SCaaS tool prepares the smart contract(s) and API.
- If the business logic is described by BA using a DMN model, software developer assistance is not needed.
Privacy
- Trade activity may include several participants — shippers, insurers, ports, customs, and auditors —
who deal with different aspects of the trade activity. The SCaaS tool provides privacy by allowing
each participant to access only information pertaining to their aspect of the trade activity.
Portability
- Smart contracts can be generated for various blockchains.
Portability is facilitated by representing collaboration activities using multi-modal modeling at
a high level of abstraction and then transforming the model into smart contract(s) deployed
on the target blockchain. Currently, Ethereum and Hyperledger Fabric blockchains are supported
for automated deployment.
Nested Multi-step Transactions
- A blockchain transaction is defined to contain writes to the ledger made by an execution of
any smart contract method. However, a trade activity typically includes collaboration of several actors —
shippers, insurers, and customs — each executing their smart contract method(s).
Such collaboration frequently needs to be synchronized and treated as an atomic activity that either
completes all its activities successfully or leaves no trace of partially executed activities.
- To support such multi-step atomic activities, we developed the concept of a
multi-step transaction spanning execution of several smart contract methods.
Our methodology provides an option to the BPMN modeler to identify which activities should be defined
as an atomic transaction and provides for automated generation of a transaction mechanism that
enforces transactional properties. Thus, to use multi-step transactions, all that needs to be done
is to identify methods that belong to each multi-step transaction, while the transaction mechanism
is automatically generated by the SCaaS tool.
- Support for enforcement of nested multi-step transactions is also provided in an automated fashion.
Sidechain Processing
- Expensive computation can be off-loaded to a cheaper sidechain.
SCaaS calculates the overhead cost of performing the computation on a sidechain, and if it is less than
the estimated cost on the mainchain, our SCaaS tool deploys the computation on a sidechain for cost reduction.
Smart Contract Upgrade
- Smart contract is software, and software engineering has established that software needs to be upgradable
to fix bugs and introduce new features. SCaaS provides for the upgrade of a smart contract
(as blockchain is immutable, upgrade is achieved through mappings to achieve smart contract replacement).
Smart Contract Repair
- A smart contract may fail due to external conditions preventing its completion. We provide a mechanism
that enables amending the smart contract while retaining already completed activities, facilitating repair.
This is feasible through utilization of nested transactions within the trade activity and their synchronization.
Compliance Enforcement and Reporting
- Smart contracts deal with trade activities that need to comply with various regulations and reporting
requirements, such as U.S. SOX, HIPAA, standards, and internal corporate policies.
We are currently investigating how such compliance and reporting requirements can be represented,
managed, and enforced.