So. We’ve already dedicated three posts on blockchain’s uses in database management. Today we’ll explore another blockchain application: smart contracts. Or, in other words, let me introduce you to Ethereum.
Now, Ethereum is an open software platform that allows developer to build and run decentralized applications. Similar to Bitcoin, Ethereum runs on blockchain technology but with a different purpose. On one hand, Bitcoin blockchain focuses on keeping track of ownership of the cryptocurrency via peer-to-peer electronic cash system. The main purpose of Ethereum, on the other hand, is to run programming code of a decentralized application.
First, as usual, some history lesson. The term “smart contracts” was first used by computer scientist Nick Szabo in 1994. His goal was basically to design an electronic commerce protocol that could automate the enforcement and execution of a contract. A smart contract running on blockchain would be visible to to all the computers in the network. It then becomes a self-operating computer program that act as an executor or enforcer after fulfilling specific conditions.
For example, imagine a scenario where an insurance holder is trying to claim payment for an economic loss. A smart contract would ensure that all conditions are met – claim form submission, evidence of incident, investigation report and approval from insurance company – before releasing payment. Furthermore, private data are only accessible to certain parties who can check and verify the contents.
Here is a simple infographic by blockgeeks.com to help you understand smart contracts.
Before Ethereum, we only knew blockchain as the technology that drives Bitcoin and other digital currencies. At the time, developers were having problems expanding on the current set of functions, as it was very difficult and time-consuming. The potential to use blockchain technology for other applications was there, but there wasn’t any platform available.
Enter Vitalik Buterin, a cryptocurrency researcher and programmer. Vitalik wanted to solve the problems developers were facing with blockchain and wrote the Ethereum whitepaper in November 2013. In his paper, he explained that the core innovation of Ethereum is a Turing complete software called the Ethereum Virtual Machine (EVM). It allows execution of scripts, or codes, via an international network of public nodes.
The EVM has made the process of creating blockchain applications easier and more efficient than before. In a traditional infrastructure, every application has to set up its own servers that run their own code in isolated silos, making sharing of data hard. And if a single app collapse, it will affect many users as well as other apps. With Ethereum, applications run on a shared global infrastructure that ensures protection and security for private data.
Next post, we’ll explore more on Ethereum uses and how Ether fits into the equation.