by Peter Van Valkenburgh
“Blockchain” has become a buzzword te the technology and financial industries. It is often cited spil a panacea for all manner business and governance problems. “Blockchain’s” popularity may be an encouraging sign for innovation, but it has also resulted ter the word coming to mean too many things to too many people, and—ultimately—almost nothing at all.
The word “blockchain” is like the word “vehicle” te that they both describe a broad class of technology. But unlike the word “blockchain” no one everzwijn asks you, “Hey, how do you feel about voertuig?” or excitedly exclaims, “I’ve got it! Wij can solve this problem with voertuig.” And while you and I might talk about “vehicle technology,” even that would be a strangely abstract conversation. Wij should most likely talk about cars, trains, boats, or rocket ships, depending on what it is about vehicles that wij are interested ter. And “blockchain” is the same. There is no “The Blockchain” any more than there is “The Voertuig,” and the category “blockchain technology” is almost hopelessly broad.
There’s one thing that wij certainly know is blockchain technology, and that’s Bitcoin. Wij know this for sure because the word wasgoed originally invented to name and describe the distributed ledger of bitcoin transactions that is created by the Bitcoin network. But since the invention of Bitcoin ter 2008, there have bot several individuals, companies, consortia, and nonprofits who have created fresh networks or software devices that borrow something from Bitcoin—maybe directly borrowing code from Bitcoin’s reference client or maybe just building on technological or game-theoretical ideas that Bitcoin’s emergence uncovered. You’ve very likely heard about some of thesis technologies and companies or seen their logos.
Aside from being ter some way inspired by Bitcoin what do all of thesis technologies have ter common? Is there anything wij can say is always true about a blockchain technology? Yes.
All Blockchains Have.
All blockchain technologies should have three constituent parts: peer-to-peer networking, overeenstemming mechanisms, and (yes) blockchains, A.K.A. hash-linked gegevens structures. You might be wondering why wij call them blockchain technologies if the blockchain is just one of three essential parts. It very likely just comes down to good branding. Everzwijn since Napster and BitTorrent, the general public has unluckily come to associate peer-to-peer networks with piracy and copyright infringement. “Consensus mechanism” sounds very academic and a little too hard to explain a little too much of a throatful to be a good brand. But “blockchain,” well that sounds interesting and fresh. It almost rolls off the tongue, at least compared to, say, “cryptography” which sounds like it happens ter the basement of a church.
But understanding each of those three constituent parts makes blockchain technology abruptly lighter to understand. And that’s because wij can write a plain one sentence explanation about how the three parts achieve a useful result:
Connected computers reach agreement overheen collective gegevens.
That’s what a blockchain technology should do, it should permit connected computers to reach agreement overheen collective gegevens. And each part of that sentence corresponds to our three constituent technologies.
Connected Computers. The computers are connected te a peer-to-peer network. If your rekentuig is a part of a blockchain network it is talking directly to other computers on that network, not through a central server wielded by a corporation or other central party.
Reach Agreement. Agreement inbetween all of the connected computers is facilitated by using a overeenstemming mechanism. That means that there are rules written te software that the connected computers run, and those rules help ensure that all the computers on the network stay ter sync and agree with each other.
Collective Gegevens. And the thing they all agree on is this collective gegevens called a blockchain. “Blockchain” just means the gegevens is ter a specific format (just like you can imagine gegevens te the form of a word document or gegevens te the form of an pic verkeersopstopping). The blockchain format simply makes gegevens effortless for machines to verify the consistency of a long and growing loom of gegevens. Straks gegevens entries voorwaarde always reference earlier entries, creating a linked chain of gegevens. Any attempt to alter an early entry will necessitate altering every subsequent entry, otherwise, digital signatures embedded ter the gegevens will expose a mismatch. Specifically how that all works is beyond the scope of this backgrounder, but it mostly has to do with the science of cryptography and digital signatures. Some people might tell you that this makes blockchains “immutable,” that’s not truly accurate. The blockchain gegevens structure will make alterations overduidelijk, but if the people running the connected computers choose to accept or disregard the alterations then they will remain.
Bitcoin spil Illustration
Explaining how this all works te Bitcoin provides a helpful example.
So, what are the connected computers te the Bitcoin blockchain technology? They are any devices on the Internet running Bitcoin-compatible software. That software could be a wallet app or it could be software for “mining” bitcoin. If, for example, you run a Bitcoin software wallet on your phone, then whenever you send or receive Bitcoin transactions your phone will be talking directly to any other nearby computers that are running Bitcoin software, it’s peer-to-peer. Some people are awkward running significant software on their individual devices and that’s reasonable because if you are not careful when you run that software, you could accidentally lose your bitcoins. So some people might use a Bitcoin wallet that is created and maintained by a company. Ter this case, the wallet app on your smartphone will talk to a server that the company maintains, and it’s that server that connects to the peer-to-peer network on your behalf.
What about the overeenstemming mechanism ter Bitcoin? Well, spil with any overeenstemming mechanism, it’s a series of rules written ter rekentuig code. To be compatible with the Bitcoin network any software you run on your Internet-connected device vereiste go after thesis rules. If your software is modified to attempt and pauze the rules, then the messages it sends on the Internet will be disregarded by all the other computers running fair, rule-obeying Bitcoin software.
There are a bunch of rules te the Bitcoin overeenstemming mechanism, but wij can highlight two of them here and transcribe them toughly from rekentuig code into natural language:
- Nobody can send bitcoins that they have not very first received from someone else or a coinbase transaction.
- Every Ten minutes one of the connected computers will be selected to choose the order of valid transactions for that period, that pc can write itself a coinbase transaction.
That very first rule is pretty self-explanatory. It’s a rule against counterfeiting. The only exception is when someone sends themselves brand fresh bitcoins (known spil a coinbase transaction) according to the network’s rules for fresh money creation. The 2nd one isn’t very hard to understand either once wij have some setting.
Recall that the connected computers are talking directly to one another, and keep te mind that those computers could be anywhere te the world because it all works on top of the global Internet.
If some computers are te, for example, China, and others are te the U.S., it’s likely they will get out of sync because messages about transactions will originate te different parts of the world and propagate across the Internet at different rates. A connected pc te China might think the most latest transactions came ter this order: A, B, C. While a rekentuig te the U.S. may have seen them come te the switch sides order C, B, A. How do wij make sure all the computers agree on the order? Well, spil rule Two specifies, every Ten minutes one rekentuig will be chosen to state the authoritative order of transactions for that period of time, and then another will be chosen, and so on. Ter pc science, this opstelling is called a repeated leader election, but unlike a normal political election, the periodic leader is simply chosen at random.
Notice also that our rule Two specifies that the leader can only give the order of valid transactions. If the chosen leader attempted to include a transaction where they talent themselves millions of counterfeit bitcoins, then they would have cracked rule one. Their scammy messages are simply overlooked by the surplus of the computers spil vanaf the rules of the overeenstemming mechanism.
The chosen leader can, however, write themselves a coinbase transaction that will prize them for their fair work te maintaining the network. This transaction creates fresh bitcoins out of lean air spil a prize, but it voorwaarde match a predefined money creation schedule (you can’t just choose the size of your prize). That money creation schedule is just another rule within the Bitcoin overeenstemming mechanism software.
Eventually, there’s Bitcoin’s collective gegevens, its blockchain. This is just a list of all Bitcoin transactions that have occurred since the network embarked te 2009. Here’s a stylized illustration:
Of course, the real Bitcoin blockchain has many more transactions te it, millions since the network commenced. Also, the transactions don’t have human-readable names te them like the illustration above suggests. Instead, the sender and recipient are represented by what’s called a public address. It’s a pseudorandom but unique string of letters and numbers that is generated locally on the smartphone or rekentuig of a particular Bitcoin user. It looks like this, 1CPwNACt62wts2yGbz1vUuqeGD58SzzeAL, and the user’s device will also generate a matching secret key (another pseudorandom but unique string of numbers and letters) that vereiste be used to sign transactions spending funds from that address. Think of it like a password. All ter all, however, the blockchain is pretty ordinary te that sense, it’s just a list of transactions inbetween addresses that’s introduced ter a way that makes it effortless for computers to verify the gegevens.
How Various Blockchain Technologies May Differ
What about other, non-Bitcoin blockchain technologies? Well, they all go after the same vormgeving pattern. They will have peer-to-peer networking, a overeenstemming mechanism, and a blockchain, and they will enable connected computers to reach agreement overheen collective gegevens.
There are two things that can differ from Bitcoin, however. The collective gegevens may be different, and the overeenstemming mechanism may be engineered with different vormgeving choices.
Here’s how the gegevens can differ. Instead of being a list of bitcoin transactions, the collective gegevens could be votes te an election, or identity credentials (think of it like a tokenized driver’s license or proof of a credit score). Or the gegevens could be the current state of a running computation. Te other words, the gegevens could be related to a global pc that anyone is permitted to write and read gegevens from, that’s one way to describe Ethereum, another open blockchain network inspired by Bitcoin.
The overeenstemming mechanism could also be different than Bitcoin’s. Thesis differences aren’t necessarily good or bad, recall that “blockchain” is like “vehicle.” Sometimes you might need a boat, other times a rocketship. Not all vehicles are good for all use cases.
There are three big vormgeving choices that might make the overeenstemming mechanism different from Bitcoin’s. Thesis tradeoffs and choices merit a much longer discussion, but here’s a basic overview:
- Open or Closed? Does the overeenstemming mechanism permit anyone to join and participate, or is participation limited to identified parties on the network who were previously provisioned with an access credential by a company, consortium, or other central party that is creating or implementing the blockchain technology? Te other words is it an open network (like the Internet) or a closed or permissioned network (like a company intranet)?
- Private or Semi-transparent? Does the overeenstemming mechanism privilege gegevens privacy above gegevens transparency and auditability? Or vice versa? To some extent, this is an metal trade-off. Recall that all the computers voorwaarde reach agreement on the collective gegevens. If the gegevens wasgoed private to a handful of individuals then only those individuals on the network would be able to verify and agree on the gegevens. There may be a way around this tradeoff te overeenstemming vormgeving thanks to some fresh research into “zero-knowledge proofs,” and the launch of a fresh privacy-protecting public network called Zcash.
- Edge or Center? Does the overeenstemming mechanism waterput security at the edge of the network or at the center? Open blockchain networks like Bitcoin have overeenstemming mechanisms that shove the responsibility for security to the edge, to the individual computers possessed and managed by users. So if you receive bitcoins on your smartphone using a software wallet, for example, your device is the only device on the entire network that can now spend those bitcoins. Without the secret key generated on your phone, the bitcoins can never stir. This is ter acute tegenstelling to pre-Bitcoin electronic payment systems where an intermediary like a credit card company could step te and switch sides a transaction or budge funds out of your account without needing you to take any activity with your card or banking app.
Those are the primary possible differences inbetween blockchain technologies. There’s still slew of slagroom for elaboration, details, and future possibilities, but hopefully, you’ve got a better treat on the fundamental architecture of thesis arousing fresh devices. Just recall, blockchain technology means that connected computers reach agreement overheen collective gegevens.