Skip to content

Conversation

hero78119
Copy link
Collaborator

@hero78119 hero78119 commented Sep 9, 2025

To close #1066

One of non-deterministic pk/vk came from PubIoTable fixed commitment length.
Previously in key-setup time there is no public io, thus PubIoTable addr is hardcode as 16 byte -> 2 word
In prove step once setup public io, then the PubIoTable addr will be dynamic extend to cover new public io, thus the fixed commitment are not identical, cause transcript challenge got different.

To fixed the root cause, we pass public io size in key setup time, and then in "prove" phase we check public io data <= public io size.

@hero78119 hero78119 changed the title public io size setup in keygen time public io size finalize in keygen time Sep 9, 2025
@hero78119 hero78119 force-pushed the feat/public_io branch 2 times, most recently from a664fe8 to ea8e760 Compare September 9, 2025 07:35
@hero78119 hero78119 added this pull request to the merge queue Sep 10, 2025
Merged via the queue into scroll-tech:master with commit 58a36ff Sep 10, 2025
4 checks passed
@hero78119 hero78119 deleted the feat/public_io branch September 10, 2025 01:49
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.

finalized public io length in keygen phase
2 participants