Next Article in Journal
Multi-Objective Optimization of a Solar-Assisted Combined Cooling, Heating and Power Generation System Using the Greywolf Optimizer
Previous Article in Journal
Comparison of Different Radial Basis Function Networks for the Electrical Impedance Tomography (EIT) Inverse Problem
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Hashcash Tree, a Data Structure to Mitigate Denial-of-Service Attacks

Department of Mathematics and Computer Science, University of Calabria, 87036 Arcavacata di Rende, CS, Italy
Algorithms 2023, 16(10), 462; https://doi.org/10.3390/a16100462
Submission received: 25 August 2023 / Revised: 21 September 2023 / Accepted: 26 September 2023 / Published: 30 September 2023
(This article belongs to the Topic Modeling and Practice for Trustworthy and Secure Systems)

Abstract

Client puzzle protocols are widely adopted mechanisms for defending against resource exhaustion denial-of-service (DoS) attacks. Among the simplest puzzles used by such protocols, there are cryptographic challenges requiring the finding of hash values with some required properties. However, by the way hash functions are designed, predicting the difficulty of finding hash values with non-trivial properties is impossible. This is the main limitation of simple proof-of-work (PoW) algorithms, such as hashcash. We propose a new data structure combining hashcash and Merkle trees, also known as hash trees. In the proposed data structure, called hashcash tree, all hash values are required to start with a given number of zeros (as for hashcash), and hash values of internal nodes are obtained by hashing the hash values of child nodes (as for hash trees). The client is forced to compute all hash values, but only those in the path from a leaf to the root are required by the server to verify the proof of work. The proposed client puzzle is implemented and evaluated empirically to show that the difficulty of puzzles can be accurately controlled.
Keywords: security; partial hash collision; price functions; denial-of-service attacks; client puzzles; proof of work security; partial hash collision; price functions; denial-of-service attacks; client puzzles; proof of work

Share and Cite

MDPI and ACS Style

Alviano, M. Hashcash Tree, a Data Structure to Mitigate Denial-of-Service Attacks. Algorithms 2023, 16, 462. https://doi.org/10.3390/a16100462

AMA Style

Alviano M. Hashcash Tree, a Data Structure to Mitigate Denial-of-Service Attacks. Algorithms. 2023; 16(10):462. https://doi.org/10.3390/a16100462

Chicago/Turabian Style

Alviano, Mario. 2023. "Hashcash Tree, a Data Structure to Mitigate Denial-of-Service Attacks" Algorithms 16, no. 10: 462. https://doi.org/10.3390/a16100462

APA Style

Alviano, M. (2023). Hashcash Tree, a Data Structure to Mitigate Denial-of-Service Attacks. Algorithms, 16(10), 462. https://doi.org/10.3390/a16100462

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop