Skip to content

СетиSolana

Что такое Solana и как она работает

Обновлено:

На этой странице

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

Основы — в статье что такое блокчейн, прочитайте ее сначала.

Что такое Solana и кто ее создал

Solana разработал Анатолий Яковенко, опубликовавший идею в 2017 году, а основная сеть запущена в 2020 году. Сначала ее создавала компания Solana Labs, а сегодня ПО имеет открытый исходный код, над ним работает несколько команд, а экосистему поддерживает некоммерческий фонд.

Сеть создана для решения проблемы масштабирования: сохранить одну общую цепочку, но сделать ее достаточно быстрой и дешевой для повседневного использования, вместо того чтобы разделять активность на множество уровней. Сегодня ее обычно используют для переводов токенов, трейдинга, платежей, игр и потребительских приложений. Другой подход описан в статье layer 1, layer 2 и layer 3.

Как это работает: слоты и лидеры

Solana — сеть с proof of stake. Время разделено на слоты (slots) примерно по 400 миллисекунд. В каждом слоте один валидатор является лидером (leader) и создает блок. Расписание лидеров рассчитывается заранее и взвешивается по стейку, так что все знают, кто будет лидером следующим. Через несколько слотов лидерство переходит к следующему.

Если лидер не в сети, его слот пропускается (skipped) и блока в нем нет. Поэтому некоторые номера слотов отсутствуют. Более длинная единица, эпоха (epoch), длится 432,000 слотов, около двух дней.

Proof of history простыми словами

Валидаторы должны согласовать порядок событий. Proof of history — это способ создать проверяемые часы. Цепочка хешей вычисляется последовательно, и каждый хеш доказывает, что с предыдущего прошло какое-то время. Транзакции вставляются в эту последовательность, поэтому валидаторам не нужно ждать сообщений от всех, чтобы договориться о порядке. Это одна из причин, по которой Solana работает так быстро. Это часы, а не сам консенсус, который использует голосование с учетом стейка.

Финальность

Solana сообщает три уровня. Processed означает, что лидер включил транзакцию. Confirmed означает, что за нее проголосовало супербольшинство стейка. Finalized означает, что она укоренена за 31 следующим подтвержденным слотом, около 13 секунд. Большинство кошельков ждут confirmed или finalized. См. финальность и подтверждения.

Комиссии

Нативная монета — SOL. Ее наименьшая единица — lamport: 1 SOL равен 1,000,000,000 lamports.

  • Базовая комиссия: 5,000 lamports за подпись. У простого перевода одна подпись, поэтому он стоит 0.000005 SOL.
  • Комиссия за приоритет: необязательная. Ее цена указывается в микро-lamports за вычислительную единицу. Транзакция запрашивает определенное число вычислительных единиц — меру работы, а более высокая комиссия за приоритет повышает шанс, что ее выберут в загруженные моменты.

Комиссии растут в двух случаях: при высоком спросе на одни и те же популярные аккаунты, например во время горячего запуска токена, и когда отправители повышают комиссии за приоритет, конкурируя друг с другом. Даже тогда комиссии обычно остаются небольшими по сравнению с основной сетью Ethereum. Прочитайте приоритетные комиссии Solana и газ и комиссии.

Модель аккаунтов и токены SPL

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

Токены следуют стандарту токенов SPL. Адрес вашего кошелька не хранит токен напрямую. Каждый принадлежащий вам токен лежит в собственном связанном токен-аккаунте (associated token account), привязанном к вашему адресу и к mint этого токена. Когда кто-то отправляет вам USDC в первый раз, для него нужно создать связанный токен-аккаунт. Для этого нужен депозит для освобождения от ренты около 0.002 SOL, который в большинстве кошельков платит отправитель. Депозит — не комиссия: он остается в аккаунте и может быть возвращен, если аккаунт закрыть. Если вы отправляете USDC на новый кошелек и кошелек показывает небольшую дополнительную стоимость в SOL, причина в этом.

Адреса

Адреса Solana — это строки в base58, обычно из 32–44 символов: буквы и цифры без 0, O, I и l. Они не совпадают с адресами EVM вида 0x, поэтому нельзя использовать адрес Solana в Ethereum или Base, и наоборот. Всегда используйте сеть Solana при отправке SOL или токенов SPL. См. кошельки и ключи.

Прошлые сбои

У Solana были периоды, когда сеть останавливалась или замедлялась, особенно в первые годы, из-за ошибок в ПО и потоков транзакций. С тех пор разработчики несколько раз меняли ПО, чтобы справиться с этим. Надежность со временем улучшилась, но справедливо сказать, что у сети есть история инцидентов, которых у Ethereum и Bitcoin было меньше. Проверяйте актуальное поведение, а не полагайтесь на старые отчеты.

Сравнение Solana с другими сетями

Solana Ethereum Base Polygon
Время блока Около 0,4 с 12 с 2 с Около 2 с
Токен для газа SOL ETH ETH POL
Формат адреса Base58 0x 0x 0x
Модель безопасности Собственный layer 1 Собственный layer 1 Роллап на Ethereum Собственные валидаторы

Solana — это единая быстрая сеть со своими инструментами, а не сеть EVM. Приложения, написанные для Ethereum, без изменений в ней не запускаются. См. почему комиссии в разных сетях различаются и самый дешевый способ отправить USDC.

На что обратить внимание

  • Неверная сеть. Отправка USDC на адрес Solana из сети Ethereum или наоборот приведет к сбою или потере средств. Сеть должна совпадать с обеих сторон.
  • Отсутствующий токен-аккаунт. Если получатель никогда не держал этот токен, первый перевод стоит дополнительного депозита.
  • Поддельные токены. Любой может создать токен со знакомым названием. Проверяйте адрес mint.
  • Дрейнеры кошельков. Никогда не подписывайте транзакцию, которую не понимаете.
  • Перегрузка сети. В редкие загруженные периоды транзакции могут отбрасываться. Повторите с комиссией за приоритет.

Следите за Solana в реальном времени на ChainMonitor

Часто задаваемые вопросы

Почему Solana такая дешевая?

Базовая комиссия фиксирована: 5,000 lamports за подпись, а сеть имеет большую пропускную способность, потому что выполняет транзакции параллельно на быстром оборудовании. Комиссии растут только при интенсивном спросе на одни и те же аккаунты.

Что такое lamport?

Lamport — наименьшая единица SOL. Один SOL равен 1,000,000,000 lamports.

Почему я заплатил дополнительный SOL, отправляя USDC?

Если у получателя не было токен-аккаунта для USDC, его пришлось создать. Для этого нужен возвращаемый депозит около 0.002 SOL.

Solana — это сеть EVM?

Нет. У нее своя среда исполнения, адреса и инструменты. Кошельки EVM и адреса 0x напрямую в ней не работают.

Что такое proof of history?

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

Через сколько транзакция Solana становится финальной?

Примерно через 13 секунд для finalized. Confirmed наступает раньше и часто достаточно для небольших платежей.