Uncategorized

How Smart are Smart Contracts

Namaste Yogis.   Welcome to the Blockchain & AI Forum, where your blockchain and artificial intelligence technology questions are answered, mostly correct!   Here no question is too mundane.  As a bonus, a proverb is also included.  Today’s question, submitted by Henry from Los Angeles, is:  are smart contracts truly smart and are they legitimately contracts?

Henry, you came to the right place.  Blockchain technology offers numerous innovations and among the most revolutionary are “smart contracts.” Let’s take a stroll and talk about it.

Henry, the obvious place to start is by defining the terms.  Smart contracts are digital agreements that execute automatically based on real-world data inputs. Let’s break down this sentence.  First, smart contracts are digital agreements.  The digital agreement aspect makes it a “contract” between two parties.  What makes it “smart” is they are programmed to execute automatically based on real-world inputs. But hold on, there is more to the story.

We start by disclosing a basic truth.  Smart contracts are simply computer programs. The word “contract” has no legal meaning in this context.  Sorry.  In Slovenia, there is an old proverb that says, “tell the truth and leave immediately”.  I’ll stick around to the end of this article. 

Second, once deployed the smart contract code cannot change. Smart contracts are immutable.  Unlike traditional software, the only way to modify a smart contract is to deploy a new instance.  This is one reason why smart contracts are not as brilliant as advertised, at least not yet. 

Third, smart contracts are deterministic.  By deterministic I mean they either happen in full, exactly as described, or they don’t run at all.  It is binary; all or nothing.  Life is seldom all or nothing but in the world of “smart contracts” it is. Smart contracts see white or black, nothing in between.  Consequently, smart contracts are less than genius, for now.

Four, smart contracts operate within a constricted execution context. They can access their own state, the context of the transaction that called them, and some information about the most recent blocks. Consequently, “smart contracts” require a helping hand from external reliable sources known as oracles.

Take this simple theoretical smart contract example that includes an oracle:

IF condition A exist (the Lakers win) THEN perform function B (send Yogi Nelson $1)

The “smart contract” would be programmed to transmit a $1 payment to Yogi Nelson if the Lakers win.  The oracle would transmit to the “smart contract” the game results and Yogi Nelson would receive $1 if the Lakers win. 

Get this Henry, processes that currently involve manual interactions between two parties can be automated and the value moved in real time over the blockchain rather than settling days later as with traditional banking.  That means speed, Henry!  Moreover, the fees of middleman and other intermediaries can be eliminated or certainly reduced. 

I have told the truth and now do as they say in Slovenia, “tell the truth and leave immediately”. 

Until next time.

Yogi Nelson

Leave a comment