В сети Solana множество людей и организаций запускают программу на специализированных компьютерах, известных как валидаторы. Валидаторы играют ключевую роль в поддержании и обеспечении безопасности блокчейна Solana. Они отвечают за обработку новых входящих транзакций в сети, а также за голосование и добавление новых блоков в блокчейн.
Поскольку разные валидаторы по всему миру могут получать разную информацию в разное время, крайне важно, чтобы сеть могла прийти к согласию о том, какие транзакции и данные постоянно добавляются в блокчейн. Стратегия, с помощью которой валидаторы и вся сеть достигают этого согласия, называется механизмом консенсуса и является одной из ключевых задач при создании успешной децентрализованной блокчейн-сети. Многие проекты пробовали различные способы достижения консенсуса быстро и эффективно по затратам.
Сеть Solana использует механизм консенсуса Proof of Stake (часто сокращённо PoS). Каждый валидатор в сети может участвовать в консенсусе, голосуя за те блоки, которые, по его мнению, должны быть добавлены в блокчейн, тем самым подтверждая любые действительные транзакции, содержащиеся в этих блоках. Однако голоса валидаторов имеют разный вес.
Голоса валидаторов в консенсусе зависят от их стейка: чем больше стейк у валидатора, тем большее влияние он оказывает на результат голосования. Соответственно, валидаторы с меньшим стейком имеют меньший вес, а валидаторы без стейка не могут влиять на результат голосования по консенсусу.
Стейкинг — это процесс, при котором держатель токенов SOL (например, тот, кто приобрёл токены SOL на бирже) делегирует часть или все свои токены определённому валидатору или нескольким валидаторам, что помогает увеличить их вес голосования. Передача ваших токенов для увеличения стейк-веса валидатора называется «делегированием» токенов. Делегирование токенов валидатору НЕ даёт валидатору права собственности или контроля над вашими токенами. Во все моменты времени вы полностью контролируете все свои застейканные токены, которые вы могли делегировать.
Стейкая токены у одного или нескольких валидаторов, держатель токенов выражает определённый уровень доверия к выбранному валидатору. По мере того как валидаторы получают больше делегированного стейка от разных держателей токенов, это служит «доказательством» для сети, что консенсусные голоса этого валидатора заслуживают доверия, и их голоса взвешиваются пропорционально объёму привлечённого стейка. Взвешивая коллективные голоса всех валидаторов относительно доли делегированного им стейка, сеть достигает консенсуса по принципу Proof of Stake.
Поскольку разные валидаторы по всему миру могут получать разную информацию в разное время, крайне важно, чтобы сеть могла прийти к согласию о том, какие транзакции и данные постоянно добавляются в блокчейн. Стратегия, с помощью которой валидаторы и вся сеть достигают этого согласия, называется механизмом консенсуса и является одной из ключевых задач при построении успешной децентрализованной блокчейн-сети. Многие проекты пробовали различные подходы к достижению консенсуса быстро и с минимальными затратами.
Сеть Solana использует механизм консенсуса Proof of Stake (часто сокращённо — PoS). Каждый валидатор в сети может участвовать в консенсусе, голосуя за те блоки, которые, по его мнению, должны быть добавлены в блокчейн, тем самым подтверждая любые действительные транзакции, содержащиеся в этих блоках. Однако голоса валидаторов имеют разный вес.
Голоса валидаторов в консенсусе взвешиваются по стейку: чем больше стейк у отдельного валидатора, тем большее влияние этот валидатор имеет на результат голосования. Соответственно, валидаторы с меньшим стейком имеют меньший вес, а валидаторы без стейка не могут влиять на результат голосования по консенсусу.
В открытой и децентрализованной сети, такой как Solana, любой желающий может запустить validator. Злоумышленник или другой недобросовестный участник может попытаться атаковать сеть или отправить неверные либо мошеннические транзакции в свою пользу. Благодаря механизму консенсуса Proof of Stake, описанному выше, одному субъекту, действующему мошеннически, потребуется привлечь определённое количество стейка, прежде чем его действия будут учтены при голосовании за консенсус. Чем больше держателей токенов делегируют свои SOL разным validator по всей сети и чем больше общий объём стейка в сети, тем сложнее даже скоординированному и хорошо финансируемому атакующему накопить достаточно стейка, чтобы единолично повлиять на результат голосования за консенсус в свою пользу. Проще говоря, чем больше стейка делегировано разным validator по всей сети, тем безопаснее и надёжнее становится сеть для всех её пользователей. Кроме того, держатели токенов, которые делегируют свои токены и тем самым помогают обеспечивать безопасность сети, могут получать вознаграждение за стейкинг после делегирования своих токенов одному или нескольким validator. Подробнее о вознаграждениях за стейкинг читайте ниже.
Во многих сетях с Proof of Stake существует механизм, известный как «slashing». Slashing — это процесс, при котором часть стейка, делегированного validator, уничтожается в качестве наказания за злонамеренные действия validator.
Этот механизм мотивирует validator не совершать такие действия, поскольку уменьшение стейка, делегированного validator, приводит к снижению их вознаграждения. Также slashing можно рассматривать как репутационный риск для validator, что может отпугнуть текущих и потенциальных делегаторов.
Slashing также представляет риск для держателей токенов, которые могут потерять часть своих токенов, если делегировали их validator, подвергшемуся slashing. Наличие slashing может мотивировать держателей токенов делегировать свои токены только тем validator, которых они считают надёжными, а также не делегировать все токены одному или небольшому числу validator.
В Solana slashing не происходит автоматически. Если злоумышленник приведёт к остановке сети, его могут подвергнуть slashing после перезапуска сети. Подробнее см. в документации по validator Solana.
Любой, у кого есть SOL, может в любой момент отправить свои токены в стейкинг.
Для стейкинга токенов SOL необходимо использовать кошелёк с поддержкой стейкинга. На данный момент не все кошельки поддерживают эту функцию. SolFlare.com — один из удобных кошельков с поддержкой стейкинга. Ознакомьтесь с официальной документацией, где представлен список кошельков с поддержкой стейкинга.
Токены SOL в вашем кошельке сначала необходимо перевести на стейкинговый аккаунт. Вы можете создать любое количество стейкинговых аккаунтов и вносить на каждый из них любое количество SOL. Каждый новый стейкинговый аккаунт имеет уникальный адрес, и один кошелёк может управлять или «авторизовывать» множество различных стейкинговых аккаунтов. Подробнее читайте в документации о структуре стейкинговых аккаунтов.
Для получения вознаграждений за стейкинг (при условии включения инфляции в mainnet beta) токены на стейкинговом аккаунте должны быть делегированы validator. Один стейкинговый аккаунт можно делегировать только одному validator одновременно, поэтому для делегирования разным validator необходимо распределить токены между несколькими стейкинговыми аккаунтами.
Существует ряд инструментов, созданных сообществом, где можно посмотреть информацию о сети и отдельные показатели производительности валидаторов, например:
Многие валидаторы также представляют себя и свои сервисы на форуме Solana:
Да. Некоторые пользователи могли получить стейкинговый аккаунт с заблокированными токенами от Solana Foundation, которые были распределены в обмен на оказанные услуги. Токены в стейкинговых аккаунтах с локапом нельзя вывести на другой адрес кошелька до истечения срока локапа, но их всё равно можно делегировать валидатору, чтобы потенциально получать вознаграждения за стейкинг в этот период. Награды, полученные за заблокированные токены, зачисляются обратно на тот же заблокированный стейкинговый аккаунт.
При создании стейкингового аккаунта вы указываете количество токенов SOL для его пополнения — эти токены списываются с основного кошелька и зачисляются на новый стейкинговый аккаунт.
Токены также можно переводить на уже существующий стейкинговый аккаунт в любое время, используя функцию перевода или отправки в кошельке и указав адрес стейкингового аккаунта. Если вы переводите токены на уже делегированный стейкинговый аккаунт, эти новые токены не будут делегированы автоматически.
Если у вас есть делегированный стейкинговый аккаунт и вы хотите увеличить делегирование конкретному validator, рекомендуется создать новый стейкинговый аккаунт с дополнительной суммой стейка и делегировать его тому же validator.
Пример: увеличение стейка, делегированного одному validator
Если вы переводите токены на уже делегированный стейкинговый аккаунт, эти новые токены не будут делегированы автоматически. Чтобы они также были делегированы и начали приносить вознаграждения, необходимо отозвать делегирование всего аккаунта, а затем заново его делегировать. Поскольку отзыв и повторное делегирование могут занять несколько дней, ваш первоначальный стейк не будет приносить вознаграждения в течение этого переходного периода.
Поэтому рекомендуется переводить SOL на стейкинговый аккаунт только при его первоначальном создании или когда он не делегирован.
Токены можно вывести со стейкингового аккаунта только в том случае, если они не делегированы. Когда стейкинговый аккаунт впервые выводится из делегирования, он считается «деактивирующимся» или «остывающим». Токены нельзя вывести с аккаунта до тех пор, пока некоторые или все они не завершат процесс деактивации и не перейдут в статус «неактивных», то есть перестанут приносить потенциальные награды за стейкинг. Подробнее о том, сколько времени может занять этот переходный период, см. Временные параметры.
Как только токены на стейкинговом аккаунте станут неактивными, их можно немедленно вывести обратно на основной адрес кошелька или на другой адрес.
Пример: вывод всех токенов со стейкингового аккаунта
Если вы хотите уменьшить сумму делегированного стейка, назначенного определённому validator, не деактивируя весь баланс (и тем самым не упуская потенциальные награды в период простоя делегирования), вы можете разделить существующий стейкинговый аккаунт на два, отозвать делегирование одного из них, оставив другой делегированным и постоянно участвующим в получении наград.
Пример: уменьшение делегированного стейка у конкретного validator
Токены на стейкинговом аккаунте с блокировкой не могут быть выведены до истечения срока блокировки, независимо от состояния делегирования этого аккаунта. После истечения срока блокировки неделегированные токены можно вывести немедленно. Держателю аккаунта не нужно совершать никаких дополнительных действий для разблокировки аккаунта.
Когда вы делегируете или отменяете делегирование стейк-аккаунта, токены не меняют своё состояние мгновенно. Недавно делегированные токены считаются «активирующимися» или «разогревающимися» и не могут получать вознаграждение, пока полностью не активируются. Недавно отменённые токены считаются «деактивирующимися» или «остывающими» и не могут быть выведены до завершения деактивации.
Протокол Solana позволяет токенам стейкинга завершить смену состояния только в начале нового epoch. Один epoch длится примерно 2 дня. Используйте solana epoch-info, чтобы узнать подробности о текущем epoch.
Если вы делегируете токены в стейк-аккаунте в середине epoch, токены будут отображаться в вашем кошельке как «активирующиеся» до окончания текущего epoch, после чего они станут активными и смогут получать вознаграждение. Независимо от того, делегируете ли вы токены в начале или в конце текущего epoch, это не влияет на момент их активации — это произойдёт только на границе следующего epoch. Та же логика применяется и к отмене делегирования или деактивации делегированного стейк-аккаунта. Деактивируемые токены нельзя вывести, пока они полностью не деактивируются на границе epoch.
Существует лимит на то, сколько общего стейка может сменить состояние за один epoch во всей сети Solana. Не более 25% от общего активного стейка в сети может быть активировано или деактивировано за один epoch. Если в течение одного epoch активируется более 25% общего активного стейка, часть всех активируемых/деактивируемых токенов, в пределах глобального лимита 25%, завершит смену состояния на первой границе epoch. Оставшаяся часть останется в состоянии «активирующихся» или «деактивирующихся» как минимум ещё один epoch, до следующей границы epoch.
Если активация стейка занимает несколько epoch, та часть стейка, которая полностью активируется на первой границе epoch, становится доступной для получения вознаграждения, а оставшаяся часть, которая продолжает активироваться ещё один epoch, пока не получает вознаграждение.
Аналогично, если деактивация стейка занимает несколько epoch, та часть стейка, которая полностью деактивируется на первой границе epoch, становится доступной для вывода, а оставшаяся часть продолжает деактивироваться ещё один epoch, после чего её также можно будет вывести.
Все стейк-аккаунты в Solana (и любые другие аккаунты) можно просмотреть в сетевом обозревателе Solana по ссылке:
Скопируйте и вставьте адрес интересующего стейк-аккаунта в основную строку поиска обозревателя, чтобы увидеть подробную информацию об аккаунте, включая его статус активации/деактивации/делегирования, текущий баланс и адреса полномочных лиц аккаунта, которые обычно совпадают с основным адресом вашего кошелька.
В зависимости от того, какое решение для кошелька вы используете для управления своими стейк-аккаунтами, эта же информация может быть доступна после входа в кошелек и просмотра ваших стейк-аккаунтов.
Награды за стейкинг рассчитываются и начисляются один раз за epoch. Один epoch длится приблизительно 2 дня. Награды, накопленные за данный epoch, выплачиваются всем validator и делегаторам в первом блоке следующего epoch. Доходность стейкинга представлена в пересчёте на годовую ставку, однако это значение меняется каждый epoch по мере изменения уровня инфляции и общего объёма активного стейка. Доходность стейкинга и полная модель инфляции подробно описаны здесь:

