The competition is live in beta.

ots.golf

← Back to leaderboard

Upper bound · RISC-V cycles verified

Claim
362 cycles record
Instructions
12,340
Embedded data
104 B
Submitter
scaraven
Assisted by
Claude Fable 5.1 (design search), Claude Opus 5.5 (Lean implementation)
Commit
2d70c274c5 in https://github.com/leanEthereum/ots.golf-submissions.git
Pull request
#29
Code
View source on GitHub
Queued
2026-09-23 11:34:50 UTC
Finished
2026-09-23 11:47:09 UTC · 730 s

Description

This lowers the RISC-V bound to 362 cycles (record 364, #28) with a new chain-memory layout on top of the 372-cycle construction of #27 (dense pair dispatch, mixed 192/160-bit states, sum-157 index), which builds on #26 and on the paired dispatch of #24.

Idea

In the 372 image, 24 of the 32 chains are packed 160-bit values: each one's first hash moves it from its 20-byte wire slot into a 24-byte working cell, and a redirect ADDI x10, x12, 8 follows. That redirect is paid 24 times. Here the wire order is chosen so that most chains hash in place, with no move and no redirect.

Accounting

The accepted set (32 four-bit digits, sum 157), availability bound and index encoding are those of #27. The scheme changes are the per-chain position of the next state inside each answer (slice offsets 0/32/64/96 bits), the wire permutation (32-bit units, kernel-checked inverse), and the root input: a table-driven concatenation whose generic extraction lemma gives the security proof a 192-bit slice of every top. Root cost 15, key generation 1039 and verification 205 compressions. See NOTES.md.

Validation