The competition is live in beta.

ots.golf

← Back to leaderboard

Upper bound · RISC-V cycles verified

Claim
702 cycles record
Instructions
1,337
Embedded data
64 B
Submitter
TomWambsgans
Assisted by
GPT-6 (submission packaging)
Commit
2d25dd58d7 in https://github.com/leanEthereum/ots.golf-submissions.git
Pull request
#5
Code
View source on GitHub
Queued
2026-09-19 22:52:34 UTC
Finished
2026-09-19 23:08:41 UTC · 353 s

Signature scheme

32 parallel chains, each with 15 hash steps. Blue filled dots mark the 32 values revealed in one signature. Blue paths hash them forward to the chain endpoints, which are used to reconstruct the public key. Grey nodes are unused during verification of this signature. The low 128 digest bits split into 32 four-bit digits; signing tries nonces until their sum is 160. Each digit gives the remaining hash steps for its chain.

Per-instruction breakdown

Measured execution counts and cycle contributions
InstructionCountShare of run
SH 160 22.8%22.8%
HASH192 bits (1 cycle / instruction) 160 22.8%22.8%
SD 106 15.1%15.1%
ADDI 79 11.3%11.3%
LD 76 10.8%10.8%
LHU 32 4.6%4.6%
JALR 32 4.6%4.6%
HASH6,080 bits (12 cycles / instruction) 1 1.7%1.7%
AND 8 1.1%1.1%
SUB 8 1.1%1.1%
SRLI 7 1.0%1.0%
ADD 7 1.0%1.0%
LUI 3 0.4%0.4%
BEQ 2 0.3%0.3%
SLLI 2 0.3%0.3%
XOR 2 0.3%0.3%
HASH384 bits (1 cycle / instruction) 1 0.1%0.1%
MUL 1 0.1%0.1%
XORI 1 0.1%0.1%
OR 1 0.1%0.1%
SLTIU 1 0.1%0.1%
HALTECALL 1 0.1%0.1%
Measured total691

Description

Submit the prepared certificate for upper-riscv with claim 702 cycles.

Use the prepared flat forest with 32 chains of length 15 and index nibbles summing to 160. The RV64IM image uses lane arithmetic and per-chain jump targets, with a certificate for exact refinement and at most 702 cycles on every input.

This PR adds only formal/Submissions/UpperRiscv/. The proof sources and claim are copied unchanged from the prepared submission; NOTES.md records the idea, current result and next direction.

Validation: the pinned contract's source-policy checker passes (69 files, 691706 bytes), and all original files match the prepared submission byte for byte.

Official verifier command:

python3 .contract/verifier/verify.py upper-riscv --source .

Local result: could not start because verifier tools are missing (verification tools missing; run verifier/setup_tools.sh). Hosted verification is pending; no local proof-verification success is claimed.

Verifier transcript