Разработчики Ethereum работают над протоколом Тайный Санта для повышения конфиденциальности.

Исследователи Ethereum работают над способами внедрения протокола, который они впервые представили ранее в этом году, и который может значительно усилить конфиденциальность с помощью доказательств с нулевым разглашением (zero-knowledge proofs).

Разработчик Ethereum Артем Чистяков поделился своими исследованиями на форуме сообщества Ethereum в понедельник, под названием «Zero Knowledge Secret Santa (ZKSS)», который предлагает трехэтапный алгоритм «Тайный Санта». Статья была впервые представлена в январе на arXiv.

«Тайный Санта» — популярная игра по обмену подарками, в которую играют в период Рождества, в которой группа людей обменивается подарками анонимно. Каждый покупает подарок другому человеку в качестве своего «Тайного Санты» и также получает подарок от своего «Тайного Санты».

Получатели подарков никогда не узнают, кто их «Тайный Санта».

Проблемы с реализацией в Ethereum

Чистяков заявил, что существует три основные трудности в реализации игры «Тайный Санта» в Ethereum, которые может решить данный протокол.

Все в Ethereum видно всем, поэтому необходим способ скрыть, кто кому дарит подарки, и поддерживать конфиденциальность.

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

Потенциальные варианты использования в Ethereum

Конфиденциальность в блокчейнах стала горячей темой в последнее время, поскольку криптовалюты все больше интегрируются в традиционные финансы.

Протоколы конфиденциальности могут быть применены в таких сценариях, как анонимное голосование и управление, включая DAO или организации, где пользователям необходимо подтвердить, что они являются участником, и отдать один голос, но при этом сохранить свой выбор в тайне.

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

На вопрос об open-source реализациях или внедрении Чистяков сказал, что «Мы работаем над этим».

Как работает Zero Knowledge Secret Santa

Этот протокол Solidity в качестве proof-of-concept использует доказательства с нулевым разглашением для установления отношений между дарителем и получателем подарка, сохраняя при этом конфиденциальность дарителя.

ZK-proofs — это криптографический метод подтверждения знания без раскрытия конкретной информации. Протокол ZKSS также использует транзакционный релейер, который выступает в качестве посредника, отправляющего транзакции, тем самым скрывая личность отправителя.

Некоторые из математических вычислений, лежащих в основе протокола ZKSS. Источник: Artem Chystiakov

Для участия участники регистрируют свои адреса Ethereum в смарт-контракте, создавая список всех участников. Затем каждый участник обязуется использовать определенную цифровую подпись.

Это предотвращает атаку, когда кто-то мог бы участвовать несколько раз, создавая разные подписи.

Каждый участник затем конфиденциально добавляет свое случайное число в общий список с помощью релейера, поэтому никто не знает, кто что добавил. Это позволяет получателям зашифровать свой адрес доставки, чтобы только их назначенный «Санта» мог его прочитать.

Наконец, каждый участник выбирает случайное число из общего списка, после чего раскрывается личность получателя.