Cryptocurrencies and blockchain

What is a cryptocurrency?

Bitcoin Whitepaper | Stratis Academy: Blockchain 101 | Mastering Bitcoin, Andreas M. Antonopoulos

A cryptocurrency is a digital asset which uses cryptography to verify and secure transactions. A currency is a medium of transfer. For example, money is a currency which is a medium of transfer of value. Most cryptocurrencies are value bearing currencies, however not all cryptocurrencies are designed to be money; many cryptocurrencies are principally designed to be a medium of transfer of utility. In fact, there are cryptocurrencies with coins which bear no value at all (see What is the Stratis DLT?).

Unlike fiat currencies, which require a central body to manage monetary policy, authority in cryptocurrencies is decentralized and the legitimacy of a transaction is confirmed by consensus of a network of computers which interact with one another. Transactions cost the sender a small transaction fee. A decentralized ledger gathers these transactions into blocks, which together form a blockchain. Cryptocurrencies provide solutions to a number of difficulties faced by currencies. For example, they solve the double spending problem of digital currencies without the need for a trusted central authority.

Cryptocurrencies represent a new and powerful technology. The decentralized, transparent and immutable nature of the technology can be leveraged by applications to do things that weren’t possible before. Cryptocurrencies are fuelling powerful, disruptive new ideas and the cryptocurrency space is a hotbed of innovation. You can find more on this here.

A typical cryptocurrency is made up of three parts: a coin, a blockchain and a network. The coin is the unit of account for transactions, the blockchain is a record of every transaction and the network is a peer-to-peer web of computers which interact with one another to secure and use the cryptocurrency.

What is a coin?

The coin of a cryptocurrency performs the same function as units of money do in everyday life. If you pay for something using the US currency, you keep track of how much you’re paying by using the US dollar as your unit of account. Similarly, if you’re paying using Bitcoin, you keep track using BTC. Digital wallets allow you to keep track of your ownership of coins of a cryptocurrency in a similar way we use physical wallets to keep track of our cash. A wallet has two cryptographic signatures: a public address and a private key. The public address is how the cryptocurrency knows where to send a transaction and where it came from. The private key is what allows you to prove that you are the owner of the coins in the wallet. You do this by unlocking the wallet. This can be a different process depending on which wallet you are using: some only require you to set up a password and use the password to unlock the wallet, whereas others may require you to input the private key itself. Once you have unlocked the wallet, you may send coins to another address in a transaction.

There are a few different types of wallets, each one with their own advantages and disadvantages. The most common is a wallet which is connected to the network of the cryptocurrency over the internet. Keeping coins in wallets of this type is known as hot storage. There are other wallets which allow you to keep your coins offline. Some offline wallets come with their own hardware which means your wallet is kept on a separate machine designed specifically for keeping coins away from the internet until you want to spend them. Storage of this kind is known as cold storage. No matter what type of wallet you choose, they all do the same thing: let you store your coins and let you spend them.

What is a blockchain?

A public transaction ledger keeps a record of all of the transactions of the coins of a cryptocurrency. This list of historical transactions is split into sections called blocks. Together, these blocks form the blockchain. By scanning through the blockchain you can see the target address of every transaction, the size of the transaction and the time the transaction was made. When you want to send some coins from one address to another this is what happens:

  1. Your intention to send some coins is broadcast to the network
  2. The nodes (computers of the network tasked with securing the cryptocurrency and validating transactions) scan the blockchain to check that you have never sent the coins elsewhere
  3. The transaction is committed to the ledger and your coins are sent

The ledger will record how many coins you sent, where they were sent from, where they were sent to and when they were sent. If you try to send coins you’ve already sent elsewhere, the transaction will be rejected. This is usually prohibited by the user interface (the wallet), but the underlying technology protects against it in the eventuality someone tries to do it anyway.

