
- Distributed Lab представила ZKSS — криптографического «Тайного Санту» на Ethereum без раскрытия адресов.
- Протокол гарантирует анонимное распределение подарков на блокчейне.
- Основные этапы игры включают в себя настройку, фиксацию подписей, а также определение отправителя и получателя подарка.
Руководитель отдела Solidity в Distributed Lab и автор проекта Circom Witchcraft Артем Чистяков представил новый криптографический протокол ZK Secret Santa (ZKSS), который позволяет проводить игру «Тайный Санта» на Ethereum с полной приватностью и корректностью процесса.
На форуме Ethereum Research он сообщил о публикации научной работы на arXiv, посвященной реализации «настоящего Тайного Санту» на блокчейне:
«Ранее в этом году мы написали научную статью о том, как реализовать (настоящего) “Тайного Санту” на Ethereum, сохраняя конфиденциальность игроков и правильность игры. Интересно, что вы думаете о протоколе ZKSS!».
Как работает протокол ZKSS
ZK Secret Santa состоит из трех шагов и использует доказательства с нулевым разглашением (ZKP), чтобы обеспечить анонимность участников и гарантировать, что никто не сможет выбрать себя в качестве получателя подарка. Протокол устраняет необходимость в централизованном администраторе и сохраняет деранжирование перестановки (когда ни один участник не получает себя).
Основные вызовы игры на блокчейне Ethereum авторы связывают с отсутствием приватности, недостатком достоверной случайности и риском «двойного участия». Для их решения протокол применяет:
- транзакционный ретранслятор для сокрытия адресов участников;
- ZKP, чтобы подтверждать правильность взаимодействий без раскрытия данных;
- нулификаторы (блайндеры) — механизм, который предотвращает повторную отправку случайности в игре;
- разреженные деревья Меркла (SMT) для проверки принадлежности участников к исходному набору.
Основные этапы ZKSS
- Регистрация участников (setup): все участники один раз публично регистрируют свои Ethereum-адреса в смарт-контракте. Данные попадают в SMT и могут использоваться во многих играх.
- Фиксация подписей (signature commitment): этот шаг необходим из-за недетерминизма ECDSA. Каждый участник подписывает сообщение, хеш подписи публикуется в смарт-контракте, что гарантирует невозможность манипулировать подписями и обходить нулификаторы.
- Определение отправителя подарка (gift sender determination): участники анонимно добавляют случайное значение r к массиву рандомизированных отправителей через ZKP и ретранслятора. Используется RSA-ключ (2048 бит), который в финальном этапе позволяет получателю передать зашифрованный адрес доставки подарка конкретному «Санте».
- Раскрытие получателя подарка (gift receiver disclosure): на этом этапе участник раскрывает себя как получателя. Смарт-контракт через ZKP убеждается, что нулификатор правильный и что участник не выбрал сам себя. При необходимости получатель отправляет зашифрованный адрес доставки подарка RSA-ключом своего «Тайного Санты».
Безопасность и корректность
Авторы объясняют, что без шага с фиксацией подписей протокол может подвергнуться атаке из-за недетерминизма ECDSA [Elliptic Curve Digital Signature Algorithm, алгоритма с открытым ключом для создания цифровой подписи] — злоумышленник может обойти защиту nullifiers и «занять» все позиции дарителей.
Также описан потенциальный незначительный риск фронтраннинга получателя, когда недобросовестный даритель может попытаться «перехватить» выбор получателя в мемпуле. Но атака возможна только один раз и не влияет на дальнейшую корректность процесса.
Раздел Correctness подчеркивает ключевые гарантии:
- участники не могут раскрыть себя до завершения второго этапа;
- подпись ECDSA должна соответствовать RFC 6979;
- eventId должен быть уникальным;
- звукность протокола базируется на корректности ZK-системы.
В конце авторы предлагают аналогию со шляпой, в которую каждый участник бросает «рандомное число», а затем вытаскивает чужую запись. ZKP гарантирует, что никто не сможет вытащить собственную.
Напомним, что в мае сооснователь Ethereum Виталик Бутерин опубликовал предложение о развитии сети с новым типом узлов для сохранения приватности.
Позже соучредитель и президент Etherealize Дэнни Райан отметил, что приватность экосистемы Ethereum будет зависеть от спроса институтов и участия Уолл-стрит на крипторынке.


No comment