Frederik De Breuck, Presales Director and Business Assurance BeLux, Head of the EMEIA Blockchain Innovation Center at Fujitsu Technology Solutions reveals his thoughts on the core principles of smart contracts
Smart contracts are now becoming a key discussion topic. Although Nick Szabo conceived the concept of smart contracts over 20 years ago, at the time there was no practical way to realise them on a relevant commercial scale. The key business value of smart contracts is the capability to automate many kinds of processes and operations.
Obvious examples are transactions and events that require initial payments between parties, however, this is only one of many smart contracts use cases. As Nick Szabo puts it: “the fundamental logic is the automation of ‘if-this-then-that’ on a self-executing basis with finality”.
The core principles
At its core, a smart contract is an agreement, in a different structure, between two or more parties stored on each node in a distributed ledger network. It is important to note that the term ‘contract’ can be misleading as, to date, it is not (yet) a contract in the true legal sense of the word, often leading to some confusion (for example, as promulgated in the ‘code is law’ – discussion).
Within distributed ledgers, smart contracts are coded instructions (typically event-driven; machine-readable) on ledger (blockchain) computers (nodes) which execute the specific terms and conditions that exist in contracts between parties. Specifically, they embed an agreed business logic in code.
Typically, these parties will be individuals, corporations, governmental agencies or other juristic entities with a legal identity, however, multiple parties who may not trust each other fully could be envisaged.
Capturing contractual trust relationships in a classic ‘if-then-else’ construction to maintain the representational veracity of terms and conditions, however, is radically different. Automated instruction processing exists today (for example, bank accounts), but this is not controlled by multiple nodes/participants in a network. In most architectures, these smart contracts operate without any specified trusted organisation, central authority or server.
It is possible to create highly sophisticated code which has greater autonomy and self-management, enabling further smart contract functional automation. Emerging use cases and developments with autonomous parties may drive the expansion of the DAO (Decentralized Autonomous Organization) connecting IoT (The Internet of Things) devices, which execute smart contracts without human intervention.
A smart contract can be transformational, due to automation of business processes in a trust relationship. This can occur by permitting all stakeholders to process and validate contractual rules as a group via an agreed and predefined consensus mechanism or application logic.
The differentiating characteristics of smart contracts in the context of distributed ledgers are:
- They represent contractual trust relationships in computer code (machine-readable), based on predefined logic;
- They are using a distributed ledger architecture, participating nodes running logic in parallel and then committing changes;
- They are – at least in theory – self-verifying and self-executing, with a higher degree of resistance to tampering;
- They can transform legal obligations into an automated workflow;
- They reduce the transaction cost;
- They limit the need for trusted intermediaries;
- The reconciliation of the smart contract comes before data/result is stored, rather than after, (‘confirm as you go’ versus ‘confirm after the fact’);
- There is no single source of control of the smart contract;
- They increase flexibility and transparency and;
The outcomes are far more deterministic than natural language contracts bringing new elements to solve, (for example, trying to express ‘on-purpose’ or ‘having the intention’ in computer code is not straightforward).
So how does it work in practice? Assets (or tokenized assets) and relevant contract terms are coded and put into the distributed ledger network. This contract is distributed and instantiated on each participating node in the network. After an event (transaction) triggers the contract, the contract is executed in accordance with the defined contract terms embedded in the smart contract file.
The code checks the execution of the commitments automatically and produces a non-reputable transaction. On platforms such as Hyperledger Fabric, smart contracts are implemented by a construct known as Chaincode.
The outcomes may be controversial since, as previously stated, they are more deterministic than natural language contracts, triggering the need for human arbitration. It may prove impractical to engineer all possible answers to all contractual variations and outcomes. Additionally, courts will not enforce otherwise valid contracts unless compliant to the fundamental legal principles regulating the economic fabric (for example, contracts can never remove obligations set by law, or case law, such as Donoghue V Stevenson)
AI to the rescue
AI can deliver additional value to this workflow. This would also facilitate a completely new debate: self-adjusting contracts and workflows. Smart contracts can prove inflexible, unable to adapt to changing circumstances or may need revision as the economic fabric changes.
AI can prepare, manage and automatically enforce elements of smart contracts. However, in its current developmental state, it is unlikely that AI could create and manage smart contract code updates and releases covering such principles as intention, fairness, ability to be reasonable, efficiency growth, etc.
Clearly, all possibilities must be examined. The most promising areas for deployment are:
- Self-sovereign digital identity: Allows individuals to control and master their personal digital data and (tokenized) assets. The selective disclosure can be managed via smart contracts;
- Data recording (financial and other): Entities can utilise smart contracts to automate and simplify data recording and tracing allowing for more transparent reporting and automation of audit trails.
- Contract automation: Specific contract or outcomes can be codified to allow two or more parties to automate contractual agreements in a trusted way.
- Tracking in supply chains: By using tags/immutable IDs on supplies and/or materials and adding them to the ledger, combined with smart contracts, can ensure the validity of the captured information and certify its authenticity (fraud detection, end-user safety, chain of custody, etc.)
So, what now?
The above examples only the beginning. Clearly, smart contracts are not a panacea. (nor is distributed ledger technology). There is still significant work to be done especially in the area of matching standard natural language contracts with pure code contracts (and Hybrid).
Ensuring that domestic and international legal and compliance frameworks are ready to enable adoption in business models and processes and the interaction between smart contracts and classic contracts (for example, arbitration), are currently the largest impediment today.
Smart contracts have the potential to reduce operational risk in contracts with multiple participants. The importance of business readiness for this change cannot be overstated.
Please note: this is a commercial profile
Frederik De Breuck
Presales Director and
Business Assurance BeLux
Head of the EMEIA Blockchain
Fujitsu Technology Solutions
Tel: +32 2 536 61 03