With the rise of decentralized cryptocurrencies like Bitcoin, the news of large companies like Facebook putting out their own coin (read more about what I think on that here), and a growing sense of discomfort around the way corporations handle and sell user data, the general public is slowly but surely becoming more exposed to blockchain technologies.
Now, for most normal people (yes, I’m not talking about you, crypto fanatics), these words are new. Or maybe they aren’t new, but the only time you’ve ever heard them has been out of the words of a financial analyst talking about how much money they made (or lost, depending on when they invested) on Bitcoin, or maybe there’s that one guy in your discrete math class who’s super annoying and never shuts up about how smart he is so he throws around words like “distributed ledger” and “disinterested algorithmic interpreter” around. Well, guess what! These are just fancy words for concepts that you can definitely understand, and I’m here (as is the rest of the Ethereum community!) to try and help break that down for you. If you’re already familiar with a little technical lingo but you aren’t familiar with how blockchain technologies actually work, Coindesk has an awesome write-up just for you. If you know absolutely nothing about computational systems, read on below!
In order to understand what blockchain technology is, let’s start with a simple analogy; the game of Telephone.
In this game, there’s a group of people that sit around in a circle or a line (depending how many rounds you want to play), and the purpose is to start a message (like “She is cold”) from location 1 and get it all the way to location 6 without messing up the original contents of the message (so if you end up with “The sea is bold,” the message has failed). Now, let’s refer to each player in the game as a block (or node), and each message they pass to another player as a transaction. This game is a little weird in that each player, each node, keeps a log of what transactions, or messages, have been passed along, and they all agree saying “yes, this is the history of our game so far, now I’m going to continue sending the message to the next player.” This consensus of all the nodes to keep track of the transactions is our ledger, and each record of this ledger contains the time the transaction was made, the signature of the nodes making the transaction, and the data associated with that transaction. This means that we have nodes transferring data to each other (transactions) and a decentralized way of managing these transactions by use of our ledger maintained by all the nodes. We now went from a simple game of telephone to a decentralized generalized transaction ledger, which is almost what Ethereum is according to the title of its yellow paper… but how does the “secure” part of that play into this?
A secure transaction ledger
In our telephone example, if Person 1 says something to Person 2, any person can just walk near them and overhear what they’re saying to each other, intercepting the message and stealing that data. What if each person passed the message around by translating it into their own secret code? This secret code between players is parallel to the idea of hashing strings in a computational system. By hashing these strings and keeping the function for these hashes private between nodes, you’re able to send messages to each other without malicious third parties listening in and understanding what you’re saying. Each block also has a public and private key; think of the private key as someone’s social security number, which identifies who they are and what data they own/have access to (but shouldn’t be shared with anyone else, otherwise your stuff can get stolen!), and the public key is a hashed version of your private key (so maybe like a person’s full name) which other blocks use to identify you with in the blockchain system.
This, like many of the analogies on this page, is a generalization of a more complex algorithmic functionality, so if you’re looking for something a little more involved, check out BlockGeek’s article on hashing in the context of blockchain technologies and the WeTrust blog for more info on public and private keys.
But wait… what about Bitcoin?
So Bitcoin is a cryptocurrency. It functions similarly to the U.S. dollar in that you can exchange Bitcoin for goods and services, but is different in a number of ways. One, it’s built on a distributed ledger, meaning that unlike the dollar which has the government and large banks as central authorities, it uses the collective participation of the system as verification of transactions, and doesn’t rely on trust in a central authority, which we can see worked out great for the 2008 financial crisis. Two, the government mandates the use of the dollar as currency in this country, so it needs to be used by residents of the United States; it doesn’t really rely on the investment of the people, which is why you don’t see the same crazy fluctuations with Bitcoin on the U.S. dollar (yes, yes, there are fluctuations, but those are caused mostly by the international market, not by an individual citizen’s investment or lack thereof). Third, cryptocurrencies are not minted on paper, they are generally just long, hashed strings of data.
Why does any of this matter?
There’s a lot of really sketchy stuff that happens with the way we build and manage systems, especially financial systems, that blockchain technologies help address. By eliminating the need for a powerful overlord to manage and direct the flow of money, you eliminate that overlord’s ability to impact (negatively and positively) the way your financial assets are managed. I personally am wary of currencies in general, especially ones that rely on the investment of its users, because as we’ve seen with Bitcoin, you can go from $10 to $6,000 but also back down again, and humans can be weird with the way they make decisions. However, blockchain — the distributed ledger on which Bitcoin is built — provides a really interesting infrastructure for companies that manage a lot of data, since it seems to be really secure and could potentially prevent a lot of the data catastrophes we’re seeing today. If you think about it, by replicating the system among millions of nodes, taking down the system becomes nearly impossible; some nodes go down and the others just reconnect and continue. Data, and the power that comes with data (let’s be real, when it comes to companies like Facebook, Google, etc. you are the product, not the other way around. They’re making bank off of who you are) goes back into the hands of the users instead of in the hands of large corporations. Ethereum specifically is really interesting in that it’s beyond a distributed ledger, it’s a programmable blockchain, a global data processing protocol, meaning it’s basically just one giant computer on which anybody can build decentralized applications. While I may be hesitant when it comes to cryptocurrencies and using cryptocurrencies, I am all in with distributed ledger technologies and Ethereum, and am excited to see where that goes.
That being said, if you really want to get a feel for both sides of the argument, the internet is your friend! Google “blockchain good” and “blockchain bad” and that’ll probably give you a more diverse array of arguments than the ones I present above and is an excellent starting point for exploring a new topic.
Disclaimer: I’m a student who just likes to write and explore things, and I completely and fully acknowledge that I am not an expert in this field. If there are any factual inaccuracies, feel free to leave a comment below and I will gladly update accordingly.
The views expressed by the author above do not necessarily represent the views of the Ethereum Foundation.