whether through its natural properties or human engineering, so as to be most capable of commanding the highest marketability of all goods. This does not guarantee adoption of that monetary good, but it does allow us to make sense of the adoption that does happen and make a judgment about whether adoption can or will continue.
]]>Abstract
The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power.
Implementation detail: If each link in the chain (called âblocksâ in Bitcoin) was built using the same amount of Proof Of Work (POW), the longest chain would be the one backed by the largest pool of computational power. However, Bitcoin was implemented in such a way that the amount of POW can vary between blocks, so it became important not to check for the âthe longest chainâ but rather âthe chain demonstrating the most POWâ; this is often shortened to âstrongest chainâ.
The change from checking for the longest chain to checking for the most-work chain occurred in July 2010, long after Bitcoinâs initial release:
- if (pindexNew->nHeight > nBestHeight)+ if (pindexNew->bnChainWork > bnBestChainWork)
Terminology change: General CPUs were used to generate the POW for the earliest Bitcoin blocks but POW generation today is mostly performed by specialist Application Specific Integrated Circuits (ASICs), so instead of saying âCPU powerâ it is perhaps more correct to say âcomputational powerâ or, simply, âhash rateâ for the hashing used in generating the POW.
As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, theyâll generate the longest chain and outpace attackers.
Terminology change: The term ânodesâ today is used to refer to full validation nodes, which are programs that enforce all the rules of the system. Programs (and hardware) that extend the chain today are called âminersâ based on Nakamotoâs analogy to gold miners in section 6 of the paper. Nakamoto expected all miners to be nodes but the software he released did not require all nodes to be miners. In the the original software, a simple menu item in the node GUI allowed toggling the mining function or or off.
Today it is the case that the overwhelming number of nodes are not miners and that many individuals who own mining hardware do not use it with their own nodes (and even those that do mine with their own nodes often mine for short periods of time on top of newly discovered blocks without ensuring their node considers the new block valid). The early parts of the paper where ânodesâ is mostly used without modification refer to mining using a full validation node; the later parts of the paper which refer to ânetwork nodesâ is mainly about what nodes can do even if they arenât mining.
Post-publication discovery: When a new block is produced, the miner who produces that block can begin working on its sequel immediately but all other miners must wait for that new block to propagate across the network to them. This gives miners who produce many blocks an edge over miners who produce fewer blocks, and this can be exploited in whatâs known as the selfish mining attack to allow an attacker with around 30% of total network hash rate to make other miners less profitable, perhaps driving them into following the attacking minerâs policy. So instead of saying âa majority of CPU power is controlled by nodes that are not cooperating to attack the networkâ it is perhaps more correct to say âas long as nodes cooperating to attack the network control less than about 30% of the networkâ.
2. Transactions
We define an electronic coin as a chain of digital signatures. Each owner transfers