Шарды
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
Шардинг — это зрелая концепция, зародившаяся в проектировании баз данных. Она предполагает разделение и распределение одного логического набора данных по нескольким базам данных, которые не имеют ничего общего и могут быть развернуты на нескольких серверах. Проще говоря, шардинг обеспечивает горизонтальную масштабируемость — разделение данных на отдельные, независимые части, которые можно обрабатывать параллельно. Это ключевая концепция перехода мира от данных к большим данным. Когда наборы данных становятся слишком большими для обработки традиционными средствами, нет другого способа масштабирования, кроме как разбить их на более мелкие части.
Механизм шардинга в блокчейне TON позволяет обрабатывать большое количество транзакций. Блокчейн TON состоит из одного мастерчейна и до 232 воркчейнов. Каждый воркчейн — это отдельная цепочка со своими правилами. Каждый воркчейн может быть дополнительно разделен на 260 шардчейнов или субшардов, содержащих часть состояния воркчейна. В настоящее время в TON работает только один воркчейн — Бейсчейн. Основная идея шардирования в TON заключается в том, что когда аккаунт A отправляет сообщение аккаунту B, а аккаунт C отправляет сообщение аккаунту D, обе эти операции могут выполняться асинхронно.
По умолчанию в бейсчейне (workchain=0
) есть только один шард с номером шарда 0x800000000000000000
(или 10000000000000000000000000000000000000000000000000000000000000000000000
в двоичном представлении). Мастерчейн (workchain=-1
) всегда имеет один и только один шард.
Мастерчейн
Мастерчейн — это основная цепочка, которая хранит конфигурацию сети и конечное состояние всех воркчейнов. Вы можете понять это так, что мастерчейн является основным каталогом, единым источником информации для всех шардов экосистемы.
Он несет основную информацию о протоколе, включая текущие настройки, список активных валидаторов и их доли, активные воркчейны и связанные шардчейны. Самое главное, он ведет учет последних хэшей блоков для всех воркчейнов и шардчейнов, обеспечивая консенсус всей сети.
Воркчейн
Мастерчейн разделяется на отдельные цепочки, называемые воркчейнами. Воркчейны — это настраиваемые блокчейны, адаптированные под определенные транзакции или варианты использования, работающие параллельно в сети TON.
Уникальность
При проектировании блокчейна TON были приняты два ключевых решения, которые делают его уникальным среди других блокчейнов, использующих шардинг.
Во-первых, TON обеспечивает динамическую сегментацию блокчейна в зависимости от нагрузки на сеть. Когда количество транзакций увеличивается до критического уровня, блокчейн автоматически разделяется на два отдельных шарда. Если нагрузка на одну из частей продолжает расти, она снова разделяется пополам, и этот процесс продолжается по мере необходимости. Если количество транзакций уменьшается, шарды могут снова объединяться. Эта адаптивная модель позволяет создавать столько шардов, сколько необходимо в данный момент времени.
Второе решение, отличающее TON, — это принцип нефиксированного количества шардов. В отличие от систем типа Ethereum 2.0, которые поддерживают фиксированное количество шардов (64 шарда), TON позволяет добавлять все больше и больше шардов в зависимости от потребностей сети, с теоретическим пределом в 260 шардов на воркчейн. Это число настолько велико, что практически безгранично, и позволяет предоставить более 100 миллионов шардов каждому человеку на Земле и при этом иметь запас. Такой подход — единственный способ удовлетворить динамические требования к масштабированию, которые трудно предсказать заранее.