Pedersen Commitments

We continue to work in the elliptic curve group of prime order in this section with the group operation of point addition (denoted by ). Pedersen commitments are based on the discrete logarithm hardness assumption. Let be the generator of . This hardness assumption states that given a group element , and knowing , it is computationally hard to find the "discrete logarithm" of , namely, the scalar field element such that .

Commitment Schemes

Before explaining what Pedersen commitments are, we briefly provide background on commitment schemes. Commitment schemes allow a party to commit to a message in the form of a commitment . Note that the setup and definition for a polynomial commitment scheme is similar but with some subtle differences, as polynomial commitment schemes deal with committing to a message which is a bounded-degree polynomial such that a proof for evaluation at a later-determined point can be provided, while a commitment scheme in the sense of a Pedersen commitment more generally commits to a message (and can also be used as a PCS via proof-of-dot-product).

Properties

Commitment schemes are best described by the properties they satisfy. We informally define them below:

  • Hiding: This gives privacy to the party computing the commitment. I.e., given a commitment , it is computationally difficult to extract the message it was computed from. A stronger notion, the "statistical hiding" property, says that the distribution of commitments that could be computed from a message is computationally indistinguishable from the distribution of commitments that could be computed from a message .
  • Binding: This property gives security to the party receiving the commitment. It states that once given a commitment , the party who receives the commitment can be confident with up to negligible probability that the sender is tied to the message was computed from. In other words, the probability that is the commitment of two different messages is very low.

Protocol

Commitment schemes entail two phases:

  • Commitment Phase: In the commitment phase, computes the commitment to its desired message and sends it to .
  • Evaluation Phase: In the evaluation phase, receives the commitment and verifies (the actual method of verifying depends on which commitment scheme is being used) whether is indeed the commitment to the correct message .

Pedersen Commitment Construction

A Pedersen Commitment is one way of committing to a message, a construction used throughout the Hyrax interactive protocol. Pedersen commitments require a transparent set-up where both and agree on a generator .

Single Message Commitment

We commit to a message by simply computing . By the discrete log hardness assumption, it is hard to extract from , and because is a generator, can only be generated from .

Vector Pedersen Commitment

We commit to a list of messages by first agreeing on generators and then computing . This is what is normally referred to as a multi-scalar multiplication in elliptic-curve cryptography.

Blinded Pedersen Commitment

In Remainder, we use blinded Pedersen commitments in order to guarantee statistical zero-knowledge (produce statistically hiding commitments as explained above). This involves the prover holding a random tape (usually instantiated by a cryptographic pseudo-random number generator), and the prover and verifier agreeing beforehand on a "blinding generator" . The prover simply adds , which sampled from the random tape to its original, either Pedersen scalar commitment or vector commitment, to produce a blinded commitment. More succinctly, the blinded Pedersen commitment to a message is .

We go over how can verify that is indeed the commitment to a set of messages in future sections. Note that the size of both of these commitments is a single elliptic curve point, but the cost of computing these varies on the number of messages.