Can Smart Contracts Communicate With External Parties?
That is our topic this time but before discussing it, it would be nice to understand what a smart contract is.
A smart contract is a kind of tamper-proof program that is executed on the blockchain path when a condition is met. Again, these are computer programs that are hosted and executed in a “blockchain scope.” Each of these programs consists of codes that reason that if certain (pre-defined) conditions occur, it will operate automatically. It is not a centralized program that allows multiple parties to achieve common results in the best possible way, especially “without involving any damage.”
It can serve as an infrastructure strong enough to automate. Why? Because it will not be controlled by a central administrator and is relatively resistant to attacks by malicious entities. To note, it is something that is almost impossible for any hacker to break into a blockchain network. If this infrastructure is grafted onto a multi-party digital agreement, the risks can be significantly reduced. Not only that but there is also a reduction in costs and a net increase in transparency between the various parties involved. In short, this is a contract for the future!
The first smart contracts were created nearly 28 years ago, in 1994 by an American computer scientist named Nick Szabo. The scientist was also the first to define a smart contract as “a computerized transaction protocol that executes the terms of a contract.” He also defines the general goals of smart contract creation such as increasing the satisfaction value of contract conditions, reducing the need for intermediaries and minimizing exceptions, whether malicious or unintentional.
The general idea underlying the creation of smart contracts is simple automation like that applied to vending machines. A vending machine will dispense food when a certain (pre-determined) condition occurs. These automation principles when applied digitally to the blockchain will form the construction of smart contracts. The introduction of Bitcoin in 2009 played a major role in the first protocol smart contract by setting a set of conditions that must be met to transfer Bitcoin between users on the blockchain network. The conditions referred to may vary but are usually the user who uses the right private key to sign the transaction, and the user who already has sufficient funds to close a transaction.
The Bitcoin blockchain is not stagnant. It evolved into something more sophisticated by offering a type of smart contract called multi-signature transactions. The transaction requires a number of people to sign it with their private key. If one of the keys is incorrect then the entire transaction is considered invalid, thereby significantly improving security. The transaction requires at least 3 private keys to be considered valid.
Other experiments are carried out and new program conditions are added. Another big leap took place in 2013 with the publication of the Ethereum whitepaper by Vitalik Buterin and two years later, Ethereum was launched as a new type of programmable blockchain. This new network does not offer a limited number of epodes but goes a step further by offering multiple smart contracts at a time.
How Smart Contracts Work
As explained above, smart contracts are anti-tampering programs. It is based on simple logic; when event X occurs, then action Y must be executed immediately. As simple as that. Each smart contract has different codes but an application can implement more than one smart contract. Today there are various smart contract languages but Thorium’s Solidity is the most popular.
Any smart contract developer can deploy their smart contract to the public blockchain, thus in some situations, they have to engage with many independent parties who do not know each other. However random situations are not expected to occur because each smart contract defines who can interact with it and at what time. The result is a multi-party digital agreement that transforms probabilistic conditions into deterministic conditions.
Some examples of how smart contracts work:
The main purpose of smart contracts is the automation of certain business processes between different entities. They will collectively, perhaps unknowingly, reach an agreement on certain aspects such as payments, process flows, and solutions to a dispute.
Here are some examples of how smart contracts work:
A smart contract is created under certain conditions, for example as exemplified below:
1. If the goods are on time then payment will be automatically made from the retailer to the supplier in full amount.
2. If the delivery is one day late, the payment from the retailer to the supplier is only 98%.
3. If the user deposits a certain amount of collateral, then he/she is entitled to a maximum loan of 50% of the collateral value.
4. If the collateral ratio falls below 200 percent, the collateral will be liquidated to keep the collateral ratio at 200 percent again.
Can It Be Understood?
Some smart contracts support so-called public decentralized applications or dapps for short. Such applications can interact with foreign entities without any permission. Most of them are open-source so anyone can check. One example of a dap is the decentralized lending marketplace.
Smart Contract Benefits
When we review traditional digital agreements, there are always gaps in which one of the parties does not follow the commitments that have been mutually agreed upon. Therefore, the role of organizers is very much needed, for example by institutions such as banks that can force all parties to carry out their commitments. The company that is bigger than the two parties involved acts as a mediator for conflicts that may occur. There are downsides, however, one of which is that larger institutions may be compelled to exert asymmetric influence over contracts, something that is often displeasing to each party involved. That is why many companies are refraining from engaging in traditional digital agreements.
In contrast to when contracts are set up on a blockchain system, there is no central point of failure, no intermediary to bribe, and no mechanism to tamper with the contract…all that can be ensured. Smart contracts processed by a decentralized network of nodes also provide a strong guarantee that each contract will be executed according to pre-defined terms, and most importantly, mutually agreed upon among all parties involved in the agreement.
Smart contracts also prevent or at least minimize the possibility of non-profit intermediaries from exercising their rights for something detrimental, such as extracting value and seeking rent.
And finally, smart contracts can automate various processes like maintenance, execution, escrow, and so on. That means increasing efficiency and ultimately cutting operating costs.
Back to the question at the beginning; can smart contracts communicate with external parties?
Bear in mind the initial definition that these are contracts built on a blockchain network. It's an isolated network but that doesn't mean it doesn't have built-in connections to external parties. However, it must be realized that external connectivity in this case is very much needed. Without external connectivity, smart contracts cannot communicate with external parties, in this case, external systems which usually aim to conform or adapt to dynamic events occurring in the real world.
By analogy, a smart contract can be compared to a computer without the Internet. Can you imagine that? In practical terms a smart contract may not be able to know the real condition of an asset before a trade is made, cannot check the monthly rainfall before deciding to pay a crop insurance claim, and cannot check whether the delivered goods have been received before the system receives confirmation.
The big evolution now is to ensure smart contracts can be executed according to their nature but "keep up to date" with real situations that occur. We're talking about "those additional external connections." This evolution will give birth to so-called hybrid smart contracts that are more adaptive to real situations in the field but still work in an isolated and decentralized blockchain environment.