Блог

Что такое шреды Solana и почему они важны?

Шреды — фундаментальная единица данных в протоколе Turbine. Понимание их работы — ключ к построению более быстрых MEV стратегий.

GetShreds Engineering

Solana разбивает каждый блок на маленькие фрагменты, называемые шредами, перед их передачей через Turbine — древовидный протокол распространения. Каждый шред содержит часть транзакций блока, закодированную с помощью кодов коррекции ошибок Reed-Solomon для избыточности. Такая архитектура позволяет сети эффективно распространять данные блока без необходимости каждому валидатору скачивать полный блок из одного источника. Вместо этого валидаторы получают шреды от нескольких пиров в древовидной структуре, что кардинально снижает требования к полосе пропускания и время распространения.

Один блок Solana может генерировать сотни шредов. Каждый из них — небольшой пакет, обычно около 1 228 байт, содержащий фрагмент сериализованных данных транзакций, а также метаданные: номер слота, индекс шреда и информацию о кодировании стирания. Кодирование Reed-Solomon означает, что даже при потере некоторых шредов во время распространения полный блок может быть восстановлен из подмножества общего количества шредов. Эта избыточность обеспечивает надёжность Turbine даже в нестабильных сетевых условиях.

Для трейдеров и MEV-поисковиков доступ к шредам до полной реконструкции блока даёт критическое временное преимущество. Вместо ожидания полного блока вы можете начать обработку транзакций по мере поступления отдельных шредов, экономя миллисекунды в вашем пайплайне. Рассмотрим временную шкалу: лидер-валидатор производит шреды по мере обработки транзакций. Эти шреды распространяются через дерево Turbine в реальном времени. Тем временем традиционные RPC-эндпоинты раскрывают данные транзакций только после полной реконструкции, валидации и подтверждения блока. Подключаясь к слою шредов напрямую, вы полностью пропускаете этапы реконструкции и валидации.

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

В Solana существуют два основных типа шредов: шреды данных и шреды кодирования. Шреды данных содержат фактические данные транзакций, а шреды кодирования — информацию чётности Reed-Solomon, необходимую для реконструкции. Для большинства MEV и торговых сценариев вас в первую очередь интересуют шреды данных, поскольку они содержат необработанные полезные данные транзакций для анализа. Однако доступ к шредам кодирования может быть ценен для обеспечения полной реконструкции блоков в вашей собственной инфраструктуре.

GetShreds подключается напрямую к Turbine, пересылая сырые шреды в вашу инфраструктуру через UDP. Это значит, что вы видите данные транзакций в самый ранний возможный момент — до того, как они станут доступны через стандартные RPC-эндпоинты. Наши edge-ноды во Франкфурте и Амстердаме подключаются к дереву Turbine и немедленно пересылают каждый шред как независимый UDP-пакет на указанный вами IP и порт. Формат совместим с Jito, поэтому существующие пайплайны обработки шредов могут потреблять данные без модификации. Независимо от того, запускаете ли вы валидатор, строите MEV-бота или разрабатываете аналитику, доступ к сырым шредам даёт вам самое раннее представление об активности в сети.