TON обладает основной технологической логикой, сосредоточенной на высокоскоростных приложениях: TON берет свое начало от Telegram, где транзакции напрямую записываются в цепочку на основе сообщений, поддерживая одноранговое общение.
Динамическая многоосколочная архитектура TON способствует масштабируемости приложений: TON повышает скорость работы за счет параллельных запросов, улучшает точность запросов благодаря динамическому чередованию и расширяет возможности за счет структуры "мешок ячеек".
В будущем TON продолжит оптимизировать свою техническую базу: Благодаря параллельному расширению, внедрению инструментов шардинга цепочек и усилению проверки узлов, TON стремится сохранить свои преимущества в скорости и масштабируемости.
Масштабируемость блокчейна - важнейшая техническая задача и ключевой фактор развития технологии блокчейн: По мере развития блокчейн-приложений и увеличения числа пользователей существующие блокчейн-сети часто сталкиваются с проблемами недостаточной пропускной способности и длительного времени подтверждения транзакций. Традиционная конструкция блокчейна ограничивает его способность обрабатывать масштабные транзакции и запросы пользователей, что приводит к перегрузке сети, высоким транзакционным издержкам и неэффективности.
Проблемы масштабируемости блокчейна в первую очередь связаны с распределенной архитектурой и механизмом консенсуса: Механизм консенсуса и распределенная природа блокчейна требуют, чтобы каждый узел в сети проверял и записывал все транзакции, что ограничивает пропускную способность сети. Кроме того, безопасность и децентрализованность блокчейна требуют, чтобы все узлы хранили полные копии блокчейна, что увеличивает нагрузку на хранение и передачу данных.
Чтобы решить проблему масштабируемости блокчейна, исследователи предложили различные решения для масштабирования, такие как шардинг, сайдчейн и решения второго уровня: Эти подходы направлены на повышение пропускной способности и производительности сети за счет разделения сети на более мелкие сегменты, создания независимых блокчейнов или дополнительных структур на основной цепи. Однако эти решения порождают новые технические проблемы и вопросы безопасности, такие как межплатная связь, межплатная передача активов и разработка механизма консенсуса.
Блокчейн TON, созданный на основе Telegram, был задуман с целью обслуживания огромного количества пользователей: Telegram - одна из самых популярных социальных платформ в мире, насчитывающая более 800 миллионов ежемесячных активных пользователей и ежедневно передающая миллиарды сообщений внутри программы. TON, как выход Telegram в web3, с самого начала разрабатывался с расчетом на миллиарды пользователей, а не на небольшую пользовательскую базу.
Шардинг в TON осуществляется по принципу "снизу вверх": В то время как обычные схемы шардинга блокчейна обычно используют подход "сверху вниз", сначала создавая единый блокчейн, а затем разбивая его на интерактивные блокчейны для повышения производительности, в шардинге TON используется подход "снизу вверх". Он организует эти цепочки аккаунтов в шард-цепочки, образуя шард-цепочку, где рабочие цепочки существуют исключительно в виртуальной или логической форме. TON обеспечивает параллельную обработку транзакций в нескольких цепочках, называемых "блокчейн из блокчейнов". Такой подход эффективно повышает производительность системы.
В TON реализована динамическая архитектура шардинга, состоящая из мастер-цепи, рабочей цепи и шард-цепи: Мастерчейн координирует работу, в то время как фактическая обработка транзакций происходит в различных рабочих цепях и шардчейнах. Кроме того, шардинг в TON динамический, каждый аккаунт функционирует как шардчейн. Они могут адаптивно объединяться в более крупные цепочки шардов на основе взаимодействия между аккаунтами для решения задач динамического расширения.
Если шардинг достигнет своего предела, каждый шардчейн будет хранить только одну учетную запись или смарт-контракт. В результате возникает множество "цепочек аккаунтов", описывающих состояние и переходы отдельных аккаунтов, причем эти цепочки взаимно передают информацию, образуя Workchain через Shardchains.
Сообщение: Поскольку TON использует функцию FunC send_raw_message для разработки своего языка, сообщения, передаваемые узлами TON, называются "сообщениями". Транзакция в TON состоит из входящего сообщения, которое первоначально запускает ее, и набора исходящих сообщений, которые отправляются другим контрактам;
Гиперкубическая маршрутизация: Трехмерный структурированный механизм обмена сообщениями, позволяющий быстро доставлять и обрабатывать сообщения, созданные в одном блоке черепной цепочки, в следующий блок целевой черепной цепочки.
Асинхронные вызовы создают проблемы с синхронизацией: В синхронных блокчейнах транзакции могут включать в себя несколько вызовов смарт-контрактов. В асинхронных системах пользователи не могут оперативно получать ответы от целевого смарт-контракта в той же транзакции. Эта задержка связана с тем, что обработка вызовов по контракту может занять несколько блоков, а расстояние маршрутизации между исходным и конечным блоками влияет на этот процесс.
Чтобы добиться бесконечного шардинга, необходимо обеспечить полное распараллеливание сообщений, что привело к введению понятия логического времени: В TON каждая транзакция выполняется исключительно на одном смарт-контракте, а связь между контрактами осуществляется с помощью сообщений. Это вводит концепцию логического времени в асинхронных цепочках, позволяя синхронизировать сообщения между цепочками. Каждое сообщение имеет свое логическое время или время Лампорта (далее lt). Это время используется для отслеживания взаимосвязей между событиями и определения того, какие события валидаторы должны обрабатывать в первую очередь.
Логика выполнения гарантируется строгим соблюдением порядка выполнения сообщений lt: Сообщения, отправленные со счета, и транзакции, происходящие на счете, строго упорядочены, причем lt сгенерированных транзакций больше, чем lt сообщений. Кроме того, lt сообщений, отправленных в транзакции, строго больше, чем lt транзакции, вызвавшей эти сообщения. В случае нескольких сообщений, те, у которых меньше lt, обрабатываются раньше.
В TON используется параллельное выполнение с быстрой маршрутизацией + медленной маршрутизацией:
Медленная маршрутизация: Более стабильный и традиционный метод межцепочечной обработки информации, при котором информация упаковывается в блок на исходной цепочке, а затем передается из одной цепочки осколков в другую через ретранслятор. Для передачи также можно использовать несколько промежуточных цепочек шардов. Все цепочки шардов образуют граф "гиперкуб", и сообщения распространяются по ребрам этого гиперкуба. После проверки валидаторами информация упаковывается в другой блок.
Преимущество медленной маршрутизации заключается в более высокой безопасности и децентрализации, поскольку вся информация должна пройти полный процесс подтверждения блока. Для гиперкубической сети из цепочек осколков с масштабом N количество маршрутов hop = log16(N). Таким образом, для поддержки миллиона цепочек шардов требуется всего 4 узла маршрутизации.
Быстрая маршрутизация: При медленной маршрутизации сообщения распространяются по граням гиперкуба. Чтобы ускорить процесс, Fast Routing позволяет валидаторам цепочки шардов назначения заранее обработать сообщение, предоставить доказательство Меркла и отправить квитанцию, чтобы уничтожить передающее сообщение.
Быстрая маршрутизация работает быстрее (узлы могут найти оптимальный путь) и предотвращает двойную доставку. Однако он не может заменить медленную маршрутизацию, поскольку валидаторы не наказываются за потерю квитанций, что создает определенный риск безопасности.
"Мешок ячеек": Набор ячеек, обновляемый подобно направленному ациклическому графу (Directed Acyclic Graph, DAG). Для этого нужно представить новое состояние как еще один "мешок ячеек" с собственным корнем, а затем объединить новый и старый наборы ячеек, одновременно удалив старый корень.
Вертикальный ремонт блоков: В цепочках шардов TON каждый блок - это не просто отдельный блок, а цепочка. Когда необходимо исправить блок в ошибочной цепочке шардов, в "вертикальную цепочку блоков" будет отправлен новый блок для замены.
POS-сеть состоит из трех ролей:
BFT (Byzantine Fault Tolerance): TON, взвесив варианты, выбирает BFT вместо DPOS за более высокий уровень доверия и скорость, несмотря на то, что DPOS быстрее.
TON достигает высокой скорости и законченности транзакций благодаря динамической архитектуре с несколькими шардами: Каждый пользовательский кошелек в TON может иметь собственную цепочку, а теоретическая основа высокой TPS включает в себя параллельное вычисление шардов, поддержку мгновенной межшардовой связи и TVM, поддерживающий асинхронные вычисления.
TON обеспечивает более высокую масштабируемость благодаря механизму передачи информации: в блокчейне TON вызовы между смарт-контрактами асинхронны, а не атомарны. Это означает, что когда один смарт-контракт вызывает другой, вызов не выполняется немедленно, а обрабатывается в каком-то будущем блоке после завершения транзакции. Такая конструкция обеспечивает более высокую масштабируемость, поскольку не требует завершения обработки всех транзакций в одном блоке.
Техническая дорожная карта TON будет постоянно развивать преимущества TON в скорости и масштабируемости:
TON обладает основной технологической логикой, сосредоточенной на высокоскоростных приложениях: TON берет свое начало от Telegram, где транзакции напрямую записываются в цепочку на основе сообщений, поддерживая одноранговое общение.
Динамическая многоосколочная архитектура TON способствует масштабируемости приложений: TON повышает скорость работы за счет параллельных запросов, улучшает точность запросов благодаря динамическому чередованию и расширяет возможности за счет структуры "мешок ячеек".
В будущем TON продолжит оптимизировать свою техническую базу: Благодаря параллельному расширению, внедрению инструментов шардинга цепочек и усилению проверки узлов, TON стремится сохранить свои преимущества в скорости и масштабируемости.
Масштабируемость блокчейна - важнейшая техническая задача и ключевой фактор развития технологии блокчейн: По мере развития блокчейн-приложений и увеличения числа пользователей существующие блокчейн-сети часто сталкиваются с проблемами недостаточной пропускной способности и длительного времени подтверждения транзакций. Традиционная конструкция блокчейна ограничивает его способность обрабатывать масштабные транзакции и запросы пользователей, что приводит к перегрузке сети, высоким транзакционным издержкам и неэффективности.
Проблемы масштабируемости блокчейна в первую очередь связаны с распределенной архитектурой и механизмом консенсуса: Механизм консенсуса и распределенная природа блокчейна требуют, чтобы каждый узел в сети проверял и записывал все транзакции, что ограничивает пропускную способность сети. Кроме того, безопасность и децентрализованность блокчейна требуют, чтобы все узлы хранили полные копии блокчейна, что увеличивает нагрузку на хранение и передачу данных.
Чтобы решить проблему масштабируемости блокчейна, исследователи предложили различные решения для масштабирования, такие как шардинг, сайдчейн и решения второго уровня: Эти подходы направлены на повышение пропускной способности и производительности сети за счет разделения сети на более мелкие сегменты, создания независимых блокчейнов или дополнительных структур на основной цепи. Однако эти решения порождают новые технические проблемы и вопросы безопасности, такие как межплатная связь, межплатная передача активов и разработка механизма консенсуса.
Блокчейн TON, созданный на основе Telegram, был задуман с целью обслуживания огромного количества пользователей: Telegram - одна из самых популярных социальных платформ в мире, насчитывающая более 800 миллионов ежемесячных активных пользователей и ежедневно передающая миллиарды сообщений внутри программы. TON, как выход Telegram в web3, с самого начала разрабатывался с расчетом на миллиарды пользователей, а не на небольшую пользовательскую базу.
Шардинг в TON осуществляется по принципу "снизу вверх": В то время как обычные схемы шардинга блокчейна обычно используют подход "сверху вниз", сначала создавая единый блокчейн, а затем разбивая его на интерактивные блокчейны для повышения производительности, в шардинге TON используется подход "снизу вверх". Он организует эти цепочки аккаунтов в шард-цепочки, образуя шард-цепочку, где рабочие цепочки существуют исключительно в виртуальной или логической форме. TON обеспечивает параллельную обработку транзакций в нескольких цепочках, называемых "блокчейн из блокчейнов". Такой подход эффективно повышает производительность системы.
В TON реализована динамическая архитектура шардинга, состоящая из мастер-цепи, рабочей цепи и шард-цепи: Мастерчейн координирует работу, в то время как фактическая обработка транзакций происходит в различных рабочих цепях и шардчейнах. Кроме того, шардинг в TON динамический, каждый аккаунт функционирует как шардчейн. Они могут адаптивно объединяться в более крупные цепочки шардов на основе взаимодействия между аккаунтами для решения задач динамического расширения.
Если шардинг достигнет своего предела, каждый шардчейн будет хранить только одну учетную запись или смарт-контракт. В результате возникает множество "цепочек аккаунтов", описывающих состояние и переходы отдельных аккаунтов, причем эти цепочки взаимно передают информацию, образуя Workchain через Shardchains.
Сообщение: Поскольку TON использует функцию FunC send_raw_message для разработки своего языка, сообщения, передаваемые узлами TON, называются "сообщениями". Транзакция в TON состоит из входящего сообщения, которое первоначально запускает ее, и набора исходящих сообщений, которые отправляются другим контрактам;
Гиперкубическая маршрутизация: Трехмерный структурированный механизм обмена сообщениями, позволяющий быстро доставлять и обрабатывать сообщения, созданные в одном блоке черепной цепочки, в следующий блок целевой черепной цепочки.
Асинхронные вызовы создают проблемы с синхронизацией: В синхронных блокчейнах транзакции могут включать в себя несколько вызовов смарт-контрактов. В асинхронных системах пользователи не могут оперативно получать ответы от целевого смарт-контракта в той же транзакции. Эта задержка связана с тем, что обработка вызовов по контракту может занять несколько блоков, а расстояние маршрутизации между исходным и конечным блоками влияет на этот процесс.
Чтобы добиться бесконечного шардинга, необходимо обеспечить полное распараллеливание сообщений, что привело к введению понятия логического времени: В TON каждая транзакция выполняется исключительно на одном смарт-контракте, а связь между контрактами осуществляется с помощью сообщений. Это вводит концепцию логического времени в асинхронных цепочках, позволяя синхронизировать сообщения между цепочками. Каждое сообщение имеет свое логическое время или время Лампорта (далее lt). Это время используется для отслеживания взаимосвязей между событиями и определения того, какие события валидаторы должны обрабатывать в первую очередь.
Логика выполнения гарантируется строгим соблюдением порядка выполнения сообщений lt: Сообщения, отправленные со счета, и транзакции, происходящие на счете, строго упорядочены, причем lt сгенерированных транзакций больше, чем lt сообщений. Кроме того, lt сообщений, отправленных в транзакции, строго больше, чем lt транзакции, вызвавшей эти сообщения. В случае нескольких сообщений, те, у которых меньше lt, обрабатываются раньше.
В TON используется параллельное выполнение с быстрой маршрутизацией + медленной маршрутизацией:
Медленная маршрутизация: Более стабильный и традиционный метод межцепочечной обработки информации, при котором информация упаковывается в блок на исходной цепочке, а затем передается из одной цепочки осколков в другую через ретранслятор. Для передачи также можно использовать несколько промежуточных цепочек шардов. Все цепочки шардов образуют граф "гиперкуб", и сообщения распространяются по ребрам этого гиперкуба. После проверки валидаторами информация упаковывается в другой блок.
Преимущество медленной маршрутизации заключается в более высокой безопасности и децентрализации, поскольку вся информация должна пройти полный процесс подтверждения блока. Для гиперкубической сети из цепочек осколков с масштабом N количество маршрутов hop = log16(N). Таким образом, для поддержки миллиона цепочек шардов требуется всего 4 узла маршрутизации.
Быстрая маршрутизация: При медленной маршрутизации сообщения распространяются по граням гиперкуба. Чтобы ускорить процесс, Fast Routing позволяет валидаторам цепочки шардов назначения заранее обработать сообщение, предоставить доказательство Меркла и отправить квитанцию, чтобы уничтожить передающее сообщение.
Быстрая маршрутизация работает быстрее (узлы могут найти оптимальный путь) и предотвращает двойную доставку. Однако он не может заменить медленную маршрутизацию, поскольку валидаторы не наказываются за потерю квитанций, что создает определенный риск безопасности.
"Мешок ячеек": Набор ячеек, обновляемый подобно направленному ациклическому графу (Directed Acyclic Graph, DAG). Для этого нужно представить новое состояние как еще один "мешок ячеек" с собственным корнем, а затем объединить новый и старый наборы ячеек, одновременно удалив старый корень.
Вертикальный ремонт блоков: В цепочках шардов TON каждый блок - это не просто отдельный блок, а цепочка. Когда необходимо исправить блок в ошибочной цепочке шардов, в "вертикальную цепочку блоков" будет отправлен новый блок для замены.
POS-сеть состоит из трех ролей:
BFT (Byzantine Fault Tolerance): TON, взвесив варианты, выбирает BFT вместо DPOS за более высокий уровень доверия и скорость, несмотря на то, что DPOS быстрее.
TON достигает высокой скорости и законченности транзакций благодаря динамической архитектуре с несколькими шардами: Каждый пользовательский кошелек в TON может иметь собственную цепочку, а теоретическая основа высокой TPS включает в себя параллельное вычисление шардов, поддержку мгновенной межшардовой связи и TVM, поддерживающий асинхронные вычисления.
TON обеспечивает более высокую масштабируемость благодаря механизму передачи информации: в блокчейне TON вызовы между смарт-контрактами асинхронны, а не атомарны. Это означает, что когда один смарт-контракт вызывает другой, вызов не выполняется немедленно, а обрабатывается в каком-то будущем блоке после завершения транзакции. Такая конструкция обеспечивает более высокую масштабируемость, поскольку не требует завершения обработки всех транзакций в одном блоке.
Техническая дорожная карта TON будет постоянно развивать преимущества TON в скорости и масштабируемости: