Crate equix

Source
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§

BucketArraybucket-array
Concrete binding between one [BucketState] and one BucketArrayMemory
BucketArrayMemorybucket-array
Backing memory for a single key or value bucket array
BucketArrayPairbucket-array
Concrete binding between one [BucketState] and a pair of BucketArrayMemory
EquiX
One Equi-X instance, customized for a challenge string
EquiXBuilder
Builder for creating EquiX instances with custom settings
Solution
Potential solution to an EquiX puzzle
SolverMemory
Temporary memory used by the Equi-X solver

Enums§

Error
Errors applicable to constructing and verifying Equi-X puzzles
HashError
Errors that could occur while building a hash function
Runtime
Effective HashX runtime for a constructed program
RuntimeOption
Option for selecting a HashX runtime

Traits§

Countbucket-array
Types that can be used as a count of items in a bucket
Uninitbucket-array
Marker trait for types that are normally assumed uninitialized

Functions§

solve
Search for solutions, using default EquiXBuilder options.
verify
Check a Solution against a particular challenge.
verify_array
Check a SolutionItemArray.
verify_bytes
Check a SolutionByteArray.

Type Aliases§

SolutionArray
A bundle of solutions as returned by one invocation of the solver
SolutionByteArray
A byte array of the right length to convert to/from a Solution
SolutionItem
One item in the solution
SolutionItemArray
A raw Item array which may or may not be a well-formed Solution