Skip to main content

Module channel

Module channel 

Source
Expand description

Channel abstraction for public-coin interactive protocol verifiers.

In a public-coin interactive protocol, the verifier’s messages consist entirely of random challenges, while the prover sends deterministic messages based on the protocol state. This module provides the IPVerifierChannel trait that models the verifier’s view of such an interaction.

The trait abstracts over:

  • Receiving prover messages (field elements)
  • Sampling random challenges (which, in the Fiat-Shamir transform, are derived deterministically from the transcript)

This abstraction allows protocol implementations to be generic over the underlying communication mechanism, whether it’s an actual interactive channel or a non-interactive transcript using the Fiat-Shamir heuristic.

WordIPVerifierChannel extends it for protocols that also carry 64-bit words, such as a constraint system’s public inputs or a code proximity test’s query indices.

Enums§

Error

Traits§

IPVerifierChannel
Channel for receiving prover messages and sampling challenges in a public-coin interactive protocol.
WordIPVerifierChannel
A verifier channel whose protocol carries 64-bit words alongside field elements.

Functions§

n_packed_elems
The number of elements WordIPVerifierChannel::pack_words returns for n_words words.
pack_words_concrete
WordIPVerifierChannel::pack_words over concrete words, for channels carrying Word.
select_word
WordIPVerifierChannel::select over a concrete word, for channels carrying Word.
subset_sum_word
WordIPVerifierChannel::subset_sum over a concrete word, for channels carrying Word.