Academy – Smart Contracts

Smart contracts are digital contracts designed from the ground up to process, validate, and if necessary enforce the parameters of the contract. They allow for the creation and facilitation of transactions without the need for a third party like an arbitrator, notary, lawyer, or court. This means that a smart contract can help you exchange a wide variety of goods, services, currency, or whatever you like without the need for another party (or the person you are in the contract with) as long as you fulfill your end of the bargain. This makes smart contracts incredibly transparent, traceable to all parties, and of course unalterable protecting both you and the other party from bad intentions.

The most common example of a smart contract is to imagine a vending machine. In a typical contract it’s expected to get a lawyer to draft the contract, have a notary verify you signed it, and then have the other party have their lawyer look at the contract and then have a notary verify they signed it before the contract would be considered valid. However, with a smart contract you simply place your digital currency of choice in the vending machine (or smart contract in this case) and your escrow (usually whatever the smart contract outlines like a candy bar or a pile of gold) drops into the bin (or in this case, the account) creating an entirely trustless system of transaction. On top of this simple transaction you also have defined rules and penalties (taking too long to pay for example) automatically enforced.

Now we’ll go into the structure of a smart contract which is broken in three distinct parts referred to as objects which are signatories, subject of agreement, and specific terms. Signatories are when two or more parties use their digital signatures to agree or disagree with the terms outlined in the smart contract. The second object is subject of the agreement (such as exchanging one cryptocurrency automatically for another at a particular date) which must exist in the same environment as the smart contract (concepts such as Oracles deal with getting data outside of a digital environment like from real life in a trustless way) in order to be governed by the contract. The last object is specific terms which outline the rules, punishments, rewards, and terms of the contract agreed to by the parties. This is typically defined using a programming language such as Solidity in the case of Ethereum but that will depend on the specific cryptocurrency used.

Given how powerful this technology is it does come with its own sets of cons that have yet to be determined but will hopefully be resolved in the future. As such a relatively recent technology, a lot of time the code of smart contracts can be flawed as more often than not the strength of the contract is reliant on its developer’s ability. This has lead to some rather spectacular incidents of theft as hackers may be able to exploit the code of the smart contract to make it work in unexpected (to the developer) fashion. Other questions arise from government organizations determining the taxable status of a smart contract, flaws in smart contracts affecting parties in unintended situations, and how smart contracts can be broken in the event of a legal issue such as a crime occurring that invalidates it’s contents or parameters.