:RU: Имплементация Голов Гидры: первый шаг к полному видению Гидры

Перевод статьи Implementing Hydra Heads: the first step towards the full Hydra vision - IOHK Blog

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

image

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

Мы уже говорили о Гидре раньше. Гидра - это совокупность решений 2-го слоя, предназначенных для решения задач сетевой безопасности и масштабируемости. Первоначально задуманный в рамках работы исследовательской группы “Уроборос”, он фактически прошел независимый путь с момента публикации оригинальной статьи. Гидра предлагает повышение пропускной способности, минимизацию задержек и экономичные решения без существенных требований к хранилищу. Протокол Головы Гидры уже формировался еще в 2020 году, и с тех пор наше мышление развивалось – особенно на этом раннем этапе внедрения и проверки концепции. Основываясь на этой первоначальной идее, протокол Головы Гидры превратился в доказательство концепции и продолжал это делать в то время, как мы направились к более определенной реализации тестовой сети MVP.

Мы видели много волнений (и это отлично!) наряду с заблуждениями и недоразумениями (не такими уж и большими). Большинство из них возникли из заявления об идее, а не из фактической реализации протокола, и некоторые из наших предыдущих блогов, возможно, способствовали этим недоразумениям. Но протокол Головы Гидры касается не только реализации SPO, но и теоретического “1 миллиона TPS”, который необходимо уточнить и растолковать получше.

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

Голова Гидры в двух словах

Давайте сначала повторно представим Головы Гидры, которые включают в себя не только надежный сетевой слой между одноранговыми нодами и интегрированным леджером Cardano, но также несколько сетевых сценариев (смарт контрактов), которые управляют жизненным циклом Головы Гидры.

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

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

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

Думайте о Головах как о “частных покерных столах”, где участники приносят свои собственные фишки для игры. Участники могут играть столько, сколько захотят. Если кто-то не играет, то игра не продвигается. Тем не менее, участники по-прежнему могут свободно уйти со своими фишками. Если они это сделают, игра закончится текущим распределением богатства.

Рисунок 1. Жизненный цикл Головы Гидры (упрощенный)

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

Этот протокол является одним из целого набора протоколов, которые мы обычно называем “Гидра”. Текущие инженерные усилия сосредоточены на реализации протокола Головы Гидры, опубликованного в Гидра: Быстрые изоморфные государственные каналы Чакраварти и др.

Примерно в конце 2021 года Максим Юренко, Марио Ларанжейра и Кейсуке Танака опубликовали итерацию поверх головы Гидры под названием Интерголовы Гидры: Две головы лучше, чем одна. Эта итерация определяет метод соединения двух голов вместе, позволяющий в долгосрочной перспективе создать сеть взаимосвязанных Голов Гидры. Ранее были упоминания о других протоколах, таких как “Хвост Гидры”. Тем не менее, они все еще находятся в стадии исследования, наряду с новыми идеями, вытекающими из недавней работы над протоколом Головы Гидры.

Заблуждения Гидры

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

Масштабируемость - это не миллион TPS

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

Подумайте о шоссе и транспортных средствах. Можно посмотреть, сколько “транспортных средств в секунду” (VPS) может обрабатывать шоссе между двумя точками. Тем не менее, если нет общего определения того, что такое транспортное средство, то сравнение 10 VPS со 100 VPS, по-видимому, бессмысленно. Если 10 транспортных средств в примере относятся к массивным грузовым автомобилям, имеет ли смысл сравнивать их со 100 скутерами с точки зрения их возможностей доставки? То же самое относится и к транзакциям. Транзакция, содержащая сотни собственных активов и результатов, безусловно, не то же самое, что простой платеж ada между двумя участниками.

Использование TPS в качестве показателя в одном и том же контексте (например, для сравнения двух версий узла Cardano) имеет смысл. Использование его в качестве средства сравнения между блокчейнами - нет.

Имея это в виду, мы предлагаем рассматривать не только пропускную способность, но также окончательность и параллелизм как важные показатели для рассмотрения и обсуждения масштабируемости:

  • пропускная способность: объем данных, обрабатываемых системой за заданный промежуток времени
  • окончательность: время, необходимое для того, чтобы результат какого-либо действия стал неизменным и верным для всех в системе.
  • параллелизм: объем работы, который могут выполнять разные участники, не блокируя друг друга.

Головы Гидры преуспевают в достижении почти мгновенной завершенности внутри Головы. Процесс создания и закрытия Головы может занять несколько блоков, но после создания транзакции могут быстро проходить между участниками совместной работы. Поскольку Головы Гидры также используют модель EUTXO, они могут одновременно обрабатывать неконфликтные транзакции, что в сочетании с хорошей сетью позволяет оптимально использовать доступные ресурсы. Первые симуляции протокола Головы Гидры еще в 2020 году предполагали очень многообещающий показатель "1000 TPS’. Сейчас мы находимся в процессе сравнительного анализа реальной реализации с точки зрения пропускной способности и завершенности.

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

