Skip to content

spec: HINT chip - #917

Open
nicole-graus wants to merge 3 commits into
spec/mainfrom
spec/hint-ecall
Open

spec: HINT chip#917
nicole-graus wants to merge 3 commits into
spec/mainfrom
spec/hint-ecall

Conversation

@nicole-graus

Copy link
Copy Markdown
Collaborator

Description:

Specifies the hint ECALL implemented in #876, as ECALL number -31.

The chip constrains where the hinted value lands and that it is 32 bytes, but never the value itself — a prover may return anything. Soundness therefore rests on an obligation on the calling program: verify the hint, and recompute in software when the check fails. That obligation is declared as HNT-A1 and discussed in the chapter.

@github-actions

Copy link
Copy Markdown

Kimi Code Review

⚠️ Review failed: Kimi API request failed with status 401


Automated review by Kimi (Moonshot AI)

@github-actions

Copy link
Copy Markdown

Codex Code Review

  • High — spec/about_ecalls.typ:40: The PR declares ECALL -31 supported, but adds no executor syscall variant/handler or prover HINT table. The executor therefore returns UnknownSyscall, and no trace can satisfy the new specification. Implement both VM and prover support before advertising this ECALL, or remove it from the supported list.

@nicole-graus
nicole-graus marked this pull request as ready for review August 10, 2026 15:07
@github-actions

Copy link
Copy Markdown

Kimi Code Review

⚠️ Review failed: Kimi API request failed with status 401


Automated review by Kimi (Moonshot AI)

@github-actions

Copy link
Copy Markdown

Codex Code Review

No issues found in the PR changes. The new constraint specification also passes the repository’s structural validation.

@erik-3milabs

erik-3milabs commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Quick review:

  1. the constraint suite and spec text are not presenting a unified picture of what this chip is supposed to do. Case and point: both addr_in and selector are read from memory, but never actually used. Also, the text talks about constraining the input, while this PR description explicitly mentions not doing so.
    • the textual description is also rather bloated; please trim the excess text.
  2. we always imagined the prover providing hints to the guest program through memory: the prover would write hints in a memory section and the guest would read them from there. In other words, I don't think including this HINT chip allows the prover to do something he was not yet able to do. What is the reason for introducing this chip?

@erik-3milabs erik-3milabs left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see above

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants