Smart Contracts Overview

Now that we have these design considerations, we can take a look at smart contracts, and how they fall into this whole space.

Taking a step back, we can look at the definition of the word “contract”.

A contract is a written or spoken agreement that is intended to be enforced by law.

Notice specifically that a contract must be agreed upon, and that it is enforceable by law.

So just by these words alone, it sounds like we need some sort of consensus going on in our smart contract system.

And through consensus, we should be able to agree on both the contents of the contract, and also the execution of the contract.

Alright, so now that we know what a contract is, now the question is…

what makes a smart contract so “smart?” A smart contract is a piece of code that facilitates, verifies, or enforces the negotiation or execution of a digital contract.

For us to reach consensus, a trusted entity must run this code.

After all, we need to trust that a digital contract is enforced correctly.

Like a traditional contract, it carries a set of conditions that must be fulfilled, or terms that must be executed on.

The difference is that the execution and enforcement is done through carefully designed algorithms, not through law.

Intro: Ethereum