December 21, 2021

Solana / Словарь валидатора

Для каждого сообщества, профессии или коллектива очень важно разговаривать на одном языке. В своей работе валидатора мы используем определенный профессиональный сленг. Для того, чтобы вам было комфортно общаться в нашей большой семье необходимо разобраться со всеми словами, что используют валидаторы в обсуждениях. Начнем!

Нода - узел, или программный комплекс, который осуществляет передачу информации в сети. В нашем случае эта сеть Соланы.

Эпоха - промежуток времени, который измеряется в слотах (не в секундах, минутах или часах). Эпоха составляет 432000 слотов, каждый слот занимает примерно 0,4-0,8 секунд. Время каждого слота зависит от загруженности сети, чем она выше, тем больше будет создаваться блок за во времени одного слота, если сеть не загружена вообще, то время на создание 1 блока за слот будет составляеть 0,4 секунды и эпоха продлится 432000 * 0,4 / 3600 = 48 часов.

Чтобы посмотреть текущее время эпохи используем команду:

solana epoch-info

Валидатор - человек, который занимается обслуживанием ноды. Чтобы посмотреть список всех валидаторов в сети используем команду:

solana validators

Слот - период времени, в течение которого каждый лидер принимает транзакции в сети и создает блок. Чтобы посмотреть, какой сейчас слот в блокчейне, используем команду:

solana slot

Блок - непрерывный набор записей в леджере, которые были подтверждены голосованием валидаторов. Лидер производит не более 1 блока за один слот.

Лидер - нода, которая в данный момент времени получила возможность произвести блок. Подряд каждый лидер производит 4 блока.

Без этого объяснения картина была бы не полной. Почему этот лидер что-то производит и для чего. Чтобы это понять необходимо рассказать, как работает блокчейн Соланы.

Блокчейн Соланы устроен следующим образом. В начале каждой эпохи каждому валидатору автоматически в случайном порядке создается расписание его лидер-слотов по 4 слота. Когда приходит тот блок, в котором у валидатора по расписанию стоит его лидер-слот, валидатор должен получить информацию от предыдущего валидатора, кто был перед ним по расписанию и создавал 4 блока за 4 слота, создать новый блок и записать его в блокчейн.

Лидер-слот - слот во время которого лидер должен совершить блок, количество лидерслотов в текущей эпохе у валидатора можно посмотреть следующей командой:

solana -u localhost leader-schedule | grep GtgtQLfqKjn3gaHuH7Fw64n49vr2DrYHiJAsSTNNscAE | wc -l

Расписание лидер-слотов у валидатора можно посмотреть этой командой:

solana -u localhost leader-schedule | grep GtgtQLfqKjn3gaHuH7Fw64n49vr2DrYHiJAsSTNNscAE

Внимание! Вместо GtgtQLfqKjn3gaHuH7Fw64n49vr2DrYHiJAsSTNNscAE поставьте публичный ключ своего валидатора, или того, чью информацию хотите посмотреть.

Скип рейт / Скип - показатель работы ноды, который рассчитывается как отношение количества пропущенных блоков к тем блокам, которые были в расписании на данный момент.

Например, у вас на текущий момент было запланировано 130 блоков, сделали вы 80, 20 из них пропустили. Итого рассчитаем скип рейт:

20 / 130 * 100 = 15,38%

Скип рейт можно посмотреть следующей командой:

solana -v block-production | grep GtgtQLfqKjn3gaHuH7Fw64n49vr2DrYHiJAsSTNNscAE

Внимание! Вместо GtgtQLfqKjn3gaHuH7Fw64n49vr2DrYHiJAsSTNNscAE поставьте публичный ключ своего валидатора, или того, чью информацию хотите посмотреть.

Кластер - набор валидаторов, которые поддерживают один леджер (единую сеть)

Кредит или войт-кредит - очки или баллы, которые получает нода за голосование внутри сети (подтверждение возможности и правильности транзакции)

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

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

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

Пара ключей (keypair) - представляет собой открытый (публичный) ключ и закрытый (приватный) ключ. Публичный ключ представляет собой запись типа - GtgtQLfqKjn3gaHuH7Fw64n49vr2DrYHiJAsSTNNscAE из 44 символов, а приватный ключ представляет собой или мнемоническую фразу из 12 слов (плюс еще можно добавить одну фразу, которая будет являться паролем - passphrase) или json файлом.

Лампорт - является минимальной единицей монеты Sol и составляет 0.000000001 Sol, аналогом у Биткоина является Сатоши.

Леджер - Список записей, который содержит в себе все транзакции, совершенные в сети. Реестр (леджер) каждого валидатора содержит около 50 000 000 шредов, которые охватывают транзакции одной эпохи. Получается, что в каждый момент времени каждый валидатор хранит у себя на ноде историю всех транзакций блокчейна только за одну эпоху. Остальная информация хранится в Google Big Table Storage и на других частных серверах.

Шред - часть блока, которая содержит определенное количество транзакций, это количество зависит от текущей пропускной способности сети (TPS).

TPS - Transactions per second, количество транзакций в секунду.

Транзакция - одна или несколько инструкций, которая была подписана одной или несколькими парами ключей, выполняемая автоматически. У транзакции может быть только 2 результата: успех или неудача.

Смарт-контракт - это программа в блокчейне, которая может считывать или изменять учетные записи, которыми она управляет.

Стейк - Монеты SOL, которые заделегированы на ноду валидатора и которые приносят прибыль. В зависимости от комиссии валидатора владелец стейка получает от 90% до 100% прибыли, которая на текущий месяц равняется около 7% годовых. Валидатор может установить любую комиссию от 0% до 100%, которую будет получать от владельца стейка. Но так как мы находимся в свободном рынке, и текущие предложения по комиссии со стейка составляют от 0% до 10%, то валидаторы с большей комиссией вряд ли получат стейк от владельцев стейка.

ID транзакции - Первая подпись в транзакции, которая может однозначно использоваться для идентификации транзакции в леджере.

Период прогрева (warmup period) - это период, который занимает одну эпоху после того, как стейк был делегирован валидатору. В этот период стейк имеет статус активации, активным он станет на следующую эпоху. Это относится и к лидер-слотам, которые получает валидатор. Если стейк стал активным в текущей эпохе, то лидер-слоты он получит только в следующей эпохе. Это работает и в другую сторону: если вы потеряли стейк в прошлой эпохе, то в текущей эпохе вы еще получите лидер-слоты (так как они будут выданы на основе стейка в прошлой эпохи), а вот в следующей (которая идет за эпохой без стейка), вы уже не получите лидер-слотов.