I learn a new language Pretty often, but not always. Once in a while. Thousands of computers that had been broken into by crackers connected to these targeted web servers at once. Because opening a new connection was free, easy, and automated, nothing stood between these computers and complete exhaustion of server resources. Before failing completely, but after an attack has begun, the server would force clients to perform a proof of work , a protocol which guarantees the server that a client has spent a certain amount of its own computing power on a particular problem.
Proofs of work are an example of how cryptography can be applied to a concrete security application.
A world with widespread proofs of work is a world with intriguing possibilities. Another more troubling prospect is proofs of work that cause the client to unwittingly participate in some larger computation, such as the brute-forcing of a cryptographic key. Each of these possibilities leads to a series of security related questions. Resource Allocation and Denial of Service Resource allocation is an old problem that pops up in many different guises and in many different settings. Often, there are one or more limited resources that must be allocated to one or more parties.