Committing a transaction to the blockchain takes time and costs resources (see What do “mining” and “staking” mean?). Transactions require that the sender pay a transaction fee to account for the cost in time and resources. This transaction fee doesn’t have to be fixed. In general, larger transactions cost a higher transaction fee and the higher the fee you choose to pay, the faster your transaction will be validated and your coins be sent.

What is a network?

The network is made up of every computer which interacts with the blockchain. These computers are called nodes*. The conversation about nodes can get quite involved, so for now we’re going to stick to the basics and concentrate on what we’ll call full nodes. A full node is a computer which downloads the whole blockchain and checks whether new transactions are legal and valid. These nodes also check one another to make sure every node is using the same rules and blockchain and if any node is found not to be, its conclusions are ignored by the network. If consensus cannot be reached by the nodes about the validity of a transaction, then the transaction is rejected. As we said, there are other types of nodes and these may differ from cryptocurrency to cryptocurrency.

Together, a coin, a blockchain to store the history of transactions and a network to verify them constitute a cryptocurrency. The way in which networks confirm and secure the transactions of the cryptocurrency is defined by their consensus protocol. In this FAQ we will stick to the two most common: Proof of Work and Proof of Stake.

*What does and doesn’t constitute a node will differ from cryptocurrency to cryptocurrency. Here, we’re saying any computers which interact with a blockchain can be considered a node. However, in the Bitcoin whitepaper “node” refers only to computers that are engaged in mining. It’s good to be aware that there are different uses of the term. We’ll stick to the most general definition.

What do “mining” and “staking” mean?

In general, there are two ways in which cryptocurrency networks confirm transactions and produce new coins: Proof of Work (PoW) and Proof of Stake (PoS).

The Bitcoin network, which has BTC as its coin, is PoW. Special nodes called miners compete to solve mathematical problems and the miner who succeeds in meeting specific conditions gets to create the next block. The more powerful and efficient the hardware (known as a “mining rig”) that you mine with, the higher your chance of successfully mining the next block. This computational efficacy is measured in hashes per second, or hashrate. The higher the hashrate of a miner the more likely it is to mine successfully. This mining is the work in Proof of Work. The successful miner is rewarded with a number of BTC (currently 12.5 BTC) plus the transaction fees for the transactions contained in the block. Mining is competitive. This is because someone mining with a higher hashrate has a better chance of mining a block than someone with a lower one. The more powerful the rig, the more it costs. Want a better shot at earning some BTC? You’ll have to spend money on a better rig.

For PoS networks, like the Stratis network, a staking node is a wallet which downloads the full blockchain and contains a number of coins which are then used by the node operator to stake. When you stake, every coin you are staking with has a chance of forging (the staking equivalent of mining) the next block of the blockchain. The more coins you have staking, the higher the chance that your node will be successful. When a node stakes successfully, it will receive the transaction fees for the transactions contained in the block and in some cases newly created coins as a reward. Stratis, for example, creates a new block every 64 seconds. The staking node which succeeds in forging this block will receive the newly minted 1 STRAT + the transaction fees associated with that block.

Where miners’ principal consideration is the hashrate of their mining rig, stakers’ main concern is the number of coins they are staking with compared to the total number of coins staking on the network. Every staking coin competes with every other staking coin for the chance to forge the next block. Not every coin in the overall supply of coins will be staking at any one time. This is because some people may be keeping their coins in cold storage, others may not choose to stake 24/7, etc. The number of coins you are staking with constitutes your staking weight. The ratio of this against the total network weight (every other coin being staked) determines how likely you are on average to successfully forge a new block. For example, if 1m coins in total are currently staking, and you are staking 10,000 coins, you will be forging 1 in every 100 new blocks on average.

What are confirmations?

A transaction is confirmed when it is included in a block. Every subsequent block constitutes another confirmation of the transaction. Often you will see waiting times talked about in terms of confirmations: “please wait until your BTC has received 3 confirmations”, “STRAT will be spendable after 16 confirmations”, etc. This is because the more confirmations a transaction has, the harder it becomes to roll back the blockchain and undo the transaction. After a few confirmations it becomes impossible (in any practical terms) to undo a transaction.

