Smart Contracts

What’s the big idea?

CoinBundle Team
CoinBundle
8 min readAug 16, 2018

--

You’ve heard it time and time again, buzzwords relating to blockchain technology like “decentralized networks,” and “smart contracts” getting thrown around across seemingly every piece of news that has to do with developments in the digital asset space. Sure, you can still go ahead and invest in these digital assets — namely cryptocurrencies — without knowing the intricate details of every project. Yet, we’re witnessing a growing number of successful investors familiarizing themselves with significant terms like “smart contracts” to truly understand the significance of the technology behind the currency. Let’s break down everything from the history to the applications of smart contracts.

This is not financial investment advice.
This article will touch on key aspects of smart contracts and their underlying significance to blockchain and cryptocurrency.

In this article

  1. History of Smart Contracts
  2. What Is A Smart Contract?
  3. How Do Smart Contracts Work?
  4. Coding Languages & Programs
  5. Smart Contract Pros & Cons
  6. Applications of Smart Contracts
  7. Conclusion

History of Smart Contracts

Before we go through what a smart contract actually is, let’s go over the historical context surrounding its creation which will help you better understand why it’s so important. The idea of “smart contracts” was first introduced in 1994 by computer scientist and cryptographer Nick Szabo. This concept was proposed years before blockchain had even surfaced as an idea. Szabo had described what was effectively a “set of promises, specified in digital form, including protocols within which the parties perform on these promises.” As advantageous as it was, the idea for a smart contract never progressed — due to the lack of the modern day blockchain which can employ it — and remained just that, an idea.

It wasn’t until 2008 that the first cryptocurrency Bitcoin emerged, along with the introduction of what is modern-day blockchain technology. Since blockchain first appeared as Bitcoin’s underlying technology, much has changed regarding the various kinds of blockchain forks available. As such, smart contracts couldn’t fit into the Bitcoin blockchain network in 2008 but finally surfaced when the Ethereum blockchain network made it possible to employ them five years later. Since then, various different forms of smart contracts have emerged, but Ethereum smart contracts remain the most widespread.

The idea of smart contracts dates back to 1994 when it was proposed by Nick Szabo, but it wasn’t until 2008 that the required blockchain technology necessary to employ smart contracts emerged. Finally, smart contracts first appeared in 2013 as part of Ethereum’s smart contracts system.

What Is A Smart Contract?

Now that you’re familiar with the historical context behind smart contracts, let’s dissect them from multiple perspectives and discuss the significance. A smart contract is a special protocol intended to contribute, verify or implement the negotiation or performance of the contract. Specifically, smart contracts are the reason why blockchain is referred to as being “decentralized,” as they allow us to perform trackable, irreversible, and secure transactions without the need for third parties.

Smart contracts contain all the information regarding a transaction and only proceeds with the resulting actions once the requirements are met. What differentiates smart contracts from traditional paper contracts is that smart contracts are computer-generated. Thus it’s actually the code itself that explains the obligations of the parties involved. In fact, the parties involved in a smart contract are usually strangers on the internet bound by this digitally-produced but binding agreement.

A smart contract is a special protocol intended to contribute, verify or implement the negotiation or performance of the contract. Essentially, it serves as a digital contract that won’t function unless the input requirements are satisfied.

How Do Smart Contracts Work?

The smart contracts utilized in many blockchain networks function similarly to a vending machine. The smart contract vending machine analogy goes as such: you input Bitcoin or whatever you are transferring into the vending machine (which in this case is the ledger). Once your input satisfies the code within the smart contract, it automatically executes the obligations agreed upon by both parties.

The obligations are written into the code in “if then” form, For example, “If Person A completes Task 1, Then payment from Person B is delivered to Person A.” Using this protocol, smart contracts allow for the exchange of all kinds of assets with each contract replicated and stored in decentralized ledgers. This way, none of the information can be modified or corrupted while data encryption works to assure full anonymity among participants. Although smart contracts can only work with assets which fall under the digital ecosystem, many applications outside of just digital currencies are being explored to connect the “real” and digital worlds.

Smart contracts are written and function by logic. As long as the input requirements — which are outlined in the code — are satisfied, the rest of the obligations will be executed in a secure and trustless network.

Coding Languages & Programs

In order to actually write a smart contract, you must use a Smart Contract Language (SCL). These are programming languages used to write a smart contract directly or to compile into it. Solidity is a programming language for writing smart contracts which runs on Ethereum Virtual Machine on Blockchain. It’s a contract-oriented, high-level language whose syntax is similar to that of JavaScript and is designed to target the Ethereum Virtual Machine.

