Project
Reverse Dependencies for kiosk-pow
The projects listed here declare kiosk-pow as a runtime or development dependency
0.0
kiosk-pow-argon2id is the legacy proof-of-work backend for the Kiosk
framework: an Argon2id search-form proof of work. The shipped default is
Equihash (kiosk-pow-equihash). Argon2id stays a legacy backend because its
64 MiB verify is too expensive for a gateway.
Ships the operator-side Ruby verify (one Argon2id evaluation, no loop) and
a Python solver (solve.py, argon2-cffi). The Ruby verify and the Python
solver produce byte-identical Argon2id digests. The gem's `:parity` spec
examples check this, and so does the `rake parity` task. Neither the
Rakefile nor spec/ is in the package.
Built on kiosk-pow. kiosk-reputation reaches it when a host registers it
under "argon2id"; it does not register itself. Does not depend on
kiosk-core or Rails: pure Ruby and libargon2 through FFI.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Activity
0.0
kiosk-pow-cuckoo is an optional Cuckatoo-Cycle (Cuckoo Cycle variant)
proof-of-work backend for the Kiosk framework.
Ships the provider-side Ruby VERIFIER only. The verifier is cheap
(a handful of hash evaluations; no wall-clock figure is benchmarked),
security-critical, and validated against Grin's Cuckatoo29 CI test
vector. A reference Python solver (solve_cuckoo.py) ships alongside for
parity testing; production solving is the client's concern.
The implementation is clean-room from Tromp's public-domain algorithm
spec (doc/spec, doc/mathspec) — no GPL/FAIR-MINING code is included.
BLAKE2b-256 comes from kiosk-pow, the base of every Kiosk PoW backend.
SipHash-2-4 is pure Ruby from the public-domain SipHash spec with
Cuckatoo's non-standard initialization (keys feed directly into v0..v3
without XOR-ing the 0x736f6d65... magic constants).
Does not depend on kiosk-core or Rails — pure Ruby, no native extensions.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Activity
0.0
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.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Activity