RandomX and work security
The SP1 guest executes full RandomX on the final work blob after structural checks. It does not accept a host-supplied hash. Honest solvers use miners’ existing work and perform no new mining.
Computation
Section titled “Computation”The pinned randomx-sp1 v0.1.1 implementation uses light mode: a complete 256 MiB Argon2d cache, derived dataset items, and the RandomX VM’s memory, AES, scratchpad, integer, and floating-point operations. This includes the superscalar high-multiply correction.
Settlement uses the complete Chainjump parent guest’s key, not a standalone RandomX program key.
Difficulty equation
Section titled “Difficulty equation”Interpret the 32-byte output as an unsigned little-endian 256-bit integer h. For positive uint128 difficulty D, require:
h × D <= 2^256 − 1Multiplication must not wrap or truncate. For uniform hashes, success probability per trial is:
(floor((2^256 − 1) / D) + 1) / 2^256 ≈ 1 / DMeeting D = m × D_network therefore requires the expected work of m Monero blocks under the RandomX hardness assumption. The witness’s 32-byte key does not reduce the target or expected work under that assumption.
Finding a qualifying block
Section titled “Finding a qualifying block”A block mined at the same applicable RandomX computation meets an intent threshold no greater than its network difficulty. Higher targets can require waiting for a stronger block within the 64-link bound. The intent target remains fixed as network difficulty changes.
The solver checks qualification probability and time reserves before bidding. See security for key assumptions, replay protection, and shared-work exposure.