Uinspire Blockchain Course: {Lesson 4: Demystifying ICOs, DApps and DAOs}

Alfonso Delgado
Uinspire
Published in
14 min readMay 21, 2018

In Lesson 3 we learned that Ethereum is a general purpose DLT network that allows users to create smart contracts. In the Ethereum network, a smart contract is simply a program that has an ether balance and an internal storage. Users can interact with the smart contract to read or write to the smart contract’s internal state. While Bitcoin enables users to create smart contracts with limited functionality, Ethereum offers support for Turing-complete programming languages. This means that there is no limit to the computational logic that can be embedded within a smart contract.

In this Lesson, we examine how smart contracts can serve as the backbone for several powerful use cases. In particular, smart contracts are able to govern a set of ongoing virtual relations between a subset of network users. This Lesson focuses on distributed applications (DApps), distributed autonomous organisations (DAOs) and initial coin offerings (ICOs).

Distributed applications (DApps)

A DApp is a distributed (or decentralised) application that runs its back-end code on a distributed ledger network. This is achieved by storing the code within a smart contract, which can then be linked to a website or mobile phone app to provide a more user-friendly experience. There are a number of general use cases that DApps can empower. For instance, a DApp may allow its users to exchange services or goods on a peer-to-peer basis and benefit from the automation of payments. Other DApps store users’ data on the blockchain to provide an auditable trail of activities. In contrast to traditional applications, DApps can be designed to be censorship-resistant and prevent a single point of failure or attack.

DApps have their own protocols, meaning that they are governed by the particular set of rules that have been specified in the smart contract. The protocol may also require specific tokens to perform actions within the DApp. As a result of the network effect, tokens linked to a particular protocol will become more valuable as the number of users of the associated network grows.

The following examples of DApps may help new blockchain projects and established companies to understand how tokens can be integrated into their product offering. The DApps selected are all linked to the Ethereum network, which thanks to its generalised protocol has current positioned itself as the main hub for DApps. In addition, Ethereum’s ERC20 token standard has facilitated the process of creating tokens that are compatible with wallets, exchanges and other DApps in Ethereum’s ecosystem.

  • Storj: a decentralised cloud storage start-up that allows users (“farmers”) to offer their spare storage space through DApp.132 These farmers can then receive Storjcoins (STORJ) from other users who wish to upload their files into the collective storage space. These files are automatically encrypted and divided into many pieces, which are then spread across the computers in the network. Storj.io presents itself as a P2P alternative to centralised cloud storage platforms, such as those offered Google, Amazon and Dropbox.
  • Augur: this decentralised prediction market provides a good illustration of how different protocols (and tokens) can play an instrumental role within an DApp. Augur relies on the “wisdom of the crowd” to obtain more accurate outcome predictions. People from around the world can instantly create a market on their topic of choice, such as an upcoming national election. Other users can then place bets by buying shares in one of the event’s potential outcome. This first set of activities is facilitated by Augur’s exchange protocol. This protocol allows users to send ether to one of the DApp’s smart contracts, which will then redistribute the ether to those who predicted a given outcome correctly. In addition, Augur relies on a second protocol that lays down rules and procedures for users to report on the actual outcome of an event after it has taken place. In accordance with this reporting protocol, users who communicate the correct outcome will receive DApp-specific reputation tokens (REP), while those who provide inaccurate information will lose REP tokens.
  • Slock.it: this is the team that helped to launch The DAO, though the founders had previously started working on a solution that combines smart property and blockchain technology. The projects aims to allow DApp users to create smart contracts on the Ethereum network that register the ownership of a Slock (smart lock). For instance, a DApp user can attach a Slock to their bicycle. Thereafter, other users would be able to send ether to the relevant smart contract address, which would forward the Ether to the bicycle owner and unlock the Slock for a certain time period (depending on the amount of ether sent).

Should DApps have their own tokens?

The Slock.it project evidences that DApps do not necessarily require a unique set of tokens to be generated. Some community members have argued that, in many cases, DApp tokens are not necessary and that economic frictions arise when they are converted into native tokens or vice versa. On the other hand, a range of benefits can also be ascribed to DApp tokens:

  • Price separation: a blockchain networks’ distributed ledger records the ownership of both native tokens and DApp tokens running on top of that network. In the case of Ethereum, ether will be used as gas to run the smart contracts underpinning a DApp. Despite this relationship, the price (and value) of DApp tokens is not directly linked to that of the ether. Instead, the price of a DApp’s tokens will be based on the demand for that DApp’s services and the utility of the unique set of tokens. This separation does have its limits, since we would expect the price of a DApp’s tokens to fall if the price of the underlying network’s native tokens plummets, endangering the value and stability of the network as a whole.
  • Incentive alignment: tokens help to align the incentives of developers, tokenholders and future users with the end goal of helping the project succeed.137 In this order, developers can conduct an ICO to receive compensation for coding and promoting a DApp. The initial investors and backers receive tokens in proportion to the funds contributed. If these tokens are functional, tokenholders will be encouraged to support the project by informing other people about its goals and helping to make improvements. This is rationalised by the notion of network effects, where we can expect the value of functional token to increase in parallel to the number of DApp users, given that the supply of tokens is limited.
  • Microgovernance rights: DApp users can benefit from having a governance system within their own community, separate from that which operates at the “macro level” across the entire blockchain network. Tokens can facilitate this form of microgovernance (or subgovernance) by providing tokenholders with voting rights in relation to a variety of key issues, such as fund allocation and the approval of new features. We can picture the blockchain network as a distributed economy that has its own currency and regulations that govern the relationship between all of its members. In turn, DApps are businesses that comply with these regulations but may have their own financial instruments and by-laws. Further, a DApp’s reliance on the blockchain network’s governance mechanism cannot be completely eliminated. For example, a significant number of miners could collectively agree to alter or distort the record of tokens owned by DApp users, as was the case with The DAO.
  • Micromonetary policy: users may be able to dynamically manage the supply of DApp tokens or to create their own inflation/deflation mechanism. Apart from controlling inflation, users can vote on whether the token supply should be increased, for instance to raise further funds. Additionally, token reserves can be used to stabilise token prices, while buy-backs provide a guaranteed exit for unsatisfied tokenholders.

