The distributed double spend problem.

I'm not here to argue that its a useful problem to solve, just that the solution is ingenious, and i think the methods used potentially have applications to other problems.