The summer of 2017 has seen an explosion in new cryptocurrencies, with dozens of startups using digital currency as a fundraising mechanism. According to Bloomberg, initial coin offerings (ICOs) have raised over $1.6 billion in the past year, prompting many to speculate on the decline of venture capital as a model for funding new startups.
The ICO explosion of the past year can be mostly attributed to the growth of the Ethereum blockchain, and the ease with which Ethereum permits the creation of new coins. Many startups have raised millions of dollars on Ethereum with little more than a concept and a white paper, circumventing the traditional routes for seed funding from accredited investors. While there’s some controversy over how to classify and regulate these ICOs, it’s clear that a new alternative model has emerged for early stage funding. By and large, that model is based on the capabilities of the Ethereum blockchain.
Creating an ICO: Limitations of the Bitcoin Blockchain
An ICO is essentially a program that collects cryptocurrency from contributors and, after reaching a target amount, distributes newly created tokens to the ICO’s contributors. In order to do so, the ICO needs a system that can be programmed to distribute the tokens without outside input. An ICO relies on common programming commands like conditional statements and loops to analyze, verify, and respond to incoming transactions. These pieces of code need to integrate with the blockchain on which the ICO is built.
To understand Ethereum’s rise, it’s important to appreciate why it’s difficult to build new applications and currencies on the original Bitcoin blockchain. There are a few problems with the Bitcoin blockchain that make it a poor choice for ICOs.
First, Bitcoin was designed as a currency system. Therefore, its inherent program state is a ledger of account balances. This means that we could easily set up a new Bitcoin wallet for our ICO, but it’s difficult to write programs that calculate and distribute the tokens on top of that wallet. For executing ICO contracts, we need a more general purpose program state.
Second, as a security measure, Bitcoin is not a Turing-complete scripting system, A Turing-complete system can compute the answer to any computable problem, given enough time and memory. Generally, Turing-complete systems require two things. First, the ability to repeat or jump instructions when certain conditions are met. And second, the ability to store information as variables. Most programming languages are Turing-complete, but the Bitcoin blockchain is not.
One major reason why Bitcoin is not Turing-complete is it doesn’t support programming loops, as a security measure. Loops would allow a denial of service (DOS) attack, since an attacker could tell miners to do infinite loops. However, this is a problem when it comes to implementing ICOs because loops are what allow programmers to verify and recalculate information. An effective crowdsale requires recalculating the total contribution after each new investor, closing the ICO when certain conditions are met, and distributing new tokens based on an algorithm–all features that require Turing completeness.
Finally, Bitcoin’s block time is too long to be feasible for an ICO. At 10 minutes per block, it could take over an hour for transactions to clear and then be verified after they are a few blocks deep in the chain. This means that new contributions to a crowdsale would only be verified after an hour, and any next steps in the ICO would be delayed.
The Advantages of an Ethereum ICO
Ethereum solves Bitcoin’s problems with a few changes in the way its blockchain is structured.
First, Ethereum uses a complex data structure called a Merkle Patricia Tree to store a tree of program states, allowing for quick modification and verification of the various states required to execute an ICO. Instead of only containing a transaction ledger, the Ethereum blockchain’s multiple program states allows for the execution of smart contracts that automatically calculate the amount of funds raised, verify and confirm transactions, and distribute new tokens upon the completion of the crowdsale.
Second, Ethereum is Turing-complete, but it uses something known as “gas” payment to process the instructions in a program code. Gas provides incentives for people to supply their own CPU power to execute the programs on the Ethereum blockchain. If a program runs out of gas, it will be aborted. This prevents infinite loops and DOS attacks against ICOs, as every execution is eventually terminated. As a result, ICOs are more secure on Ethereum, and an attacker can’t deny service to your crowdsale based on a denial of service attack.
Finally, Ethereum’s Greedy Heaviest Observed Subtree (GHOST) protocol allows for faster block creation times without compromising blockchain security, meaning ICO transactions get processed faster. When you’re dealing with a crowdsale of new tokens, this means transactions can be verified and added to the crowdsale total quickly. Later, distributing the new tokens also occurs quickly without sacrificing the integrity and security of the blockchain.
The ERC-20 Token Standard
Ethereum offers a standardized way to create new tokens on its blockchain called the ERC-20 protocol. ERC-20 is not a piece of code, software, or technology. Rather, it is guidelines that facilitate the integration of various currencies.
Before ERC-20, each new cryptocurrency token created its own system for verifying account balances and initiating transfers. These systems included different functions and arguments that weren’t necessarily compatible with other tokens. Setting up a system to interchange between token types required carefully studying both sets of code to create a bridge so that the two systems could talk to one another.
Ethereum’s ERC-20 protocol changes all that. Now, all ERC-20 tokens can easily be interchanged with other ERC-20 tokens. ERC-20 tokens have the same functions, with the same names, that take the same arguments. They use a common set of rules and guidelines, that ensure the two currency systems will be able to talk with one another.
Since 2015, developers have widely adopted the ERC-20 standard, but Ethereum did not enforce its use. In September 2017, Ethereum formalized the protocol, meaning all tokens on the Ethereum blockchain should conform to the standard. Moving forward, creating an ERC-20 compliant ICO on Ethereum means the new token has immediate interoperability with all other tokens on the Ethereum blockchain.
Other Considerations: Government Compliance and the End of ICOs?
The United States Securities and Exchange Commission made waves earlier this year when they released a report that threatened to classify ICOs as securities. If ICOs were to be classified as securities, it would mean new levels of regulation and compliance requirements in order to create and sell new tokens legally in the United States. Regulators in the European Union have also questioned the securitization of ICOs, and China’s central bank recently banned ICOs altogether.
As regulations tighten on ICOs, compliance with anti-money laundering (AML) and know your customer (KYC) laws becomes an important issue. At the moment, most ICOs are structured through not-for-profit agencies based in Singapore and Switzerland, where regulations still permit anonymous crowdsale of digital assets. However, even these “ICO havens” are trending toward enforcing compliance with AML and KYC. Within the next few years, creators of new tokens can expect to have to register as a coin issuer and perform KYC identity checks on their investors.
draglet’s ICO Ethereum Service
At draglet, we believe in the power of ICOs to launch great ideas, and we offer a full-service solution to ICO crowdsales. This includes the creation of ERC-20 compliant tokens, deployment on the Ethereum blockchain, creation of the crowdsale marketplace, and AML/KYC compliance.