Понимание конфиденциальных транзакций Range proof

У меня есть некоторые сомнения по поводу конфиденциальной транзакции Грега Максвелла, и я надеюсь, что кто-нибудь поможет прояснить ситуацию. Обязательство с использованием математики на эллиптических кривых:

                                  P=xG + aH

где G, H — общедоступные значения, а x, a — частные.

Мои вопросы:

  1. xGявляется общественной или частной ценностью?
  2. если xGявляется общедоступным значением, почему злоумышленник не может просто провести атаку грубой силы, перепробовав все возможные значения aпроверки на равенство со значением P?
  3. если xGэто частное значение, в документе CT говорится: can be proven to be a commitment to a zero by just signing a hash of the commitment with the commitment as the publicили если вы хотите доказать, a=1сделайте, C' = C - 1Hа затем подпишите хэш C'. Как подписать Cили C'я могу доказать значение, а также как я могу проверить знак, если я не знаю xG?

Ответы (1)

Выявляется только общее обязательство ( P ). G и H — константы, известные всем. x (коэффициент ослепления) и a (значение) являются секретными.

если xG является частным значением, в документе CT говорится: можно доказать, что это обязательство к нулю, просто подписав хэш обязательства с обязательством как общедоступным, или если вы хотите доказать, что = 1, сделайте C' = C - 1H, а затем подпишите хэш C'. Как, подписывая C или C', я могу доказать значение, а также как я могу проверить знак, если я не знаю xG?

Вы можете поставить точку только в том случае, если она кратна G . По определению, подпись с закрытым ключом k может быть проверена с помощью открытого ключа kG . Если P = xG + aH с ненулевым значением , то невозможно найти k такое, что kG = xG + aH - для этого нужно было бы знать отношение между G и HH построено таким образом, что это отношение неизвестно каждый).

Спасибо! Если я правильно понял... предположим, что у нас есть обязательство C к 1 (C=xG+H) в наборе [0-1]. Затем сделайте два обязательства: P0 = C=xG+H и P1= C-1H = xG+Hh=xG. Если я хочу использовать это обязательство в качестве открытого ключа знака, я могу сделать это только для P1, потому что не знаю логарифма P0?
Ты понял. DL P1 (относительно G) равен x, но DL P0 относительно G никому не известен.