Hedera Hashgraph: разбор нового консенсуса

362
Просмотры
Hedera Hashgraph: разбор нового консенсуса

Hedera Hashgraph — это новая публичная сеть, основанная на асинхронном алгоритме BTF (задаче византийских генералов). Сама платформа управляется Swirlds и Советом управляющих, в котором состоят 39 лидеров отрасли.

Консенсусный механизм Hedera Hashgraph и дизайн платформы предлагают некоторые интересные разработки, поэтому мы подробнее рассмотрим проект.

О самом проекте

Платформа Hedera Hashgraph основана на одной из форм консенсуса BFT, а именно, асинхронной задаче византийских генералов, или aBFT.

Впервые концепция консенсуса была представлена в академической публикации Лимона Бэйрда в 2016 году. Она запатентована им. Платформа предоставляет усовершенствованную модель технологии распределенных реестров (DLT).

Управляемая Советом Hedera Hashgraph, платформа стремится добиться массового принятия через:

  • соблюдение нормативных требований,
  • продуманную архитектуру,
  • высокую производительность,
  • безопасную систему.

Проект двухкомпонентный: Hashgraph описывает алгоритм консенсуса, Hedera обозначает распределённый реестр, где можно запускать смарт-контракты, создавать dApps высокого класса.

Сеть Хедера будет иметь собственную криптовалюту, которая представляет собой утилитарный токен. Он дает держателям доступ к децентрализованным приложениям, построенным на платформе. Также может использоваться для блокировки доли и пассивного заработка, использоваться для запуска ноды. По сути, все то же, что дает ETH в сети Ethereum.

Протокол «Сплетник»

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

Подробнее о блокчейне, Hashgraph и DAG

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

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

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

У биткоина для снижения вероятности атак используется Proof-of-Work, но в документах к Hedera сказано:

«Однако такие системы не могут быть византийскими, потому что участник никогда не знает наверняка, когда достигнут консенсус. У них есть только вероятность уверенности, которая со временем продолжает расти. Если два блока майнятся одновременно, то цепочка закончится форком, пока сообщество не договорится о том, какая ветвь будет главной».

Результатом является неэффективность системы не только потому, что требуется Proof-of-Work, но и потому, что многие блоки, которые не являются бесполезными, в конечном счете отбрасываются. В хэшграфах цельная цепочка без отбрасывания бесполезных частей, где каждый майнер может майнить блок так быстро, насколько это возможно, без использования PoW.

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

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

Transactions —  Транзакции. Любой участник может создать подписанную транзакцию в любое время, и все участники получат ее копию и достигнут консенсуса по порядку транзакций.

Fairness — справедливость. Маленькой группе злоумышленников должно быть сложно повлиять на порядок транзакций.

Gossip — сплетня. Каждый узел случайно выбирает другой узел и сообщает ему все, что известно (о состоянии сети).

Hashgraph — хэшграф. Уникальная структура данных, в которой учитывается, кто с кем «сплетничал», и записывается порядок, в котором обмен информацией.

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

Hedera Hashgraph: разбор нового консенсуса
Так визуально можно представить сплетни о сплетнях

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

Famous Witnesses — знаменитый свидетель. Сообщество выбирает несколько вершин в хэшграфе. Поступая таким образом, они могут прийти к консенсусу гораздо более эффективно.

Strongly Seeing — сильное видение. Доказательство византийского соглашения с вероятностью 1 (именно такой консенсус у hedera), — это когда два узла могут самостоятельно вычислять один и тот же результат голосования третьего узла, потому что они приходят к одному и тому же выводу о связи между двумя вершинами внутри хэшграфа.

Протокол сплетен является ключевым, и его целью является распространение информации — быстро и по всей сети.

Хэшграф представляет собой структуру данных, которая состоит из истории связей между узлами.

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

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

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

Сам протокол определяется как асинхронный, поскольку он не делает никаких предположений о скорости сплетен или консенсуса.

Доказательство BFT

Так же, как и в pBFT, консенсус Hashgraph предполагает, что не более ⅓ узлов злонамеренные, а цифровые подписи безопасны. Асинхронная система также предполагает, что она отказоустойчива, и честные узлы, отправляющие сплетни туда и обратно, в конечном итоге получат сообщения друг друга, даже если есть в сети проводится атака.

Но множество BFT-систем терпят неудачу в определении справедливости. Это связано с консенсусом Hashgraph относительно порядка транзакций в сети. Как определить, была ли транзакция, которая распространяется по сети, до другой, и считать ли эту позицию «справедливой»?

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

Управление

Система управления Hedera Hashgraph состоит из двух уровней:

  • Совет управляющих (явно централизованная система),
  • Открытый консенсус (открытая сеть с описанным выше механизмом).

В Hedera используется модель взвешенного PoS: смягчение сговоров и стимулирование пользователей к запуску своих нод.

По архитектуре выделяются три слоя:

Интернет-уровень, самый нижний. Он осуществляет связь по TCP / IP-соединениям с TLS-шифрованием.

Уровень консенсуса Hashgraph (средний) — узлы всей сети, которые участвуют в протоколе сплетен и алгоритме согласования. Все узлы поддерживают идентичное состояние консенсуса.

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

Hedera Hashgraph: разбор нового консенсусаКоманда Hedera активно продвигает свой проект. Например, она говорит, что скорости транзакций препятствует только скорость интернета. Их скорость может доходить до сотни тысяч TPS в одном шарде.

Инновационный механизм консенсуса, масштабируемость и завершеность системы Hedera Hashgraph обозначает перспективы для развития следующего поколения децентрализованных платформ.

Каких-то значимых результатов пока нет, но разработка проекта ведется. У Hedera Hashgraph был закрытый краудсейл на 6000 человек, из них допущены только 13%. Хардкап в 20 млн долларов был достигнут. Публичного ICO не было и не планируется, хотя скамеры могут утверждать обратное. Для участников закрытого раунда выпущено 50 миллиардов токенов, которые попадут в кошелек Hedera.