По какой причине разные рабочие цепочки используют идентификаторы учетных записей, которые короче или длиннее "стандартных" 256 бит, используемых в мастер-цепочке?
-
В техническом документе указано: "2.1.1. Адреса учетных записей.` мы получили описание ниже:
The source address and destination address are always present in any message. Normally, they are (full) account addresses. A full account address consists of a workchain_id (a signed 32-bit big-endian integer defining a workchain), followed by a (usually) 256-bit internal address or account identifier account_id (which may also be interpreted as an un- signed big-endian integer) defining the account within the chosen workchain.
По какой причине разные рабочие цепочки используют идентификаторы учетных записей, которые могут быть короче или длиннее стандартных 256 бит, используемых в мастер-цепочке?
-
Блокчейн TON спроектирован как многоцепочечная архитектура, в которой различные рабочие цепочки работают независимо, но также взаимодействуют друг с другом.
Адреса учетных записей в TON состоят из двух частей:
workchain_id
: 32-разрядное целое число со знаком big-endian, которое определяет рабочую цепочку.account_id
: 256-битный внутренний адрес или идентификатор учетной записи, который определяет учетную запись в выбранной рабочей цепочке.В отрывке упоминается, что разные рабочие цепочки могут использовать идентификаторы учетных записей (account_id) различной длины, которые могут быть короче или длиннее стандартных 256 бит, используемых в мастер-цепочке (workchain_id = -1) и базовой рабочей цепочке (workchain_id = 0). Такая гибкость позволяет разрабатывать различные рабочие цепочки с разной длиной идентификатора учетной записи в зависимости от их конкретных требований и вариантов использования.
Однако существует ограничение, согласно которому account_id должен иметь длину не менее 64 бит для любой рабочей цепочки. Это ограничение обеспечивает минимальный уровень безопасности и уникальности идентификаторов учетных записей в рабочих цепочках.
В этом отрывке также объясняется, что только первые 64 бита account_id имеют отношение к маршрутизации сообщений и разделению цепочки сегментов. Это означает, что, несмотря на то, что account_id может различаться по длине в разных рабочих цепочках, общая часть идентификатора используется для маршрутизации и операций с сегментными цепочками, обеспечивая эффективную связь между рабочими цепочками.
Таким образом, TON позволяет различным рабочим цепочкам иметь различную длину идентификатора учетной записи в соответствии с конкретными вариантами использования и требованиями. Однако для всех идентификаторов учетных записей требуется минимальная длина в 64 бита, и только первые 64 бита используются для маршрутизации сообщений и разделения цепочки сегментов.