What is the difference between a coin and a token?

Coins and tokens are both exchangeable units of a cryptocurrency. Although the distinction between the two changes depending on who you listen to, one difference is generally agreed upon: a coin has its own blockchain whereas a token can exist on top of another blockchain and isn’t native to its own blockchain. For example, STRAT is the coin native to Stratis. If someone wanted to, they could issue a token using a smart contract and this token would exist on top of the Stratis blockchain.

What is a cryptocurrency exchange?

Cryptocurrencies can be traded for one another on crypto exchanges in much the same way that fiat currencies can be traded for one another on the FOREX. Exchanges allow you to set up an account with them and deposit and withdraw coins to and from a wallet associated with your account. The benefit of exchanges is that you can trade cryptocurrencies almost instantaneously in a market with high liquidity. The downside is that you are entrusting your coins to a centralized party. Even though most exchanges keep coins in cold storage until you withdraw, being a centralized body they are a big target for malicious attacks.

There are now a large number of cryptocurrency exchanges to choose from but be sure to research an exchange before choosing to send your coins to them. Look for one with a solid reputation and good trading volume as you want both security and liquidity. Always research thoroughly in crypto: you are your own banker and responsible for the safety of your own money.

What is an ICO?

“ICO” stands for Initial Coin Offering. Development of a cryptocurrency can be very expensive. Moreover, because cryptocurrencies usually also work as an economy, they need to have sufficient value to serve that economy effectively. An ICO is a proven and effective way of raising the funds necessary to get a cryptocurrency off the ground.

In general, an ICO works by offering coins or tokens in exchange for investment, in the form of their new cryptocurrency. Once the ICO period is over, the coins or tokens will be distributed to investors. This is an important secondary function of an ICO. Distribution is key for effective decentralisation. An ICO allows a project to start with a level of distribution which should hopefully make it difficult to stage an attack against the network.

What is market capitalisation?

Market capitalisation (commonly abbreviated to mcap) is one way of measuring the overall value of a cryptocurrency. It is calculated as being the product of the last market price for the cryptocurrency and the total supply of coins or tokens of the cryptocurrency. For example, if the last price for a coin was $10 and there are 100m coins in the total supply, the market capitalisation for the cryptocurrency is $1b (since the mcap is $10 X 100,000,000 = $1b). You can see a list of the market capitalisations of cryptocurrencies here.

Market capitalisation does not take into account liquidity or volume. For this reason, it should be used carefully when comparing cryptocurrencies: just because cryptocurrency A has a higher market capitalisation than cryptocurrency B, it does not necessarily mean that there is more money “contained” in A than B. Another caveat is in comparing very different cryptocurrencies. Some cryptocurrencies are pegged to a particular fiat price. For example, Tether (USDT) is designed such that 1 USDT = $1 always. Comparison between the mcap of Tether and the macp of a non-pegged cryptocurrency will not be terribly informative. It can be a useful first port of call when comparing the values of cryptocurrencies as a whole, but it should never be the only method of comparison.

What are Masternodes?

A Masternode is like a server which performs a specific, useful function or functions for a cryptocurrency. This is usually a separate function from the mining or staking nodes. A Masternode operator is providing a service for users of a cryptocurrency by running software which performs whatever useful function has been built into it. To run a Masternode the operator is required to provide collateral in the cryptocurrency in question. For this upfront investment and as a reward for providing the service offered by the Masternode they receive an income. This income usually comes from transaction fees produced when the service provided by the Masternode is used by users of the cryptocurrency. For example, Stratis has Masternodes which act as Tumblers to provide a tumbling service through the Breeze Privacy Protocol. This offers users the chance to introduce privacy with regards to their activity and fungibility to their BTC. In order to operate a Masternode, the operator must have 250,000 STRAT and keep the 250,000 STRAT in the registered wallet and not move it plus 5 BTC to perform the tumbling service itself. The Masternode operators are rewarded with the transaction fees generated during the tumbling. This fee can be set by the Masternode operator, but it defaults to 1.55%.

