The Building Blocks of Blockchain - blockchainpsu/blockchain-essentials-spring2020 GitHub Wiki
Introduction
Blockchain. One of the big buzz words right next to full-stack development and machine learning. But what does it mean?
We'll be looking at what makes blockchain blockchain: the security, versatility, fundamental structure, and more.
In this page, we'll start by looking at what blockchain means: its purpose and its applications.
Purpose
Blockchain, initially proposed by the pseudonym Satoshi Nakamoto in the Bitcoin Whitepaper, describes a "timestamp server" that keeps people accountable for their actions. It originated as a way to solve the double-spending problem, where transactions for a digital currency have to be verified as legitimate and that the money hasn't already been spent elsewhere.
Venmo Example
Consider a situation where you're eating with friends and need to split a bill with Venmo. One person pays for the whole meal, and now you need to send your friend money over Venmo to chip in.
When you send you friend money, how do you know that your money was sent successfully? How does your friend know that you sent them money? Most importantly, how does your friend know that the transaction has actual monetary value, and you're not just scamming him out of money?
Simple. Venmo answers all of those questions for you. They exist to legitimize transactions and give you a nice platform to send money over. You trust Venmo to handle these questions for you.
But a third party verifying everything isn't always the cleanest solution. It introduces an unnecessary accessory to the transaction at hand, which should only require a sender and receiver. If I hand somebody a twenty dollar bill, I don't need somebody to tell the receiver that I gave them twenty dollars; they should be able to see it for themselves.
In its essence, blockchain is the structure that solves this problem. It replaces a need for trust in third parties with computational work.
Architecture
Recall that blockchain is decentralized as a distributed ledger, so that two people who want to send/receive money do so without any impact from the other nodes that are part of the blockchain.
There is no central authority: no Federal Reserve to manage what's going on with the transactions, no third party verifying that everything works as it should. Proof-of-work handles that step.
If you know anything about financial markets, a blockchain's architecture is similar to how over-the-counter (OTC) markets operated before the 2008 financial crisis, where forward contracts were set up easily without much involvement from central counterparties.
Applications
What can blockchain actually be used for?
The first answer that comes to most people's minds is cryptocurrency. Blockchain was created for Bitcoin, and it exists as the backbone of all popular cryptocurrencies, with some tweaks here and there. But there's much more that it can do.
Let's expand the scope from cryptocurrency to finance in general. If you're a bank, you can use blockchain to verify deposits and withdrawals faster, so that there's less of a delay in verification when you, say, deposit a check with your phone. Any handling of sensitive financial data requires a strong security backbone, and blockchain can provide that.
What other sensitive data can we protect? Businesses and their supply chain models and inventories can be managed and tracked with blockchain. It's sequential, which makes it ideal for chaining these "transactions" together.
If we keep expanding the scope, we can find more and more possible applications for the technology, ranging from video games to online workspaces.
A good generalized rule is that blockchain is ideal for sequential, sensitive data. Sequential, so that chaining it together makes sense, and sensitive, so that you can justify the computing power required to update and protect your data. Other than that, sky's the limit. Just be aware of its weaknesses.