:RU: Неспешный и устойчивый выигрывает гонку: эволюция сети для роста сети

Перевод статьи Slow and steady wins the race: network evolution for network growth - IOHK Blog

После успешного начала эры смарт контрактов на Cardano мы вскоре внесем первые изменения в программу сетевых корректировок для поддержки будущего роста

image

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

Теперь, когда прочно создана безопасная, высоко децентрализованная сеть с доказательством ставки (PoS) и развернуты основные возможности смарт контрактов, мы переходим к этапу Basho, ориентированному на оптимизацию, масштабирование и рост сети.

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

По мере того как основные компоненты, включая соединители кошельков и серверную часть приложений Plutus Application Backend (PAB), будут доработаны и интегрированы в основную сеть, мы ожидаем значительного роста сетевой активности. Начнется запуск целого ряда проектов, основанных на Cardano, сначала в тестовой сети, а затем в основной сети. Они будут только увеличиваться, и в ближайшие месяцы в Cardano могут появиться сотни тысяч новых пользователей со всех сторон спектра блокчейна.

Неизбежно мы можем ожидать значительного трафика в связи с запуском новых децентрализованных приложений (dApps), особенно в первые дни и недели. Чтобы учесть этот продолжающийся рост и гарантировать, что Cardano сохранит свою устойчивость и надежность, мы сейчас начинаем вносить ряд изменений в параметры сети. Эти изменения параметров обеспечат постоянные улучшения и усовершенствования удобства использования и работы Cardano для всего круга пользователей.

Спроектирован для роста

Ouroboros предназначен для обработки большого объема данных, а также транзакций и сценариев различной сложности и размера. В настоящее время и при текущих параметрах сеть Cardano использует в среднем лишь около 25% своей пропускной способности. Это недостаточно оптимально, потому что в действительности наиболее эффективный сценарий это когда Cardano работает на уровне 100% или близком к своей полной пропускной способности (т.е. сеть “насыщена”).

Многие сетевые решения пострадали бы в таких условиях, но как Ouroboros, так и сетевой стек Cardano были спроектированы так, чтобы быть справедливыми и очень устойчивыми даже при большой насыщенности.

Эффективные системы предназначены для минимизации перегрузок, обеспечивая при этом эффективное управление, когда это все-таки происходит. Вы можете прочитать больше в этом недавнем блоге, а если вкратце, то сеть использует противодавление для управления общей нагрузкой на систему. Таким образом, несмотря на то, что некоторые отдельные пользователи во время большой раздачи NFT могут испытывать более длительное время ожидания своих транзакций, это не означает, что сеть “испытывает трудности”. На самом деле это означает, что сеть работает так, как задумано. Мы называем это “изящной деградацией”, и вы можете изучить это более подробно в документе по сетевому дизайну.

Настройка параметров

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

После тщательного сравнительного анализа и отзывов разработчиков мы начинаем постепенно вносить коррективы и сегодня представили два первоначальных изменения.Планируется, что эти изменения вступят в силу в тестовой сети в четверг, 25 ноября. После тестирования мы планируем впоследствии применить их к основной сети, вступив в силу в эпоху 306, в среду 1 декабря 2021 года в 21:45:00 UTC.

Так что же мы корректируем?

Мы увеличиваем размер блока на 8 КБ до 72 КБ (увеличение на 12,5%).

В настоящее время используется более 2 миллионов кошельков Cardano, а трафик вырос более чем в 20 раз за год (с менее чем 10 000 транзакций в день в ноябре 2020 года до более чем 200 000 транзакций в день. Из-за ожидаемого увеличения трафика по мере того, как разработчики внедряют новые приложения dApps, размер блока быстро становится ключевым фактором. Большие размеры блоков означают, что в блок может поместиться больше транзакций, что обеспечивает большую пропускную способность для пользователей. Возможность вместить в блок на 12,5% больше транзакций имеет большое значение, так как это означает, что мы обрабатываем больше транзакций в секунду, или мы заявляем – более ценный показатель – большую пропускную способность данных.

Мы применяем устойчивый методичный подход к изменениям в параметризации Cardano. Увеличение на 12,5% является значительным, но не слишком большим. Это оставляет возможности для дальнейшего расширения и позволяет операторам стейк пулов (SPO) приспосабливаться к возросшим требованиям. Мы будем применять “неспешный и устойчивый” подход к дальнейшим изменениям размера блоков, чтобы сделать базовую пропускную способность сети доступной для конечных пользователей, гарантируя при этом, что мы сможем продолжать успешно работать в качестве глобально децентрализованного блокчейна. Текущее поколение Ouroboros (названное Praos) предъявляет особые требования, которые должны быть выполнены для обеспечения достижения целей безопасности, одним из наиболее важных параметров является время распространения блока. Время распространения блока - это показатель того, сколько времени требуется для распространения только что созданного блока по нодам сети, представляющих 95% делегированных токенов ADA. Для обеспечения безопасности Praos сеть должна распространять новые блоки в течение 5 секунд.

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

Мы также увеличиваем размер памяти, выделенной для скриптов Plutus в транзакции, до 11,25 Мб (аналогичное увеличение - на 12,5%).

Это серьезное изменение, и мы знаем, что разработчики DApp очень его оценят. Увеличение лимитов памяти Plutus означает, что они могут разрабатывать более сложные сценарии Plutus или что существующие сценарии смогут обрабатывать больше элементов данных, увеличивать параллелизм или иным образом расширять свои возможности. Это будет первое изменение из серии предстоящих изменений в настройках блока памяти, которые значительно расширят реальные возможности сценариев Plutus. Как и в случае с размерами блоков, мы будем внедрять изменения постепенно, но настойчиво, чтобы сеть и SPO приспосабливались к возросшему спросу.

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

Устойчивый и уверенный

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

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

Я присоединюсь к ноябрьскому Cardano360, чтобы поделиться дальнейшими мыслями по этому поводу. Если вкратце, то речь идет о создании новой и мощной блокчейн инфраструктуры, построенной на передовых и принципиально децентрализованных технологиях. Первоначально мы сосредоточимся на ряде улучшений производительности, которые позволят нам использовать ограничения протокола Ouroboros Praos. Затем мы сосредоточимся на оптимизации размера скриптов Plutus и базовой производительности интерпретатора Plutus и имплементации этого в ноду Cardano. Это позволит нам более продуктивно выполнять работу в рамках тех же параметров протокола. С этим будет связано использование методов сжатия для уменьшения размера скриптов и транзакций, что означает, что в блоке одного размера может быть выполнено больше транзакций. Все это (и многое другое) повысит производительность и пропускную способность слоя 1. Заглядывая вперед, далее Hydra представит решение слоя 2, обеспечивающее значительно повышенную масштабируемость, позволяя пользователям создавать несколько цепочек, которые повторно используют одно и то же представление главного леджера.

Заключение

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

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

Спасибо Дункану Куттсу (Duncan Coutts), Кевину Хаммонду (Kevin Hammond) и Фернандо Санчесу (Fernando Sanchez) за их вклад в эту статью.

// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram . Оставайтесь на связи, все только начинается!