Clarify the purpose of the Equation class
MODIFY
WalletWasabi/Crypto/ZeroKnowledge/LinearRelation/Equation.cs
WalletWasabi/Crypto/ZeroKnowledge/LinearRelation/Equation.cs
@@ -7,11 +7,19 @@ namespace WalletWasabi.Crypto.ZeroKnowledge.LinearRelation
{
// Each proof of a linear relation consists of multiple knowledge of
// representation equations, all sharing a single witness comprised of several
- // secrets.
+ // secret scalars.
//
- // Note that some of the generators can be the point at infinity, when a term
- // in the witness does not play a part in the representation of a specific
- // point.
+ // Knowledge of representation means that given a curve point P, the prover
+ // knows how to construct P from a set of predetermined generators. This is
+ // commonly referred to as multi-exponentiation but that term implies
+ // multiplicative notation for the group operation. Written additively and
+ // indexing by `i`, each equation is of the form:
+ //
+ // P_i = x_1 * G_{i,1} + x_2 * G_{i,2} + ... + x_n * G_{i,n}
+ //
+ // Note that some of the generators for an equation can be the point at
+ // infinity when a term in the witness does not play a part in the
+ // representation of a specific point.
public class Equation
{
public Equation(GroupElement publicPoint, GroupElementVector generators)

Clarify the purpose of the Equation class