This video has one goal, explain at the 30,000-foot level, what is a blockchain, and why they might be helpful. I’ll share my view on this, which is not overly technical and which I find useful in highlighting its key features. If you’re like me, you probably first heard of the blockchain technology through Bitcoin. Then you might have learned something more about Ethereum, Ripple, and the large number of other cryptocurrencies currently trading on the various exchanges. All of them essentially use the same blockchain model, implemented using different parameters. A blockchain is for all intents and purposes, a de-centralized database.
As a user, you can upload some data to it, and just like a database, they’ll maintain the data and share it with whoever you authorize, from the entire Internet to a single sub address. This database has two unique features that set itself apart from, say, a typical centralized SQL based system like a web file server. First, once the data is uploaded, it’s stored and arranged in a rather unique way, and second, because the system is often decentralized, some type of consensus algorithms have to be employed to make sure that at the end of the day, everyone in the system received the same copy of the data and there’s no conflict.
There could be a coin or a token floating on the blockchain, like Bitcoin to facilitate value transfers, but that’s not always necessary, and the token is just the type of data that you can upload to the blockchain “database.” We’ll go over all these features in subsequent videos, and you’ll see that the key distinguishing feature of different blockchain systems like Bitcoin versus Ethereum is number one, the type of the data that you can “upload” to the blockchain, and number two, how consensus is reached between parties in the network.
The stated goal of most blockchain innovations is usually to achieve some level of trust and a system integrity in some type of financial or physical transactions without involving a central intermediary like a bank. Instead, the task of the bank will be spread out to the network of nodes comprising the blockchain. Usually, in the marketing pitches, you’ll hear several key buzzwords, like fast transaction verification, and ownership tracking, data immutability, tamper resistance, and so on. As you’ll see later in this module, some of these claims are true, some are not. So let’s have a high-level illustration of how a blockchain works graphically.
I’m sure that most of you have used a cloud-based document storage system like Dropbox or Google Drive, which are essentially centralized databases maintained by these companies. Suppose you write a Word document in Google Doc that you want to share it with some colleagues. The document is just a piece of text data that you generate using a client application, say a word processor on your computer or a phone.
Once you write it and upload it, it goes into say, Google’s file server, which receives it and processes it by converting it into a file format that’s compatible with the database, and once the processing is done, the data is then stored in the database, using some particular format, say SQL or Hadoop, which use particular file types designed to facilitate fast searching and fast data retrieval. A blockchain does a very similar thing using a different process. Let’s go back to the beginning. So you want to upload some data on the blockchain instead.
As usual, you use your client application to generate the data, and just like your word processor, the client app generating these data like a Bitcoin wallet is usually not part of the blockchain, and the next step is where the key differences begin. Instead of uploading it to Google server, on a blockchain, you’re essentially broadcasting your data to a entire peer-to-peer network of connected computers, which are called nodes, and collectively, these nodes takes on the role of the single database server. They first receive the data in a peculiar way, then collectively “process” the data, using the consensus algorithm, and once processed, the data will again be stored on the blockchain “database” using the unique chained data structure that we mentioned earlier.
We’ll you use four videos to look at each of these four steps in detail, in the order of conceptual difficulty. We’ll first look at the client side, that is the client identities on the blockchain. Then, we’ll talk about the unique chain data structure, which again makes data searching easier. Third, we’ll look at how the network receives the data, and finally, we’ll look at how the network processes the data, using consensus, which is often the most difficult part.