Архитектура TON: MasterChain, BaseChain и шарды - полный разбор
Блокчейн TON (The Open Network) - это мультичейн-система, построенная по принципу динамического шардирования. Чтобы разобраться в её архитектуре, нужно понять взаимодействие воркчейнов, мастерчейна и шардов. В этой статье мы ответим на самые частые вопросы новичков и объясним, как устроена сеть.
Что такое воркчейны и сколько их в TON?
Теоретически TON поддерживает до 2^32 воркчейнов, каждый из которых может делиться на 2^60 шардов. Однако на практике в сети работают только два воркчейна: MasterChain (workchain=-1) и BaseChain (workchain=0).
Почему так мало? Причина в том, что для большинства приложений достаточно одной базовой цепочки. MasterChain выполняет роль координатора: хранит конфигурацию сети, хэши последних блоков всех остальных цепочек и обеспечивает финализацию транзакций. BaseChain, в свою очередь, используется для повседневных операций между пользователями - переводов, смарт-контрактов и т.д.
Дополнительные воркчейны могут быть созданы при необходимости, например, для специализированных приложений с особыми правилами. Но пока экосистема TON не требует расширения.
MasterChain и BaseChain: это разные воркчейны или подсистемы?
MasterChain и BaseChain - это два отдельных воркчейна, каждый со своими функциями. MasterChain (workchain=-1) всегда один и содержит только один шард. Он отвечает за глобальное состояние сети: хранит хэши всех блоков из других цепочек, управляет конфигурацией и обрабатывает ключевые события (например, изменения параметров сети).
BaseChain (workchain=0) - это основной воркчейн для пользовательских транзакций. По умолчанию в нём существует один шард, но при росте нагрузки он может динамически разделяться на несколько шардов. Это и есть механизм шардирования TON, который позволяет масштабировать сеть без потери производительности.
Почему MasterChain имеет только один шард?
MasterChain не предназначен для обработки массовых транзакций. Его задача - координировать работу всех остальных цепочек. Если бы MasterChain шардировался, усложнилась бы синхронизация: блоки шардов должны быть согласованы между собой. Поэтому разработчики TON сделали MasterChain монолитным - с единственным шардом, который содержит всю необходимую информацию о сети.
Это не ограничивает масштабируемость, так как основная нагрузка приходится на BaseChain и его шарды. MasterChain лишь фиксирует состояние системы после каждого блока.
Почему в блоке MasterChain указаны шарды с workchain=0?
Рассмотрим пример: блок MasterChain с seqno=34607821 содержит два шарда: (0,4000000000000000,40485798) и (0,c0000000000000000000,40485843). Здесь workchain=0 означает, что эти шарды принадлежат BaseChain, а не MasterChain. Блоки MasterChain включают информацию о шардах других воркчейнов - так достигается глобальная консистентность.
Числа шардов (например, 4611686018427387904 и -4611686018427387904) - это идентификаторы шардов в двоичном представлении. Минус перед числом указывает на то, что шард относится к правой ветке дерева шардирования (в TON используется бинарное дерево). Оба шарда являются частью BaseChain, но обрабатывают разные подмножества адресов.
Что такое seqno в контексте блоков и транзакций?
Seqno (sequence number) - это порядковый номер, который используется как для транзакций, так и для блоков. В случае блока seqno - это его номер в цепочке (например, блок №34607821 в MasterChain). Для транзакций seqno указывает на порядковый номер в рамках конкретного смарт-контракта или аккаунта.
В примере выше seqno 40485798 и 40485843 - это номера блоков в соответствующих шардах BaseChain. MasterChain фиксирует их, чтобы обеспечить неизменность цепочки после подтверждения.
Как работает шардирование в TON?
Шардирование в TON динамическое: если нагрузка на один шард превышает порог, он разделяется на два дочерних шарда. Каждый шард обрабатывает свой диапазон адресов (на основе последних битов). MasterChain отслеживает все шарды и их блоки, поэтому любой наблюдатель может восстановить полное состояние сети по одному блоку MasterChain.
Благодаря этой архитектуре TON может обрабатывать миллионы транзакций в секунду, сохраняя децентрализацию и безопасность.
Заключение
Архитектура TON - это продуманная мультичейн-система с MasterChain, BaseChain и динамическим шардированием. Понимание различий между воркчейнами и роли шардов поможет вам глубже разобраться в работе сети. Если у вас остались вопросы, задавайте их в комментариях - мы продолжим разбирать тонкости TON.