Smart contracts to enable automated transactions

March 23rd, 2018

By Dawei Ding, lawyer

Blockchain today enables companies and organizations to ensure data safety, raise funds, create value, and manage their infrastructure in a radically new way without the need for a third party. The decentralized blockchain network can also be used to authenticate all types of legal documents and transactions. In the business community, smart contracts are one of the most often mentioned blockchain applications and will undoubtedly make a difference in transactions of any type.

Neither a contract, nor smart

A smart contract is an IT protocol or program recorded in a blockchain that automatically executes the terms of an undertaking when all its conditions are met. The term is not related to contracts within the meaning of civil or common law, that is, an agreement whereby two or more parties undertake to do or not to do something.

A concrete example: crowdfunding

You may already be familiar with Kickstarter, a company that enables anybody to fund projects still at the concept stage. It is one of the occurrences of crowdfunding. Entrepreneurs can go to the Kickstarter platform, create a project, set a funding goal and start receiving funding from backers who believe in the project. Kickstarter is essentially a third party acting as an intermediary between entrepreneurs and backers.

If a project achieves its funding goal, entrepreneurs expect Kickstarter to hand over the funds that have been gathered. At the same time, backers want their capital to become accessible to entrepreneurs if the funding goal is reached, or to be reimbursed if that is not the case. This entails that both entrepreneurs and backers need to trust Kickstarter to manage their capital in accordance with such understanding. Transactions made with blockchain propose a new paradigm.

Replacing trusted third parties

With a blockchain, a similar system can be set up without the need for a third party. Indeed, we can program a smart contract to hold all the funds that are received until a specific goal has been attained. Instead of using a third-party platform, a project’s backers can transfer their capital directly into a smart contract. If the project is fully funded, the contract automatically transfers the funds to the project’s creator. In the opposite case, the contract reimburses all the funds to the backers. This is a simple example that illustrates the full scope of smart contracts’ capacity. These contracts can virtually apply all possible occurrences without the intervention of third parties.

Why trust smart contracts?

Given that smart contracts are recorded in a blockchain, they inherit certain interesting properties from it, namely, they are unmodifiable and distributed. Being unmodifiable means that a smart contract can never be modified once it is inserted into a blockchain. Therefore, no party can influence the execution of a contract, or change the contract codes behind the backs of their co-contracting parties. Being distributed means that everything in connection with this - namely the protocol, the transactions, and the funds - is recorded in a shared ledger available to all those who are part of the network. In other words, the execution of the contract is verified by everybody. Thanks to this property, nobody has access to the funds or to confidential data, which are completely secure at all times.

Therefore, an individual would not be able to force the contract to release the funds (e.g. by declaring that the funding goal has been reached before it actually has), since the others would detect this attempt and immediately identify it as invalid. Because of this, a smart contract is almost incorruptible, meaning that the majority of a network’s members would have to be corrupted to pervert its execution, which is difficult to imagine in practice.

Promising applications

Aside from crowdfunding, the potential applications of smart contracts are unlimited. Insurance companies may use them to manage some claims, delivery companies to trigger payment on delivery, banks to grant loans or offer automatic payment methods, and so forth.

Currently, there are plenty of blockchains enabled for smart contracts, the main one being Ethereum, which was specifically created and designed for this purpose. Smart contracts can be programmed in a specific language called Solidity. This programming language, which was created by Ethereum, uses syntax similar to JavaScript. It is interesting to note that the Bitcoin blockchain also can support smart contracts, but the flexibility awarded to such contracts is greatly inferior to that offered by Ethereum.

Should you have any questions about the use of smart contracts in your field of activity, contact our blockchain team who can inform you on market trends and on the best option for your business.