Do I Need to Understand Blockchain Technology?

If you've heard of Bitcoin or other cryptocurrencies, then it's almost inevitable that you've already heard the term "blockchain." Blockchain technology was in the news a lot in 2016 and 2017 as the "next big thing" in computing technology and corporate efficiency. Understanding exactly how blockchain technology works is not critical if you want to invest in (or use) cryptocurrencies. An analogy would be that you can learn to drive a car without understanding the compression/decompression cycles in a four-stroke engine. However, understanding the very basics of what blockchain means will help you to assess and evaluate various types of cryptoasset projects. We will give you a very basic overview of blockchain technology. However, if you're serious about investing in cryptoassets, we highly encourage you to do further research. We'll include some starter links at the bottom of this page.

What is Blockchain Technology?

Once again, a blockchain is essentially a giant database, or a collection of information. However, it is a specialized type of database, because the information within the blockchain is immutable, which means that it can't be altered. In some cases, immutability would be a major disadvantage for a database. For most databases, it is a huge advantage to be able to edit information stored in the database. However, blockchains are intended to target a specific need, namely that users can be 100% certain that the information stored in the blockchain is the correct original information. It is impossible for anyone to edit information that has already been stored on a blockchain. All users are able to trust the contents of the blockchain, even if they don't trust (or know the exact identity of) people that they're transacting with.

Think of a blockchain as a series of filing cabinets in a long row in a giant warehouse. Incidentally, these filing cabinets are made of transparent materials, so anybody can look inside them and see the contents (even though they are "locked" so nobody can add or remove files). We'll look at the Bitcoin blockchain to explain the specifications of this row of filing cabinets. Different blockchains for different cryptocurrencies can have slightly different specifications, such as the amount of time that is allowed to elapse before a new block is created, or the size of each block. Incidentally, blocks on some blockchains don't necessarily always have to be the same size, and blocks don't necessarily have to be "full" before they are added to the blockchain. Each different type of blockchain might have its own rules in those respects.

Let's get back to our Bitcoin analogy. Looking at our row of filing cabinets, the very first filing cabinet was delivered to the warehouse on January 9th, 2009. This was when the first Bitcoin block was mined. The original Bitcoin developers decided that each new block should be mined (created) approximately ten minutes apart. However, mining a block on a blockchain involves having computers solve mathematical equations of varying difficulty. These blocks aren't "released" or created exactly every ten minutes. Because there is some uncertainty in solving the mining equations, computers might take slightly longer, or slightly less time, before they correctly solve the equations. As such, the ten minute block time may be thought of as a "long term average."

Similarly, let's go back to our assumption that we're getting filing cabinets delivered to our warehouse. We tell the delivery company that we would like them to bring us a new filing cabinet every ten minutes, but since a large fleet of drivers is involved in this operation, the exact amount of time between new filing cabinet deliveries varies slightly. Some delivery drivers will drive more quickly than others. Some will hit red lights. Occasionally, a truck will break down and there's a long delay before our next filing cabinet arrives. But on average, every ten minutes, a new filing cabinet arrives and gets added to the end of our row of filing cabinets.

You may wonder what's in our filing cabinets. Well, we're going to store transactions in them. Also, don't forget that our filing cabinets are made of a transparent material, so anyone can see what's inside of them. Let's pretend that every time a Bitcoin transaction occurs, the details are recorded on a piece of paper, and that piece of paper ends up getting stored in the most recent filing cabinet in our warehouse. A Bitcoin transaction, which occurs when one user sends some Bitcoin to another user, is a "public" transaction. Everyone in the world can see the details of the transaction, if you know where to look on the internet. There are websites called "blockchain explorers" which allow you to look into blocks (our filing cabinets) and to examine every transaction. The Bitcoin blockchain is a public ledger, so anyone with internet access can examine the information contained in any block. Information that is visible includes the Bitcoin address (wallet) that sends a transaction, the address (wallet) that receives that same transaction, and the amount of Bitcoin being transferred.

