Categories: None [Edit]
kiosk-pow-equihash
kiosk-pow-equihash is the shipped default proof-of-work backend for the
Kiosk framework: a pure-Ruby Equihash (Biryukov & Khovratovich birthday-
collision PoW) VERIFIER built on kiosk-pow, which holds the pure-Ruby
BLAKE2b-256. The gem depends on neither kiosk-core nor Rails.
`Kiosk::Pow::Equihash.verify(salt:, params:, nonce:)` recomputes the 2^k
BLAKE2b-256 hashes named by the proof's indices, checks that they XOR to
zero over all n bits, and walks the Wagner collision tree (per-level XOR
cancellation plus the Zcash-canonical subtree ordering that pins one
canonical form per solution). Difficulty is set by (n, k) alone — there is
no post-hoc target check.
Default parameters are n=168, k=7, chosen by the benchmark in bench/: the
largest params whose reference solve stays inside a consumer-laptop budget
(p95 ~10 s on one M-series laptop core, the only hardware the seconds have
ever been measured on; the ~1.3 GiB peak is THIS solver's table, not the
host's -- and not a floor (n, k) imposes on every implementation, since a
memory-optimised solver trades it for time) while verify costs 128 BLAKE2b evaluations —
~22 ms and a few KB in pure Ruby without YJIT. That asymmetry is the point: the gem
prices a request, it does not equalise hardware. Equihash is neither ASIC-
nor GPU-proof (it was ASIC'd on Zcash); abuse resistance comes from the
reputation policy's N-proofs knob and caps, not from this algorithm.
Ships the provider-side verifier only. A reference Python + numpy solver
(solve.py) rides along for parity testing and for assistants that need
one; production solving is the client's concern.
Total
Ranking: 194,585 of 198,347
Downloads: 559
Daily
Ranking: 97,614 of 198,322
Downloads: 2
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
| Rank | Downloads | Name |
|---|
Depends on
| Rank | Downloads | Name |
|---|---|---|
| 194,188 | 599 | kiosk-pow |
Owners
| # | Gravatar | Handle |
|---|---|---|
| 1 | pirj |