A Masternode needs a function to fulfil and an economic incentive for its operation. Many cryptocurrencies choose to offer Masternodes both as a way of providing services to their users and as a way of inducing scarcity to the coin.

Is the utility of cryptocurrencies limited to being a medium of transfer of value?

Absolutely not. Cryptocurrencies can allow you to not only securely make payments, but also use sidechains, execute smart contracts, fund ICOs, verify authenticity, track provenance, co-opt computational resources… the list goes on. The technology is still very new and development interest is growing at an accelerating pace. New, worthwhile utilities for cryptocurrencies will continue to be dreamed up. These are still very early days in a very young space. Just like the most valuable applications of the internet took decades to be realised, so too will the most valuable applications of this technology take many years to mature.

Cryptocurrencies are a new kind of economy deserving of a whole new kind of study: cryptoeconomics. Economies usually grow organically with their structure guided by the behaviour of their population. By comparison, many of the economic features of a cryptocurrency have to be determined from the ground up. The utility of a coin is one of the key considerations in designing the economy of a cryptocurrency as it is the key driving factor behind the value of the coin.

How can cryptocurrencies be used to do so many different things?

When using the blockchain technology behind cryptocurrencies for a particular application, you will probably be justifying its use through being able to leverage some property of the technology. These properties are many, so we won’t go through them all. However, it’s worth having some idea about a few of the properties and why they make blockchain technology what it is.

  • Decentralization

Decentralization is one of the defining characteristics of a cryptocurrency. Being decentralized means there is no single point of vulnerability. Security is a big concern for many applications and utilising a public blockchain can provide huge confidence in the security of the application.

The decentralized nature of cryptocurrencies also allows them to achieve consensus without a central trusted authority, representing a breakthrough in distributed computing. It can be used to achieve consensus on decentralized networks to prove the fairness of elections, lotteries, asset registries, digital notarization, and more.

Moreover, the nodes which constitute a blockchain network can do more than just verify transactions. We can give them the ability to run software which is deployed onto the blockchain (a smart contract), endow them with voting rights (like a DAO) or allow them to commit information (besides the transactions) to the ledger which can never be erased.

  • Transparency

The blockchain is public. Anyone can examine a blockchain and view the complete history of the cryptocurrency. The information that they find cannot be changed and cannot be fraudulent in retrospect. There are applications for which this transparency is very valuable. It’s not hard to find instances in history where it’s difficult to know whether the outcome of a vote is genuine. If the vote had been done using cryptocurrency technology then anyone would be able to verify the truth of the outcome. It would be virtually impossible to cheat the system after the fact.

Another way in which cryptocurrencies are transparent is that the software is open source. This means that the code can be audited by anyone or any party. It also opens up the cryptocurrency to contributions from any developer around the world.

  • Immutability

Once information is committed to a blockchain, it is there for good. This property of the technology plays into all of the others. When viewing some piece of information that was committed to the blockchain, we know that this piece of information is the same now as it was when it was committed. You cannot change it after the fact without an impossibly large amount of computing power. With the voting example under Transparency, when we look at the votes committed to the blockchain we know that these are the votes that were cast. There is no practically possible way to alter the votes once cast.

What is the cryptocurrency scalability problem?

Scalability is the term used to talk about the ability of a cryptocurrency to deal with increased usage and adoption. There are fundamental bottlenecks and circumstantial limitations for cryptocurrencies that affect their ability to work as intended as they become more popular. Scalability is not a well defined, singular property of a cryptocurrency. Rather it is a broad term which covers a number of properties that together limit the cryptocurrency in ways that affect its ability to deal with increasing usage.

