Что такое кошелек в Tonhub
Кошелек в приложении - это сочетание трех взаимосвязанных элементов:- Секретные криптографические ключи — уникальная пара математически связанных ключей, private и public, которые генерируются из вашей seed phrase. Private key используется для цифровой подписи всех исходящих транзакций и никогда не покидает устройство. Public key позволяет другим участникам сети проверять подлинность ваших транзакций.
- Адрес в блокчейнах TON и Solana — это ваш уникальный идентификатор в сети, выглядящий как строка символов, например
EQD.... Он работает как номер банковского счета: другие пользователи отправляют монеты на этот адрес, а вы используете его для получения средств. Адрес математически выводится из public key. - Локальные данные на телефоне — информация, которая хранится только на вашем устройстве: настройки приложения, язык, display currency, уровень безопасности, кэшированная история всех транзакций, contacts и сохраненные addresses для удобных переводов. Эти данные не влияют на сам кошелек, но делают работу с ним удобнее.
Главное: ваши средства хранятся в блокчейне, а не в приложении. Приложение - это лишь способ управлять этими средствами с помощью вашей secret phrase, то есть seed или recovery phrase.
Создание нового кошелька
С технической точки зрения создание wallet означает генерацию cryptographic keys и адреса, а не открытие банковского счета.Алгоритм создания
- Entropy Generation — приложение на устройстве создает криптографически стойкое случайное число достаточной длины. Это число становится основой для всех последующих криптографических операций, и его практически невозможно подобрать brute force или угадать.
- Mnemonic Phrase Formation — на основе сгенерированной entropy на устройстве создается seed phrase из 24 слов. Эта фраза позволяет полностью восстановить исходный секретный ключ.
- Cryptographic Key Generation — из исходного секрета вычисляются:
- Private Key — секретный ключ, который дает право подписывать транзакции и управлять средствами.
- Public Key — открытый ключ, используемый для проверки digital signatures. В Solana адрес кошелька равен public key, просто записанному в удобном формате Base58.
- Wallet Address Calculation, для TON — на основе public key генерируется уникальный wallet address с применением cryptographic hash function.
Активация кошелька
Активный wallet - это кошелек, который уже работает в блокчейне. У него есть balance или transaction history, и он может отправлять переводы, если на нем достаточно TON для оплаты fees.В TON network каждый wallet является smart contract. Чтобы wallet стал активным, необходимо:
- Развернуть контракт в сети
- Корректно его настроить
- Иметь достаточно TON для оплаты fees
Для обычного пользовательского address в Solana “active” означает:
- У адреса есть transaction history в блокчейне,
- На balance есть SOL для оплаты fees при отправке transfers.
Токен-аккаунты и хранение токенов
В TON основная монета и tokens хранятся в одном контракте, что дает к ним прямой доступ. Архитектура Solana устроена иначе.В сети Solana каждый SPL token хранится в отдельном специализированном account, а не на общем wallet address. Для каждой пары “wallet + token” создается стандартный account — Associated Token Account (ATA), в котором и хранится balance конкретного token.
Создание token-account
При первом взаимодействии с новым token, например при получении USDC, у вашего address может еще не быть соответствующего ATA. Перед выполнением операции система должна создать такой account в блокчейне, а для этого нужна отдельная транзакция с fee в SOL.
Автоматизация в Tonhub
Tonhub автоматически создает нужные token-accounts при первых операциях с token. Пользователю не нужно делать что-то вручную — в деталях транзакции появляется строка
Create ATA, которая показывает техническое создание account в сети.
Где в Tonhub хранится приватный ключ
Private key хранится исключительно на устройстве пользователя в зашифрованном виде. Ни private key, ни seed phrase не передаются на серверы Tonhub и по умолчанию не сохраняются в cloud storage.Keys и wallet data в приложении хранятся только в зашифрованном состоянии:
- Шифрование выполняется внутренним ключом приложения, который помещается в secure storage операционной системы:
- iOS — Keychain (via Secure Store)
- Android — Android Keystore
- Доступ привязан к PIN code, biometric authentication и конкретному устройству
Доступ к зашифрованному ключу
- Требует разблокировки устройства: PIN code, password, Face ID, Touch ID и других методов аутентификации.
- На некоторых устройствах активируется опция “only on this device”, которая исключает возможность переноса данных из storage на другое устройство.
Почему такой подход безопасен
- Нет централизованной точки уязвимости. У Tonhub нет доступа к private key пользователя, и компания не может потерять его на своем сервере, потому что ключ туда вообще не передается.
- Есть защита на уровне операционной системы и железа. Keychain и Keystore построены на следующих принципах:
- Изоляция от других приложений — сторонние приложения не могут получить доступ к секретным данным.
- Привязка к конкретному устройству и способу разблокировки.
- Даже если файлы приложения будут скомпрометированы, получить private key практически невозможно:
- Данные находятся в зашифрованном виде.
- Для расшифровки нужен ключ из secure storage, доступ к которому невозможен без физического доступа к устройству и его разблокировки.
Импорт существующего кошелька
Импорт TON-кошелька
- Из секрета по алгоритму и параметрам TON, зафиксированным в приложении, формируется ключ ed25519.
- Из этого ключа рассчитывается адрес wallet smart contract, учитывая wallet type, version, workchain и другие параметры. Этот address будет использоваться для входящих и исходящих TON и tokens.
- Далее идет verification и synchronization с TON network. Выполняется запрос в блокчейн по address:
- Есть ли уже balance и transactions
- Активирован ли wallet, то есть контракт, и может ли он отправлять
- Если по этому адресу уже были операции, подтягивается history
Импорт Solana-кошелька
- После ввода того же или отдельного секрета по схеме Solana формируется ключ ed25519.
- Из public key формируется строка address.
- Затем идет запрос в Solana network. Приложение обращается к RPC node, то есть серверу, который подключен к блокчейну и отвечает на запросы приложения:
- Основной balance в SOL
- Associated token accounts, то есть SPL tokens
- Transaction history
Можно ли использовать seed phrase из Tonhub в других приложениях
Derivation path - это алгоритм, по которому wallet генерирует конкретный private key и address из одной seed phrase.- TON wallet и token balance будут отображаться корректно, если целевое приложение поддерживает TON network, потому что wallet format и derivation path в большинстве приложений соответствуют стандартам Tonhub.
- Solana balance отобразится только если приложение использует те же правила генерации Solana keys из seed phrase. Совместимость не гарантирована, потому что разные wallets могут использовать разные derivation paths.
Создание нескольких кошельков
Tonhub поддерживает создание неограниченного количества wallets. Пользователь всегда может импортировать или создать новый wallet. При создании или импорте черезWalletSecurePasscodeComponent новый address просто добавляется в конец списка state.addresses без ограничений по количеству. Нельзя добавить только дубликат уже существующего address.
Как хранить seed phrase
Главное правило: Seed phrase - это единственный ключ к вашим деньгам. Тот, кто владеет фразой, владеет и wallet. Нет фразы - нет доступа.Как хранить безопасно
Записывайте на бумагу:- Полностью, без сокращений
- Четко, разборчиво, с нумерацией слов или строк
- Не фотографируйте лист
- 2–3 copies в разных безопасных местах, например дома, в сейфе, в банковской ячейке
- Copies должны быть физически разделены, чтобы пожар или кража в одном месте не уничтожили все сразу
- у посторонних нет свободного доступа
- нет высокой вероятности потери или случайного выбрасывания, например не на столе и не в “ежедневном” блокноте
- вы сами гарантированно вспомните это место даже через годы
Как проверить, что фраза записана правильно
После записи:- Дважды заново введите фразу с листа в приложение или wallet, в режиме recovery, как тест:
- На отдельном устройстве или в безопасной среде
- Убедитесь, что wallet открывается именно по вашей записанной копии
- Количество слов
- Порядок
- Корректность написания, особенно похожих слов
- Подпишите лист, но не самой фразой, а, например:
Tonhub, main wallet, date
Что делать при подозрении на утечку
- Считайте текущую phrase скомпрометированной
- In Tonhub:
- Создайте новый wallet с новой seed phrase
- Корректно запишите ее и проверьте
- Переведите все средства из “подозрительного” wallet в новый:
- После перевода:
- полностью прекратите использование старой seed phrase
- уничтожьте все ее copies, и бумажные, и цифровые
Что делать, если seed phrase утеряна
Честный ответ:Если:
- Tonhub с этим wallet больше нет на устройстве
- и у вас не осталось ни одной copy seed phrase, бумага потеряна, фото удалены, слова не помнятся
- восстановить доступ к средствам невозможно:
- ни через Tonhub support
- ни через developers
- ни через blockchain