Initial Coin Offerings

An Initial Coin Offering (ICO) is a form of financing in which a company or group of individuals offer tokens (or coins) that reside within a DLT network to members of the public. The act of generating and offering tokens to the public is also referred to as a crowdsale, token sale or Token Generation Event (TGE).

ICOs can be regarded as an application of the crowdfunding process to DLT networks. Generally, the funds raised will be used to build a new DLT network or to develop a distributed application that runs on top of such a network. ICOs are increasingly being used to fund a wide range of projects. For instance, music artist Gramatik conducted an ICO to fund a new project that raised $9 million.

An ICO event takes place over a predefined period of time, typically a month or longer, during which members of the public are able to purchase a new set of tokens in exchange for established cryptocurrencies like bitcoin or ether. The ICO process is governed by a smart contract (or a group of them). This smart contract will generate a new set of tokens that run on top of a DLT network. When a contributor sends funds to the smart contract’s address, the smart contract will transfer the ownership of this new set of tokens to the sender’s address. In addition, the smart contract will track in its internal storage the addresses of the current tokenholders.

ICOs tend to have a minimum threshold for funding — if this threshold is not met by the end of the funding period, the smart contract will return all the contributions received to the original senders. The funds raised in a successful ICO event are used to compensate token issuers (the project’s founders) for the expenses incurred in setting up the project and for the work that remains to be done before this is fully-functioning. In exchange, contributors are able to contribute towards a project that they want to support or expect to become profitable in the future.

Whilst tokens can perform a variety of functions, their value tends to be linked to the performance and prospects of the project, along with its number of users and general speculation. As part of an ICO, issuers may enter into an agreement with a cryptocurrency exchange to list the new tokens. The creation of a secondary market enhances the liquidity of the tokens, enabling investors to exchange these tokens for other cryptocurrencies or fiat money.

The current ICO landscape

The first project to launch an ICO was Mastercoin in 2013, which at the time managed to raise $5 million worth of BTC. Over the next three years, the ICOs of Ethereum and The DAO took place, with each of these projects raising a significantly larger sum than its predecessors (see the graph below). In total, the amount raised between 2013 and 2016 by way of ICOs exceeded $270 million.

2017 was a record-breaking level of activity, with over $3.5 billion raised via ICOs. Concerns have been raised about the speculative nature of blockchain investments, with many drawing comparisons to the 1997–2001 Dotcom bubble.

At the expense of an expeditious and accessible funding process with low transactions costs come a number of important deficiencies. ICOs have been criticised for the lack of transparency involved in the funding process, the presence of opportunism on founders’ behalf, and investors’ inability to seek redress for fraudulent or self-interested behaviour. As a result, there have been calls for self-regulation, with members from the blockchain community emphasising the need to embrace best practices and encourage the responsible disclosure of information. In view of these issues, regulators in different countries have also started to shift their attention towards ICOs.77 In the present circumstances, an examination of the challenges that ICOs face and the tools available to address them is of paramount importance in shaping a sustainable ICO practice for future years.

Comparing ICOs to other fundraising methods

The differences between ICOs and IPOs have led community members to argue that the former term is misleading, since ICOs involve no transfer of shares and their legal status is unclear. Further, the term “ICO” is sometimes used when tokens have already been offered to the public, so that the subsequent sale cannot properly be described as “initial”. Though the terms token sale or token generation event (TGE) are broader and more accurate, “ICO” remains the more widely used term.

Other ways of issuing tokens: forks

