В этом посте мы сравним TON с несколькими другими выдающимися блокчейн-проектами.
Мы будем использовать рамки для классификации блокчейн-проектов, изложенные в разделах 2.8 и 2.9 белой книги TON.
Блокчейн-проекты классифицируются на основе следующих критериев, как указано в разделе 2.8 белой книги TON:
Тип и правила участковых блокчейнов: однородные, гетерогенные или гибридные
Наличие основной цепочки
Родная поддержка шардинга (статического и динамического)
Взаимодействие между блокчейнами: слабое или тесное соединение
Кроме того, в разделе 2.8.15 белой книги TON представлена упрощенная классификация блокчейн-проектов с таблицей, резюмирующей основные характеристики самых популярных проектов, представленных в разделе 2.9.
Solana — это необычный проект 2020-х годов. Это проект с одной блокчейн-сетью, оптимизированный для очень быстрого выполнения специализированных транзакций. В этом плане он напоминает EOS (разрабатывался с 2016 по 2018 годы) и его предшественника, BitShares (разрабатывался в 2013-2014 годах), но использует разновидность PBFT, называемую Tower Consensus, вместо dPOS. Solana утверждает, что генерирует блок каждую секунду или даже быстрее. Однако это имеет свою цену, так как следующий блок генерируется до завершения предыдущего. «В отличие от PBFT, Tower Consensus… Это может привести к созданию временных форков». Когда валидаторы распределены по различным точкам мира, завершение блока в реальной жизни требует нескольких раундов (оптимистичный PBFT фактически является трехфазным протоколом), поэтому лучший сценарий все равно займет несколько секунд. Официальная документация предполагает, что блок обычно завершается после 16 раундов голосования, каждый из которых длится около 400 миллисекунд, что дает время завершения около 6,4 секунд.
Можно сказать, что хотя Tower Consensus официально является вариантом PBFT, он работает лучше, чем консенсус dPOS, который предлагает более короткое время генерации блока, но более долгие сроки его окончательной фиксации.
Еще одной интересной особенностью Solana является оптимизация для выполнения очень простых заранее определенных транзакций, которые не изменяют данные аккаунтов, хотя балансы аккаунтов могут изменяться. Это позволяет выполнять и проверять транзакции в массовом параллельном режиме. В этом отношении Solana схожа с BitShares, предшественником EOS, который использовал dPOS (с коротким временем генерации блоков и длительными сроками финализации блоков) и был оптимизирован для масштабного выполнения простых заранее определенных транзакций. Дополнительно дизайн Solana таков, что, по сравнению с временем генерации этих транзакций, проверка их правильного порядка на высококачественных GPU может быть в 1000 раз быстрее.
В конечном итоге, Solana заявляет, что способна выполнять до 700,000 простых транзакций в секунду, при условии, что эти транзакции не изменяют состояние аккаунтов и не требуют большого объема данных, и что все данные для всех аккаунтов помещаются в оперативную память. Это соответствует обещаниям, сделанным BitShares несколько лет назад. Главное отличие состоит в том, что в отличие от BitShares, Solana поддерживает транзакции, которые не были заранее определены в программном обеспечении блокчейна. Для этого используется разновидность виртуальной машины Berkeley Packet Filter, и ее предварительно скомпилированные программы могут быть загружены в блокчейн Solana и ссылаться на транзакции. Несмотря на то, что Solana формально является тьюринг-полным, часто упоминаемые показатели производительности относятся только к очень простым заранее определенным транзакциям и только в случаях, когда все данные аккаунтов помещаются в оперативную память, поэтому сравнение с BitShares остается актуальным.
В заключение, Solana — это «блокчейн-проект третьего поколения», по терминологии раздела 2.8.15 белой книги TON, который в конечном итоге напоминает BitShares, предшественника EOS, но с дополнительными оптимизациями. Формально тьюринг-полный, он способен выполнять большое количество очень простых транзакций различных заранее определенных типов или меньшее количество общих транзакций. Solana заявляет, что генерирует блоки каждую секунду в среднем и, после будущих обновлений оборудования, может выполнить 700,000 простых транзакций в секунду (хотя фактические показатели близки к 65,000). Solana — это по своей сути не масштабируемый специализированный проект с одной блокчейн-сетью, и без полного редизайна он не может поддерживать или предложить шардинг или различные рабочие цепочки (об этом подробнее в разделе 2.8.16 белой книги TON, где объясняется, почему такой редизайн очень труден). В этом плане Solana отличается от TON, который поддерживает мгновенное развертывание любых сложных смарт-контрактов и предлагает более высокий уровень безопасности благодаря более коротким временам транзакций и финализации блоков в своем механизме консенсуса, а также динамическому шардингу. По мере увеличения нагрузки TON автоматически расширяет блокчейн, создавая все большее количество шардовых цепочек, что предоставляет масштабируемость, невозможную для любой архитектуры с одним блокчейном, такой как Solana.
Естественно, предшественники Solana — другие проекты с одной блокчейн-сетью или слабо связаными многоблокчейн-проекты, такие как EOS — не имели поддержки шардинга. На ранних стадиях они казались многообещающими, но в конечном итоге оказались краткосрочными, так как эти концепции неизбежно сталкивались с ограничениями, которые негативно сказывались на их масштабируемости и стабильности на более поздних этапах. Первые признаки краха блокчейна Solana в сентябре 2021 года указывали на то, что резкий рост числа транзакций «привел к переполнению памяти», и блокчейн фактически застопорился на 17 часов, из-за чего многие валидаторы вышли из строя, замедлив сеть и в конечном итоге остановив ее. Это вызывает вопросы о будущем производительности Solana в реальных транзакциях, в отличие от специально спроектированных очень простых транзакций, которые касаются всего нескольких аккаунтов и выполняются в очень специфических тестовых условиях с сотнями мощных серверов валидаторов, расположенных в одном или нескольких дата-центрах. В этом отношении TON выглядит более устойчивым.
Solana представляет собой интересный случай, воплощающий древний инженерный подход, который доводит присущие ограничения до предела. Это напоминает аналогичные истории из истории технологий, к которым мы проведем параллели в этом обсуждении.
Одной из таких историй является британский паровоз LNER A4 4468 Mallard, который установил мировой рекорд скорости в 203 км/ч в 1938 году. Во время регулярных пассажирских рейсов этот паровоз не достигал таких средних скоростей, а вместо этого двигался на скорости около 150 км/ч. Однако в то время он держал мировой рекорд среди всех типов локомотивов — паровых, дизельных и электрических. Несмотря на это достижение, оно стало технологическим тупиком. Позднее все высокоскоростные поезда, такие как японский Шинкансен, французский TGV и немецкий ICE, перешли на многоблочные электрические поезда. Ключевой инновацией здесь стало распределение мощности по нескольким единицам, когда в каждом вагоне поезда был один или несколько двигателей. Это позволило масштабировать электрические двигатели, чего не смогла добиться паровая технология, которая не имела такой гибкости.
Второй пример — процессоры Intel Pentium 4 в начале 2000-х. Intel обещала увеличить тактовую частоту этих процессоров до 10 ГГц, утверждая, что это обеспечит беспрецедентную производительность. Однако на практике Pentium 4 часто работал медленнее своего предшественника, Pentium 3, несмотря на более высокую тактовую частоту. После того как достигли лимита в 4 ГГц, Intel пересмотрела свой подход, перейдя к многозадачной архитектуре с меньшими тактовыми частотами, но большим количеством ядер в процессоре. Этот многозадачный метод оказался гораздо более масштабируемым и долговечным, и сегодня мы можем купить процессоры с до 64 ядрами. Этот сдвиг аналогичен переходу от одно-блочных поездов к многоблочным системам, где цель ускорить одно ядро оказалось менее жизнеспособной, чем распределение нагрузки между несколькими ядрами.
Третью параллель можно провести из мира суперкомпьютеров, в частности, с машинами Cray, которые были популярны в 1970-х и 1980-х годах. Эти машины в итоге были заменены кластерами из тысяч коммерческих процессоров (обычно серверных версий процессоров Intel и AMD). Сегодня все 100 самых мощных суперкомпьютеров основаны на таких коммерческих кластерах процессоров, что еще раз подтверждает триумф многоблочных систем над единичными, высоко оптимизированными блоками.
Когда мы сравниваем Solana с супер-паровозом, мы видим технологию, которая оптимизирует старую парадигму до ее предела, но в конечном итоге остается не масштабируемой и приводит к тупику. Мы можем восхищаться изобретательностью этих технологических чудес, но в конечном итоге они остаются тупиком в широком контексте эволюции технологий.
Сравнение между TON и Ethereum 2.0 довольно сложное, особенно с учетом того, что разработка и внедрение Ethereum 2.0 не были завершены на 2022 год. Вот что известно на данный момент.
Переход на Ethereum 2.0 будет происходить в несколько этапов. Сначала будет развернута новая Beacon Chain, которая функционирует аналогично основной цепочке, описанной в оригинальной белой книге TON. Эта Beacon Chain будет использовать алгоритм консенсуса PoS под названием Casper. Основная цель — зарегистрировать состояние до 64 шардинговых цепочек (вспомогательных блокчейнов), записывая хеш последнего блока. Что необычно в предлагаемом алгоритме PoS — это участие большого числа валидаторов (по крайней мере 16 384), каждый из которых ставит небольшое количество ETH (по 32 ETH). Эти валидаторы по сути являются обычными узлами Ethereum, но должны ставить 32 ETH. Несмотря на общие проблемы сети Ethereum, связанные с распространением блоков и памяти, этим узлам не требуется специфическое взаимодействие между собой. В этом смысле Ethereum 2.0 выглядит относительно «демократичным» (в отличие от большинства других PoS-блокчейнов, где несколько валидаторов создают блоки в любой момент времени). Однако этот подход имеет свою цену: время подтверждения блоков как для Beacon Chain, так и для 64 шардинговых цепочек составляет примерно 10-15 минут, что означает, что нужно будет ждать это время, чтобы убедиться, что транзакция завершена.
Второй этап перехода включает слияние текущего блокчейна Ethereum 1.0 (PoW) с одной из шардинговых цепочек, что фактически преобразует Ethereum в блокчейн на основе PoS.
Заключительный этап добавит еще 63 шардинговые цепочки, в результате чего будет получено 64 шардинговых цепочек, включая оригинальный блокчейн Ethereum 1.0 и Beacon Chain.
На данный момент неясно, какова будет точная роль 63 новых шардинговых цепочек и как они будут взаимодействовать друг с другом. Без этой информации полное сравнение многоблочных систем остается незавершенным. Тем не менее, кажется, что Ethereum 2.0 избегает взаимодействий между шардинговыми цепочками. Если сообщения передаются между шардингами, блок будет окончательно подтвержден в исходной цепочке через 10-15 минут, прежде чем его можно будет обработать в другой цепочке. Кроме того, эти дополнительные шарды не будут запускать смарт-контракты EVM, хотя есть предположения, что это может измениться в будущем. Вместо этого эти шарды будут в основном служить для распределенного хранения данных, функционируя больше как решения второго уровня, например, как Lightning Network у Bitcoin.
Таким образом, Ethereum 2.0 избегает сложности взаимодействий между шардингами, ограничивая возможности смарт-контрактов отдельными сайдчейнами, а окончательное состояние хранится на шардовых цепочках Ethereum. С этой точки зрения Ethereum 2.0 утверждает, что может масштабироваться с текущих 15 транзакций в секунду до десятков тысяч транзакций в секунду. Однако это утверждение может быть несколько вводящим в заблуждение, поскольку эти «транзакции» значительно отличаются от обычных блокчейн-транзакций и скорее могут относиться к специализированным операциям с ограниченным числом участников, которые становятся видимыми только после завершения.
Если принять, что Ethereum 2.0 сможет обрабатывать десятки тысяч «транзакций» (транзакций сайдчейнов и платежных каналов), можно провести сравнение с TON, который теоретически способен обрабатывать миллиарды таких «транзакций» в секунду благодаря своей архитектуре.
В заключение, Ethereum 2.0 избегает сложных проблем взаимодействия шардингов, присущих оригинальной разработке Ethereum. Он решает расширить блокчейн Ethereum 1.0 на 63 дополнительные шардинговые цепочки, которые в основном хранят данные сайдчейнов и платежных каналов. Хотя подход Ethereum 2.0 можно назвать прагматичным, он выглядит несколько скромным, особенно для проекта, который первым внедрил смарт-контракты с полной поддержкой Тьюринга. В своей текущей форме Ethereum 2.0 не нацелен на достижение той скорости и универсальности, которые уже были достигнуты TON.
Блокчейн TON был задуман и описан в 2017 году, а его белая книга изложила причины, по которым сделанные проектировщиками выборы были критически важны для создания действительно масштабируемого блокчейна, способного обрабатывать миллионы транзакций в секунду без кардинальных изменений в логике и взаимодействиях смарт-контрактов. Именно поэтому TON был выбран как единственный проект "блокчейна пятого поколения" на тот момент.
С тех пор появились новые блокчейн-проекты, которые должны были преодолеть ограничения более старых проектов, упомянутых в белой книге TON, и, возможно, предложить новые методы разработки блокчейнов. Однако мы стали свидетелями возрождения блокчейн-дизайнов, основанных на идеях, которые уже считались устаревшими в 2017 году, таких как Solana. Запущенная в 2019 году, Solana представляет собой "блокчейн третьего поколения", который является альтернативой подходу TON, но сталкивается с похожими проблемами масштабируемости, как и более старые проекты, такие как BitShares и EOS. Если история чему-то нас учит, то в 2028 году Solana может оказаться в аналогичном положении, сталкиваясь с теми же ограничениями. Более того, добавление шардинга в Solana для решения ее проблем с масштабируемостью вряд ли окажется осуществимым.
Еще одним разочаровывающим решением является Ethereum 2.0, который, похоже, подрывает исходное достижение Ethereum — смарт-контракты с полной поддержкой Тьюринга, намекая, что они на самом деле не столь полезны. В контексте этого Ethereum 2.0 иллюстрирует общий принцип, касающийся и Solana: если проблемы взаимодействия шардингов не будут решены, масштабируемые решения, такие как шардинг, не смогут работать в блокчейн-системах, которые изначально не учитывают эти особенности.
На 2022 год блокчейн TON остается одним из немногих действительно масштабируемых проектов, способных обрабатывать миллионы транзакций в секунду и потенциально десятки миллионов с минимальными внутренними изменениями. С момента своего появления TON остается на переднем крае технологий блокчейнов.
За пять лет с момента его запуска высокопроизводительные тестовые и основные сети на базе технологии TON подтвердили эффективность архитектурного подхода, изложенного в оригинальной белой книге.