If you follow tech news, you've likely heard a lot of buzz about blockchain technology. There are countless articles on the subject, ranging from how blockchain will transform the entertainment industry to how blockchain can reassure you that the fish you are about to enjoy for dinner is from a sustainable source. But what the heck is it?
The details are a little technical, but the basic concept isn't. Blockchain technology relies upon a shared record of transactions across a peer-to-peer network of computers. Every computer in the network has access to this shared record and uses special software to participate in the process. The computers on the network verify transactions in chunks of data called blocks. Once a computer verifies the transactions (typically by solving a complicated math problem), the network adds the block at the end of a chain of other blocks. These blocks stretch back all the way to the earliest transactions in the system in an unbroken chain.
The most famous implementation of blockchain technology is the cryptocurrency bitcoin. A person(s) going by the name Satoshi Nakamoto proposed the bitcoin concept back in 2008 in a paper distributed on a cryptography mailing list. Nakamoto wanted to create a noncentralized digital currency that didn't rely upon a financial institution like a bank. But Nakamoto had to fix a couple of problems: How could you guarantee that a digital unit of currency couldn't be copied indefinitely? What would stop someone from trying to spend the same bitcoin multiple times? And without an overall, centralized authority, how could you verify transactions as authentic?
The blockchain provided the answer. Any transaction using bitcoins would become part of this chain. People would dedicate computational resources to the network. Their computers would work on tough math problems to verify transactions, negating the need for a centralized bank or financial institution to perform that role. The problems' difficulty would depend upon the amount of computational power in the system. The more users dedicated processing power to verify transactions, the harder the problems would become. This would keep the time it took to verify any given block of transactions to about 10 minutes.
But why participate at all? Computational power requires electricity, which meant people in this network were dedicating real-world resources that cost money. Nakamoto proposed that whichever computer (or system of computers) provided the correct answer to verify a block of transactions would receive an award of bitcoins. In this way, new bitcoins entered circulation, and people had a reason to put their computers to work. The process is called mining.
Then there's the matter of keeping transactions authentic and safe from tampering. One of the ingenious elements of the blockchain is that every transaction verification is, in part, based on what has happened before. Once a block joins the chain, it's locked in across the network, with all the computers connected to the network able to see the block. If someone wanted to mess with the historical record of transactions, he or she would have to not only alter the block containing the transaction but also build out all the blocks that followed it in an effort to replace the existing shared ledger. This is computationally unlikely to happen, as it would require the fraudster to leverage at least 51 percent of all the processing power in the system.
That's not easy, but it gets worse for our would-be criminal. Blockchain technology has a failsafe. If multiple computers are offering up block verification solutions, the system as a whole will go with whichever chain of blocks is the longest. If more than one computer comes up with the correct solution to verify a block of transactions, the verified blocks are in a sort of limbo until one of those machines or systems has a solution for the next block in the series. At that point, the system chooses the longest chain of blocks as the rightful one, and it becomes part of the shared ledger across the network.
An example makes this easier to understand. Imagine a blockchain that's currently 100 blocks long. A would-be fraudster wishes to spend some bitcoins a second time. Her original transaction is in block number 70. She would have to alter block 70 and then build out blocks 71 through 100. But while she's doing this, the rest of the network keeps chugging along, verifying transactions and building onto the 100-block-long chain. The fraudster will perpetually be behind the system, meaning her version of the blockchain will never be recognized as legitimate. She's been foiled.
While bitcoins are a high-profile blockchain implementation, any transaction-based activity could take advantage of the strategy. That's why so many different industries are talking about blockchain technology, with some going so far as to suggest it's the next incarnation of the web. Whether that comes to pass, it's definitely a clever implementation of distributed computing.