Halloooo, it’s a beautiful day here in southern Germany, and today we’re going to learn all about Cryptocurrency!
We’re going to cover a lot of new concepts here, so grab a beverage of choice and settle in. This post is a hefty one. The goal is to explain the design behind cryptocurrency systems, the problem they solve, and the technologies that create a cryptocurrency.
If you only have a couple minutes or don’t like reading, check out this visual blockchain demo. It’s the best “bang for your buck” when it comes to understanding what it’s all about.
Table of Contents
- What is cryptocurrency?
- How you can use cryptocurrency right now
- Why you don’t want to ignore cryptocurrency
- The origin story of Bitcoin
- These definitions will make you sound smarter
- Putting the pieces together – a quick “top level” view
- Use this one weird trick to keep track of your spending
- Decentralization is your friend
- Use mining to achieve your wildest dreams
- Proof of work – what the heck is it?
- Encryption and how it works
- Scalability is the key to the future
- Full list of resources
What is cryptocurrency?
Aight, let’s get to it. Cryptocurrency is, in simple terms, a digital token that you can exchange securely via the internet. The means of exchange is both encrypted and decentralized, which has allowed for high value to be placed on these tokens.
What makes cryptocurrency useful to me right now?
The immediate benefit of cryptocurrency is the free and near-instant exchange of money via the internet. Naval Ravikant refers to it as “the internet of money”. You can send money to anyone with an internet connection, without having to go through banking transfers or currency exchanges where you lose a hefty portion to fees.
Sending cryptocurrency is also exceedingly fast. International transactions take anywhere between 30 seconds and 10 minutes. (Depending on what tokens you’re using.) Contrast this to 3-5 day bank transfers, and it’s a clear winner.
Cryptocurrency is a huge leap forward in spurring the growth of international and global markets. Why? Because it allows those without access to international banking to send and receive payments from anyone, anywhere, in the world.
Cryptocurrency is also anonymous. To send the digital tokens to someone else, just enter an “address” and click ‘send’. Cryptocurrency addresses aren’t neat and tidy like domain names or street names. Rather, they’re a hash of numbers and letters in a long string. Because there are no identification requirements to create a cryptocurrency address, you could be sending your currency to anyone. (Many large volume exchanges do require proof of I.D. nowadays which link to your cryptocurrency address. For this reason, it’s not completely anonymous.)
For example, here’s an address you can use to send me Bitcoin! (Buy me a coffee or whatever.)
What if I don’t need to send money internationally? Why should I care about understanding cryptocurrency?
There are two reasons to get interested in cryptocurrency today. The first reason is to make money through basic investments.
These tokens have seen massive price gains in the last few years. Bitcoin went from costing mere pennies per Bitcoin to almost $3,000.00/Bitcoin currently and has made several people very wealthy. You could have bought 100 Bitcoins some years ago for $1, and have $300,000 now – craaaazy.
It’s not too late to make an investment profit from buying and holding cryptocurrencies. They continue to appreciate in value and gain mainstream acceptance. I believe that cryptocurrencies are still undervalued at their current price, and there’s definitely still profit in investing.
What’s even more exciting is that this technology is on track to become the next iteration of the internet. This technology has many applications beyond money transfers. When combined with existing systems, it could change several major areas of our life.
I would like to write more about the future potential, but this introduction is already too long. If you learn the basics first, then you’ll really be able to understand how to stay at the front of the curve for future innovations in this space.
If you want to really understand why they’ve gained so much value over the last few years, we have to delve in and understand the technology behind it. The technology is what makes cryptocurrency valuable, not just the tokens themselves.
How it all began…
The initial creation of cryptocurrency began with Bitcoin, which most people have heard of by now. The story almost sounds like a science fiction novel. Here’s a quick summary.
An anonymous developer (or group of developers,) released the technology in 2009 under the pseudonym Satoshi Nakamoto. The software was published as an open source software. They also released a white paper explaining their vision for the technology. The whitepaper is linked at the end of this article, and has since become the “Bible of cryptocurrency”.
Upon initial release, Bitcoins were equal to fractions of a cent in U.S. dollar value. The technology was initially seen as a fad. However, it proved to be very useful, due to the speed and ease of money transfer around the world. The technology gained momentum and has established itself as a new financial structure.
Several variations of Bitcoin currency sprang up, and there are now over 700 varieties of cryptocurrency. Each of these currencies holds a slightly different structure and purpose. Most of these currencies are still only worth pennies, but a few have gained significant value. Bitcoin, Ethereum, and Litecoin are the most popular right now, but the world of cryptocurrency changes quickly.
Some important definitions
We’ll cover the actual buying, selling, and securing of cryptocurrency in another article. For now, we’re going to focus on understanding the technology behind cryptocurrency.
To start with, here are some fundamental terms and definitions. These terms refer to the most important parts of the Blockchain technology that most cryptocurrency is built upon.
- Network – a group of interconnected things.
- Blockchain – a digital ledger designed to store a record of transactions. The blockchain is “append only”, meaning that data can only be added to the blockchain. Any data added cannot be edited afterward. Data is added to the file in “blocks” of data, creating one long, unbroken “blockchain” of information. When you read blockchain, think “transaction history”.
- Open Source – software for which the original source code is made freely available and may be redistributed and modified.
- Decentralization – the transfer of power away from one central governing entity, and spread across multiple “points of contact”. The more points of contact that are granted control, the more decentralized the system is.
- Mining – the process by which new blocks are verified, encrypted and added to the blockchain. A new block is made up of recent transaction data along with the solution to a proof of work puzzle. If the solution to the proof of work puzzle is successfully submitted, the block is added to the chain.
- Node – A computer that is connected and synchronized with a blockchain network, working to verify transactions. A computer that is mining new blocks is a single node in the network. The more nodes a network has, the greater degree of decentralization it has.
- Proof of work – a computational problem given to a computer. The problem is designed specifically to “cost” a lot in terms of processing time and energy from the computer.
- Encryption – translating your information into an encoded format, to prevent unauthorized access.
- Wallet – A means by which you can secure your access to any cryptocurrencies you may have purchased. The cryptocurrency equivalent to a bank account, but much easier to set up.
- Social scalability – the potential for scale in a social structure. The higher the level of social scalability, the higher the number of people can be included.
Putting the pieces together – a quick “top level” view.
We’re going to use Bitcoin as our primary example here, for ease of explanation. Other cryptocurrencies function in pretty much the same way, but with enough difference to make it hard to generalize across all cryptos.
Here’s how encryption, blockchains, proof of work, and decentralization work together to create the whole Bitcoin structure.
- The blockchain keeps track of where all the money’s at. Every update to the blockchain records a new set of Bitcoin exchanges.
- The encryption makes sure that only the owner of the token can spend the token.
- Proof of work prevents someone from creating ‘counterfeit’ tokens. The proof of work puzzle requires a significant amount of computing power to be expended in order to solve the problem. If a transaction is submitted without proof of work, it will not be accepted by the blockchain.
- Mining provides rewards to users that verify new blocks in the chain and process transactions. Every new block that is mined pays a reward to the person who mined it. If everyone stopped mining at once, Bitcoin would no longer be able to process transactions. The more miners that are active at one time, the higher the degree of decentralization.
- Decentralization ensures that:
- no single government, corporation or bank can control the supply, demand, or access to Bitcoin.
- In order to alter any transaction data, a hacker would need to alter the data on every node in the Bitcoin network.
- There is no central point of failure.
When you put these technologies together, you end up with a series of checks and balances. This creates a secure system that you can trust to transfer money.
This system completely removes traditional banking and finance from the equation. No one organization has full control of the system.
Let’s say that cryptocurrency reaches mainstream adaptation. This would replace the existing financial institutions we use today. Several jobs in that industry would be automated away, and better, faster, more secure systems would take their place. This is the vision of the early cryptocurrency users. They see cryptography as a solution to the corruption that accompanies centralized systems.
Understanding the concept of a blockchain
As we defined it earlier, a blockchain is a digital ledger designed to store a record of transactions. It is “append only”, meaning that data can only be added to the blockchain. Data cannot be deleted or edited once it’s added to the blockchain.
Data is added to the file in “blocks” of data, creating one long, unbroken “blockchain” of information. (In this case, it logs a transaction history.)
Let’s start off by clarifying that Bitcoin does not equal blockchain, and vice-versa. A blockchain is a structured way to store data. It’s only one part of the overall technology that Bitcoin uses, much like the engine is only one part of a car.
A blockchain is a ‘digital ledger’. Really, this means it’s just a list of line items. A fancy receipt for digital exchanges. The key difference is that a blockchain is designed to be updated by several computers, all at the same time.
Okay, what does that mean: “updated by several computers, all at the same time”?
Let’s say you have 15 computers recording separate purchases. They could all send their purchases to one central computer to be recorded one at a time in a file. This is how traditional accounting works.
With the blockchain, each computer writes it’s own transactions as well as the transactions from every other computer. Every computer has the complete list of purchases, instead of one central computer.
As more transactions are added to the blockchain, that information has to be added to the blockchain on each computer. The “block and chain” structure provides a way for all the computers to agree on the correct history of events. All the newest transactions are bundled into a “block”, and then every block is added to the chain. Each computer in the network can then update its chain to include the new block, ensuring consistency across the network.
A blockchain is a base technology for building distributed and unalterable records. Blockchain tech could be applied to rental contracts, medical records, file storage, video streaming, and so on.
Additional reading and resources about the blockchain:
- My favorite – a good explanation of blockchain, specifically as an accounting system.
- This article by Vinay Gupta. It explains a lot of context around blockchains, contrasting them to older systems of data storage. This article’s a long one, but I would say is essential for further context as to why the blockchain technology is revolutionary. Really makes it click. Note that his article ends with a discussion of Ethereum, which introduces some new elements into the mix which aren’t covered in this article.
- Further technical explanation on the differences between standard database storage and blockchain storage. Reframes blockchain as a digital ledger.
- For those who understand code, and want a more concrete explanation, this article actually unpacks some of the code used to create a blockchain.
- A second guide to blockchain that may be useful for comparing/contrasting information.
- Bitcoin blockchain statistics, fun snippets of information to look at.
Let’s talk about decentralization
Decentralization is the transfer of power away from one central governing entity, and spread across multiple “points of contact”. The more points of contact that are granted control, the more decentralized the system is.
Decentralization is the core feature of Bitcoin that differentiates it from something like online banking. The technology makes the most sense when viewed through the lens of decentralization, so we’re going to spend a bit of extra time on it.
Bitcoin has fully decentralized in the sense that no ‘Bitcoin Institution’ or central organization is responsible for the Bitcoin software. There are contributors to the code, but the project is open source. Anyone can read or copy the code for their own use. Rather than a ‘man in the middle’ for a transaction, who has full control over the transaction, the Bitcoin software is ownerless.
Bitcoin achieves this decentralization (in part,) through its network architecture. Traditional networks (like the internet,) function based on wheel-and-spoke sort of concept. You have one central server with all the information on it. Then, several people connect to that server and download or edit the information via a browser. When you connect to your bank’s website, for example, they are storing all your banking information on their servers and only their servers. If you want to make a transaction, their records must show you have enough money. This is a centralized model for a network and is probably the most popular.
With Bitcoin and the rest, however, the model is decentralized, or peer-to-peer. In other words, the ledger (transaction information) can be viewed and downloaded by anyone. When you make a transaction on the Bitcoin network, your balance is checked against all the nodes running the software. From there, all the nodes on the network work together to confirm any transactions you make.
Again, this is the core difference that separates Bitcoin from something like online banking. Rather than one person controlling the process, like a bank or government, the process is handled by thousands of computers around the world. No one’s “in charge”, but the system works anyways. It eliminates the need for someone to be “in charge”.
This is why the Bitcoin network and others have to be decentralized. If one person does end up “in charge”, they can alter the transactions on the network. The key takeaway here is that Bitcoin has to be decentralized, (distributed across multiple nodes,) to remain secure and socially scalable.
How does Bitcoin ensure decentralization?
Decentralization is achieved by adding more mining nodes to the peer to peer network. The value of Bitcoin and other blockchain technologies is equal to the number of nodes present in the network. The higher the number of nodes, the more decentralized it is, and the more secure it is. Each mining node is a “witness” to the transactions taking place. The more witnesses you have, the more certainty you have that the transaction is legitimate.
How are people motivated to start mining?
If a large number of mining nodes is essential for Bitcoin to function, how do you get people to start mining?
A mining node can be run by anyone with a powerful enough computer. This process by which new blocks are verified, encrypted and added to the blockchain is called mining. A new block is made up of recent transaction data along with the solution to a proof of work puzzle. If the solution to the proof of work puzzle is successfully submitted, the block is added to the chain.
The process of mining is centered around the proof of work puzzle. The computer is “digging” for the solution, which can take up to 10 minutes on the Bitcoin network. Once it finds the solution, it is then able to submit a block to the network for approval.
To create an incentive to mine new blocks, a Bitcoin payout is provided to the miner that mines the newest block. Only one miner will receive the payout, so this creates a “race” to mine the newest block.
With the Bitcoin network, mining is the only way that new coins can be created and introduced into the economy. So the motivation is doubled – continue the growth of the economy, and claim Bitcoins in reward for your efforts.
Each time a new block is added, every computer that is mining must add that new block to their chain before it can start mining the next block. In this way, the entire mining network keeps a current, up-to-date copy of the transaction string stored on their computer.
Proof of work – what the heck is it?
Proof of work is a computational problem given to a computer. The problem is designed specifically to “cost” a lot in terms of processing time and energy from the computer.
Proof of work is a really important part of the Bitcoin technology, and it serves a couple different functions:
- Prevents “counterfeit” transactions from occurring.
- Secures the historical integrity of the blockchain.
- Ensures consensus among the mining nodes.
- Provides real-world value (computing power) to back the cryptocurrency, like gold used to back fiat currency.
The proof of work puzzle is what accounts for almost the entirety of the computation when mining. Encrypting the information is a very easy process. Solving the proof of work puzzle is specifically designed to take about 10 minutes and significant computing power.
As I covered above briefly, proof of work serves as a deterrent to “counterfeiting” cryptocurrency. If you wanted to change the transaction history stored in the block chain, you would have to complete a proof of work puzzle for every block created in the chain so far. This would require massive amounts of computing power.
Proof of work also adds a sort of “backing” of value to the currency. If you have a blockchain that has 120 blocks, you know that significant computing power was output to place each one of those blocks on the chain.
Perhaps most importantly, proof of work solves the problem of consensus. There are multiple nodes in the Bitcoin network, each attempting to create a new block. There has to be a way to definitively choose the next block in the chain, in a way that the whole network can agree on. Different miners may be bundling different sets of transactions, creating conflicting block data.
The proof of work is what allows the network to establish a consensus on the “correct” order of block verification. The network chooses the version of the blockchain which used the most computational work to create. (Typically this is “chain” with the longest number of blocks.) Proof of work establishes a clear order to follow when choosing the correct sequence of events.
Here is the full sequence of events on the network, as laid out by Satoshi Nakamoto, the anonymous founder of Bitcoin:
“The steps to run the network are as follows:
1) New transactions are broadcast to all nodes.
2) Each node collects new transactions into a block.
3) Each node works on finding a difficult proof-of-work for its block.
4) When a node finds a proof-of-work, it broadcasts the block to all nodes.
5) Nodes accept the block only if all transactions in it are valid and not already spent.
6) Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash.
Nodes always consider the longest chain to be the correct one and will keep working on extending it. If two nodes broadcast different versions of the next block simultaneously, some nodes may receive one or the other first. In that case, they work on the first one they received, but save the other branch in case it becomes longer. The tie will be broken when the next proof-of-work is found and one branch becomes longer; the nodes that were working on the other branch will then switch to the longer one.”
The source for this is official Bitcoin whitepaper and is linked below.
Additional reading and resources about proof of work:
- This video by Khan Academy unpacks the technical aspects of the proof of work puzzle within cryptography, and other use cases for it.
- This article by Aleksandr Bulkin delves more into why proof of work is necessary to maintaining trust in a decentralized system.
- If you haven’t already checked out this “Blockchain 101” video you should absolutely do so now. This provides a visual demonstration of how the blockchain, proof of work, and encryption work together.
Encryption 101 – keeping it all secured
Cryptocurrency is a combination of both blockchain technology and encryption technology. Encryption is essentially a way to “lock” information, (in this case with computer software,) so it can’t be easily accessed. Kind of like pig latin, but on steroids. 😉 Cryptocurrency makes use of two types of encryption:
- Public/Private key encryption.
- Hashing algorithm (for Bitcoin it’s specifically the SHA-256 algorithm.)
The concept of public and private key encryption can be explained here. <– worth the click, and illustrates the concept much better than I can.
With cryptocurrency, your “public key” serves as your cryptocurrency “address”. If someone wants to send you cryptocurrency, all they have to do is enter your public key information. The next block added to the chain then records you as the owner of that cryptocurrency.
Like the address I gave you earlier:
While anyone can send Bitcoin to your public key, only you can access the funds with the correct private key. If you lose the private key associated with your Bitcoin address, (a.k.a. Bitcoin wallet,) you will be unable to access those funds again. Additionally, if someone else gains access to your private key, they can steal all your Bitcoins by sending them to another address.
- Public key = your address
- Private key = your wallet
This is where the decentralization aspect of the network can work against you. There’s no one around to help you recover your funds if you lose the private key to your wallet. Backing up and securing your private key is the number one skill to learn as you enter the cryptocurrency world. (This information will be covered in the article on buying cryptocurrency.)
Hashing is a bit more technical in nature. I think the best way to understand hashing is by contrasting it to public/private keys. Public and private keys are used for locking and unlocking information, via encryption – it can go both ways. Hashing only goes one way. Once you’ve hashed a piece of information, it’s stuck in the encrypted form.
You might be thinking “well then what’s the point if you can’t de-encrypt the information?”
Let’s use an example. For reference, you can check out this SHA256 hashing generator.
All “hashed” information, regardless of how much data is initially encrypted, ends up as a 64 character long “hash” of numbers and letters.
If I encrypt my name, “tyler” in the generator, it spits out a hash of numbers and letters:
If I encrypt a slightly different text, “tylerh” in the generator, it spits out a completely different hash:
And, if I encrypt the entire U.S. Declaration of Independence, it still spits out a 64 character long hash:
The important thing is that every time I encrypt “tyler” with the SHA256 algorithm, it will give me the same exact hash. While you can’t ever decrypt hashed information, you can compare the hash output to see if they match. If the two match, you know that the original input is correct. (With enough computing power, you could feasibly “brute force” the information by guessing at the original input and comparing the hash to see if they match.)
Hashing is how the transaction history that makes up the blockchain is secured. The data for each block is hashed, and the block is assigned that hash code. If this hash doesn’t match the other blocks on the network, the block is rejected. It’s a bit more complex than that, but that’s the gist of it.
Additional reading and resources about encryption:
- Here’s an article which further contrasts the difference between hashing and private key encryption.
- The guys at ConsenSys do a stellar job of unpacking hashing/encryption and the concepts around how encryption technology works. This type of encryption is used all over the internet and is by no means specific to cryptocurrency.
To wrap things up, let’s talk about social scalability
As defined above, social scalability the potential for scale in a social structure. The higher the level of social scalability, the higher the number of people can be included.
Bitcoin is decentralized because decentralization allows for a high degree of social scalability.
The idea of decentralization that Bitcoin and other blockchain technology is built on is designed to solve the “problem” of trust.
In a small group of people, you can usually work out an arrangement of trust when it comes to value exchange. I give you $5, you owe me lunch next time, that sort of thing. As social groups scale up in size though, to an international level, that arrangement of trust really isn’t possible.
In our present day model, trust is brokered through banking and lending institutions. I swipe my bank card, and Visa and my bank handle everything regarding the transaction. Banks, in turn, can have a pretty heavy handed impact on the economy.
This is why Bitcoin is such a powerful technology. Because it solves the problem of trust on a near-global scale successfully, it has the potential to make the banking industry (as we know it,) obsolete. This, of course, impacts everything that the banks currently regulate.
One argument against Bitcoin and the cryptocurrency model it introduced is that it’s wasteful. From an engineering and computing perspective, it doesn’t make sense to run inefficient software on hundreds of high power computers, just to update numbers in a ledger. I think this misses the point though. Bitcoin wastes computing power in exchange for something much greater, which is social scalability and trust.
(There are, of course, technological scalability problems with Bitcoin and other blockchain based software, but that’s beyond the scope of this article and the point of this section.)
Additional reading and resources about social scalability:
- This idea of social scalability is taken mainly from Nick Szabo’s blog post. It’s another long read, but it fleshes out the idea of social scalability much better than I can here. I would highly recommend it, as Nick Szabo’s one of the best minds in cryptocurrency right now.
- I would also recommend Tim Ferriss’s podcast with Nick Szabo and Naval Ravikant, which explains these concepts and more in a conversational fashion. Very good, very informative stuff.
Summary and final resources.
Okay! That’s a lot to take in there. In summary:
- Cryptocurrency is a means of digital exchange.
- The system of exchange is decentralized, operating on a peer to peer network.
- Typically the system relies on a blockchain, where each block provides an unalterable history of transaction events.
- Encryption is used to both secure your own crypto tokens and to ensure immutability of the blockchain.
- Proof of work is used to determine each subsequent block in the chain.
- Miners complete proof of work puzzles to regularly update the blockchain with new transactions.
- New coins are created through mining.
If you actually made it to the end, I would really, really recommend reading the Bitcoin whitepaper, which is what started it all.
For ongoing information on the cryptocurrency world, check out Crypt0’s YouTube channel. This dude is super sharp and releases updates on the cryptocurrency world multiple times a week. Really great stuff!
Finally, this article by bitcoin.org provides a one page summary of everything discussed here. Very concise and nicely worded. It also provides a few other links, and some good wording to use in your own research.
Stay tuned for more!
You can subscribe at the top of this page or by clicking on the ‘start here’ option. I’ll send you an email when new articles are published. The world of cryptocurrency is just getting started, and there’s a ton of other crazy stuff happening right now. I plan to cover Ethereum, buying and trading cryptocurrency, and much more in coming articles.
All resources from article:
- Visual block chain demonstration
- Blockchain as an accounting tool
- Blockchains in context
- Distributed database further reading
- 200 line code example of blockchain
- Alternate overview of the blockchain
- Cool facts about blockchain
- Khan Academy course on proof of work
- Proof of work and consensus
- Public key cryptography for non geeks
- SHA 256 hash generator
- Difference between hashing and encrypting
- Hashing in use on the blockchain
- Nick Szabo’s blog
- Tim Ferriss interview with Nick Szabo
- Bitcoin Whitepaper
- Crypt0’s YouTube channel
- Bitcoin.org official overview