3

I've some doubt about Greg Maxwell Confidential transaction and hope someone can help to make it clear. A commitment using Elliptic Curve math is:

                                  P=xG + aH

where G,H are public value and x,a are private.

My questions are:

  1. xG is public or private value?
  2. if xG is a public value why an attacker cannot simply make a brute force attack trying all possible value of a checking for the equality with the P value?
  3. if xG is a private value the CT paper tell: can be proven to be a commitment to a zero by just signing a hash of the commitment with the commitment as the public or if if you want to prove a=1 make C' = C - 1H and then sign the hash of C'. How signing C or C' can I prove the value and also how can I verify a sign if I dont know xG?
Gokul Alex
  • 177
  • 11
Bartok
  • 35
  • 2

1 Answers1

3

Only the overall commitment (P) is revealed. G and H are constants known to everyone. x (the blinding factor) and a (the value) are secret.

if xG is a private value the CT paper tell: can be proven to be a commitment to a zero by just signing a hash of the commitment with the commitment as the public or if if you want to prove a=1 make C' = C - 1H and then sign the hash of C'. How signing C or C' can I prove the value and also how can I verify a sign if I dont know xG?

You can only sign with a point if it's a known multiple of G. By definition, a signature with private key k can be verified with public key kG. If P = xG + aH with a nonzero, it is impossible to find a k such that kG = xG + aH - that would require knowing the ratio between G and H (and H is constructed in such a way that this ratio is unknown to everyone).

Pieter Wuille
  • 98,249
  • 9
  • 183
  • 287
  • Thanks! If I've understand .. suppose we 've got a commitment C to 1 (C=xG+H) in a set [0-1]. Then make two commitment: P0 = C=xG+H and P1= C-1H = xG+H-h=xG. If I want to use this commitment as sign's public key I can do it only for P1 beacause dont know the logaritm of P0? – Bartok May 22 '17 at 09:36
  • You got it. The DL of P1 (wrt G) is x, but the DL of P0 wrt G is not known (to anyone). – Pieter Wuille May 22 '17 at 17:06