In the previous chapter, we surveyed the history of money and discussed how bitcoin changes the paradigm for currency creation and distribution. We also saw how bitcoin transactions differ from transactions in a conventional fiat money system. The advent of Bitcoin has spawned a large number of cryptocurrencies which are similar in varying degrees to it. They differ from Bitcoin in their characteristics, such as the total number of coins that can be produced, the speed and manner in which transactions are consummated, as well as the manner in which the cryptocurrency reaches consensus as to which transactions are valid. Furthermore, as we will see subsequently in this chapter, many cryptocurrencies are designed to handle domain-specific use cases.
In this chapter, we will review the characteristics of some of the more prominent alternate cryptocurrencies (called altcoins), such as Ethereum, Bitcoin Cash, Litecoin, Ripple, Binance Coin, Basic Attention Token, TRON, Monero, and Tether. If you are completely new to the cryptocurrency ecosystem, you may not understand some of the terminology used in this chapter. Do not let this detract you; you can come back to this chapter after reading some of the subsequent chapters.
Before we proceed further, recall that in order for a currency to be properly classified as a cryptocurrency, it must have the following two essential characteristics: firstly, the process by which the currency is created and distributed must be decentralized, and, secondly, the determination of transaction validity (consensus) must also be decentralized.
Ethereum
In terms of capitalization, Ethereum (ETH1) is the second most popular cryptocurrency after Bitcoin. Ethereum differs substantially from Bitcoin.
Bitcoin is a value transfer network. The Bitcoin network transfers value (bitcoins) between transacting parties and keeps an accounting of the total value owned by all parties in a distributed ledger called a blockchain. The contract on which the transfer of value is premised is outside the Bitcoin ecosystem. Ethereum is a bit different. Like Bitcoin, Ethereum transfers value between transacting parties; however, the contract which transfers value between entities can be specified on the Ethereum blockchain. Thus, the Ethereum blockchain provides an accounting of the Ether (the Ethereum coin) held by entities and can also encode contracts which transfer value (ether) between entities. These contracts are called smart contracts.
Ethereum came on the scene with Vitalik Buterin’s white paper in 2014.2 In this paper, Buterin describes a cryptocurrency ecosystem which permits users to write contracts that can transfer value conditionally at some point in the future. These contracts are coded in a Turing complete language called Solidity. Solidity is a simple language containing control flow and loop constructs. Ethereum uses Solidity to specify conditions under which value is transferred between entities.
A language is called Turing complete if it can simulate all of the operations of a Turing machine. A Turing machine is an abstract machine with the following components. Firstly, there is an infinitely long tape which is divided into a sequence of cells. The machine has an alphabet consisting of a finite number of symbols and a special alphabetic character called a blank symbol. The machine also has a finite number of states. Each state describes a rule to write to a cell, optionally move to another adjacent cell, and migrate to another state. The machine starts at a certain cell on the tape (“we can say that the tape head is on the cell”) and has a certain state. The tape head can read the symbol under the tape head and depending on the current state write a new symbol to the cell and then move the tape head one cell to the left or the right and go to a new state. For example, state 1 of the machine may have the rule “if the symbol read is 0, then write 1 to the cell and move the head one cell to the left and then go to state 3.” The essential characteristic of a Turing machine is that any computer algorithm can be represented by such a machine. Most computer languages are Turing complete, meaning their syntax can represent any computer algorithm.
Aside from smart contracts, Ethereum provides a platform for developing distributed applications (called DApp(s)). DApp(s) can issue their own cryptocurrencies called tokens. For example, if you want to interact with or use a particular dapp, you may need to buy tokens issued by the dapp. The rules for issuing these tokens are set out in an Ethereum standard called ERC-20.
Finally, note that smart contracts and DApp(s) are executed by the Ethereum Virtual Machine (EVM). A smart contract encoded in Solidity is transpiled to bytecode for execution by the EVM. Note that since Ethereum is a distributed peer-to-peer network, each node in the network maintains its own copy of the EVM.
Bitcoin Cash
We are going to examine the bitcoin mining process in great detail in a subsequent chapter, but for the time being, bear the following description in mind. A block consists of a number of transactions. Miners who mine a block can append this block to the Bitcoin blockchain. The incentive for a miner is that if he successfully mines a block, he will receive a predetermined reward (in bitcoins) for mining the block as well as all of the transaction fees for the transactions included in this block. The mathematical algorithms underlying bitcoin ensure that a block is mined approximately every ten minutes. A block also has a maximum size of 1 MB. This implicitly sets an approximate upper bound on the number of transactions that can be included in a block. This constraint means that Bitcoin is particularly poor at high-volume transaction processing. A transaction is approximately 500 bytes in size, and thus a block can contain approximately 2000 transactions.3 Thus, the bitcoin network can process about 12,000 transactions in an hour or about 3.3 transactions per second. This is particularly poor performance. For example, VISA can process about 10,000 transactions in a second. This constraint also indicates that bitcoin cannot efficiently process transactions at scale for a bitcoin-based economy.
Bitcoin Cash is a hard fork of bitcoin that attempts to increase the performance of Bitcoin by increasing the maximum size of a block to 7 MB. Other than this change, Bitcoin Cash is virtually identical to Bitcoin.
A hard fork takes an existing corpus of source code and makes a copy of it. Source code changes are then made to the forked copy which diverge from the source which was forked, and thus we have a body of common code up to the hard fork and divergent code bases thereafter.
Ripple
The main motivation for Ripple (XRP) is to create a cryptocurrency network for high-volume and very fast transaction processing. Ripple’s aim is to supplant the SWIFT4 network for international transactions. SWIFT is a messaging network used by participating banks and financial institutions. The messages in this network are instructions to a participating financial institution to pay value to some other participating entity in the SWIFT network. Ripple’s target are the big payment processors in the SWIFT universe.
International transfer of value is terribly slow. A transfer can take anywhere from 24 hours to 5 days. Furthermore, transaction fees are very high. Ripple aims to implement a blockchain-based solution called RippleNet, which promises also instantaneous transfer of value, low transaction fees, transaction encryption, and strong protection against fraudulent transactions. As a concise summation, Ripple intends to replace the antiquated SWIFT network with its mix of manual and automated processing with a decentralized blockchain application.5
Monero
Monero (XMR) is a bitcoin-like cryptocurrency that implements strong protocols to ensure the privacy of financial transactions. In Bitcoin, anyone can examine the distributed public ledger to determine the parties (bitcoin addresses) involved in a financial transaction as well as the amount of value transferred by the transaction. Furthermore, anyone can examine the public ledger to determine the amount of bitcoins owned by a public address as well as all of the transactions connected with this address.
Monero precludes such an examination by implementing an obfuscated public ledger. The Monero ledger hides the identity (public address) of the sender and the receiver of monero in a transaction as well as the amount of the transaction. Due to this, the monero transactions are not traceable and a transaction cannot be linked to any particular public address.
You will recall that a dollar bill is fungible, meaning that a one dollar bill is the same as any other dollar bill. Furthermore, if we look at a dollar bill in our wallet, we cannot determine the past transactions involving this particular dollar bill. In contrast, bitcoin is not strictly fungible in this sense. Since we anyone can examine the distributed bitcoin ledger, we can determine the complete history of transactions associated with a particular bitcoin. So, for example, if a bitcoin was involved in an illegal transaction in the past and this bitcoin is in your wallet, we can easily ascertain that this bitcoin participated in an illegal transaction in the past. Because of this, bitcoin is not a truly fungible cryptocurrency. In contrast, monero is fungible since we can never determine the past transaction history of a monero unit in your wallet.
Litecoin
Litecoin (LTC) was forked from Bitcoin in 2011. Litecoin differs from bitcoin in two principal ways. Firstly, the maximum number of litecoins that can be mined is 84 million compared to 21 million for Bitcoin. Secondly, Litecoin blocks are mined every 2.5 minutes approximately compared to 10 minutes for bitcoin.
Basic Attention Token
Digital advertising is the bane of the Internet. We are inundated with advertising, and many of us have trained our brains to ignore digital ads. The Basic Attention Token (BAT) presents an ingenious and entirely new paradigm for digital advertising. BAT is designed to improve the effectiveness of digital advertising, enhance privacy, and also reduce the amount of advertising that Internet users are exposed to. The BAT distributed app consists of the Brave browser as well as the BAT token, which is an Ethereum ERC-20 token. BAT has impeccable credentials. This specialized token as well as the browser is the brainchild of Brendan Eich, the inventor of the first Internet browser, Netscape Navigator, and the JavaScript language.
The way that it works is as follows. An entity wanting to advertise creates an Ethereum smart contract and includes some BAT tokens with the contract. When a person views this advertisement (in the Brave browser), he or she receives a portion of the tokens attached to the advertisement. Furthermore, the publisher of the page on which the advertisement appears also receives some tokens, and lastly, the Brave browser also receives some tokens. Notice that if a person views an advertisement, he or she is compensated for the attention given to the advertisement.
In the present digital advertising milieu, a user’s preferences and viewing habits are tracked pervasively and communicated to centralized entities that store and analyze this data in order to feed targeted advertisements to the subject as well as categorize him or her for other purposes – all without the target’s consent. The Brave browser only stores the user’s viewing habits and preferences locally and does not transmit any of this information to centralized entities. Thus, BAT and the Brave browser present a fairly radical implementation of privacy protection.
Binance Coin
Binance is one of the world’s foremost cryptocurrency exchanges. Binance provides a platform for trading cryptocurrencies. Binance Coin (BNB) is an Ethereum-hosted ERC-20 token. Its primary use case is the payment of trading fees and listing fees on the exchange. Traders receive a discount if they use BNB to pay trading fees.
TRON
TRON is a blockchain platform for decentralized applications; its primary use case is for the storage and distribution of censorship-resistant content in the digital entertainment space. Thus, it seeks to compete with centralized content providers such as Facebook, Netflix, image and audio repositories, blogging platforms, and so forth. TRON is quite an ambitious project.
One of the unique features of TRON is its integration with the BitTorrent protocol for the incentivized storage and retrieval of content. Users who provide storage space to store files or portions thereof receive some TRX coins when users download files using TRON’s BitTorrent protocol.
TRON’s architecture consists of three layers: a storage layer which is accessible through the BitTorrent protocol, a core layer which implements the TRON functionality including the TRON (TRX) cryptocurrency, and an application layer where distributed applications are implemented.6
BitTorrent is a peer-to-peer file sharing protocol that is widely used to transfer files. A BitTorrent network consists of a collection of nodes sitting on top of a TCP/IP network, which each implements the BitTorrent file transfer protocol. This protocol enables a peer on the network to discover which peers have a file or a portion of it and then enables this peer to download the file from these peers. Though accurate estimates are not available, anecdotal evidence suggests that at any given time anywhere from 15 million to 30 million users are downloading files using BitTorrent.
Tether
Tether (USDT) is a stablecoin. Stablecoins are designed to maintain a stable value with respect to a fiat currency, typically the US dollar. Tether ensures this stability by evidently maintaining a US dollar for each Tether in circulation. These dollar reserves are supposed to be under the control of the entity issuing the Tethers, in this case iFinex. iFinex which controls Tether is currently facing lawsuits pertaining to transparency, inadequate auditing of reserves, and market manipulation.
The Gross Anatomy of Cryptocurrencies
Implementation Details
Cryptocurrency | Language | Consensus Formation | Supply (Coins) |
---|---|---|---|
Bitcoin (BTC) | C++ | Proof of work | 21 million |
Ethereum (ETH) | C++, Go, Rust | Proof of stake | Not fixed |
Ripple (XRP) | C++ | Distributed proof of stake | Not fixed |
Litecoin (LTC) | C++ | Proof of work | 84 million |
Bitcoin Cash (BCH) | C++ | Proof of work | 21 million |
Monero (XMR) | C++ | Proof of work | 18.4 million |
TRON (TRX) | Java | Distributed proof of stake | 100 billion |
Basic Attention Token (BAT) | C++ | Delegated proof of stake | 1.5 billion |
Binance Coin (BNB) | ERC-20 token | 200 million | |
Tether (USDT) | ERC-20 token | Not fixed |
Transactions per Minute
Cryptocurrency | TPS | Primary Use Case |
---|---|---|
Bitcoin (BTC) | 3 | Store of value, hedge against US dollar |
Ethereum (ETH) | 8 | Smart contracts, distributed apps |
Ripple (XRP) | 1500 | Supplant SWIFT network |
Litecoin (LTC) | 26 | Store of value |
Bitcoin Cash (BCH) | 60 | More TPS than Bitcoin |
Monero (XMR) | 4 | Privacy of transactions |
TRON (TRX) | 2000 | Distributed digital media and games |
Basic Attention Token (BAT) | ? | Alternate model for advertising |
Binance Coin (BNB) | ? | Transaction fees on the Binance exchange |
Tether (USDT) | Convertibility into the US dollar |
Conclusion
In this chapter, we have looked at the characteristics of some of the leading cryptocurrencies and their use cases. In the next chapter, we commence our examination of the core mathematical concepts that underlie cryptocurrencies and blockchains.