Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: new transcript functionality to hash elements without including in proof #12233

Merged
merged 5 commits into from
Feb 25, 2025

Conversation

lucasxia01
Copy link
Contributor

@lucasxia01 lucasxia01 commented Feb 24, 2025

Adds a new public add_to_hash_buffer function to the transcript that adds elements to the current_round_data buffer without adding them to the proof_data. This will enable us to hash things without explicitly including it in the proof like vk data that needs to be Fiat-Shamired but doesn't need to be sent in the proof.

@lucasxia01 lucasxia01 self-assigned this Feb 24, 2025
@lucasxia01 lucasxia01 marked this pull request as ready for review February 25, 2025 19:26
info("consumed: ", label, ": ", element);
}
#endif
BaseTranscript::consume_prover_element_frs(label, element_frs);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

this function should probably be renamed

Copy link
Contributor

Choose a reason for hiding this comment

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

renamed because this is adding data to the proof? if so then yeah, why not

Copy link
Contributor

@ledwards2225 ledwards2225 left a comment

Choose a reason for hiding this comment

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

LG but I think the comments/naming could be improved

@@ -350,6 +350,31 @@ template <typename TranscriptParams> class BaseTranscript {
return call_get_challenges();
}

/**
* @brief Adds an element to the transcript.
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you update this description to mention that this doesn't implicitly add to the proof?

info("consumed: ", label, ": ", element);
}
#endif
BaseTranscript::consume_prover_element_frs(label, element_frs);
Copy link
Contributor

Choose a reason for hiding this comment

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

renamed because this is adding data to the proof? if so then yeah, why not

* @param label Human-readable name for the challenge.
* @param element Element to be added.
*/
template <class T> void consume_element(const std::string& label, const T& element)
Copy link
Contributor

Choose a reason for hiding this comment

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

Any reason why a more explicit name like add_to_hash_buffer() wouldn't be appropriate here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no, couldn't think of a better name at the time

@lucasxia01 lucasxia01 enabled auto-merge (squash) February 25, 2025 21:44
@lucasxia01 lucasxia01 merged commit 9affe1f into master Feb 25, 2025
9 checks passed
@lucasxia01 lucasxia01 deleted the lx/transcript-allow-hashing-without-sending branch February 25, 2025 22:18
TomAFrench added a commit that referenced this pull request Feb 26, 2025
* master: (92 commits)
  chore: Log prover publisher address on creation (#12267)
  feat: https for bootnode in devnet (#12161)
  feat(avm): support shifts in lookups (#12280)
  feat(docs): Add flamegraph tool to counter contract tutorial (#12202)
  feat(spartan): 192 node 1 tps - additional validator service (#12238)
  feat(avm): class id derivation (#12263)
  docs: Fees doc snippets and code snippets (#12229)
  refactor: proving cost in fee header (#12048)
  fix: prometheus scrapes itself in the cluster (#12277)
  feat: metrics (#12256)
  chore: cleanup stdlib internal imports (#12274)
  git subrepo push --branch=master noir-projects/aztec-nr
  git_subrepo.sh: Fix parent in .gitrepo file. [skip ci]
  chore: replace relative paths to noir-protocol-circuits
  git subrepo push --branch=master barretenberg
  fix: Enforce no import side effects (#12268)
  refactor!: note interfaces (#12106)
  yolo undenoise tests
  feat: new transcript functionality to hash elements without including in proof (#12233)
  chore: remove gcloud metrics (#12265)
  ...
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