Bitcoin and the Byzantine Generals' Problem

One of the main problems that Bitcoin solves is how to stop double spending. This is a hard problem to solve in a distributed currency, and is the reason why a lot of early digital currencies relied on a central server for storing the transaction history.

The creator of Bitcoin Satoshi Nakamoto describes how Bitcoin solves the double-spend problem in this email. It's an extremely elegant solution, and Satoshi presents it in an easy-to-understand way.