6 Second Generation Cryptocurrencies
Cryptocurrencies that enable smart contracts and decentralized applications to easily be constructed are often called ‘second generation’ cryptocurrencies. Whilst there were a few smart contracts built on top of Bitcoin such Mastercoin (now Omni) and Coloured Coins these were difficult to build. Ethereum made smart contracts much easier to build by constructing a completely unique language that could be easily integrated with its purpose-built platform. Essentially Ethereum made it easily possible to add updated details of ongoing smart contracts or add new smart contract details into blocks with transactions simultaneously being processed on the network. Ethereum is far by most commonly used platform to build a variety of different decentralized applications.
6.1 What are Smart Contracts
A smart contract is a piece of code that implements arbitrary rules. A useful way of thinking about smart contracts is just to realise that smart contracts are essentially the same as contracts - with the difference that they will automatically execute any actions that parties involved have agreed.
Let’s use Vitalik Buterin’s (creator of Ethereum) scenario to explain what a smart contract is. Futhermore lets say the scenario is that A wants to pay B $500 to build a website
- Contract agreement: A puts $500 into the contract, funds are locked.
- B finishes website and sends a message to the contract asking to unlock the funds
- If A agrees funds are released.
- If B decides to not finish the website B can quit by sending a message to relinquish funds.
- If A and B disagree it will be up to a defined judge (both A and B agree on who this is at the start) to decide.
In Vitalik’s own words: The “basic concept [of a smart contract] is if you have some new kind of application what you would do is write the rules of your application in a piece of code… Take this piece of code you would call this a contract”. Once you’ve uploaded this to the blockchain you have a special type of account that is essentially controlled by the code you have written. The moment you send one ether to that account you relinquish control of that account and no one controls it anymore – it is essentially a robot that sits on top of the blockchain.
6.2 What are Decentralised Applications
Let’s start with what an application is. An application is piece of software designed for a specific purpose. Microsoft PowerPoint for instance is an application that allows you to create slideshows for presentations. A decentralized application is just an application that does not have a no single point of information to run the application. For instance, a web App like Facebook will have a central server to connect to. Whereas any app built on Ethereum’s blockchain will be run through the smart contracts designed to run it. There is no agreed definite definition of what a DApp is but there is a broad consensus on what the three main characteristics are for DApps involving monetary value.
Firstly a DApp tends to be Open Source: A DApp is characterized by its transparent nature. Open source means that anyone can see the code that was used to build the DApp. Secondly a DApp has Internal Currency or Tokens: Because decentralised apps are open sourced charging users for the service would be fruitless. The answer is to allocate scare resources in the network by using a scarce token. Owners of scare resources get paid in unit’s native to the DApp. As the DApp becomes bigger and more used these scarce resources become more valuable. Thirdly a DApp will have a Mechanism to achieve decentralized consensus: As there is no single entity controlling the application, distributed consensus needs to be achieved without trust. For this reason, Bitcoin can be considered one of the first monetary DApps as well as the first cryptocurrency.
6.3 DApp development: the current picture
As mentioned earlier the main reason that many DApps are built with Ethereum is because it was the first to implement a unique code to enable widespread adoption of them. With Smart Contracts, Ethereum has made it easy for DApp developers to create their own tokens to fuel their DApps. The ERC20 token standard developed in 2015 defines a common list of rules that an Ethereum token has to implement. Ethereum’s protocol has become very popular with crowdfunding companies. Ethereum even provides its own guide that shows you how to use smart contracts to create a token – mentioning at the end that they are very useful for crowd sales www.ethereum.org/token.
6.3.1 How many tokens are associated with Ethereum?
As of January 2018, there were more than 21,000 ERC20 token contracts. The most successful of these tokens are listed on www.coinmarketcap.com where there are a total of 476 tokens that were built on the Ethereum blockchain. Data taken from www.coinmarketcap.com would indicate that these tokens have a current market capitalization of over 42 Billion Dollars (as of 21/02). As a platform where individuals can build tokens Ethereum far is the largest. But others do indeed exist, no doubt due to the success of Ethereum. Omni for instance has 2 Billion worth in market capitalization and NEO has 738 million dollars. Ethereum dominance as a token platform is demonstrated below.