Обзор современных алгоритмов консенсуса в системах блокчейн | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 20 марта, печатный экземпляр отправим 24 марта.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №28 (266) июль 2019 г.

Дата публикации: 14.07.2019

Статья просмотрена: 69 раз

Библиографическое описание:

Крохин, М. О. Обзор современных алгоритмов консенсуса в системах блокчейн / М. О. Крохин. — Текст : непосредственный // Молодой ученый. — 2019. — № 28 (266). — С. 7-9. — URL: https://moluch.ru/archive/266/61587/ (дата обращения: 07.03.2021).



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

Одним из самых основных аспектов для работы блокчейн системы является механизм консенсуса. Он определяет как скорость работы приложения, так и безопасность этого приложения. На данный момент существует довольно большое количество алгоритмов консенсуса, однако для построения приложения стоит понимать, что каждой ситуации соответствует свой алгоритм (согласно теореме DCS) [1]. Такие алгоритмы как Proof-of-Work и Proof-of-Stake являются уже хорошо изученными, со своими ощутимыми положительными и негативными сторонами. Мы рассмотрим наиболее современные алгоритмы, выясним их сильные и слабые стороны, что поможет разработчикам в дальнейшем при построении децентрализованных приложений.

Proof-of-Capacity

Появился как альтернатива Proof-of-Work, одна из основных его идей является задействование памяти жесткого диска компьтера, что помогает решить пролему высокого энергопотребления. Два основных этапа алгоритма — плотинг и майнинг. На этапе плотинга происходит создание списка со всеми возможными решениями(нонсами) при помощи повторного хеширования данных. Каждый из таких нонсов состоит из 8192 хэша и соседние хэши образуют скупы или пары. Соответственно, чем больше свободного места на жестком диске, тем больше возможных решений на нем хранится и, следовательно, выше шансы у майнера получить вознаграждение за блок. На втором этапе происходит майнинг, т. е. добыча криптовалюты. Майнеры пытаются вычислить значение скупа и затем при помощи данного значения пытаются вычислить значение крайнего срока(дедлайна). В данном случае, дедлайн — время в секундах, которое должен выждать майнер между созданием предыдущего блока и текущего, т. е. если никто за данное время никто не создал новый блок, то майнер может сделать это и получить вознаграждение [2].

Преимущества Proof-of-Capacity:

  1. Возможность задействования любых жестких дисков;
  2. Не требуется специальное оборудование, т. к. данные майнинга можно удалить и использовать диск в любых других целях;

Недостатки Proof-of-Capacity:

  1. Остается проблема nothing-at-stake: вы можете мгновенно пробежаться по всем своим терабайтам, чтобы проверить свои шансы в альтернативной цепочке, как и в случае PoS. То есть одновременно майнить сразу несколько цепочек, не затрачивая лишних ресурсов.
  2. Обращения к диску занимают довольно существенное время.

Proof of Elapsed Time

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

Функция лотереи имеет следующие характеристики:

– Справедливость: функция должна распределять выборы лидеров среди максимально широкого круга участников.

– Инвестиции: стоимость контроля над процессом выбора лидера должна быть пропорциональна полученной от него выгоде.

– Проверка: всем участникам относительно просто убедиться в том, что лидер был выбран законным образом.

Алгоритм PoET работает с использованием новых безопасных инструкций процессоров (CPU) под названием Intel Software Guard Extensions (SGX). SGX позволяет приложениям запускать доверенный код в защищенной среде. Специализированный аппаратный компонент может создать подтверждение того, что определенный защищенный код был правильно настроен в защищенной среде. Внешняя сторона может использовать аттестацию, чтобы убедиться, что правильный код выполняется правильно. Это позволяет участнику сети доказать другим участникам, что он выполняет доверенный код для сети. Без этой функции сеть не сможет узнать, действительно ли участник использует доверенный код PoET. Доверенный код выполняется в среде, которая является частной для остальной части приложения. Остальная часть приложения не может проверять или вмешиваться в пространство памяти доверенного кода. Это гарантирует, что злонамеренный участник не сможет обмануть, манипулируя доверенным кодом PoET после его настройки [4]. PoET использует вышеперечисленные характеристики лотереи для обеспечения безопасности и случайности выбора лидера, при этом не требуя дорогостоящей энергии и специализированного оборудования, необходимых для большинства алгоритмов “доказательства”.

Механизм работы:

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

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

Преимущества:

  1. Высокая нагрузка на центральный процессор, что позволяет блокчейну. функционировать на любом устройстве с большим вычислительным потенциалом.
  2. Позволяет облегчить майнинг на ASICs и GPU.

Недостатки:

  1. Номинальная стоимость монеты представляет собой заданное значение.

Proof of Activity

Гибридный алгоритм, совмещающий принципы работы Proof-of-Work и Proof-of-Stake. В данном алгоритме блоки PoS и PoW ищутся параллельно. Майнеры PoW осуществляют майнинг для первоначального распределения монет в сети — генерируют новую криптовалюту. PoS майнеры играют важную роль в подтверждение транзакций, но не имеют возможность добывать новые монеты. Причем подтверждение транзакций может быть произведено только после произведение соответствующих операций первой группой майнеров. Таким образом достигается общая децентрализация и безопасность сети [5].

Алгоритм работы:

  1. Выполнение работы PoW майнерами, то есть вычисление верхнего хэша.
  2. Данные о хэше передаются в сеть, однако эти данные не являются окончательным блоком, то есть это лишь своеобразная «заготовка».
  3. Данная заготовка подписывается PoS майнерами, затем происходит формирование блока, который будет записан в блокчейн.
  4. Вознаграждение распределяется между майнерами.

