Рейтинг:0

Обобщенные шаги для доказательства с нулевым разглашением в публичной транзакции блокчейна

флаг kg

Я пытаюсь понять доказательство с нулевым разглашением и его приложения, мой первый инстинкт — это блокчейн (для простоты я буду использовать биткойн-подобный).

Я пытаюсь осмыслить это, описывая логические шаги для публичной транзакции в блокчейне. Все, что я читал, говорит о передаче значений другим путем обмена сообщениями с другой стороной (интерактивный zkp), но я не нашел ничего, чтобы проверить, действительны ли значения или нет в общедоступном пространстве (не интерактивный zkp), чтобы избежать двойного расходования или даже хранения данные надежно. Моя интуиция такова, что он также требует гомоморфных оценок значений, чтобы только получатель мог фактически знать, какое значение хранится, но также позволял сравнивать зашифрованные значения. Пока это то, что у меня есть (в логических шагах)

  A и B являются парами ключей, каждая со следующими свойствами;
  A(pub): открытый ключ
  A (приват): закрытый ключ
  A(env): Открытый (оценочный) ключ
  V — валидатор

  A хочет перевести 12 монет B и имеет 15 монет в своем кошельке, исходя из его последнего добавленного UTxI.
  A шифрует значения UTxI и UTxO (12 и 3) Tx с помощью (B)env, поэтому теперь это H(i) и H(o)
  A создает доказательство для каждого зашифрованного значения (H) как PH(i) и PH(o) и отправляет транзакцию.

  Tx = H, UTxI => H(i), UTxO => H(o), In => A(pub), Out => B(pub), Proof of In => PH(i), Proof of Out = > РН(о), 

  V хочет знать, достаточно ли монет у A, чтобы отправить Tx B.
  V использует гомоморфную оценку для добавления всех UTxO (H(o)) TX и сравнивает со всеми входами на A(pub), которые также зашифрованы.
  V должен сделать то же самое с UTxI + UTxO, чтобы проверить, равны ли они балансу в A (pub)
  V проверяет доказательства PH(i) и PH(o), если они действительны, продолжает принимать Tx. 

  B получает Tx и должен иметь возможность расшифровать все UTxI и UTxO, чтобы узнать, сколько монет он получил, используя (B)priv
  и B(env) для обращения гомоморфного вычисления.

  У него также есть доказательства каждого из них для третьих лиц, чтобы подтвердить, что у него есть именно эта сумма.

В этом примере используется какая-то биткойн-подобная система UTx, где количество монет в кошельке рассчитывается путем добавления входных данных неизрасходованных транзакций к этому адресу (извините, если в нем есть некоторые ошибки в логике), но выше я пытаюсь понять, как бы Блокчейн необходимо обновить, чтобы разрешить полностью частные транзакции и по-прежнему проверяться третьими сторонами.

Верна ли описанная логика или я что-то упускаю?

Спасибо за время!

Vadym Fedyukovych avatar
флаг in
Вы бы прочитали протокол Zcash?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.