Доказательство полномочий

Доказательство полномочий (англ. Proof-Of-Authority, PoA), также известный как алгоритм доказательства полномочий или система репутации, — это алгоритм распределённого консенсуса, используемый в блокчейн-технологиях. Он позволяет быстро валидировать транзакции на основе механизма консенсуса, зависящего от идентичности и репутации выбранных узлов-валидаторов, которые несут ответственность за создание блоков. Для выполнения своих функций этим узлам не требуется вносить залог или ставку, однако обязательна проверка их личности и надёжности.

В алгоритме PoA участвует набор из N доверенных узлов, именуемых валидаторами или авторитетами. Каждый валидатор идентифицируется уникальным идентификатором, и предполагается, что большинство из них действуют честно, то есть не менее N/2 + 1[1].

Ключевое отличие этого алгоритма консенсуса от методов доказательства выполнения работы (PoW) и доказательства доли владения (PoS) заключается в том, что PoA использует реально раскрытую по желанию валидатора личность как «гарантию доверия» и «доказательство прозрачности». Ассоциируя репутацию с реальной личностью, PoA мотивирует валидаторов поддерживать честность работы сети: любые действия, подрывающие доверие или репутацию сети, немедленно сказываются на репутации конкретного лица или организации, участвующих в валидации.

Термин PoA был предложен в 2017 году в экосистеме Ethereum одним из её основателей и бывшим техническим директором Гэвином Вудом (Gavin Wood) для частных сетей, и был реализован в клиентах Aura и Clique. Популярность подхода связана с ростом эффективности по сравнению с традиционными алгоритмами BFT (толерантность к византийским сбоям).

Принцип работы

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

Diagrama Prueba de Autoridad.png

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

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

Валидаторы

Чтобы стать валидатором, необходимо выполнить три важных требования, определяющих структуру стимулов для честного поведения участников:

  • Идентичность кандидата должна быть формально проверена на соответствие надёжным данным.
  • Получить статус валидатора должно быть достаточно сложно, чтобы стимулировать добросовестное поведение.
  • В процессе отбора и утверждения валидаторов должна поддерживаться полная прозрачность и однородность.

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

Преимущества и недостатки

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

Главными достоинствами PoA являются снижение затрат и повышение масштабируемости. Вычислительная стоимость этого метода намного ниже, чем у PoW, поскольку не требует майнинга в традиционном смысле, как в биткойне. Благодаря этому энергопотребление существенно ниже, что делает PoA экологичным («eco-friendly») консенсус-алгоритмом[2].

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

Недостатки

Существенным ограничением PoA считается отказ от концепции полной децентрализации. Модель строится на принципах «распределённой централизации», где решения принимает ограниченное число валидаторов, а не вся сеть, как в PoW.

Ещё одним существенным недостатком является публичность идентичностей валидаторов PoA. Это может создавать риски раскрытия их уязвимых мест, что потенциально открывает возможности для давления и манипуляций со стороны третьих лиц.

Реализации

Две наиболее известные реализации доказательства полномочий — Aura и Clique. Обе используют первую фазу (предложение блока лидером), но далее различаются: Aura требует дополнительного раунда подтверждения блоков (acceptance round), а Clique — нет.

Aura

Aura — алгоритм консенсуса Proof-Of-Authority, реализованный в клиенте Parity. Его название происходит от слов Authority Round (ранее — AuRo). В настоящее время используется в тестовой сети Kovan для Ethereum[3].

В этой модели сеть считается синхронной с привязкой всех авторитетов к единым таймштампам UNIX-времени.

Процесс делится на шаги (step): на каждом шаге одна из авторитетов может подписать блок. Индекс шага вычисляется как s = t/step_duration (где step_duration — фиксированная длительность шага). Лидер на шаге s определяется как l = s mod N. Каждый валидатор локально поддерживает две очереди: Qa — для входящих транзакций, Qb — для ожидающих блоков.

В каждом шаге лидер l формирует из Qb новый блок b и рассылает его остальным валидаторам (раунд предложения блока). Затем все авторитеты также пересылают полученный блок друг другу (раунд подтверждения блока). Если все приняли один и тот же блок, он включается в Qb. Блок, поступивший не от текущего лидера, отклоняется. Ожидается, что каждый лидер всегда выпускает блок (при отсутствии транзакций — пустой).

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