Следовательно, хотя первая версия протокола Головы Гидры позволит небольшим группам участников наращивать свой трафик с низкими затратами, она не сразу предложит решение для глобальных микроплатежей между потребителями или продаж NFT. Почему? Потому что консенсус внутри Головы требует, чтобы каждый участник реагировал на каждую транзакцию. И одна голова не масштабируется бесконечно в зависимости от количества участников, по крайней мере, без некоторых дополнительных инженерных усилий. Например, объединение Голов Гидры открывает путь для более крупных сетей участников, эффективно превращая локальные головы в глобальную сеть. Мы изучаем несколько других идей по расширению протокола Головы Гидры, чтобы расширить набор вариантов использования, которые он может охватывать. Мы поговорим об этом подробнее в следующих разделах и в будущих обновлениях.

Примеры использования и роль SPO

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

Наше первоначальное исследование Гидры в 2020 году предложило операторов пулов (SPO) в качестве вероятных кандидатов на Голову Гидры. Однако, поскольку протокол Головы Гидры был исследован и создан в качестве доказательства концепции, мы можем твердо заявить, что неверно утверждать, что только SPO должны запускать Головы Гидры для обеспечения масштабируемости бухгалтерской книги. На самом деле, SPO не заинтересованы в том, чтобы открывать сделки друг с другом без причины (например, давать чаевые или торговать NFT). В некотором смысле, SPO похожи на любого другого актера, когда дело доходит до протокола головы Гидры. Они могут быть участниками и “сплетничать” с другими нодами, находящимся на том же уровне, но так же может поступить любой другой заинтересованный.

По общему признанию, SPO хороши в операционной инфраструктуре и могут быть одними из первых пользователей, использующих экземпляры протокола Головы Гидры. Тем не менее, это позволяет только участвующим SPO совершать транзакции друг с другом, что ограничивает варианты использования для конечных пользователей. Только продвинутые системы 2-го уровня, такие как протокол Интерголовы Гидры, требуют посредников для управления инфраструктурой в интересах конечных пользователей. Фактически, мы ожидаем, что одной из вероятных настроек для Голов Гидры будет предоставление пользователям управляемых Голов Гидры в качестве услуги (HaaS). Мы можем достичь этого, не отказываясь от хранения средств, управляя инфраструктурой от имени конечных пользователей, у которых, как правило, нет ни интереса, ни технических навыков для обслуживания такой инфраструктуры.

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

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

Дорожная карта

Как группа протоколов, которые будут предоставляться с течением времени и будут включать более проработанные системные проекты 2-го уровня поверх протокола Головы Гидры, крайне важно, чтобы мы часто взаимодействовали с разработчиками экосистемы Cardano. Речь идет не о выпуске “большого взрыва”, а скорее об итерпоследовательном цикле выпусков. Нам нужно понимать проблемы разработчиков, обязательно удовлетворять их потребности и, в конечном счете, убедиться, что мы создаем что-то полезное. Вот почему мы разрабатываем Головы Гидры как проект GitHub с открытым исходным кодом, начиная с раннего подтверждения концепции в прошлом году. Стремясь к регулярному и частому выпуску, мы выпустили наш первоначальный предварительный просмотр для разработчиков в сентябре (0.1.0), за которым последовала вторая итерация (0.2.0) перед Рождеством. Следующее увеличение (0.3.0) ожидается в феврале. Мы следим за семантическим управлением версиями, и каждый из этих предварительных выпусков (0.x.0) добавляет функции, которые будут доступны нашим партнерам и ранним пользователям для тестирования в частных и общедоступных тестовых сетях Cardano.

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

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

Обратная связь с сообществом имеет важное значение

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

В зависимости от вашего времени, навыков и опыта, мы приглашаем вас присоединиться к нам, чтобы поделиться вопросами, отзывами или внести свой вклад в усилия по разработке. Это отличная возможность создать целую экосистему решений 2-го уровня для Cardano вместе. Протокол Головы Гидры станет первым кирпичом для многих будущих передовых решений. В IOG мы уже начали работать над некоторыми из них, но некоторые неизбежно (и, к счастью!) будут созданы членами нашего сообщества, от которых мы с нетерпением ждем поддержки.

Мы поговорим о головах Гидры более подробно во время обновления разработки в середине февраля. Подписывайтесь на наш канал Youtube и присоединяйтесь к нам!

Я хотел бы поблагодарить Себастьяна Нагеля, Ольгу Гринюк, Марка Ирвина и Тима Харрисона за их вклад и поддержку в подготовке этого поста в блоге.

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