10 points on the what, how and why of smart contract architecture in financial markets
1. A smart contract is an agreement that automates otherwise manual tasks…
A smart contract is simply any agreement that can execute a part of its functions by itself. One example is a contract which automatically calculates the payments which are due between the parties, and then arranges for those payments to be made. Smart contracts reduce the amount of human intervention that is required for the performance of an agreement.
2. …where the automation relies on software code.
The self-executing component is handled by a software program and requires the expression of terms in logic statements. A simple example is “if this then that” – if a particular date occurs, then one party pays to a certain amount of Australian dollars to the other party’s bank account. It is important to selection the right coding language to express the logic statements. It is also important that the code is well-written and watertight. If an inappropriate coding language is used or the code is poorly written, the smart contract could be susceptible to attack, as recently observed in the exploitations of the DAO on the Ethereum blockchain.
3. Smart contracts can make processes under an agreement more efficient...
Smart contracts can take a lot of work out of the administration of a contract. A properly coded smart contract can flawlessly and efficiently take in information, process it through the set rules and take autonomous actions to obtain a result. For instance, a consumer price indexation clause could be replaced with a price that updates dynamically based on Australian Bureau of Statistics data, eliminating the need for variations or calculations by the parties.
4. ...and faster...
Traditional contracts require the parties to take action to implement their agreements. They are therefore vulnerable to delay due to human error and processing. However, codes in a software program can ensure that action occurs in real time. This is because information can be verified, inputted and transacted upon instantaneously. Smart contracts can take lag time out of the manual administration of a contract.
5. ...to improve performance.
A software code that is expressed well is unambiguous and predictable. A smart contract that utilises such code has the ability to cut down compliance cost and reduce the risk of a dispute arising later on.
6. An agreement does not need to be completely automated to be a smart contract…
It may be appropriate to completely automate an agreement that is truly very simple. In other cases, it may be preferable to maintain some terms outside the software code to create a hybrid form of contract that happens to have some self-executing features.
7. …indeed, some things are difficult to express as a logic statement.
Sometimes it may not be practical, desirable or efficient to replace certain decisions within a contract with a logic statement. We have learned over the past two decades that the complexity in the financial marketplace makes it is impossible to predict what will happen when the unpredictable happens. Some human judgment may still be needed to assess a range of possibilities and take into account factors which may not be quantifiable or within the scope of any contract. From a more technical perspective, parties may wish to retain an element of discretion in the contract even when the going is good to allow for flexibility.
8. A smart contract for financial markets could be comprised of a seamless set of automated terms and manual terms.
The two sets of terms would handle distinct computations and together form a single agreement, allowing for the right balance between the efficiencies of machine computing and the nuance of human judgment. With this approach, deciding which terms should be automated and which should be manual is critical for ensuring maximum efficiency and certainty of terms for the smart contract.
9. Combined with other technology, smart contracts have transformative potential…
When smart contracts are designed to interlock on a blockchain (or other distributed ledger technology), then certainty and resilience can be added. If the contract is going to be making its own payments and deliveries on behalf of the parties, then it is a good thing that the terms have been verified as being agreed by other disinterested parties and are protected from attack by being held on multiple systems. This is what blockchain can do when combined with smart contracts. A smart contract can be executed “above” the blockchain (where the software program runs outside the blockchain and feeds information to the blockchain) or “on” the blockchain (where the software program is coded into blocks.
10. …but it is still early days.
Challenges include acceptance of a standard smart contract architecture, confidence in the coded terms, scalability and privacy implications.