Преимущества:

  1. Вышеупомянутые «заготовки» являются точкой сохранения информации, что позволяет обеспечить высокую устойчивость к атакам.
  2. Происходит постоянный обмен данными между пользователями, что позволяет уменьшить общую нагрузку на сеть.
  3. Невозможна атака 51 % и контролирование всей сети одним участником. Даже если один из пользователей завладеет 50 % всех монет в сети генерация новых блоков будет невозможна, так как данные блоки будут выкидываться PoW майнерами.

Недостатки:

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

Proof-of-Importance

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

Преимущества:

  1. Если пользователь имеет большое количество валюты на кошельке, то он не будет иметь преимущества перед активными пользователями.
  2. Решена проблема nothing-at-stake

Недостатки:

  1. Возможность фиктивных транзакций. Пользователь будет вознагражден за транзакции вида «back and forth», что позволит ему заполучить преимущества перед другими пользователями.

Заключение

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

Литература:

  1. The DCS Theorem — URL: https://medium.com/@samdjones/the-dcs-theorem-e0d45012ef2a
  2. BitcoinBurst — Part 3: Proof-of-Capacity, The Green Alternative? — URL: https://hackernoon.com/burst-part-3-proof-of-capacity-the-green-alternative-8e2651211671
  3. Understanding Hyperledger Sawtooth — Proof of Elapsed Time — URL: https://medium.com/kokster/understanding-hyperledger-sawtooth-proof-of-elapsed-time-e0c303577ec1
  4. PoET 1.0 Specification — URL: https://sawtooth.hyperledger.org/docs/core/nightly/0–8/architecture/poet.html?highlight=sgx
  5. Proof-of-Activity — URL: https://www.investopedia.com/terms/p/proof-activity-cryptocurrency.asp
Основные термины (генерируются автоматически): доверенный код, SGX, алгоритм, сеть, CPU, DCS, DSC, жесткий диск, остальная часть приложения, справедливая лотерея.


Похожие статьи

Сравнение алгоритмов нечёткого вывода с использованием...

Ключевые слова: ПИ-регулятор, нечёткий регулятор, Мамдани, Ларсен, Сугено. Известно, что 85 % САУ во многих странах реализуют пропорционально-интегральные (ПИ) и пропорционально-интегрально-дифференциальные (ПИД) алгоритмы [3, с. 149].

Сравнение алгоритмов локализации ORB SLAM и LSD SLAM

Оба алгоритма имеют открытый исходный код, и опубликованы под лицензией GPL. Оба алгоритма имеют интеграцию со средой ROS (Robot Operating System

Недостатком LSD SLAM является отсутствие поддержки последних версий ROS: алгоритм не обновлялся с 2011 года.

Резервное копирование данных в локальной вычислительной сети

Идея использовать массивов жестких дисков не новая, однако, буквально недавно такие

Но благодаря снижению стоимости мегабайта хранения на жестких дисках, в последнее время

Восстановление данных на уровне приложения. Многие приложения, работающие с данными...

С++ библиотека компонентов генетических алгоритмов

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

Принципы организации программно-аппаратной защиты файлов на...

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

Сравнительный анализ методов перевода чисел из системы...

Рассмотрим алгоритм перевода из СОК в позиционную систему счисления ( , X).

Разработаем алгоритм модульного сложения чисел. Пусть число , где выполняется неравенство и модули СОК

Рис. 1. Функциональная схема для блока вычисляющий CRC код для одного байт...

Исследование механизма криптозащиты RFID-карты Hitag и его...

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

Разработка методики выявления сетевых атак с помощью Data...

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

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Rootkit - программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.

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

Похожие статьи

Сравнение алгоритмов нечёткого вывода с использованием...

Ключевые слова: ПИ-регулятор, нечёткий регулятор, Мамдани, Ларсен, Сугено. Известно, что 85 % САУ во многих странах реализуют пропорционально-интегральные (ПИ) и пропорционально-интегрально-дифференциальные (ПИД) алгоритмы [3, с. 149].

Сравнение алгоритмов локализации ORB SLAM и LSD SLAM

Оба алгоритма имеют открытый исходный код, и опубликованы под лицензией GPL. Оба алгоритма имеют интеграцию со средой ROS (Robot Operating System

Недостатком LSD SLAM является отсутствие поддержки последних версий ROS: алгоритм не обновлялся с 2011 года.

Резервное копирование данных в локальной вычислительной сети

Идея использовать массивов жестких дисков не новая, однако, буквально недавно такие

Но благодаря снижению стоимости мегабайта хранения на жестких дисках, в последнее время

Восстановление данных на уровне приложения. Многие приложения, работающие с данными...

С++ библиотека компонентов генетических алгоритмов

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

Принципы организации программно-аппаратной защиты файлов на...

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

Сравнительный анализ методов перевода чисел из системы...

Рассмотрим алгоритм перевода из СОК в позиционную систему счисления ( , X).

Разработаем алгоритм модульного сложения чисел. Пусть число , где выполняется неравенство и модули СОК

Рис. 1. Функциональная схема для блока вычисляющий CRC код для одного байт...

Исследование механизма криптозащиты RFID-карты Hitag и его...

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

Разработка методики выявления сетевых атак с помощью Data...

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

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Rootkit - программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.

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

Задать вопрос