In the previous lesson, we talked about identity and keys. In this lesson, we’re going to discuss smart contracts. Smart contract is a term that was first coined in the nineties, but it took until the development of blockchain technology in 2008 to became easy to implement.

Smart contracts are basically programs running on top of the blockchain. The Ethereum blockchain is built around the concept of smart contracts, but smart contracts can be built on top of the Bitcoin blockchain as well, although it’s more complicated. Smart contracts are a little more than just a piece of software.

The first function of a smart contract is to store a set of rules, the second function is to verify the rules are met, and the third function is to execute the program according to those rules. Once the smart contract has been published, it runs autonomously. Moreover, smart contracts exist on the blockchain where they can be viewed and verified by everybody. In this way, smart contracts bring a level of trust to any situation where the trust between two parties of a transaction are called into question.

For example, let’s say that you want to sell some property, but you don’t want to release the deed until you know that the agreed upon amount of money has been paid. At the same time, the buyer doesn’t want to let go of their money until they’ve received the deed. A smart contract could be used to accommodate both parties. The smart contract could be built to accept the payment and the deed, and not release either until both have been received. That way, you can be assured that you don’t release the deed until you’ve been paid, and the buyer can be assured to not release their funds until the deed has been delivered.

In this way, a smart contract is like a vending machine. A vending machine is programmed to release a product only after a certain amount of money has been deposited. It stores its set of rules. If a customer attempts to purchase a product, the vending machine verifies that the right amount of money has been deposited. It verifies the rules. Once the rules have been met, the vending machine delivers the product. It executes the rules.

Smart contracts can reduce the friction of transactions where the current banking system has failed or even created more friction. They reduce the need of trust between transacting parties because trust can be placed in the smart contracts themselves. Another use case is that, because smart contracts don’t execute unless the rules are met, this provides an active approach to law enforcement, rather than the reactive nature of our current regulators.

Now that you know about smart contracts, we can discuss coins, tokens, and the difference between them.