Summary by Henry Z Lo 5 years ago
This paper describes the Bitcoin peer-to-peer currency system.
The paper first describes a bitcoin as a chain of transactions, the latest of which contains the current owner's public key, and is cryptographically signed by the previous owner. The integrity of this chain (and therefore the ownership of the coin) is maintained as each transaction contains a hash of the previous transaction. Therefore, it is impossible to corrupt any one transaction in the chain without affecting all future transactions as well.
The key issue with this system is *double counting* in a peer-to-peer environment. In physical currency, this problem does not exist, as the purchase using a physical token precludes using the same token by the same owner again. In other digital currencies, the problem of double counting is solved using a central arbiter.
The authors solve this using a timestamp service, which stamps a block of transactions. The transaction which have the earliest timestamp is used as the true transaction. The block of transactions is linked to a previous block, thereby forming a *blockchain*.
To prevent the integrity of the blockchain, each block contains the previous hash, thereby ensuring the integrity of the chain. There is also a nonce value, which is an input to a computationally difficult problem which must be solved in order to place a new block in the blockchain. This makes it difficult for an attacker to tack on a new chain.
The problem that must be solved is to increment the nonce such that the hash of the block contains a specified number of 0 bits. The difficulty of this problem can be adjusted by increasing the number of 0's, and grows over time to accommodate the growing power of computer hardware. Note that verifying that this problem is easily solved.
The resulting blockchain therefore constitutes a large investment of computational resources, with the longest blockchain being used as the standard.
Not all participants in bitcoin need to mine, so an incentive is given. When a new block is mined, the individual who mines it is given some portion of bitcoin either out of thin-air or as a transaction fee. This also deters would-be corruptors of the blockchain, as the computational resources needed may be better spent adding new blocks on the newest version of the blockchain.