
Например, у нас есть секретная информация, скажем, пароль. Мы хотим доказать другому человеку, что у нас есть этот пароль, но не хотим раскрывать сам пароль. С использованием zk-SNARK, мы сможем сгенерировать доказательство, подтверждающее, что у нас есть знание о пароле, но при этом сам пароль будет оставаться скрытым. Это обеспечит доказуемую аутентификацию без необходимости раскрывать секретную информацию.

1. Создадим контракт под названием Calculator 2. Создадим переменную result для хранения изначального результата. 3. Создадим функции сложения, вычитания, умножения, деления, возведение в степень, извлечения квадратного корня и округление чисел. 4. Создадим функцию получить результат вычислений.

Скажем некое сообщество X планирует сделать раздачу eth для своих подписчиков. Чтобы каждый из них в течении месяца после определенных дат смог забрать свой дроп равный сумме, которую владелец паблика внесет на депозит (смарт-контракта) xBank, поделенное на количество участников события.