Expand description
§equix
equix
: Rust reimplementation of tevador’s Equi-X, a client puzzle for Tor based on the Equihash and HashX algorithms
Check out tevador’s dev log for more information. The Equihash layer is based on Equihash60,3 and the underlying hash function HashX is another new project built as a lightweight ASIC-resistant hash function in the spirit of RandomX.
This crate implements a compact Equihash solver with the same memory footprint as the original Equi-X implementation. HashX is delegated to the hashx
crate.
This is for Tor client puzzle support in Arti. (#889)
Structs§
- Bucket
Array bucket-array
Concrete binding between one [BucketState
] and oneBucketArrayMemory
- Bucket
Array Memory bucket-array
Backing memory for a single key or value bucket array - Bucket
Array Pair bucket-array
Concrete binding between one [BucketState
] and a pair ofBucketArrayMemory
- One Equi-X instance, customized for a challenge string
- Builder for creating
EquiX
instances with custom settings - Potential solution to an EquiX puzzle
- Temporary memory used by the Equi-X solver
Enums§
- Errors applicable to constructing and verifying Equi-X puzzles
- Errors that could occur while building a hash function
- Effective HashX runtime for a constructed program
- Option for selecting a HashX runtime
Traits§
- Count
bucket-array
Types that can be used as a count of items in a bucket - Uninit
bucket-array
Marker trait for types that are normally assumed uninitialized
Functions§
- Search for solutions, using default
EquiXBuilder
options. - Check a
Solution
against a particular challenge. - Check a
SolutionItemArray
. - Check a
SolutionByteArray
.