Decoding the Bitcoin paper Part 1 — Prerequisites and abstract

Aditya Rana
Coinmonks

--

The bitcoin paper provided the first implementation of a decentralized digital currency. Written by an anonymous author named Satoshi Nakamoto, this paper should serve well as the starting point of your Web 3 journey.

Bitcoin
Photo by Kanchanara on Unsplash

But there are a lot of terminologies that you might not understand in the first go. I struggled with this paper myself for days as I wanted to understand it in depth. So I’m going to break this stuff down to make it easy for you!

This post covers the concepts that you should know before starting with blockchain. It also covers the Abstract section of the paper where an overview of the technology is given.

Don’t worry if you don’t understand it completely. Further posts will make it clear.

Preface

In this series of posts, I’m going to explain different parts of the paper that are necessary for understanding the core functioning of blockchain and bitcoin.

I’ll link other resources that might explain some concepts better. I’d suggest you open the paper side by side, read a section, and then come back here for an explanation.

There are some terminologies that you may want to read about further. I’ve included the resources for most of them in the glossary.

I have taken a problem-solution-based approach where I tell the problem in the existing system and how can there be a potential exploit. Then it’s solution is explained.

Glossary

Cryptography — Digital signature, signing a transaction, private key, public key, hashing

These are cryptographic terms and should be covered in the following videos. Make sure you understand this concept before moving further.

Ledger

A document where accounts are kept about who owes whom and how much.

Node

A node in this context is a computer that is a part of the blockchain network and participates in different protocols set by the network.

Blockchain — a simple introduction

The blockchain is basically a digital ledger. It is also decentralized, which means that a copy of it is owned by everyone and they can make an entry in their own copy.

However, dishonest entries are removed through some mechanisms so that no one is cheated. A dishonest person’s copy can hold whatever it wants but it will not be accepted by others that are following the protocol.

We’ll learn about these mechanisms later on.

When a transaction is initiated, it’s digitally signed and sent into a pool of transactions. All the members of the network take transactions from this pool and run those mechanisms to validate or invalidate them and add them to their copy of the ledger.

The system is set up such that mostly, only one member node would succeed validating at a given time. Once it has validated the transaction, it adds it to its copy of the ledger and tells everyone to update their copies too.

Double spending

It is a dishonest entry in the blockchain through which an attacker tries to spend the same money multiple times. For instance, an attacker has only $10 in their account but they promise to pay $10 to two different people.

In a centralized system, the central institution managing everything will keep this in check. How to achieve this in a decentralized system is proposed by the bitcoin paper.

Abstract

The concept of digital signatures existed before the paper was released. They are widely used in cryptography to validate whether a digital message was sent by the authentic person or forced by someone else.

Problem: On Alice’s copy of the ledger, Alice can write that Bob owes them $10 without Bob’s consent. Then, Alice can tell everyone that they’ve checked the validity of this transaction and others should add it to their ledger.

Digital signatures can serve as a solution to identify fake transactions. A transaction is considered valid only if the payer has signed the transaction with their private key.

No one has access to your private key. So it’s safe to assume that a message signed by it was intended to be sent by you and anyone can check this using your public key.

When any node receives a transaction that is claimed to have been validated, it would first check its contents. It will check if all the transactions present in the message are actually signed by the payer.

Hence, when Alice’s dishonest message is received by others, they find it invalid and ignore it.

However, if they find it valid, they will add this message or block (as in blockchain) to their existing chain. We’ll see how this happens later.

Problem: Consider a case where Bob actually owes Alice $10. Bob makes the payment, signs the transaction, and this signed message is accepted as valid by everyone. Now, Alice takes the same signed message and sends it 10 times.

This time, the repeated messages are individually signed by B as they are just a copy of the actually signed message. If we check with B’s public key, we’ll find that B validated them. But B allowed it to happen only once!

So how can we invalidate this? This problem is called double-spending. Digital signatures can not prevent this from happening.

This problem is what the bitcoin paper has solved using “hash-based proof-of-work”. We’ll dive into the details later on.

Problem: Suppose two members pick up different transactions and validate them at the same time. Now which ledger should be accepted by others?

The ledger with the maximum number of entries is accepted as the correct ledger and everyone will update their ledger with this. The reason for this will be clear when we study proof-of-work.

Conclusion

Here we have covered the basic overview of what problems were solved by this paper and the basic flow of blockchain transactions. This post was kept short so readers can go through the concepts of cryptography, which serves as the base for blockchain.

--

--