#100DaysOfCrypto Post 2 and 3

Post #2: Do we need banks?

In the first post of Crypto Canon, the author provides a friendly introduction to blockchain by way of using a group of friend keeping a running ledger of who owes whom what. We saw how transactions got ‘sealed’ and we learned the fundamental assumptions of blockchain — the majority of the network is honest.

This second post comes by way of a well-produced animated video (support the creator, Grant, here). If a picture is worth a thousand words, this animated video conveys many hundred thousand words in easily digestible format. Better yet, it continues in the tradition of a group of friends keeping a running ledger. But now, we’re extending the ledger to a larger group of people who are not necessarily friends (strangers who do not need to trust each other).

The primary question people ask when they first learn about blockchain is:

How can you trust something that’s not backed by a bank?

I like to flip the question and pose:

How can we create a system where we don’t need a bank?

More to the point:

How can a group of strangers transact, without trusting each other, and without the need of a bank?

That is the question this animated video answers. The video digs into public-key cryptography (also see my deep dive here) and digital signatures to illustrate how you can maintain a public ledger with between strangers without worrying about forged signatures. When a certain number of transactions (i.e., 2400 for bitcoin), need to be ‘sealed’ as a permanent, public record the video describes the protocol that governs this process (Proof-of-Work). There are several moving parts to this process ranging from ready-to-be-sealed transactions being broadcasted to everyone in the network; to ‘block creators’ (miners) competing for the right to create the next block to seal the transaction…all revealing how a chain-of-sealed-transactions get formed to answer the questions above. The animation deftly illustrates what is often referred to as ‘solving complex math equations’, as people compete (and get rewarded) for creating a new block.

As you watch the video, here are the take-away concepts:

  • Cryptographic Hash Function
  • Digital Signatures
  • Public-Private Key Cryptography
  • Proof of Work
  • The ledger is the currency

Post #3: First Principles

What I appreciate about Nielsen’s approach here is sequence of logical questions posed to help the reader understand how we can turn everyone (the entire network) into a bank.

As you read this article, answering these questions in sequence gets you to the heart of proof-of-work, the consensus protocol that makes bitcoin work (without a third party bank).

1. If digital signatures are simply strings of bits in code, how do you prevent ‘copying and pasting’ the signature over and over again?

2. How do you prevent someone from forging these signatures?

3. If a bank can issue serial numbers for each transaction to which you can verify, how can we do this without relying on a bank?

4. How can we make “everyone” collectively a bank?

5. How do we prevent double-spending? Me sending two different people the same transaction (with the same serial number)?

6. How can we prevent particular people from flooding the network and taking over the system?

7. If proof-of-work ensures that the network is secure, yet requires a lot of computational work, how do we incentivize people to spend their computational resources?

8. How do we have the network agree on the order of transactions?

9. What happens when miners validate a different block of transaction simultaneously?

10. What if someone tries to give themselves money they already send to other people (a subset of double-spend problem)?

Now that we know that bitcoin is simply a ledger that is stored on a chain of blocks, making recorded transactions immutable, let’s revisit the question posed above:

How can you trust something that’s not backed by a bank?

From these first three posts, we learn that when people ask that question, they’re assuming that digital currencies are not backed by anything. But this is a misconception. In fact, the reason you don’t have to trust a bank is because you trust the computational work that goes into securing the blockchain, computational work that is performed by numerous miners in the network. Digital currencies like bitcoin may not be backed ‘by a bank’, instead, they’re backed by a network.

Data-Informed People Decisions