Пример: пусть в сети 5 участников: A, B, C, D, E. В каждом шаге они последовательно подписывают блоки:

  • Шаг 1: A подписывает блок
  • Шаг 2: B подписывает блок
  • Шаг 3: C подписывает блок
  • Шаг 4: D подписывает блок
  • Шаг 5: E подписывает блок

Цикл повторяется. Если, например, C попытается подписать блок сразу после A (в обход очереди), такой блок отклоняется. Если B пропустил свой ход (не выпустил блок в отведённое время), следующий лидер (например, C) может взять инициативу. Небольшие отклонения по времени допускаются для предотвращения «зависания» сети.

Clique

Clique — это реализация алгоритма Proof-of-Authority в клиенте Geth. Применяется для тестовых сетей Ethereum Goerli и Rinkeby[4].

В отличие от Aura, Clique определяет актуальный шаг и лидера по формуле, связывающей номер блока и число валидаторов. Помимо текущего лидера, другие валидаторы могут предлагать блоки, но каждая авторитет может делать это не чаще одного раза на N/2 + 1 блоков, чтобы избегать доминирования одного валидатора. Если какой-либо валидатор действует злонамеренно, он также удаляется из пула.

PoA в частных блокчейнах

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

Сравнение PoA, PoW и PoS

Сравнение PoA, PoW и PoS[5]
Протокол Преимущества Недостатки Безопасность Применение
Доказательство полномочий Ускоряет подтверждение транзакций, служит платформой для децентрализованных приложений. Децентрализация отсутствует; информация о валидаторах доступна всем; угрозы репутации не всегда эффективно предотвращают злоупотребления. Защита от DDoS и атак «51%» в определённых пределах. Aura, Clique
Доказательство выполнения работы (PoW) Быстрый консенсус, устойчивость от спама, высокая степень тестирования. Очень высокий расход энергии и ресурсов, зависимость от «железа» ведёт к централизации майнинга. Открыт для атаки «51%», майнинга selfish mining и eclipse-атак. Bitcoin, Ethereum
Доказательство доли владения (PoS) Уменьшенное энергопотребление, удобство, экологичность. Владельцы крупных долей могут контролировать сеть. Хотя защищён от атаки «51%», уязвим к атакам на длинных цепях (long-range attacks). Ethereum 2.0, Peercoin

Безопасность PoA и атаки

Атаки

Считается, что PoA гораздо менее подвержен атакам, чем PoW, так как здесь злоумышленнику недостаточно получить 51% вычислительной мощности. Для успешной атаки нужно контролировать 51% всех валидаторов, что намного сложнее организации технической атаки на PoW-сеть. Даже если в PoW-типе можно нарастить собственную вычислительную мощность, в PoA это не даёт преимущества — важна только легитимность и число авторитетов. Узлы проходят предварительную верификацию, а в случае проблем могут быть быстро запрещены решением других валидаторов. Целенаправленная отправка большого числа транзакций или блоков на адрес одного валидатора с целью перегрузки также менее эффективна[6].

Атаки типа DoS

Технология PoA позволяет защищаться от атак типа отказ в обслуживании (DoS): только верифицированные валидаторы получают полномочия создавать блоки, и их активность регулярно контролируется. Если валидатор становится недоступен в течение длительного времени, он может быть исключён из пула.

Примечания

  1. Public versus Private Blockchains (англ.), Bitfury. Архивировано 10 марта 2016 года. Дата обращения: 23 июня 2024.
  2. Proof of Authority (исп.), Binance Academy. Архивировано 20 июня 2025 года. Дата обращения: 23 июня 2024.
  3. PBFT vs Proof-of-Authority: Applying the CAP Theorem to Permissioned Blockchain (англ.), CEUR Workshop Proceedings. Архивировано 18 мая 2025 года. Дата обращения: 23 июня 2024.
  4. Clique PoA protocol (англ.), GitHub. Архивировано 8 июня 2025 года. Дата обращения: 23 июня 2024.
  5. Table 1. A Research Survey on Applications of Consensus Protocols in Blockchain (англ.), Hindawi. Архивировано 10 мая 2022 года. Дата обращения: 23 июня 2024.
  6. A Research Survey on Applications of Consensus Protocols in Blockchain (англ.), Hindawi. Архивировано 22 апреля 2024 года. Дата обращения: 23 июня 2024.

Категории