Learn IoT best practices in our Guide to IoT Development.

Subscribe to our blog to get the latest articles straight to your inbox.

Like the blockchain technology on which they're based, Ethereum smart contracts have been generating a lot of hype in recent months.

Unfortunately, this big spike in interest has also led to the growth of some major misconceptions about smart contracts: what they are, what they're meant for, and what they're capable of doing.

In this article, we'll go over everything you need to know before working with smart contracts—and also clear up some of the common fallacies that we've heard from businesses interested in the new technology.

What is a Smart Contract?

Simply put, a smart contract is a self-executing software program with hard-coded logic about a particular transaction.

Any time that you do an ICO (initial coin offering) or create your own cryptocurrency, you need to create a smart contract to set the rules about how the transaction will take place.

On the Ethereum platform, smart contracts are most common when exchanging tokens for the cryptocurrency Ether. The contract will automatically transfer assets from one wallet to the other wallet once the given conditions are met.

Depending on the circumstances of the transaction, smart contracts range from the extremely simple to the incredibly complex.

Which blockchain is right for your project?
Read our unbiased comparison of the top blockchain platforms.

Download the Whitepaper

Why Are Smart Contracts Important?

Smart contracts introduce predictability into the exchange of cryptocurrencies and other smart assets. They make it possible to trade different types of currency on the Ethereum blockchain.

Dapps (decentralized applications) are a new kind of software that run on a decentralized peer-to-peer network. Smart contracts allow the Dapp to connect to the blockchain, execute commands, and retrieve information.

Misconception #1: Smart Contracts Replace Human Contracts

Just because they're called "smart contracts" doesn't mean that they have all of the functionality of a standard legal contract and more. In fact, the exact opposite is true.

For one, smart contracts aren't capable of knowing in-depth contract details about things that happen in the real world.

Suppose that your contract includes a non-disclosure agreement, for example. If one party violates that NDA by releasing confidential information, then the smart contract has no way of knowing this fact automatically.

Smart contracts are very good for one thing: keeping a record of an agreement between two people, and storing that record on the blockchain. Besides this function, however, their visibility is seriously limited.

Misconception #2: Smart Contracts Do Everything

Unlike a traditional contract, you need to jump through some hoops before you start paying for services or tokens with U.S. dollars through a smart contract.

First, you'll need to build one or more external applications that interface with the right financial organizations to verify that money is in the appropriate bank account.

In the majority of cases, you'll have to write other software such as mobile or web applications before you can allow fiat payment via smart contracts.

Misconception #3: Smart Contracts Are Cheaper

For a variety of reasons, creating smart contracts and deploying them to the blockchain is actually surprisingly expensive—perhaps as high as 1 Ether (hundreds of dollars).

This expense simply isn't present for centralized applications.

Misconception #4: Smart Contracts Can Be Edited

Unlike traditional applications, smart contracts can't be edited once they go live. This inability to make changes has created critical flaws for applications based on the blockchain.

In 2016, for example, a blockchain-based company called The DAO raised more than $100 million to fund a decentralized application using smart contracts that would automatically invest users' money in certain ventures.

Unfortunately, The DAO's code had a fatal vulnerability that allowed users to withdraw more money than they had invested. Soon after raising these funds, attackers siphoned off tens of millions of dollars—all while users watched helplessly, unable to make changes to the code.

Smart contracts don't behave like normal software. Developers need to think of them almost like a rocket ship: you have one chance to get it right, and getting it wrong could spell disaster.

The Risks of Using Smart Contracts

With so many possible misconceptions surrounding smart contracts, the risks of using them abound.

Smart contracts are highly technically complex to build and operate. If you've never used one before, you may not budget for the project properly, or you may lack the right team and skill set. This will be especially difficult for startups without a strong existing base of knowledge.

If you plan on making Ethereum smart contracts a core part of your business, you'll need to recruit and retain the right people.

Final Thoughts

There's no denying that smart contracts are a powerful new development, opening up an entire universe of new possibilities.

As we've discussed above, however, they have a few serious drawbacks that limit their potential applications.

For one, the issue of security is paramount. You'll need to carefully write them and test their logic extensively before you deploy them to the public ledger—because once they've been released and are being used by people, there is no "undoing" transactions you didn't fully intend to make.

Make sure that you have a competent team or technology partner. These people should know the ins and outs of working with smart contracts and should already have solid experience building them.

If you have an idea or a project you're looking to development, we're here to help you decide if blockchain is the right fit

which blockchain is right for you