Chapter 7. Proof of work

 

This chapter covers

  • Making transactions censorship-resistant by allowing multiple “Lisas”
  • Competing to produce the next block, or mining
  • Understanding miner incentives

The previous chapter made it hard for Lisa to remove transactions by introducing a blockchain in which Lisa signs all blocks. This chapter will take this a step further and make the system censorship resistant so Lisa can’t censor transactions.

To make the system censorship resistant, we’ll replace the digital signatures in the block headers with proof of work (figure 7.1) to allow for any number of Lisas, or miners. These miners will compete to create the next block by trying to produce a valid proof of work. Miners can produce this proof by calculating a huge amount of cryptographic hashes. Wallets can now send their transactions to any or all of the miners to ensure that their transactions are being processed.

Figure 7.1. Proof of work

With the new proof-of-work system in place, miners want to make blocks as small as possible so they can upload them as quickly as possible to the shared folder. Miners have an incentive to exclude transactions, which was exactly what you wanted to avoid. To give miners an incentive to include a transaction, the transaction might pay a transaction fee that goes to the miner that produces a block that confirms the transaction.

Cloning Lisa

Forcing honest lucky numbers

Miners have to move out

Difficulty adjustments

What harm can miners do?

Transaction fees

Recap

Exercises

Summary

sitemap