Сб. Янв 1st, 2022
    Rust Cup, Free TON

    Ржавый Кубок закончился мировым рекордом скорости и боевой отладкой инновационных решений блокчейна Free TON. Об эпохальности события можно судить как по масштабу проведенных работ, географии участников и длительности конкурса, так и по достигнутым результатам.

    О том, как это было, каковы оценки и выводы, Free TON HOUSE расспросил организаторов гонки и ее непосредственных участников — технического директора TON Labs Митю Горошевского, старшего специалиста по данным и владельца продукта TON Live Blockchain explorer Сергея Зайцева и сразу несколько команд валидаторов.

    Когда в начале 2021 года прошла информация о скором запуске масштабного конкурса валидаторов Rust Cup, цель гонки представлялась участникам и зрителям довольно просто — тестирование новой ноды, написанной на языке программирования Rust. Примерно такие же ожидания были и у организаторов:

    Если честно, когда конкурс начинался, я думал, что мы просто запустим сеть, нагрузим ее и покажем тот результат, который будет на тот момент.
    Митя Горошевский

    Достичь стратосферы

    Новую ноду публичной сети валидаторы в результате протестировали, преодолев сложности, возникшие после запуска. В отличие от ноды на C++, которая была отлажена еще в период проекта Telegram Open Network, новое программное обеспечение, работа над которым велась предыдущие несколько лет, нуждалось в доработках буквально по ходу конкурса. Причем его конфигурация, вкупе с остальными элементами системы, открывала горизонты, от которых невозможно было отказываться, и которые все больше расширяли фронт необходимых работ.

    По аналогии с ракетами, у нас был план разогнать первую ступень, но в результате ее отладки мы собрали всю ракету и решили уже достигнуть стратосферы. Что мы и сделали.
    Митя Горошевский

    Поэтапно процесс с ностальгией вспоминает Сергей Зайцев:
    “первые пять месяцев, с февраля по июнь, занял так называемый warm-up, когда RustNET просто доводилась до состояния, чтобы в ней можно было проводить конкурс. Можно даже выделить в этом warm-up отдельный этап — февраль-апрель — была достигнута стабильность сети Rust-ноды с валидатором. Сеть уже могла более-менее существовать продолжительное время”.

    Под одну гребенку

    Второй задачей конкурса была отработка в основной сети динамического слэшинга, работа которого и должна была расставить участников гонки по призовым местам.

    Но, как оказалось, без серьезной нагрузки в конкурсе слэшинг наказывал прежде всего тех валидаторов, работа которых отличались незначительными нюансами, не имеющими прямого отношения к безопасности сети, например, по пингу или расстоянию от соседей.
    Сергей Зайцев

    С мая по июнь велась работа над настройкой слэшинга и в результате организаторам стало очевидно, что для его эффективного применения в основной сети необходима настолько тонкая настройка, о которой изначально и речи не шло. По сути, организаторы готовились удалять из сети откровенно “слабых” участников, которые  просто бы не проверяли блоки или вовсе отключали свои ноды во время работы.

    Настолько примитивных погрешностей участники себе не позволяли, а слэшить кого-то надо было, штрафы сыпались за мельчайшие нюансы, превратив наказание в рандом.

    Слэшинг будет пересматриваться — в один голос уверили нас организаторы.

    На отладку этой части ушли май-июнь, а в июле работа тестовой сети обнаружила следующее препятствие для достижения рекордных показателей.

    Такого ни у кого больше нет 

    К июлю основная сеть была отлажена, но работала на одном воркчейне. Для достижения рекордных показателей этого оказалось недостаточно. Следующей задачей стало внедрение новых, параллельно работающих воркчейнов.

    И вот такого уже не было ни у Дурова, ни у кого. Мы сделали сеть с десятью воркчейнами и в течение месяца увеличили количество транзакций в секунду в 10 раз.
    Сергей Зайцев

    Просто немыслимое количество кода было написано, отлажено, переписано, отрефактарено, снова отлажено, запущено в боевых условиях, протестировано и так по кругу бесчисленное количество раз. В какой то момент оказалось, что ребята просто не отходили от компьютеров даже когда я выгонял всех отдыхать просто из азарта. Мы просто сказали себе, что отправляемся в стратосферу, чтобы ни случилось.
    Митя Горошевский

    Результат, которого достигла сеть, — не просто мировой рекорд скорости. Созданная с нуля архитектура блокчейна демонстрирует способность к неограниченным возможностям. Как утверждает Сергей Зайцев, блокчейн теперь может поставить в RustNET еще десять воркчейнов, и еще десять, и продолжать увеличивать пропускную способность. Это колоссальное конкурентное преимущество Free TON по отношению к проектам, нацеленным на высокую скорость производимых транзакций. Например, перед Solana, чей достигнутый “в пробирке” показатель 50 000 TPS только подстегивает Free TON к демонстрации реальной пропускной способности основной сети. Или перед блокчейном Cardano, заявившем о подготовленном (но не апробированном) дизайне на миллион транзакций.

    И вот я говорю себе, вы, значит, хотите миллион TPS? Ок, мы покажем вам реальный миллион TPS. Или два. Или двадцать два. Мы не собираемся проигрывать эту гонку ни на каком поле, включая публичное мнение, на любую болтовню мы ответим экспериментом!
    Митя Горошевский

    Solana этого уже не может — добавляет Сергей Зайцев — поскольку они и так на пределе своих архитектурных возможностей.

    Поэтому не исключено, что хотя практической необходимости в таком количестве транзакций в секунду у Free TON сейчас нет, и еще долго будет достаточно одного воркчейна, который может достигать 3-4 000 TPS, но, возможно, будет еще RustNET с большим количеством воркчейнов, чтобы показать, что в перспективе у Free TON возможности, на порядок превосходящие другие блокчейны. Стоит отметить, что в тестовом режиме соревнований эти десять параллельных воркчейнов не были связаны между собой и кроссчейновых операций не предусматривалось. Поэтому, когда в будущем появится необходимость многопоточного запуска, произойдет наладка и данной связи.

    Гонка в два заезда

    Фактически сама кульминационная часть гонки состоялась из двух этапов: 12 августа и в ночь с 31 августа на 1 сентября. После было объявлено о ее успешном завершении.

    Начав с оглушительного сетевого шторма, чуть не положившего половину европейского интернета, — вспоминает участник соревнований Сергей Тюрин весь путь от февраля по август, — в финале мы пришли к рекорду скорости при достаточно приемлемом сетевом трафике.

    Участники проекта FreeTON.one Dmitry M (CEO) и Axel F (CTO), в своих оценках произошедшего категоричны:
    Гонки, в которой валидаторские ноды состязались бы в производительности и наносекундах латенси, накоплении ревордов и сохранении вестинга, наращивая или теряя преимущество, обгоняя или отставая от оппонентов; гонки, 30 дней проведения которой стали бы напряженейшими и увлекательнейшими днями для всего мирового PoS-сообщества, определяя лучших под высокой нагрузкой — ее не было.

    Предложение от команды FreeTON.one следующее — считать произошедший конкурс с февраля по август масштабным тестированием Free TON Rust Testnet и дополнительно провести саму гонку, чтобы установить лучших валидаторов в заездах без случайных факторов.

    Впечатления от гонки от одного из участников. Источник – чат валидаторов в Telegram

    Валидатор Сергей Тюрин ожидал, что это будет соревнование на умения и навыки выбора и настройки серверов, скриптов, умение выбрать наилучшее расположение сервера и хостера, а в результате получилась простая рулетка.

    Это как если в стартовую решетку попадает метеорит и сносит половину участников, — продолжает сравнение с автогонками Сергей Тюрин.

    Чтобы избавиться от ощущения несправедливости, организаторы уже пообещали пересмотреть систему вознаграждения участников.

    Мое предложение — изменить структуру и выдать гораздо больше призов чем изначально предполагалось. Это обосновано тем, что большое число валидаторов поддерживало сеть многие месяцы и будет просто несправедливым лишать их наград, даже если они не вошли в топ-200.
    Митя Горошевский

    Топ-200 сейчас доступно по ссылке, но по вышеизложенным причинам эти данные необходимо воспринимать с долей условности.

    Послевкусие и советы

    Какие же эмоции сейчас у участников соревнований — поинтересовались мы у валидаторов. Все, к кому мы обратились, участвовали в Rust Cup с самого старта, а некоторые даже согласились поделиться информацией о конфигурации своего оборудования.

    Как прекрасно, что конкурс закончился! Хотя, когда ты находишься в состоянии гонки более семи месяцев, ты уже начинаешь привыкать к этому состоянию и после окончания начинаешь скучать.
    Дмитрий Гачко

    Несмотря на множество трудностей на всем протяжении Rust Cup, мы достигли рекордной скорости. Сеть становилась все более устойчивой. Я очень рад, что стал частью этого тестнета, который доказал всем, что подход Мити к архитектуре сети, превосходит все самые смелые ожидания.
    Анатолий Устинов

    TON Labs проделал за это время колоссальную работу по совершенствованию ноды и протокола — соглашается с ним Сергей Тюрин — доработал DApp сервер до состояния, что он смог выдержать рекордную нагрузку.

    Анатолий Устинов дал советы по оборудованию на примере машин, которые они собрали вместе с другим участником, Романом Матусевичем.

    Процессоры — одна машина AMD Ryzen9 5950x. Основная масса была на Epyc 7502p
    Выводы — 5950x прекрасно подойдет на первое время для Rust mainnet
    Память — от 128 до 300+ GB. Такое количество памяти Анатолию Устинову в результате не потребовалось, он ставил ее с запасом на случай утечек памяти и прочих возможных неприятностей. Но ноду оптимизировали настолько качественно, что этого не произошло.
    Хранилище — NVME от 2 до 4 TB. Для уменьшения нагрузки на твердотельные носители.

    Дмитрий Гачко о своем оборудовании:
    90% машин — это сервера CISCO UCS B200 — CPU 2 x 24 ядра, RAM 256Gb, размещенные в двух локациях, — Амстердам и Москва. Основные изменения касались сетевой связности и пропускной способности каналов. К сожалению, в первых версиях ноды были ошибки, приводившие к амплификации трафика — забивались каналы, например, один раз мы утилизировали более 20 гбит/с на одну локацию, в результате чего пришлось отстреливать в блэк хол ip адреса нод. Мы нарастили каналы, но ввиду последующей оптимизации (разработчики начали использовать сжатие данных), это осталось не востребовано. Из-за большого запаса вычислительной мощности нод, никаких проблем с производительностью не наблюдалось.

    Rust Cup — что дальше?

    Со скоростью разобрались, теперь безопасность” — сказал на одной из АМА-сессий Митя Горошевский. Magister Ludi и Rust Cup дали проекту внушительную команду, технологически обеспеченную для самых серьезных достижений. Рекорды скорости и уникальные архитектурные решения, команды валидаторов по всему миру — Восточная Европа, Южная Корея, Франция, Китай, Америка — менее чем за полтора года проект Free TON собрал внушительную коллекцию достижений и продолжает свой путь в стратосфере.

    26
    0