the Bitcoin whitepaper, explained and commented — section 2: transactions

Cryp-to
5 min readMar 30, 2020

In the previous installment, we introduced the general issues encountered with digital cash: mainly, how to solve the double-spending problem without relying on a trusted authority? Satoshi Nakamoto’s solution is to decentralize: to use a peer-to-peer network to record all transactions. How to do that is what we’re discovering now in section 2: transactions. The quoted paragraphs are from Nakamoto’s whitepaper.

We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin. A payee can verify the signatures to verify the chain of ownership.

There’s quite a bit to unpack here. First, the idea that a coin is a chain of transactions. A transaction is nothing more than a payment. In its most basic form: Alice owns a coins, but now she gives it to Bob. How to transcribe this change of ownership?

Nakamoto relies on the well proven methods of “public key cryptography”, such as pairs of public and private keys. Cryptography in general in the science of exchanging secrets. Public key cryptography is a 20th century theory that provides tools to do that very reliably using math problems that are difficult to solve even for computers (for example: deciding whether a very large number is a prime number or not, i.e. does it have any dividers?).

Anyway, in this area of cryptography, which is used daily for credit card payments or to browse the web securely, each user has two keys: a private key that is to remain secret, and a public key that is known to everyone. The public key is an identifier, like a P.O. box or a bank account number. You can use it to to send information to a specific user. The private key is like the key that open the P.O. box or the secret PIN that allows access to the bank account.

The trick here is that you can’t guess or compute someone else’s private key just from their public key. Moreover, you can use your private key to “digitally sign” messages without revealing this private key. What does “digitally sign” mean? It means adding a code at the end of a message, such that everyone else can verify that this code…