On Scaling Decentralized Blockchains identifies a few key metrics of cryptocurrencies that are pertinent to the scaling debate: maximum throughput, latency, bootstrap time and cost to the network per confirmed transaction.

Maximum throughput:

Maximum throughput is measured in transactions per second (tps) and is found by dividing the maximum number of transactions that can be contained in a block by the block time. The maximum number of transactions that can be contained in a block depends on the block size and the size of each transaction.For example, ignoring SegWit, Bitcoin’s blocks are up to 1MB (1,000,000 bytes) in size and a simple one-input, one-output transaction is roughly 250 bytes. Thus one Bitcoin block could potentially contain 4000 transactions (because 1,000,000/250 = 4000). The average block time (the interval of time between the mining of one block and the mining of the next) for Bitcoin is 10 minutes by design. Thus, calculated using these numbers, the maximum throughput for Bitcoin is 6.7 tps. In reality, transaction sizes are usually larger than 250 bytes. This doesn’t affect the how we would calculate the maximum throughput, but it is worth bearing in mind when talking about throughput.

Latency:

This is the time required for a transaction to be considered final. This will depend on  both the cryptocurrency and the service or payment processor in question. For example, Bitcoin transactions can take up to 10 minutes (the block time) to be confirmed by being included in a block, but some services accept zero-confirmation transactions and others follow a 6-confirmation standard before they consider a transaction to be final.

Bootstrap time:

This is the time that it takes for a new node to download the blockchain of a cryptocurrency to validate its system state and be able to participate in block production.

Cost to the network per confirmed transaction:

This is the cost of resources consumed by the entire system to confirm a single transaction. These costs are:

1) Block production cost: The cost of issuing a new block undertaken by the block producer. For example, the operational costs of Bitcoin mining.

2) Transaction validation cost: The cost of computation necessary to validate that a transaction can spend the outputs referenced by its inputs, dominated by cryptographic verifications.

3) Bandwidth cost: The cost of network resources required to receive and transmit transactions, blocks, and metadata.

4) Storage cost: The cost of storing the data associated with the cryptocurrency.

These are some of the key metrics we can use to talk usefully about the cryptocurrency scalability problem.

Problem 1: Congestion due to maximum throughput being too low

There is competition for a transaction to be included in a block when the number of new transactions is greater than the maximum throughput. This not only leads to a backlog of unconfirmed transactions, but also raises the transactions fees as higher transaction fees have a better chance of being included in a block. Thus a cryptocurrency will want to achieve the highest maximum throughput possible. On Scaling Decentralized Blockchains shows that designing maximum throughput is a balancing act: it is possible to achieve a very high maximum throughput by adjusting the block size and block time, however doing so would be at the cost of decentralization and/or security.

Smart contracts also play into this problem. The impact of smart contracts on the usability of the cryptocurrencies which have them is well documented. This is in part because they introduce a whole new series of transactions which can further congest the network in the form of gas. The above backlog can then occur if there are many popular smart contracts deployed to the same blockchain. One possible solution to this is to have the smart contracts deployed to a cryptocurrency’s sidechains, rather than to its mainchain. This will offload the heavy lifting to sidechains while leaving the mainchain free to carry out transactions.

Problem 2: Full Nodes become too large for practical blockchain applications and cost to the network per confirmed transaction grows as the cryptocurrency grows

Blockchains can become very large very quickly. Many applications of blockchain technology require the user to be operating a Full Node which has downloaded a copy of the complete blockchain. Doing so incurs costs to the user and takes time. As the blockchain grows in size, the operational and time costs to the user may become a deterrent. This is not just an issue with public chains. Blockchain as a Service applications may end up using private chains which are recording a large volume of transactions. This may make the application unwieldy and is a common criticism of the technology.

The above two problems are by no means the only ones which fall under the broader category “scaling difficulties facing cryptocurrencies”. They are probably the most common and both are relevant to content in this FAQ, which is why they have been included here.

Next page: The value of cryptocurrencies →