# SameScalar Argument
The *SameScalar argument* proves the relation:
\\[
R_{samescalar} =
\\left\\{
\\begin{array}{l l| l}
(R,S, com_{T}, com_{U} ) ; & (k, r_U, r_T)
&
com_{T} = GroupCommit( (G_{T}, H); \\ k R; \\ r_T ) \\\\
& & com_{U} = GroupCommit( (G_{U}, H); \\ k S; \\ r_U )
\\end{array}
\\right\\}
\\]
It demonstrates that given public input $(R,S, com_T, com_U )$ there exists $k$ such that $com_T$ is a [commitment](crate::commitments) to $T = k R$ and $com_U$ is a commitment to $k S$.
The same scalar argument does not depend on any subroutines.
## Protocol
A formal description of the *SameScalar* argument is provided in the figure below:
## Full Zero-Knowledge Construction
The protocol is a simple sigma-protocol and makes use of the additive homomorphism of the [commitment scheme](crate::commitments).
In order to convince the verifier the prover chooses a random statement that satisfies the same-scalar relation.
In other words it chooses a random scalar $r_k$ and computes two group elements $A = r_k R$ and $B= r_k S$ with the same scalar.
The prover then outputs the commitments:
(1) $com_A$ a commitment to $A$ under randomness $r_A$;
and (2) $com_B$ a commitment to $B$ under randomness $r_B$.
These commitments are hashed, together with the instance, to get a challenge $\\alpha$.
The commitment scheme is homomorphic and thus
$com_A + \\alpha com_T$ is a commitment to $A + \\alpha T$ where $T$ is the contents of $com_T$.
Similarly $com_B + \\alpha com_U$ is a commitment to $B + \\alpha U$ where $U$ is the contents of $com_U$.
If $T = k R$, $U = k S$, $A = r_k R$, and $B = r_k S$ then we have that $A + \\alpha T$ and $B + \\alpha U$ have the same scalar (namely $r_k + \\alpha k$).
This is negligibly unlikely to occur if either $T$ and $U$ or $A$ and $B$ do not have the same scalar because $\\alpha$ is chosen randomly.
Thus the prover returns $z_k = r_k + \\alpha k$ together with the commitment randomness $z_T = r_T + \\alpha r_A$ and $z_U = r_k + \\alpha r_B$.
The verifier checks that
(1) $com_A + \\alpha com_T$ is a commitment to $z_k R$ under randomness $z_T$;
and (2) $com_B + \\alpha com_U$ is a commitment to $z_k S$ under randomness $z_U$.