DEV Community

Dapp.com
Dapp.com

Posted on

What are Smart Contracts?

Smart Contracts are incredible lines of code that make dapps possible; without them there would be no cryptocurrency or interesting applications to run. Smart Contracts have truly come a long way from their original function, behaving as a proxy for transactions, and pushing the capabilities of blockchain technology ever higher. During our research into Smart Contracts, we came across the original inventor Nick Szabo, who, to make things more interesting, is believed to be the person behind “Satoshi Nakamoto” (the pseudonym used by the creator/s of Bitcoin) or part of its team. The American cryptographer developed the concept back in 1998 with his very own cryptocurrency called "Bit Gold," putting into practice Smart Contracts which he had first proposed in 1994 as a solution to eliminate middlemen for transactions and thereby creating a secure network for the currency to be used. His papers not only seemed to predict everything that we saw put into practice ten years later with the release of Bitcoin but in them, we also saw some of his ideas being outright implemented.

We are however digressing; what we want to do is explain how Smart Contracts work and look at other functions this ingenious method of coding has to offer. Whether or not Nick Szabo is indeed Satoshi Nakamoto is for you to look into. Smart Contracts, however, are undoubtedly the brainchild of Szabo, whom we should thank for this exciting technology we use today.

How Smart Contracts Work

Smart Contracts in the simplest of terms are self-executing contracts for simple transactions between a buyer and a seller. The details of the simplest function that a Smart Contract can have is as follows: it can only confirm that the seller is selling an item for a certain amount and that the buyer is willing and able to pay that amount inside the code which needs to be validated by the decentralized ledger on the blockchain network. Once the request for the purchase is made, the Smart Contract goes forth and confirms that all the criteria are met. In the case that the criteria are met, the transaction can proceed smoothly. If there is an issue, the valuables in question for the transaction will be returned to their original owners. In both cases, the decentralized ledger will update the current values that the buyer or the seller own. Every single transaction is recorded in an updated ledger that confirms that individual operations occurred on a specific date, for a particular amount, and between two specific accounts, thereby creating a blockchain that is both “transparent” and “trustworthy.”

Smart Contracts need to first be coded flawlessly and then inserted inside the blockchain to make the Smart Contract’s function valid. Once the code is written, validated, and stored within the decentralized ledger, everyone on the network can directly call the function to help make a transaction. Everyone has access to this function but nobody is able to alter it, which makes blockchain technology a trustworthy solution for all kinds of operations and establishes its all-important “incorruptible” nature.

Ethereum’s Smart Contract

What we just described is the Smart Contract for Bitcoin, which was designed to keep a detailed record of who owns what or to be used as a currency that eliminates the need for third-parties (like banks and governments) when moving large amounts of money.

Ethereum, on the other hand, was explicitly designed with the purpose of using Smart Contracts differently. The creator of Ethereum, Vitalik Buterin, adapted blockchain in a way geared to allow developers to add functions in the Smart Contract that supported their (the developers’) various needs. Coding a Smart Contract was very difficult as the Ethereum network reads them in Bytecode or, simply put, in ones and zeros. To make it easier for developers to create ever more complex Smart Contracts, the programming language "Solidity" was created by Buterin. Developers using Solidity, which is similar to JavaScript, now had the means to design their Smart Contracts in the way they wanted.

With these capabilities, Ethereum became a Virtual Machine that could essentially provide functions that can run software, websites, and apps on the decentralized Ethereum network. Ultimately, the goal of Ethereum is to reach "Turing Completeness," which in this case means being able to simulate the capabilities of a computer on the decentralized Ethereum network.

Applying its Capability

If you want to try out Ethereum's capabilities, do check out the dapps on our website. Most interesting is the manner in which Smart Contracts may be applied to areas related specifically to bureaucratically-centered institutions. Another application concerns your personal bureaucratic documents—from your birth certificate to your driving license. Imagine if every single legal document pertaining to you was stored in a decentralized network and that if you needed a copy of any of them all you had to do was send a request after confirming your identity, whereupon you would be getting the requested document instantly. Such a system would speed up otherwise very slow and cumbersome processes.

Taking this a step further would be to code the Smart Contract to automatically update all legal documents when buying a house, getting insurance, or when paying your taxes. Since everything from transactions to ownership is transparent and incorruptible, this would reduce tax evasion and smoothly create a more effortless way of living and governing.

Even Amazon, for instance, could potentially get in on this by automating everything and using Smart Contracts. Smart Contracts would ensure that the transaction was made, the item was sent from the warehouse, and guarantee the package had arrived at its destination. It might sound like science fiction, but Amazon is already using drones for maintaining warehouse stock and even for deliveries.

Interesting Future Ahead

Smart Contracts can be an incredible force for change in our society. They have already shown their enormous capabilities and advantages. Ethereum has great potential to create an even more astonishing future, especially if it succeeds in achieving Turing Completeness, where everything is decentralized and can be run on a decentralized network.

It will, however, be a challenge to implement other supporting applications to change how most institutions work and process documents. It is very rare to see well-established institutions (legal or governmental) adopt innovative and avant-garde technology. Consequently, private companies are likely to lead the charge in testing the waters, implementing blockchain technology, creating a decentralized network, and developing Smart Contracts for their specific needs.

Eventually, there is a strong probability that Smart Contracts will be applied to make our future better. Whether it is Ethereum or some other Blockchain remains to be seen.

Originally posted on https://www.dapp.com/article/what-are-smart-contracts

Top comments (0)