The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. It’s actually completely isolated, which means that code running inside the EVM has no access to network, filesystem, or other processes. Smart contracts even have limited access to other smart contracts, functioning separately on the blockchain network.

There are three main steps to writing a smart contract on the Ethereum network:

  1. Smart contract is written in an Ethereum high level language
  2. Compiled into bytecode using an EVM compiler
  3. Uploaded to the blockchain network using an Ethereum client

One of the most widely known resources available online for those interested in smart contracts and open source coding is GitHub. This is an online platform for developers to host their software code. Every piece of your code will be stored in what is called a repository, which is basically a folder that stores all components of your code. What many people do is copy and paste someone else’s repository into their account and make minor changes or tweaks to make it their own, otherwise known as forking. Navigate the page by searching for projects and repositories that can help your own projects. Once you’ve found the repository you’re looking for, open it and search through each of the intricacies listed under its contents which contain plenty of useful code. Using the aforementioned programs and resources, even you can create your own smart contracts.

Smart contracts are written in SCL, and the Ethereum smart contracts function thanks to the Ethereum Virtual Machine. This is the runtime environment for smart contracts in Ethereum.

Smart Contract Pros & Cons

Just like any other new system protocol, smart contracts are not completely perfect. There are several benefits and drawbacks associated with using the smart contract system, including higher efficiency coupled with a lack of regulation. Allow us to explain further:

Some of the key advantages of using smart contracts include higher efficiency when it comes to processing documents. This is all thanks to its ability to assume a completely automated process that doesn’t require any personal involvement but simply requires that you satisfy the input requirements outlined by the code in the smart contract. Resultantly, you end up with more time, more savings through cut costs, and the most accuracy in executing transactions which cannot be altered. Additionally, smart contracts get rid of any third party interference, further adding to the decentralized nature of the network.

On the other hand, there are also quite a few problems which arise from the employment of smart contracts. Some of these drawbacks include human error, difficulty of full implementation, and uncertain legal status.

While many see the irreversible nature of smart contracts to be a major benefit of its use, some point to its inability to be modified as a problem. As humans are capable of making errors when creating smart contracts, some of these binding agreements can contain errors which cannot be reversed. Also, smart contracts are only able to be used with assets that fall under the digital ecosystem, posing a problem when it comes to connecting real-world assets with the digital world. Last and most importantly, smart contracts have little to no legal regulation and are subject to whatever obligations are agreed upon in the code. A lack of legal regulation might cause some users to be cautious of transacting on this network, especially if it’s highly significant.

Pros of using smart contracts include higher efficiency when processing transactions, irreversible and secure transactions, and fully automated processes. On the other hand, some of the drawbacks include a lack of legal regulation, human error, and implementation issues.

Applications of Smart Contracts

Smart contracts have been implemented within various blockchain networks, but the most important and popular ones remain Bitcoin & Ethereum. Yes, although Bitcoin is known for executing transactions using the Bitcoin cryptocurrency, its protocol can also be used to create smart contracts. Bitcoin actually provides a programming language which allows for the creation of custom smart contracts like payment channels.

With that being said, Ethereum remains the most prominent smart contract framework, as it was created specifically to support the utilization of smart contracts. Programmed in the Solidity language, the Ethereum smart contract framework facilitates the decentralized network in order to process transactions using smart contracts.

With use cases in all kinds of different industries outside of just cryptocurrency, smart contracts can be effectively utilized during elections, supply chain improvements, and even e-Commerce. As such, crypto enthusiasts have viewed recent developments in smart contracts with great excitement, as it works hand in hand with blockchain technology to revolutionize the digital word.

Smart contracts can be created using Bitcoin and Ethereum. Numerous industries outside of cryptocurrency can benefit from the utilization of smart contracts including politics, supply chain, and e-Commerce.

Conclusion

So are smart contract really all that smart after all? Its implementation results in higher efficiency in executing transactions on blockchain networks, while also introducing a reason to view these protocols with caution, given its inability to be modified. Irrespective of how you view smart contracts, it’s becoming clear that more and more projects are looking for ways to incorporate them into their network, going off of the ethereum smart contract system. As extensive research continues to be done on smart contracts, keep an eye on these developments which may pop up in the news every once in a while, but most importantly, don’t forget to be aware of the significance that smart contracts have on making transactions that are executed on a blockchain network secure, trustless, and distributed.

Do you have any experience with smart contracts or use them frequently?
Let us know why in the comments!

--

--

CoinBundle Team
CoinBundle

CoinBundle is the easiest way for people to invest in cryptocurrencies. Backed by top Silicon Valley VCs and Y-Combinator. Learn more: coinbundle.com