НОВОЕ: Helius приобретает Light Protocol
кошелёк Solana с ключом доступа
Блог/Разработка

Ключи доступа Solana: будущее UX криптокошельков

Руководитель инженерного отдела, ParaNorwood Square в XNorwood Square в LinkedIn
Комплекс решений для кошельков и аутентификации в криптоприложенияхPara в XPara в LinkedIn
Чтение: 6 мин

Приложениям Solana нужен быстрый, безопасный и нативный онбординг в криптокошельки. Phantom стал лидером в этой области, но по-прежнему требует от пользователей управлять сид-фразами.

Ключи доступа меняют ситуацию.

Основанные на стандарте WebAuthn и протоколе FIDO2, ключи доступа позволяют входить с помощью биометрии или аппаратных средств (например, Face ID, Touch ID, Windows Hello, YubiKeys и т. д.), не сохраняя и не раскрывая приватные ключи.

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

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

Без паролей и сид-фраз. Только встроенный в устройство пользователя криптографический доступ, упрощающий взаимодействие.

Почему ключи доступа важны для UX кошельков Solana?

Удобный онбординг в криптоприложения важен как никогда.

На фоне стремительного развития мобильных приложений Solana, активности разработчиков и роста объёмов стейблкоинов поддержка ключей доступа позволяет новым пользователям проще и безопаснее проводить ончейн-транзакции.

В сочетании со встраиваемым SDK кошелька Para ключи доступа обеспечивают:

  • Мгновенный онбординг: без установки и сид-фраз
  • Постоянные сессии: пользователи остаются подключёнными между посещениями и на разных устройствах
  • Безопасное управление ключами: ключи привязаны к устройству и защищены от фишинга

Поддержка ключей доступа в Solana и SIMD-0075

Большинство реализаций аутентификации WebAuthn по умолчанию использует кривую P-256 (secp256r1), широко распространённую эллиптическую кривую, обеспечивающую совместимость с разными браузерами и устройствами. Кривая P-256 отлично подходит для обычного входа в веб-приложения, но не для Solana. Причина в том, что Solana использует другую эллиптическую кривую — Ed25519 (на основе Curve25519). Она оптимизирована для быстрых детерминированных подписей и высокопроизводительной валидации с помощью инструкций SIMD (Single Instruction, Multiple Data).

Это различие существенно: P‑256 и Ed25519 несовместимы напрямую.

Сегодня ключи доступа WebAuthn не могут создавать подписи Ed25519, а браузеры не предоставляют API для подписи Ed25519 через защищённые аппаратные модули. Поэтому ключи доступа не могут напрямую подписывать транзакции Solana.

Из-за этого поддержка ключей доступа в Solana была технически сложной задачей. SIMD-0075 (одобренный в мае 2024 года) подтвердил, что Ed25519 остаётся предпочтительной кривой Solana, благодаря таким преимуществам, как детерминированная подпись (без риска, связанного с nonce), векторизация SIMD и совместимость в экосистеме.

В июне 2025 года Solana внедрила нативную ончейн-проверку подписей secp256r1 (P-256) через новый прекомпилированный контракт. Теперь приложения могут проверять подписи ключей доступа ончейн, например для подтверждения входа пользователя или доказательств его личности.

Однако для транзакций Solana по-прежнему требуются подписи Ed25519, которые ключи доступа WebAuthn создавать не могут. Поэтому одних ключей доступа всё ещё недостаточно для подписания на уровне кошелька.

Здесь помогает инфраструктура Para:

Para использует ключи доступа не для подписания транзакций, а как примитив авторизации. Ключ доступа открывает сессию с ограниченными правами, которая предоставляет доступ к совместимому с Ed25519 ключу подписи под управлением MPC-инфраструктуры Para (Multi-Party Computation).

Эта архитектура обходит несовместимость кривых и обеспечивает:

  • Полную совместимость с Solana
  • Быстрый нативный онбординг с помощью ключей доступа
  • Безопасное самостоятельное хранение и управление ключами на основе MPC

Ключи доступа Para: авторизация, а не только аутентификация

В 2023 году Para представила авторизацию сессий на основе ключей доступа, которая стала ключевой частью встраиваемого SDK кошелька.

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

В SDK Para ключи доступа используются для авторизации сессий кошелька после входа пользователя через OAuth, электронную почту и пароль и т. д. Такое разделение задач — аутентификация для подтверждения личности и ключи доступа для управления кошельком — создаёт более безопасную основу для встраиваемых кошельков Para.

Что происходит при регистрации нового ключа доступа в Para?

Клиент (браузер или системный менеджер учётных данных) создаёт пару ключей:

  1. Приватный ключ хранится в защищённом аппаратном модуле устройства (например, TPM, Secure Enclave или Android Keystore)
  2. Публичный ключ и метаданные учётных данных отправляются на сервер

Метаданные учётных данных ключа доступа включают:

  • ID учётных данных (уникальный для каждого ключа доступа)
  • Challenge nonce
  • RP ID (домен вашего приложения)
  • Криптографический алгоритм (обычно P-256)

