Следующие термины используются в документации и экосистеме разработки Solana.
аккаунт
Запись в реестре Solana, которая либо содержит данные, либо является исполняемой программой.
Как и аккаунт в традиционном банке, аккаунт Solana может хранить средства, называемые lamport. Каждый аккаунт в кластере имеет уникальный адрес.
приложение
Фронтенд-приложение, которое взаимодействует с кластером Solana.
адрес
Местоположение в Solana, которое можно использовать для поиска аккаунта. Каждый адрес уникален в кластере Solana.
Адреса в Solana могут быть либо публичным ключом Ed25519, либо адресом, производным от программы.
таблица поиска адресов (ALT)
Структура данных, которая хранит список адресов аккаунтов, позволяя версионным транзакциям ссылаться на аккаунты с использованием компактных 1-байтовых индексов вместо полных 32-байтовых публичных ключей. Таблицы поиска адресов позволяют одной транзакции ссылаться на большее количество аккаунтов, чем допускает исходный формат транзакции.
Anchor
Фреймворк для создания ончейн-программ Solana на Rust. Anchor предоставляет макросы, которые сокращают шаблонный код, стандартизированную систему валидации аккаунтов и генерирует IDL, описывающий интерфейс программы. Это наиболее широко используемый фреймворк для разработки программ на Solana.
associated token account (ATA)
Token account, адрес которого детерминированно выводится из адреса кошелька и минта токена. Программа associated token account гарантирует, что у каждого кошелька есть один канонический token account для каждого типа токена.
полномочие
Адрес пользователя, имеющего определенные разрешения на аккаунт.
Например:
- Возможность создания новых токенов предоставляется аккаунту, который является «полномочием на минтинг» для минта токена.
- Возможность обновления программы предоставляется аккаунту, который является «полномочием на обновление» программы.
автоматический маркет-мейкер (AMM)
Модель ончейн-обмена, при которой пользователи торгуют против пула резервов токенов, управляемого формулой ценообразования, а не против размещенного ордера контрагента. Цены изменяются в зависимости от резервов, поэтому сделки сопровождаются проскальзыванием, пропорциональным их размеру.
состояние банка
Результат интерпретации всех программ в леджере на заданной высоте тика. Включает как минимум набор всех аккаунтов, содержащих ненулевое количество нативных токенов.
блок
Непрерывный набор записей в леджере, покрытых голосованием. Лидер создает максимум один блок за слот.
хеш блока
Уникальное значение (хеш), идентифицирующее запись (блок). Solana вычисляет хеш блока из последнего идентификатора записи блока.
высота блока
Количество блоков под текущим блоком. Первый блок после генезис-блока имеет высоту один.
начальный валидатор
Валидатор, который создает генезис (первый) блок блокчейна.
загрузчик BPF
Программа Solana, которая владеет и загружает BPF ончейн-программы, позволяя программе взаимодействовать с runtime.
бамп
Один байт (0–255), добавляемый к сидам при выведении адреса, производного от программы, чтобы гарантировать, что результирующий адрес не лежит на кривой ed25519 и, следовательно, является валидным PDA. Канонический бамп — это наибольшее значение, которое создает валидный PDA, и обычно сохраняется в данных аккаунта, чтобы избежать его повторного вычисления.
центральная книга лимитных ордеров (CLOB)
Модель обмена, которая поддерживает отсортированный список размещенных заявок на покупку и продажу; сделка происходит, когда входящий ордер пересекает ордер на противоположной стороне. Противопоставляется автоматическому маркет-мейкеру.
клиент
Компьютерная программа, которая обращается к сети серверов Solana кластер.
подтверждение
Мера сетевого подтверждения для блока.
формат компактного массива
Компактный массив — это массив, сериализованный в следующем формате:
- Длина массива (закодированная как compact-u16)
- Элементы массива, перечисленные один за другим
Формат компактного массива
Формат компактного массива используется для кодирования как массива адресов аккаунтов, так и массива инструкций в сообщениях транзакций.
кластер
Набор валидаторов, поддерживающих единый реестр.
вычислительный бюджет
Максимальное количество вычислительных единиц, потребляемых на одну транзакцию.
вычислительные единицы
Наименьшая единица измерения потребления вычислительных ресурсов блокчейна. Вычислительные единицы используются для измерения вычислительных ресурсов, используемых для обработки транзакции.
время подтверждения
Время по настенным часам между созданием лидером тиковой записи и созданием подтверждённого блока.
подтверждённый блок
Блок, получивший супербольшинство голосов в реестре.
управляющая плоскость
Сеть сплетен (gossip), соединяющая все узлы кластера.
период охлаждения
Определённое количество эпох после деактивации стейка, в течение которых он постепенно становится доступным для вывода. В течение этого периода стейк считается "деактивирующимся". Больше информации о: разогреве и охлаждении
единицы стоимости
Также называемые transaction cost, представляют собой всеобъемлющую оценку
всех ресурсов, необходимых для обработки транзакции, измеряемую в
вычислительных единицах. Подробнее
здесь.
кредит
Cross Program Invocation (CPI)
Вызов одной программы в сети из другой. Для получения дополнительной информации см. вызовы между программами.
плоскость данных
Multicast-сеть, используемая для эффективной проверки записей и достижения консенсуса.
дрон
Офчейн-сервис, который выступает в качестве хранителя приватного ключа пользователя. Обычно используется для проверки и подписания транзакций.
запись
Запись в реестре — либо тик, либо запись транзакции.
идентификатор записи
Устойчивый к прообразам хеш финального содержимого записи, который служит глобально уникальным идентификатором записи. Хеш служит доказательством того, что:
- Запись была создана по истечении определённого времени
- Указанные транзакции включены в запись
- Позиция записи относительно других записей в реестре
epoch
Время, т.е. количество слотов, в течение которого действует расписание лидеров.
эскроу
Паттерн, при котором программа в сети хранит токены в хранилище от имени двух или более сторон до тех пор, пока не будут выполнены условия, определённые программой, после чего освобождает их. Используется для устранения необходимости прямого доверия между сторонами.
аккаунт комиссии
Аккаунт комиссии в транзакции — это аккаунт, который оплачивает стоимость включения транзакции в реестр. Это первый аккаунт в транзакции. Данный аккаунт должен быть объявлен как Read-Write (доступный для записи) в транзакции, поскольку оплата транзакции уменьшает баланс аккаунта.
финальность
Когда узлы, представляющие 2/3 стейка, имеют общий корень.
форк
Леджер, произошедший от общих записей, но затем разошедшийся.
genesis-блок
Первый блок в цепи.
конфигурация genesis
Конфигурационный файл, который подготавливает леджер для genesis-блока.
хеш
Цифровой отпечаток последовательности байтов.
инфляция
Увеличение предложения токенов с течением времени, используемое для финансирования вознаграждений за валидацию и для финансирования дальнейшей разработки Solana.
внутренняя инструкция
инструкция
Вызов для активации определенного обработчика инструкций в программе. Инструкция также указывает, какие аккаунты она хочет читать или изменять, и дополнительные данные, которые служат вспомогательным входом для обработчика инструкций. Клиент должен включить хотя бы одну инструкцию в транзакцию, и все инструкции должны успешно завершиться, чтобы транзакция считалась успешной.
обработчик инструкций
Обработчики инструкций — это функции программы, которые обрабатывают инструкции из транзакций. Обработчик инструкций может содержать один или несколько Cross Program Invocation.
IDL
Interface Definition Language. JSON-файл, генерируемый Anchor, который описывает обработчики инструкций, аккаунты и типы программы. IDL позволяет клиентским библиотекам автоматически генерировать типизированные интерфейсы для взаимодействия с ончейн-программой.
keypair
Публичный ключ и соответствующий приватный ключ для доступа к аккаунту.
lamport
Дробный нативный токен со значением 0.000000001 SOL.
В рамках вычислительного бюджета количество микро-lamport используется при расчете комиссии за приоритизацию.
лидер
Роль validator при добавлении записей в реестр.
расписание лидеров
Последовательность открытых ключей validator, сопоставленных со слотами. Кластер использует расписание лидеров для определения, какой validator является лидером в любой момент времени.
реестр
Список записей, содержащих транзакции, подписанные клиентами. Концептуально это можно проследить до блока генезиса, но фактический реестр validator может содержать только более новые блоки для сокращения хранилища, поскольку более старые не требуются для валидации будущих блоков по дизайну.
голосование в реестре
Хэш состояния validator на заданной высоте тика. Он представляет собой подтверждение validator того, что полученный им блок был проверен, а также обещание не голосовать за конфликтующий блок (т.е. форк) в течение определенного периода времени — периода блокировки.
легкий клиент
Тип клиента, который может проверить, что он указывает на действительный кластер. Он выполняет больше проверок реестра, чем тонкий клиент, и меньше, чем validator.
ликвидность
Глубина ордеров или объединенных резервов, доступных для торговли по цене, равной или близкой к текущей. Более глубокая ликвидность снижает проскальзывание. В CLOB ликвидность обеспечивается ордерами мейкеров; в AMM она обеспечивается поставщиками ликвидности, которые вносят пары токенов в пул.
загрузчик
Программа, способная интерпретировать бинарное кодирование других ончейн-программ.
блокировка
Период времени, в течение которого validator не может голосовать за другой форк.
мейкер
Трейдер, чей ордер добавляет ликвидность в CLOB, оставаясь в книге ордеров, а не немедленно исполняясь на противоположной стороне. Такой ордер называется мейкер-ордером. Мейкеры обычно не платят комиссию или получают возврат средств от площадки.
маркет-мейкер
Участник, который обеспечивает ликвидность путем постоянного размещения как заявок на покупку, так и на продажу. На Solana маркет-мейкерами являются либо программы (такие как AMM), либо внебиржевые компании, использующие ботов для размещения мейкер-ордеров на CLOB.
сообщение
Структурированное содержимое транзакции. Обычно содержит заголовок, массив адресов аккаунтов, последний хеш блока и массив инструкций.
Узнайте больше о формате сообщений внутри транзакций здесь.
микро-lamport
1 000 000 микро-lamport = 1 lamport
коэффициент Накамото
Мера децентрализации, коэффициент Накамото — это наименьшее количество независимых участников, которые могут совместно остановить блокчейн. Термин был введен Баладжи С. Шринивасаном и Лиландом Ли в статье Quantifying Decentralization.
нативный токен
Токен, используемый для отслеживания работы, выполненной узлами в кластере.
узел
Компьютер, участвующий в кластере.
количество узлов
Количество validator, участвующих в кластере.
офчейн
Описывает данные, процессы или сервисы, которые существуют или работают вне блокчейна Solana, такие как RPC-клиенты, индексаторы, фронтенды и офчейн-мейкеры книги ордеров. Противоположность ончейн. Предпочтительное написание — "офчейн" (слитно).
ончейн
Описывает данные или программы, которые существуют или выполняются на блокчейне. Предпочтительное написание — "ончейн" (слитно).
ончейн-программа
Исполняемый код в блокчейне Solana, который интерпретирует инструкции, отправленные внутри каждой транзакции, для чтения и изменения аккаунтов, над которыми он имеет контроль. Эти программы часто называют "смарт-контрактами" в других блокчейнах.
оракул
Ончейн-программа, которая публикует данные извне сети — чаще всего цены реальных активов — для чтения другими программами.
владелец
Может относиться либо к владеющей программе, либо к владеющему кошельку. Например, getTokenAccountsByOwner получает token account, принадлежащие конкретному кошельку, однако владеющей программой для этих token account является Token Program.
Во избежание путаницы предпочтительнее использовать либо владеющую программу, либо владеющий кошелёк, а не общий термин «владелец».
владеющая программа
Адрес программы, которая владеет аккаунтом. Только владеющая программа способна изменять аккаунт.
См. также полномочия.
владеющий кошелёк
Кошелёк, связанный с аккаунтом. Например, Token Program используется для хранения token account, связанных с конкретным кошельком и минтом, используя адрес, созданный из этого кошелька и минта.
PoH
См. Proof of History.
пойнт
Взвешенный кредит в системе вознаграждений. В системе вознаграждений validator количество пойнтов, причитающихся стейку при погашении, является произведением заработанных кредитов за голосование и количества lamport в стейке.
приватный ключ
Приватный ключ keypair.
программа
См. ончейн-программа.
Program Derived Address (PDA)
Аккаунт, адрес которого создаётся на основе ончейн-программы и одного или нескольких сидов, созданных автором программы. Адреса PDA не являются публичными ключами, и PDA не имеют приватных ключей.
Полномочия на подпись для PDA принадлежат ончейн-программе, которая является их программой-владельцем.
program id
Публичный ключ аккаунта, содержащего программу.
proof of history (PoH)
Стек доказательств, каждое из которых подтверждает, что некоторые данные существовали до создания доказательства и что прошел точный промежуток времени с момента предыдущего доказательства. Как и VDF, Proof of History может быть проверено быстрее, чем было создано.
prioritization fee
Дополнительная комиссия, которую пользователь может указать в инструкции вычислительного бюджета для приоритизации своих транзакций.
Комиссия за приоритизацию рассчитывается путем умножения запрошенного максимального количества вычислительных единиц на цену вычислительной единицы (указанную с шагом 0,000001 lamport за вычислительную единицу) с округлением до ближайшего lamport.
Транзакции должны запрашивать минимальное количество вычислительных единиц, необходимое для выполнения, чтобы минимизировать комиссии.
публичный ключ (pubkey)
Публичный ключ keypair. Публичный ключ является одним из различных типов адресов, которые аккаунт может использовать в Solana.
rent
Комиссия, уплачиваемая аккаунтами и программами за хранение данных в блокчейне. Когда у аккаунтов недостаточно баланса для оплаты rent, они могут быть удалены сборщиком мусора.
См. также rent exempt ниже. Узнайте больше о rent здесь: Что такое rent?.
rent exempt
Аккаунты, которые поддерживают минимальный баланс в lamport, пропорциональный объему данных, хранящихся в аккаунте. Все вновь созданные аккаунты хранятся ончейн постоянно до закрытия аккаунта. Невозможно создать аккаунт с балансом ниже порога освобождения от rent.
root
Блок или slot, который достиг максимального lockout на validator. Root — это самый высокий блок, который является предком всех активных форков на валидаторе. Все блоки-предки root также транзитивно являются root. Блоки, которые не являются предком и не являются потомком root, исключаются из рассмотрения для консенсуса и могут быть отброшены.
runtime
Компонент validator, отвечающий за выполнение программ.
Sealevel
Параллельная среда выполнения Solana для onchain-программ.
seed
Байтовое значение или массив байтовых значений, используемые в качестве входных данных при выведении program derived address. Программа может использовать любую комбинацию статических строк, публичных ключей или других данных в качестве seed. Seed объединяются с идентификатором программы и bump для создания уникального PDA-адреса.
shred
Фрагмент блока; наименьшая единица, передаваемая между валидаторами.
signature
64-байтовая ed25519-подпись из R (32 байта) и S (32 байта). С требованием, что R
является упакованной точкой Эдвардса не малого порядка, а S является скаляром в
диапазоне 0 <= S < L. Это требование обеспечивает отсутствие податливости
подписи. Каждая транзакция должна иметь как минимум одну подпись для
fee account. Таким образом, первую подпись в транзакции можно
рассматривать как transaction id.
signer
Аккаунт, который авторизовал инструкцию или транзакцию. Для обычной keypair это означает криптографическую подпись над транзакцией. Для program derived address авторизация утверждается программой-владельцем при выполнении Cross Program Invocation, поскольку PDA не имеет приватного ключа.
процент пропусков
Процент пропущенных слотов от общего числа слотов лидера в текущей эпохе. Эта метрика может вводить в заблуждение, так как имеет высокую дисперсию после границы эпохи, когда размер выборки небольшой, а также для валидаторов с малым количеством слотов лидера. Тем не менее, она может быть полезна для выявления неправильных конфигураций узла.
пропущенный slot
Прошедший slot, который не произвёл блок, потому что лидер
был офлайн или форк, содержащий slot, был отброшен в пользу лучшей
альтернативы консенсусом кластера. Пропущенный slot не будет отображаться как
предок для блоков в последующих слотах, не увеличит
высоту блока и не завершит срок действия старейшего
recent_blockhash.
Определить, был ли slot пропущен, можно только тогда, когда он становится старше последнего корневого (то есть не пропущенного) слота.
проскальзывание
Разница между ценой, которую ожидал трейдер, и ценой, по которой фактически была исполнена его сделка. В AMM оно возникает из-за изменения ценовой кривой при изменении резервов; в CLOB оно возникает, когда один ордер исполняется за счёт нескольких размещённых ордеров по последовательно ухудшающимся ценам.
slot
Период времени, в течение которого каждый лидер обрабатывает транзакции и создаёт блок.
Совокупность слотов создаёт логические часы. Слоты упорядочены последовательно и не перекрываются, составляя примерно равные промежутки реального времени в соответствии с PoH.
смарт-контракт
См. ончейн-программа.
SOL
Нативный токен кластера Solana.
Solana Program Library (SPL)
Библиотека программ на Solana, такая как spl-token, которая упрощает выполнение задач, таких как создание и использование токенов.
стейк
Токены, которые конфискуются кластером, если может быть доказано вредоносное поведение валидатора.
качество обслуживания, взвешенное по стейку (SWQoS)
SWQoS позволяет предоставлять приоритетную обработку транзакциям, поступающим от застейканных валидаторов.
суперквалифицированное большинство
2/3 кластера.
System Program
Нативная программа Solana (ID программы 11111111111111111111111111111111),
ответственная за создание новых аккаунтов, выделение данных
аккаунтов, назначение аккаунтов программам и перевод SOL между
аккаунтами. Все новые аккаунты в Solana принадлежат System Program до момента
переназначения.
sysvar
Системный аккаунт. Sysvars предоставляют информацию о состоянии кластера, такую как текущая высота тика, значения поинтов вознаграждений и т.д. Программы могут получить доступ к Sysvars через аккаунт Sysvar (pubkey) или путём запроса через системный вызов.
тейкер
Трейдер, чья заявка удаляет ликвидность из CLOB путём пересечения противоположной стороны книги ордеров и сопоставления с одной или несколькими размещёнными заявками. Такая заявка называется заявкой тейкера, и тейкер обычно платит торговую комиссию площадки.
тонкий клиент
Тип клиента, который доверяет тому, что он взаимодействует с действительным кластером.
тик
Запись в реестре, которая оценивает реальную длительность времени.
высота тика
токен
Цифровой передаваемый актив.
token account
Аккаунт, который хранит баланс определённого токена. Token account принадлежат Token Program или Token Extensions Program и хранят баланс токена, связанный token mint и адрес владеющего кошелька.
Token Extensions Program
Token Extensions Program имеет
ID программы TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb и включает все те же
функции, что и Token Program, но поставляется с расширениями,
такими как конфиденциальные переводы, пользовательская логика переводов,
расширенные метаданные и многое другое.
токен минт
Аккаунт, который может производить (или «чеканить») токены. Различные токены отличаются своими уникальными адресами токен минтов.
Token Program
Token Program имеет идентификатор
программы TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA и предоставляет базовые
возможности для переводов, заморозки и чеканки токенов.
tps
Транзакций в секунду.
tpu
транзакция
Одна или несколько инструкций, подписанных клиентом с использованием одной или нескольких keypair и выполняемых атомарно только с двумя возможными исходами: успех или неудача.
идентификатор транзакции
Первая подпись в транзакции, которую можно использовать для уникальной идентификации транзакции во всём реестре.
подтверждения транзакции
Количество подтверждённых блоков с момента принятия транзакции в реестр. Транзакция считается окончательной, когда её блок становится корневым.
запись транзакций
Набор транзакций, которые могут быть выполнены параллельно.
tvu
validator
Полноценный участник кластера сети Solana, который производит новые блоки. Validator проверяет транзакции, добавляемые в реестр
хранилище
Token account, принадлежащий ончейн-программе, который хранит объединённые активы от имени пользователей — например, базовые и котировочные резервы AMM, заблокированные токены в эскроу или остаточные балансы и накопленные комиссии CLOB. Только владеющая программа может перемещать токены из хранилища, обычно в собственный token account пользователя после выполнения условия сделки или разблокировки.
VDF
См. функция проверяемой задержки.
функция проверяемой задержки (VDF)
Функция, выполнение которой занимает фиксированное количество времени и создаёт доказательство своего выполнения, которое затем может быть проверено быстрее, чем было создано.
версионированная транзакция
Формат транзакции, поддерживающий дополнительные возможности по сравнению с
исходным форматом транзакции. Версия 0 (v0) — это первый
версионированный формат, добавляющий поддержку
таблиц поиска адресов, что позволяет транзакциям
ссылаться на большее количество аккаунтов, чем допускает исходный формат.
голос
См. голос в реестре.
голосовой кредит
Учёт вознаграждений для validator. Голосовой кредит начисляется validator в его голосовом аккаунте, когда validator достигает корня.
кошелёк
Коллекция keypair, позволяющая пользователям управлять своими средствами.
период прогрева
Определённое количество epoch после делегирования stake, в течение которых стейк постепенно становится активным. В этот период стейк считается «активирующимся». Подробнее: прогрев и остывание
Is this page helpful?