Что такое zkLogin
zkLogin — это технология, используемая, например, Sui, и позволяющая взаимодействовать с блокчейном при помощи учетных записей на привычных платформах вроде Google или Apple. При этом платформа не получает информацию о транзакциях пользователя и не может напрямую связать его учетную запись с Sui-адресом.
При таком сценарии не требуется создавать и хранить seed-фразу для управления своими активами. Для новичков это существенно упрощает знакомство со способами авторизации на блокчейне. Важно отметить: zkLogin не заменяет обычные кошельки, а предлагает альтернативный способ доступа к активам в блокчейне.
В основе zkLogin лежат доказательства с нулевым разглашением (Zero-Knowledge Proof, ZKP). Это криптографический способ доказать, что определенное утверждение верно, не раскрывая саму информацию, на которой утверждение основано.
К примеру, человеку может потребоваться доказать сервису, что он является совершеннолетним и ему уже исполнилось 18 лет. При использовании ZKP можно подтвердить факт достижения возраста, не раскрывая точную дату рождения и другие ненужные для проверки данные. Этот принцип уже используется в системах цифровой идентификации. Например, технологии ZKP используют власти королевства Бутан. Здесь официальные сервисы поддерживают выборочное раскрытие данных, позволяя человеку передавать только те сведения о себе, которые действительно необходимы.
Как работает zkLogin
В общих чертах работа zkLogin состоит из нескольких этапов. Сначала приложение создает эфемерную, то есть временную пару криптографических ключей. Затем запускается OAuth-авторизация — стандарт, который позволяет использовать существующую учетную запись пользователя, например Google, для входа в другое приложение, не передавая пароль. Открытый ключ включается в специальный параметр этого запроса — nonce. После успешного входа OAuth-провайдер возвращает приложению JWT (JSON Web Token) — цифровой документ, подтверждающий успешную авторизацию пользователя и содержащий тот же nonce.
Затем JWT, открытый эфемерный ключ, срок действия сессии и уникальный для пользователя параметр salt передаются специальному сервису, который создает доказательство с нулевым разглашением. Оно подтверждает, что пользователь действительно авторизовался через OAuth, не раскрывая при этом сам JWT.
Сам адрес Sui при этом не назначается пользователю случайным образом. Он детерминированно вычисляется на основе нескольких параметров: идентификатора пользователя (sub), провайдера (iss), идентификатора приложения (aud) и пользовательского salt (user_salt). Поэтому при одинаковых исходных данных всегда получается один и тот же адрес.
Когда пользователь совершает транзакцию, ее подписывает эфемерный приватный ключ. Эта подпись объединяется с ZK-доказательством в единую подпись zkLogin, которую затем проверяют валидаторы перед выполнением транзакции.
Самое важное: для пользователя все эти сложности остаются невидимыми: он просто авторизуется привычным способом, а криптографическая часть работы происходит за кулисами.

Источник: docs.sui.io/sui-stack/zklogin-integration/
В основной сети (mainnet) Sui технология поддерживает несколько крупных провайдеров авторизации. Среди наиболее известных — Google, Twitch, Apple. В сети devnet также доступны интеграции со Slack, Microsoft и Kakao.
Компромисс между удобством и безопасностью
Удобство zkLogin связано с определенным компромиссом в вопросах безопасности. Пользователь избавляется от необходимости хранить seed-фразу, но все же часть модели безопасности зависит от внешнего OAuth-провайдера и других компонентов системы.
Исследование безопасности zkLogin, опубликованное в 2026 году, выявило, что возможные проблемы связаны не только с технической реализацией, но и с самой архитектурой системы. Исследователи выделяют несколько основных проблем:
-
Во-первых, особенности обработки JWT, полученных от провайдеров, могут приводить к неоднозначной интерпретации данных.
-
Во-вторых, краткосрочные токены авторизации в этой архитектуре фактически используются для получения более долгосрочных прав доступа.
-
В-третьих, система создает дополнительные риски для приватности и усиливает зависимость от внешних сервисов: данные о пользователе могут передаваться сторонней инфраструктуре, а часть доверия переносится на OAuth-провайдеров.
Вывод
zkLogin — это технология, которая позволяет пользователю с помощью криптографического доказательства с нулевым разглашением получить доступ к кошельку через привычную учетную запись Google, Apple и других сервисов вместо использования seed-фразы. Однако удобство не гарантирует полную безопасность. Наличие ZKP само по себе не является панацеей. Итоговая безопасность также зависит от OAuth-провайдеров, корректной обработки JWT и других компонентов инфраструктуры. Таким образом, zkLogin представляет собой определенный компромисс между удобством и безопасностью, а идти на него или нет — выбор человека.