However, even though we can see the addresses (wallets) that send and receive the Bitcoin, we don't necessarily know exactly who owns those wallets. The inherent privacy of a Bitcoin wallet address comes from the lack of personal identification details associated with the wallets. You can't look into a wallet and see information that identifies the real-world identity of the owner. A real-world wallet might contain a piece of paper that says, "This wallet belongs to Jeffrey Simpson of 1234 Main Street, Topeka, Kansas." Your digital wallet contains no such identifiers. Nobody will ever know that you "own" a specific Bitcoin wallet (address) unless you tell them that it's yours.

Despite the lack of personal information, it is sometimes possible to identify who owns an address/wallet. If you're getting a pizza delivered, and the pizza guy accepts Bitcoin, then when you send him the Bitcoin for your pizza, he now knows your Bitcoin wallet address, because he can use a blockchain explorer to see what address the Bitcoin came from. This means that he can see how much Bitcoin is remaining in your wallet. So even though the wallet address by itself doesn't reveal the identity of the person who owns it, it's possible to figure out who owns a particular wallet if you can connect certain transactions to real-world identities.

Maybe the pizza delivery guy is a disreputable character, and he has some friends who are criminals looking for rich targets. The pizza guy tells his friends, "Hey, I just delivered a pizza to a guy at 1234 Main Street who has a Bitcoin wallet worth $200,000." This risk, which comes with having a public blockchain, is of concern to a lot of people. Think of it as a necessary evil. There are both advantages and disadvantages to the fact that transaction data is visible to anyone who knows where to look. For example, if you're a business transacting in Bitcoin, and one of your competitors is spying on you, they can probably figure out your wallet address or addresses with some quick and simple corporate espionage. From there, they could see your financial balance, and they could see where you're making payments to other Bitcoin addresses. Maybe some of those payments are going to wallets that are known to belong to certain suppliers, and this is useful information for your competitor. Although this sort of scenario sounds far-fetched, there are currently several companies around the world that perform blockchain analysis. They've managed to trace transactions to and from individuals, throughout the blockchain, and there is already strong speculation that nearly every Bitcoin address owner in the world has been identified by these companies. Who can use this information? Well, for starters, governments would be very interested in this information, to ensure that people aren't using cryptocurrencies to evade taxes.

Let's get back to blockchain and to our row of filing cabinets. Every filing cabinet (block in the blockchain) is able to store some records of Bitcoin transactions. In fact, some blockchains can store much more than transaction data. Some blockchains might be designed to store real estate deeds, or peoples' last will and testaments, or dental records. Blockchains could store music or video data, in order to establish copyright. And does a block have to be full before it is added to the blockchain? No, it doesn't. It's possible to add a partly-full block to the blockchain, or even an empty block. Many of the earliest Bitcoin blocks were empty blocks due to the lack of users.

It's important to understand that a new transaction or data can ONLY be stored in the most recent block or filing cabinet. You can't add it to a previous block, even if a previous block was empty and had lots of room. We already mentioned that a blockchain is designed to be immutable, and information stored on/in the chain cannot be edited. In terms of the blockchain, this rule is impossible to break. A new transaction can ONLY be included in the most recent block. The computer coding that creates the blockchain was written in such a way that it is completely impossible to alter a previous block. All you can do is look at that older block and see what it contains. So let's pretend that when a new filing cabinet is added to the end of our row, it gets "locked" in such a way that we can still see information inside it (because it is transparent), but we can't remove or change that information anymore.

Over time, our row of filing cabinets is getting longer, as the blockchain grows longer. And transactions start happening more frequently, because more people around the world are using Bitcoin. Our filing cabinets aren't huge. Each one is only capable of holding so many transactions. If we try to put too many pieces of paper in any individual filing cabinet, we won't be able to fit any more, because that particular cabinet is too full. The blocks on the Bitcoin blockchain are the same way. Let's pretend that each of our filing cabinets is large enough to hold a little over two thousand pieces of paper, or a little over two thousand transactions. Each block on the current Bitcoin blockchain can also hold slightly more than two thousand transactions. If a new block is mined roughly every ten minutes, that means there are an average of around 600 seconds between blocks. If people around the world are making more than a few Bitcoin transactions per second, the blocks are going to be pretty full. In fact, sometimes, people are making too many transactions to fit in one block. In these cases, it is common for some of the transactions to have to wait for the next block. The same thing is happening in our warehouse. If there are too many pieces of paper (transactions) to fit into the most recent filing cabinet, we have to wait for the next empty filing cabinet to be delivered. We can't store transactions in older filing cabinets, even if they weren't filled, because of the rule that says we can't change/edit the contents of older filing cabinets. Remember again that our blockchain is "immutable" or unchangeable.

