Что такое консенсус отложенного времени PoET?

538
Просмотры
алгоритмы консенсуса

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

Доказательство прошедшего времени, или PoET, — один из таких консенсусов. Он стремится улучшить алгоритм и дать работающую альтернативу.

История

Алгоритм PoET был разработан гигантом Intel еще в 2016 году как эффективный механизм консенсуса, в основном для разрешенных блокчейн-сетей. Сегодня он используется в модульной структуре Hyperledger Sawtooth и является популярным инструментом для экспериментирования с распределенными регистрами.

Критически важной составляющей PoET называют инновационную технологию, с которой она работает. Это Intel Guard Extensions, сокращенно SGX. Эта среда выполнения появилась в 2015 году с процессорами Intel 6-го поколения. Она позволяет выбрать, какой проверенный код запускать: независимо от приложения, в котором он работает.

Для понимания механизма PoET важно разобраться в SGX.

Что такое SGX

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

Код, который работает с SGX, может выдать подписанный аттестат из платформы или приложения. Он обеспечивает аутентификацию, для правильной инициализации кода.

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

Для консенсуса, SGX функционирует как механизм верификации участников, которые присоединяются к сети. Идет проверка: запускают ли ноды проверенный код.

Как работает PoET

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

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

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

Консенсус PoET разбит на 2 этапа:

  • присоединение к сети и верификация с использованием сертификатов SGX,
  • фактическая лотерея для майнеров.

Проверка сети и SGX

Это первый этап консенсуса, и именно здесь SGX играет важную роль.

При использовании SGX можно создать подписанный аттестат, чтобы доказать, что код верный.

В PoET потенциальный участник сети загружает код и распространяет сообщение «присоединиться» с подписанным аттестатом SGX. Это выглядит как пара открытого и закрытого ключа. Затем  сеть из нод принимает или отклоняет аттестат. Если он принят, участник присоединяется к сети.

Случайная лотерея

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

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

Нужно обеспечить в первую очередь 2 вещи:

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

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

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

Ранее в этом месяце группа исследователей из Лондона обнаружила критическую уязвимость в SGX, известную как «Foreshadow». Ее можно использовать для атаки защищенного участка кода в SGX. Эта атака стала адаптированной версией ранней уязвимости Spectre. Пока вопрос не решен до конца.

Плюсы и минусы алгоритма

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

Плюсы:

  • это существенное улучшение PoW,
  • он обеспечивает случайный выбор без ресурсов и не требует сложной механики и стимулов;
  • эффективно масштабируется, может использоваться как модель «plug and play» для тестирования среды с помощью Hyperledger Sawtooth.

Недостатки:

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

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