--- # katex title: >- consensus sidebar: true notmine: false abstract: >- consensus is a hard problem, and considerably harder when you have shards Nakomoto Satoshi's implementation of Nakomoto consensus, aptly described as wading through molasses, failed to scale --- # Failure of Bitcoin consensus to scale Mining pools, asics # Monero consensus RandomX prevented asics, because RandomX mining is best done on a general purpose CPU, but as Monero got bigger, it came to pass that payouts got bigger. And because more and more people were trying to mine a block, they got rarer and rarer So miners joined in mining pools, so as to get smaller, but more regular and predicable payouts more often. Which destroys the decentralization objective of mining, giving the central authority running the mining pool dangerously great power over the blockchain. Monero's workaround for this is P2Pool, a mining pool without centralization. But not everyone wants to use P2Pool. Monero has a big problem with people preferring to mine in big pools, because of the convenience provided by the dangerously powerful central authority. It easier for the individual miner to let the center make all the decisions that matter, but many of these decisions matter to other people, and the center could make decisions that are contrary to everyone else's interests. Even if the individual miner is better off than mining solo, this could well make everyone including the individual miner worse off, because he and everyone may be adversely affected by other people's decision to pool mine.