  We study the problem of preventing double spending in electronic payment
schemes in a distributed fashion. This problem occurs, for instance, when the
spending of electronic coins needs to be controlled by a large collection of
nodes (eg. in a peer-to-peer (P2P) system) instead of one central bank.
Contrary to the commonly held belief that this is fundamentally impossible, we
propose several solutions that do achieve a reasonable level of double spending
prevention, and analyse their efficiency under varying assumptions.