Let's talk some more about the immutability of the blockchain. Immutability allows for every coin ever made/mined to be traced from its original to present holder. If a specific Bitcoin was mined in 2009, and was part of 150 transactions since it was created, then every single one of those 150 transactions can be seen in various parts of the blockchain. Just like every American dollar bill has a serial number on it, each Bitcoin (and fraction of a Bitcoin) is unique. Of course, that's where the similarity between Bitcoin and paper money ends, because there is no collection of records that traces the path of every individual dollar bill from the time it was printed to its present holder.

Incidentally, at this point, it's probably important to clarify that Bitcoins don't have to be traded in whole units. It's possible to buy half of a Bitcoin, or a quarter of a Bitcoin. In fact, it's possible to buy 0.00734825 Bitcoins, or any other fraction of a Bitcoin. Although a US dollar can be traded in portions of up to two decimal places or one hundredth of a dollar (one cent), a Bitcoin can be traded in portions of up to eight decimal places. This amount, which represents one hundred millionth of a Bitcoin, is referred to as a "satoshi." So 0.00734825 BTC is equivalent to 734,825 satoshis. Some people think that they can't afford to invest in Bitcoin, because a single Bitcoin is far too expensive for them. However, because you can buy fractions of a Bitcoin (or almost any other cryptocurrency), it's still easy to invest an amount like $50 or $100 into Bitcoin. Incidentally, even for fractions of a Bitcoin, some people use the plural form of the word, and others use the singular. So some people might say, "I have 0.3 Bitcoin," and other might say, "I have 0.3 Bitcoins."

You're probably wondering what kind of security we have in our warehouse? What's protecting our row of filing cabinets, to ensure that nobody can steal them, or open them and change information? Cryptography and decentralization deal with these concerns. First of all, our warehouse is not the only place in the world that has all the information stored in our filing cabinets. Let's pretend that every time we add a new filing cabinet, and fill it with transactions, all of our partners around the world ask for copies of the information in the cabinets, and they create their own duplicate versions. So there are "copies" of all of the filing cabinets in our warehouse being created in locations all around the world. The same thing happens with blockchain, although all the copies of the blockchain are just stored as data files on computers around the world. Anyone can download and store a copy of the blockchain. This ensures that thousands of copies of the blockchain exist all over the world. The blockchain cannot be destroyed unless all of those copies all over the world were to be destroyed. If a fire burned down our warehouse, the information would still be safe as there are many backup locations around the world. If someone's computer crashed and the blockchain was wiped off their hard drive, the blockchain would remain intact because there are thousands of other copies on other computers. You'd almost have to destroy the entire planet to get rid of every copy.

How do we know with absolute certainty that the blocks in our blockchain contain the same information as when they were first written? How do we know that information in the blocks hasn't been changed? We'll keep this simple for now, and say that basically, the integrity of the information stored in the blockchain may be verified by comparing records in different computers. If you're ok with knowing this, you don't have to understand exactly how it works.

In more advanced technological terms, cryptography works to ensure the integrity of the blockchain. Every time a new block is created, a cryptographic hash function is applied to it producing a "hash value". This value can be seen as a completely unique alphanumeric string summarizing the contents of the block, which partially acts as a password and verification technique. The string of characters in the hash value is very complex, and is derived based on the given hash function and the contents of the block. If you were to be able to change one number or letter or byte that is contained in a block, the hash value for that block would change completely. We'll talk more about this later. For now, you can assume that you can create a hash value from any collection of information, and that each hash value is completely unique. Also, it is essentially impossible for two different records, files, or documents to have the same hash value, because the hash values are such complex numbers.