Оценки доходности стейкинга при различных моделях доли застейканных SOL можно изучить здесь:
Для оценки количества SOL, которое делегатор может ожидать получить за один epoch на одном стейкинговом аккаунте:

Аптайм валидатора определяется его поведением при голосовании в консенсусе. Каждый раз, когда валидатор голосует за блок, который в итоге добавляется в блокчейн, этот валидатор получает один Vote Credit.
Когда в конце epoch подводятся итоги наград, все голоса валидаторов, взвешенные по стейку, используются для определения общего количества SOL, которое будет начислено каждому конкретному валидатору и их делегаторам.
Валидаторы взимают комиссию с инфляционных вознаграждений, получаемых аккаунтами стейкинга, делегированными им, в обмен на обеспечение безопасности блокчейна и обработку транзакций. Эта комиссия называется ставкой комиссии. Каждый раз при начислении вознаграждений комиссия зачисляется на аккаунт валидатора, а оставшиеся вознаграждения распределяются между всеми аккаунтами стейкинга, делегированными этому валидатору, пропорционально объёму активно делегированного стейка в каждом аккаунте. Комиссия валидатора и стейкинг-вознаграждения всегда начисляются одновременно.
Вознаграждения начисляются один раз за эпоху и зачисляются на аккаунт стейкинга, который их заработал. Стейкинг-вознаграждения автоматически повторно делегируются как активный стейк.
Если сумма вознаграждения, причитающаяся валидатору или одному из его стейков, составляет менее одного lamport за эпоху, начисление вознаграждения переносится на следующую эпоху, в которой оба получат не менее одного lamport.
Подробности изначально предложенного графика инфляции обсуждаются здесь. Конкретные параметры, определяющие график инфляции:
Эти параметры определяются следующим образом:
Обратите внимание, что уровень инфляции не будет совпадать с доходностью стейкинга (т.е. процентом, получаемым за стейкинг токенов). Подробнее о доходности стейкинга см. ниже.
100% инфляционной эмиссии предлагается направлять на делегированные стейкинг-аккаунты и валидаторов.
Доходность от стейкинга формируется за счёт распределения инфляционной эмиссии между делегированными стейкинг-аккаунтами и аккаунтами голосования валидаторов в соответствии с комиссией валидатора. Благодаря такой архитектуре доходность стейкинга в первую очередь зависит от доли SOL, находящейся в стейкинге в сети. Подробное обсуждение механизма и его влияния на доходность стейкинга можно найти здесь:
Общий объём SOL, который будет застейкан, неизвестен, поэтому мы можем только оценить точную доходность стейкинга. Ниже представлены значения доходности стейкинга во времени при различных процентах застейканного SOL, которые могут наблюдаться в сети (от 60% до 90%). Параметры инфляционного расписания заданы, как описано выше.

Здесь также доступна простая интерактивная панель, где можно выбрать разный % застейканного SOL и посмотреть влияние на потенциальную доходность стейкинга.
Обратите внимание, что это идеализированная доходность стейкинга, так как она не учитывает влияние аптайма валидаторов на награды, комиссии валидаторов, возможное ограничение доходности и случаи слашинга. Также не учитывается, что процент застейканного SOL по задумке динамичен, то есть ожидается, что он будет меняться со временем, влияя на доходность. Эта информация предоставляется только для приблизительной оценки ожидаемой доходности от стейкинга.