Что происходит при создании нового кошелька?

Когда пользователь создаёт кошелёк с помощью Para, ключ доступа регистрируется и привязывается к его устройству. В частности, он:

  • Подписывает запрос авторизации
  • Подтверждает, что пользователь контролирует устройство и кошелёк
  • Создаёт подписанную сессию с ограниченными правами, которую можно сохранять

Затем эта сессия открывает доступ к важным операциям, таким как:

  • Отправка транзакций
  • Доступ к зашифрованным ключам, привязанным к сессии
  • Подтверждение взаимодействий со смарт-контрактами

Именно здесь подход Para становится особенно важен:

Сам ключ доступа не используется напрямую для подписания транзакций Solana, для которых требуется Ed25519.

Вместо этого SDK кошелька Para использует ключ доступа как примитив авторизации для открытия сессии. Затем сессия предоставляет ограниченный доступ к совместимому с Solana ключу подписи Ed25519, который использует встроенный кошелёк.

Этот ключ подписи хранится в защищённой инфраструктуре ключей Para на основе MPC, совместимой с требованиями Solana к подписям.

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

Отделяя идентификацию от права подписи, Para защищает даже критически важные действия криптографической авторизацией, а не только входом пользователя.

Ключи доступа Para идут ещё дальше: они позволяют встраивать кошельки непосредственно в приложения без браузерных расширений и фраз восстановления.

Почему ключи доступа важны для разработчиков Solana?

Ключи доступа Para дают разработчикам Solana следующие преимущества:

  • Более высокая конверсия при онбординге благодаря встраиванию кошельков в ваше приложение
  • Отсутствие риска потери приватных ключей или сид-фраз
  • Улучшенные UX и безопасность при сохранении нативной совместимости с Solana

Ключи доступа уже работают в таких приложениях, как Xelio. Они позволяют без лишних действий подключать пользователей через SMS к встраиваемым кошелькам.

Другие проекты, такие как SWIG Smart Wallet, также внедряют сценарии с ключами доступа для безопасного нативного онбординга в приложениях.

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

Как добавить ключи доступа в приложения Solana

Интеграция кошельков на основе ключей доступа в приложение Solana с помощью SDK кошелька Para занимает менее пяти минут.

Вот как это работает, шаг за шагом:

Предварительные требования

Сначала получите API-ключ Para на портале разработчиков Para.

Затем создайте файл env.local в корневой папке проекта и добавьте свой ключ:

NEXT_PUBLIC_PARA_API_KEY=your_para_api_key_here

Если вы не используете Next.js, скорректируйте настройку под свой фреймворк:

  • Для Vite используйте VITE_PARA_API_KEY
  • Для Node.js укажите process.env.PARA_API_KEY

1. Инициализируйте сессию с помощью Para SDK

Сначала оберните приложение в ParaProvider и настройте Para SDK на фронтенде. Это подготовит среду встраиваемого кошелька и позволит создавать или восстанавливать пользовательские сессии.

Код
<ParaProvider
  paraClientConfig={{
    env: Environment.BETA, // or Environment.PROD
    apiKey: YOUR_API_KEY,
  }}
  externalWalletConfig={{
      appName: YOUR_APP_NAME,
      wallets: ["PHANTOM","GLOW","BACKPACK"],
      walletConnect: { projectId: YOUR_WALLET_CONNECT_PROJECT_ID },
      solanaConnector: {
        config: {
          endpoint: ENDPOINT_FOR_SOLANA_CONNECTION,
          chain: SOLANA_CHAIN,
        },
      },
    }}
    paraModalConfig={{
      oAuthMethods: ["GOOGLE","TWITTER","TELEGRAM"]
      authLayout: ["AUTH:FULL","EXTERNAL:FULL"]
      recoverySecretStepEnabled: true
      onRampTestMode: true
    }}
>
  {REST_OF_APP}
</ParaProvider>

2. Используйте Helius для подписания и отправки транзакций

После активации сессии вы сможете подписывать и отправлять транзакции Solana через SDK Para и Helius. Этот подписант предоставляет стандартный метод signTransaction из JavaScript SDK @solana/kit.

Код
const connection = new Connection(HELIUS_RPC_URL);
const solanaSigner = new ParaSolanaWeb3Signer(para, Connection);
const tx = new Transaction().add(...);
const signedTx = await solanaSigner.signTransaction(transaction);
await connection.sendRawTransaction(signedTx.serialize());

Para сочетает UX ключей доступа с нативным для Solana ончейн-подписанием, не раскрывая приватные ключи и не требуя браузерных расширений.

Заключение

Solana выходит на массовый рынок.

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

Добавьте поддержку ключей доступа в своё приложение Solana за пять минут с помощью SDK Para.

Дополнительные ресурсы

Подпишитесь на Helius

Следите за новостями разработки на Solana и получайте уведомления о наших публикациях

Увеличенное изображение