Bitcoin (BTC) was the first token to be created, with both transfers of bitcoins and newly created bitcoins (used to reward for miners) being recorded in the network’s blockchain. Many of the tokens that followed Bitcoin’s lead were created through a process known as forking. Forking is often misunderstood since it has two separate meanings in the context of blockchain:

  1. Software fork: forking generally refers to the process of modifying a software’s code in order to launch a customised version of that software. A software fork may alter the policy and/or consensus rules embedded in the software. Policy rules are variables that an individual can alter without breaking compatibility with the network. For example, miners can customise their own software to only validate transactions with high fees attached. In contrast, the consensus rules are aspects of the software that must remain unchanged for other nodes to recognise a user’s contributions as legitimate, since they form an integral part of the network’s protocol (its DNA). In particular, these rules outline how transactions are validated and assembled into the network’s distributed ledger. Alterations to the consensus rules can be (i) forward and backward compatible [soft fork]; (ii) only backward compatible [hard fork] or (iii) neither, when a new network is launched from scratch [altcoin fork].
  2. Ledger fork: this refers to temporary deviations from the main chain caused by divergent views about the record or order of transactions.

In the diagram above, each colour represents a unique protocol with its own set of consensus rules. Changes to a network’s consensus mechanism are therefore depicted in a different colour. In turn, token symbols symbolise a network’s initial software, embodying the first set of consensus rules that were implemented in that network. The four main types of forks that can be carried out are:

  • Soft fork (SF): this takes place when a forward (and backward) compatible change is made to a network’s protocol. Users agree to undertake a soft fork by stating or signalling their intention to use the updated software.87 An example of a soft fork is Bitcoin’s SegWit update, which removes the requirement to include certain non-transactional data within blocks by making it optional. Given that blocks in the Bitcoin network have a size limit of 1MB, the objective is to leave more room for transactions within each block. The SegWit update constitutes a soft fork since new blocks mined with the unupdated software would still be recognised as legitimate by the forked software.
  • Hard fork (HF): this occurs when users alter the network’s protocol in a way that is only backward compatible. As such, non-unanimous hard forks may lead to the creation of two separate blockchains. Ethereum Classic and Bitcoin Cash are examples of tokens that were created via a hard fork.
  • Altcoin fork (AF): when developers take a copy of a pre-existing network’s initial software and modify certain parameters to launch a new network (with its own protocol). The modified software is neither backward not forward compatible, but can be used by those who wish to join the new network. Since Bitcoin’s code is open source (freely available), developers can create “altcoin” networks with features derived from the software. For instance, Bitcoin’s software was forked by Litecoin (directly) and Dogecoin (indirectly).
  • Ledger fork: the chain will show temporary splits (or forks) where two miners create a valid block at a similar time. The network is designed to resolve these splits so that only one of the blocks is built upon and becomes part of the main chain. For instance, miners may decide to build on whichever block is transmitted to them first, with the result that one chain will soon become longer than the other. Since miners are incentivised to build on the main (or “longest”) chain, these stale blocks (SB) will be left behind and forgotten.

The DAO

The first large scale project to launch on the Ethereum network was “The DAO”, a distributed venture capital firm that embedded its bylaws in smart contract code. In 2016, the project raised over $160 million in ether (at the time) by conducting an ICO. In this ICO, contributors sent ether to a smart contract on Ethereum and received a proportional amount of DAO tokens in exchange. The ICO allowed The DAO to raise funds and distribute its tokens in an expeditious process that did not rely on financial intermediaries. The ether raised was to be invested in other DLT-based projects in accordance with the wishes of DAO tokenholders, as no directors or employees were said to be involved.

Shortly after the ICO took place, an unknown attacker was able to siphon off over $50 million (in ether) by exploiting a bug in The DAO’s code. This event gave rise to widespread controversy, with the result that a hard fork was eventually proposed by the Ethereum Foundation to address the exploit. The contentious hard fork would update Ethereum’s protocol by introducing a new rule to retrospectively invalidate the attacker’s removal of funds. While the hard fork was approved by the vast majority of ether holders, it was resisted by certain users who believed that it would undermine the terms and ethos of The DAO.

Given that The DAO’s website had indicated that the organisation would be governed by the principle of “code is law”, the opposition argued that the attacker had breached no rules in using features of the code to its advantage. As a result of this opposition, the network was split into two chains after the fork, each with their own cryptocurrency. Ethereum (ETC) was represented by the majority of the users, who accepted the proposed hard fork by updating their software. In contrast, Ethereum Classic (ETC) was formed by those nodes who continued to mine new blocks without adopting the revised protocol. This case study highlights the potential of smart contracts to give rise to novel forms of organisation and fundraising. At the same time, it indicates that caution must be exercised when dealing with smart contracts, as this is not yet a mature technology.

Conclusion

In this Lesson, we learned about various applications that are driven by smart contracts. DApps are distributed application that use smart contracts to govern the relationship between a subset of network users. In addition, they use smart contracts to run computations and store data on the network’s ledger. In turn, ICOs allow a project’s founders to issue a new set of tokens to members of the public and to use the proceeds of the sale to fund the development of their project. A DAO is an organisation that has its bylaws encoded in a smart contract and can be run without any employees. While smart contracts are powerful, caution must be exercised when dealing with what is still a nascent technology.

Consolidation exercises

  1. Visit State Of The DApps to browse a large number of projects that have been built on Ethereum.

Extend your knowledge

We are currently working on expanding this section. Please feel free to add suggested reading materials!

--

--