First, the mining ecosystem has come to be dominated by ASICs (application-specific
integrated circuits), computer chips designed for, and therefore thousands of times more
efficient at, the specific task of Bitcoin mining. This means that Bitcoin mining is no longer
a highly decentralized and egalitarian pursuit, requiring millions of dollars of capital to
effectively participate in. Second, most Bitcoin miners do not actually perform block
validation locally; instead, they rely on a centralized mining pool to provide the block
headers. This problem is arguably worse: as of the time of this writing, the top three
mining pools indirectly control roughly 50% of processing power in the Bitcoin network,
although this is mitigated by the fact that miners can switch to other mining pools if a pool
or coalition attempts a 51% attack.
The current intent at Ethereum is to use a mining algorithm where miners are required to
fetch random data from the state, compute some randomly selected transactions from the
last N blocks in the blockchain, and return the hash of the result. This has two important
benefits. First, Ethereum contracts can include any kind of computation, so an Ethereum
ASIC would essentially be an ASIC for general computation - ie. a better CPU. Second,
mining requires access to the entire blockchain, forcing miners to store the entire
blockchain and at least be capable of verifying every transaction. This removes the need
for centralized mining pools; although mining pools can still serve the legitimate role of
evening out the randomness of reward distribution, this function can be served equally
well by peer-to-peer pools with no central control.
This model is untested, and there may be difficulties along the way in avoiding certain
clever optimizations when using contract execution as a mining algorithm. However, one
notably interesting feature of this algorithm is that it allows anyone to "poison the well", by
introducing a large number of contracts into the blockchain specifically designed to stymie
certain ASICs. The economic incentives exist for ASIC manufacturers to use such a trick to
attack each other. Thus, the solution that we are developing is ultimately an adaptive
economic human solution rather than purely a technical one.
Scalability
One common concern about Ethereum is the issue of scalability. Like Bitcoin, Ethereum
suffers from the flaw that every transaction needs to be processed by every node in the
network. With Bitcoin, the size of the current blockchain rests at about 15 GB, growing by
about 1 MB per hour. If the Bitcoin network were to process Visa's 2000 transactions per