Having a hash associated with each block means that the validity of the block can be confirmed by anyone. There are lots of free websites available that allow you to enter a block of text or other information, and the website calculates the hash value of that data for you. If anyone else applies the hash function to the exact same collection of data, they will get exactly the same result. We could submit a file or block containing the complete works of the Encyclopedia Brittanica to such a website, and calculate the hash value for it. If you did the same thing, you would get exactly the same hash value, and then you'd know that your information is an exact duplicate of mine. However, if even one tiny part of the information changed, such as there was an extra space in one sentence somewhere, the hash value would be completely different, and you'd know that you don't have an exact duplicate of my information.

As each block is added to the blockchain, the hash value of the contents is also recorded on the chain. That way, people around the world can check the hash value of their version of each block, and make sure that the hash value is the same as for everyone else around the world. If it wasn't the same, you'd know that the content of that block on your chain is not the same as all the others, and therefore, your version of the blockchain is not correct. Don't worry, the computer code does this process automatically, so you don't have to check every block as it gets added to your copy of the blockchain.

It's important to remember that even a tiny change in the contents of a block results in a completely different hash for that block. It's even more important to understand that each new block "builds" upon the previous block, because the hash from the previous block gets included in the information going into the current block. This is critical in the concept of creating a blockchain. When a hash is calculated for a new block, that new hash is partially dependent on the hash of the previous block, since the hash value of the previous block is included with the information in the new block. This complex interaction of the contents of each block ensures that the contents of previous blocks cannot be changed. If someone tried to change an old block, the hash value for that old block would be incorrect, and therefore the hash values for all additional blocks in that copy of the blockchain would also be incorrect. That copy of the blockchain would then be known to be invalid because information was changed.

Hopefully this explanation has given you a basic understanding of the blockchain. It's a series of blocks being built up over time. Every block, unless it happens to be an empty block, will include some sort of information (or in the case of cryptocurrencies, transactional data for that cryptocurrency) which can never be changed once these blocks are created or finalized. The information in every block, going all the way back to the first block that was made or mined when the blockchain was created, can be viewed by the public.

Incidentally, even an "empty" block is not empty. It may not contain any transaction data, but it would still contain the hash value of the previous block, to maintain the integrity and continuity of the blockchain.

In review, a cryptocurrency blockchain is a digitized, decentralized, public ledger of all transactions for a specific cryptocurrency. Depending on the cryptocurrency, some aspects of the blockchain may differ, but its general functions remains the same. For example, blocks on the Litecoin blockchain are mined approximately every 2.5 minutes, blocks on the Monero blockchain are mined approximately every 2 minutes, and blocks on the Ethereum blockchain are mined approximately every 14 seconds. In terms of size, Bitcoin and Litecoin have fixed block sizes, but Monero has a flexible block size, so every block can be a different size. Monero's blocks differ further as they have privacy features preventing the public from being able to see the size and the senders/receivers associated with a given transaction, but that's a story for a different part of this website. The important point is that every cryptocurrency's blockchain can have significantly different characteristics.

The focus of this section of the website has been upon cryptocurrencies or other types of cryptoassets which create new blocks by "mining" (solving extremely complex mathematical equations). Some blockchains take different approaches than mining, such as having systems whereby new blocks are released on a specific time-based schedule, without miners needing to perform any complex calculations to release them. The inner workings of blockchains differ from project to project. There are lots of other things which can vary from project to project. In fact, a few cryptoassets don't even use sequential blockchains to store data, and instead rely on things like Directed Acyclic Graphs (DAG's). Iota and Nano are two good examples of cryptos that use this structure. A DAG is sort of like a three-dimensional and non-sequential blockchain, but not really. Let's just focus on blockchains for now.

More Articles & Links to give you a Deeper Understanding of Blockchain:

Blockchain, Simply Explained (YouTube Video)
https://www.youtube.com/watch?v=SSo_EIwHSd4

Blockchain is Eating Wall Street (TEDx Talk Video)
https://www.youtube.com/watch?v=WnEYakUxsHU

What Is Blockchain Technology? (Simple Article, Block Geeks)
https://blockgeeks.com/guides/what-is-blockchain-technology

Understanding the Blockchain (Medium Article, O'Reilly)
https://www.oreilly.com/ideas/understanding-the-blockchain

Understanding the Blockchain (Advanced Article, Hacker Noon)
https://blockgeeks.com/guides/what-is-blockchain-technology