Client_Puzzle_Protocol

Client Puzzle Protocol

Client Puzzle Protocol

Add article description


Client Puzzle Protocol (CPP) is a computer algorithm for use in Internet communication, whose goal is to make abuse of server resources infeasible. It is an implementation of a proof-of-work system (PoW).

Possible generation method of client puzzles.

The idea of the CPP is to require all clients connecting to a server to correctly solve a mathematical puzzle before establishing a connection, if the server is under attack. After solving the puzzle, the client would return the solution to the server, which the server would quickly verify, or reject and drop the connection. The puzzle is made simple and easily solvable but requires at least a minimal amount of computation on the client side. Legitimate users would experience just a negligible computational cost, but abuse would be deterred: those clients that try to simultaneously establish a large number of connections would be unable to do so because of the computational cost (time delay). This method holds promise in fighting some types of spam as well as other attacks like denial-of-service.

See also

References

  • Juels, Ari; Brainard, John (1999). "Client Puzzles: A Cryptographic Countermeasure Against Connection Depletion Attacks" (PDF). In Kent, S. (ed.). Proceedings of NDSS '99 (Networks and Distributed Security Systems). pp. 151–165.

Share this article:

This article uses material from the Wikipedia article Client_Puzzle_Protocol, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.