Протокол для анонимного обмена подарками на Ethereum
Исследователи Ethereum работают над внедрением протокола, представленного ранее в этом году, который может значительно улучшить конфиденциальность с использованием доказательств с нулевым разглашением.
Разработчик Ethereum Артем Чистяков поделился своими исследованиями на форуме сообщества Ethereum в понедельник в теме под названием «Zero Knowledge Secret Santa (ZKSS)», которая предлагает трехшаговый алгоритм «Тайный Санта». Работа была впервые представлена в январе на платформе arXiv.
Тайный Санта — это популярная игра с обменом подарками, которая проводится в рождественское время; участники обмениваются подарками анонимно. Каждый покупает подарок кому-то как «Тайный Санта» и также получает подарок от своего «Тайного Санты».
Получатели подарков никогда не узнают, кто их Тайный Санта.
Проблемы с реализацией на Ethereum
Чистяков отметил три основные проблемы при организации Тайного Санты на Ethereum, которые этот протокол мог бы решить.
Все действия на Ethereum видны всем, поэтому необходимо скрыть, кто кому дарит, и сохранить конфиденциальность.
Блокчейны не обладают истинной случайностью, поэтому участники должны вносить свои собственные случайные выборы, а игра должна быть спроектирована так, чтобы никто не мог участвовать дважды или подарить себе подарок.
Потенциальные сценарии использования для Ethereum
Конфиденциальность в блокчейне стала актуальной темой, так как криптовалюта все больше интегрируется в традиционные финансы.
Протоколы конфиденциальности могут применяться для таких задач, как анонимное голосование и управление в DAO или организациях, где пользователи должны доказать свое членство и подать голос, сохраняя при этом выбор в тайне.
Это также может касаться системы для анонимных сообщений от сотрудников или частных аирдропов, где токены должны распределяться без раскрытия, кто именно их получил.
На вопрос об открытых исходных реализациях или развертывании Чистяков ответил, «Мы работаем над этим.»
Как работает Zero Knowledge Secret Santa
Протокол, реализованный на Solidity, использует доказательства с нулевым разглашением, чтобы установить связи между отправителями и получателями подарков, сохраняя при этом конфиденциальность отправителей.
Доказательства с нулевым разглашением (ZK-proofs) представляют собой криптографический метод, который позволяет подтвердить знание информации без ее раскрытия. Протокол ZKSS также использует релейер транзакций, который выступает в роли посредника, подавая транзакции и скрывая личность отправителя.

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