Меню
Тема интерфейса
Светлая тема
Нужна помощь?
Telegram
@Xgrammanager
Написать на email
[email protected]

Объяснение адреса кошелька Solana: формат, безопасность и распространенные ошибки

Опубликовано
•
Читать 1 Мин
Как мы готовим материалы
Объяснение адреса кошелька Solana: формат, безопасность и распространенные ошибки
Подпишитесь, чтобы получать еженедельные новости о криптовалютах и скидку на комиссию до 50%
Вы подписаны на обновления!

Адрес кошелька Solana — это 32-байтовое значение, отображаемое в виде строки, закодированной в base58, которую пользователи копируют в кошельки и обозреватели для отправки или получения SOL и токенов.

Основы формата адресов Solana

Адреса аккаунтов Solana представляют собой 32-байтовые значения, отображаемые в виде строк, закодированных в base58. Эти строки не имеют фиксированного префикса и не содержат встроенной контрольной суммы, что отличает формат от многих других схем адресов блокчейнов.

Кодировка base58 в Solana использует алфавит, который намеренно исключает символы 0, O, I и l. Это снижает визуальную неоднозначность при чтении или копировании адресов. Поскольку длина кодировки варьируется в зависимости от содержимого байтов, допустимые строки имеют длину от 32 до 44 символов, хотя большинство адресов состоят из 43 или 44 символов.

Компактное представление поддерживает как публичные ключи on-curve, полученные из пар ключей Ed25519, так и программно-выводимые адреса off-curve. В обоих случаях применяются одинаковые правила base58, поэтому пользователи видят только итоговую закодированную строку независимо от того, как были сгенерированы исходные 32 байта. Такое единообразное представление обеспечивает согласованность интерфейсов кошельков и обозревателей блоков в сети.

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

Публичные ключи on-curve и программно-выводимые адреса

Адреса пар ключей Ed25519 в Solana создаются из стандартных криптографических пар ключей. Эти адреса on-curve поддерживают прямое управление через приватный ключ, позволяя пользователям самостоятельно подписывать транзакции и управлять активами через обычные кошельки.

Программно-выводимые адреса (PDA) работают по другой модели. Они генерируются детерминированно из ID программы и набора seed, размещая их вне кривой Ed25519. Для PDA не существует приватного ключа, поэтому контроль полностью передается программе, которая его создала.

Разница в контроле определяет сценарии использования. Адреса on-curve подходят для личных активов, где владелец должен сохранять право подписи. PDA используются для функций на уровне контрактов, таких как escrow или аккаунты токенов, где программа применяет логику и подписывает без раскрытия ключей внешним сторонам.

Кошельки отклоняют импорт PDA, поскольку ни одна пара ключей не соответствует адресу. Поэтому разработчики выбирают адреса on-curve для пользовательских средств и PDA, когда требуется программный контроль, избегая блокировки активов или ошибок подписи из-за несовпадения типов адресов.

Генерация и валидация адресов Solana

Адреса Solana формируются детерминированно из пар ключей Ed25519 или seed. Кошелек создает пару ключей и кодирует её 32-байтовый публичный ключ в base58, получая итоговую строку адреса. Seed-фразы следуют стандартным путям деривации, чтобы воссоздать ту же пару ключей и адрес на любом совместимом устройстве.

Кодировка base58 использует алфавит 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Этот набор исключает 0, O, I и l, чтобы ограничить визуальную путаницу. Допустимые закодированные адреса имеют длину от 32 до 44 символов, чаще всего 43–44.

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

Атаки отравления адресов и ошибки пользователей

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

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

Конкретные привычки проверки устраняют зависимость от частичных совпадений. Всегда копируйте полный адрес из проверенного источника и вставляйте его в отдельное текстовое поле для сравнения. Помечайте повторяющиеся контакты внутри кошелька, чтобы будущие выборы отображали имя, а не сырые символы. Для переводов выше личного порога сначала отправьте минимальную тестовую сумму и подтвердите получение в обозревателе перед отправкой полной суммы. Если получающая сторона предоставляет QR-код, сканируйте его напрямую, а не вводите символы вручную. Аппаратные кошельки, отображающие полный адрес на экране, обеспечивают независимый уровень проверки, минуя буфер обмена хост-устройства.

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

Комиссии, лимиты транзакций и сравнение адресов

Каждая транзакция Solana несет фиксированную базовую комиссию в 5 000 lamports за подпись, половина из которых сжигается, а половина выплачивается лидеру блока, плюс любая опциональная комиссия за приоритет. Такая структура за подпись напрямую влияет на использование адресов on-curve и программно-выводимых адресов внутри одной транзакции.

Формат транзакций V1 увеличил максимальный сериализованный размер до 4 096 байт. Больший лимит позволяет размещать до 64 аккаунтов в некоторых случаях и встраивает детали compute-unit и комиссии прямо в сообщение, сокращая количество необходимых подписей для сложных операций, которые ранее требовали нескольких транзакций.

ХарактеристикаАдрес on-curveПрограммно-выводимый адрес
Контроль через приватный ключДа (пара ключей Ed25519)Нет
Может подписывать транзакцииДаНет
Влияние на комиссииКаждое использование добавляет комиссию за подпись 5 000 lamportsБез комиссии за подпись; вызывается только через CPI
Типичная роль в транзакциях V1Подписант или плательщик комиссииЦелевой аккаунт или хранитель данных

Поскольку PDA не могут подписывать, разработчики часто маршрутизируют их через подписантов on-curve. Лимит 4 096 байт в V1 позволяет разместить больше аккаунтов в одной транзакции, снижая общее количество подписей и, следовательно, совокупную базовую комиссию при совместном использовании обоих типов адресов.

FAQ

Какой длины должен быть адрес Solana, чтобы считаться валидным?

Закодированные в base58 адреса Solana имеют длину от 32 до 44 символов, хотя чаще всего встречаются 43–44 символа для 32-байтовых публичных ключей и PDA.

Может ли программно-выводимый адрес получать токены как обычный кошелек?

PDA функционируют как аккаунты, но не имеют приватных ключей, поэтому не могут подписывать переводы; вместо этого ими детерминированно управляют программы.

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

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

Какая комиссия применяется к каждой транзакции Solana?

Базовая комиссия ровно 5 000 lamports взимается за каждую подпись, 50 % сжигается и 50 % выплачивается лидеру блока.

Каков максимальный размер данных для аккаунта Solana?

Аккаунты поддерживают до 10 МиБ данных согласно текущим спецификациям сети.

Когда может потребоваться верификация личности при свапе в Solana?

Xgram не требует KYC для большинства свапов; однако транзакции, отмеченные процедурами комплаенс, могут вызвать дополнительную проверку и верификацию личности.

Приватный обмен криптовалют

Лучшие курсы. Безопасно. Кошелёк в кошелёк

Обменять
Вы отправляете
1
~
Обновление курса ...
Вы получаете
Все комиссии включены
Обновление курса ...
Эта пара сейчас недоступна. Пожалуйста, попробуйте позже.
Мульти-свап
Мульти-свап
Мульти-свап позволяет выполнять несколько обменов за одну операцию.
Отправьте средства один раз и получите до пяти разных монет или переводов на несколько адресов — быстро, удобно и без дополнительных комиссий.
Добавьте больше свапов, чтобы получить все монеты в одной транзакции.
Добавленные свапы
Общая сумма: 0
Выберите валюту