The Blockchain For Dummies Guide — Part 1

Image for post
Image for post
Testing The Microphone — $9,000…$10,000…$100,000. Okay, let’s talk some Bitcoin & Blockchain!

When you say the word “blockchain” or “bitcoin”, both words connote various reactions, from salivation to eye rolls.

Everybody’s talking about it, but most people don’t know much about either Bitcoin or blockchain. What’s the big deal? Is it just another bubble?

Why are people losing their minds over this Bitcoin stuff?

I wanted to take some time to do a the definitive beginner’s guide on blockchain and Bitcoin, looking at underlying technology from a 10,000 ft overview, why its significant, what’s its great for, and what its not so great for.

After all, not everything needs a blockchain, so the obvious question: what is a blockchain and where is it needed?

Blockchain, the underlying technology of Bitcoin, is just another tool in the engineer‘s toolbox. So for this type of hammer, where’s the nail we use it on?

Before we can answer that, we need to look at databases in their current form.

Databases — Where Data Lives

Image for post
Image for post
Databases — where your digital life resides

Databases quite literally are the anchor points of our digital lives. They’re the buckets where all of the world’s data rests: able to be retrieved, viewed, manipulated, and stored again for future use.

In fact, databases are so important, that many companies derive a significant amount of their resale value from the data that rests in their databases.

Far From Perfect

But databases like MySQL, Postgres, MongoDB, and many others are not perfect. In fact, they’re far from it.

Databases are prone to a variety of issues, from data corruption, to eventual consistency (when a value is updated and then immediately retrieved, the old value might be returned), to disk corruption and other hardware failures.

If a database is storing trivial data such as blog posts or weather data, these aren’t huge problems.

But if a database is holding records as to who owns a particular asset and the price paid for it, corruption of this information would be catastrophic.

Image for post
Image for post
When a database goes bad, it can cause a lot of headaches and damage.

Fault Tolerance To The Rescue

So luckily, some very smart people throughout the progress of technology have realized that relying on only one database as a single source of truth was probably a bad idea in mission-critical situations.

So to protect against such failures, they enacted a variety of solutions, from read-replicas to distributed fault-tolerant architectures that would ensure data consistency.

Image for post
Image for post
Distributed database? Solves some problems, but creates others.

But even these solutions don’t solve all of the problems inherent with databases. In fact, in the case of distributing a database (creating multiple databases with the same data and updating them in parallel), it actually creates another problem, and its a problem where blockchain enters as a potential solution.

The problem is known metaphorically in technology circles as the Byzantine Generals Problem (or BGP for short).

Never Trust A Byzantine General

A quick synopsis of BGP* is that two generals and their armies are encamped outside of a city. If they both attack, then they can win the city. If only one of the generals attacks, but not the other, the attacking army will perish. If they both don’t attack, then they both live to fight another day.

In order to determine what they’re going to do, they need to communicate with each other using messengers.

Image for post
Image for post
Byzantine Generals Problem — As explained with Legos

The problem though is if a general sends a message to the other general, how does he know it arrived? Maybe something happened to the messenger along the way.

The other general would need to send a message back confirming, but then that general also needs a confirmation that their message is received, and so on.

Essentially, this process could go on forever until one general decides “okay, no more messages, I’m attacking!”

The problem is further complicated that each general has their own interest at heart and not the other general’s. So how does each general know that if the other general sends the message “I’m attacking!”, that they will in fact do what they said they’ll do?

BGP is essentially the same problem we face in a publicly distributed architecture with computers, where we have no guarantee on the receipt of messages and we also have no guarantee as to the trustworthiness of the agents sending those messages.

Image for post
Image for post
When NEO nodes go back, its a BGP problem.

So if we’re sending messages to a publicly distributed database to store information, and we have no guarantee that those message will be delivered or be accurate, how can we guarantee that the data stored in the database is both up-to-date and accurate?

Answer? We can’t.

At least not with a traditional database and distributed architecture, we need something different that guarantees consistency throughout the network, without fail.

Enter Blockchain…

In Part 2, we’ll go into how a blockchain database structure, how it solves this byzantine generals problem, and what it means having this new tool for solving real world problems that cost businesses billions per year…

If you liked this post, give me 10 claps and a follow!

Image for post
Image for post

Image for post
Image for post

This story is published in The Startup, Medium’s largest entrepreneurship publication followed by 322,555+ people.

Subscribe to receive our top stories here.

Image for post
Image for post

The Startup

Medium's largest active publication, followed by +709K people. Follow to join our community.

John Anthony Radosta

Written by

Series 65 Investment Adviser, Machine Learning & Cloud Architect. Need Something Done Right? http://www.kaizentek.io

The Startup

Medium's largest active publication, followed by +709K people. Follow to join our community.

John Anthony Radosta

Written by

Series 65 Investment Adviser, Machine Learning & Cloud Architect. Need Something Done Right? http://www.kaizentek.io

The Startup

Medium's largest active publication, followed by +709K people. Follow to join our community.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store