Pedersen commitment (batch) range proof
This is a zero-knowledge proof that a curve point C is a Pedersen commitment to an integer value in the range [0, 2^64). The batching mode generates a proof that a list of curve points are each Pedersen commitments to an integer value in the range [0, 2^64). The batch range proof for m points is only 64 log(m) bytes larger than a range proof for a single point (e.g. a batch proof for 100 points is less than 500 bytes larger). This is implemented in the Zei cryptographic library using a specialized zero-knowledge proof technique called Bulletproofs.
- batch_pedersen_range_prove([int] lower, [int] upper, [int] num, [curve_point*] curve_point_list, [uint256_t*] blind_factor_list, [uint64_t*] value_list)
- batch_pedersen_range_verify([string] proof, [int] lower, [int] upper, [curve_point*] curve_point_list)