Блокчейн представляет собой распределенный реестр данных о сделках между пользователями. Для того чтобы обеспечить корректное внесение записей в эту электронную базу, необходима координация действий между всеми участниками сети. Данную задачу решает алгоритм консенсуса.
В этой статье мы рассказываем, как работает механизм консенсуса и какие популярные алгоритмы используются в криптовалютных сетях. 👇
Предыстория
Прототип механизма консенсуса Proof-of-Work (PoW), который применяется в Bitcoin и других блокчейнах, появился немного раньше самой криптовалюты. Он создавался с целью защиты компьютеров от различного рода спам-атак. Принцип его работы при защите серверов заключался в необходимости решения несложных задач для получения доступа к сайту (например, введения капчи, которые и сейчас применяется на многих интернет-ресурсах). Таким образом, пользователю требуется выполнить определенную работу, затрачивая некоторые вычислительные ресурсы и время. Если это будет делать злоумышленник с целью массовых атак, то ему понадобятся значительные вычислительные мощности и временные затраты.
Впервые технологию, схожую с Proof-of-Work, представили Мони Наор (Moni Naor) и Синтия Дворк (Cynthia Dwork) в 1993 году. В 1999 году в научной статье журнала «Communications and Multimedia Security» Маркус Якобсен (Markus Jakobsson) и Ари Джуэлс (Ari Juels) описали практическую реализацию PoW.
Сатоши Накамото подхватил эту технологию и внедрил алгоритм консенсуса в сеть Bitcoin, где данный механизм используется для генерации блоков. После внедрения Proof-of-Work в Bitcoin стали появляться и другие алгоритмы консенсуса, например, Proof-of-Stake, о котором мы расскажем далее.
Как работает механизм консенсуса
Консенсус в блокчейне — это соглашение между майнерами о том, какие транзакции можно считать действительными, чтобы в дальнейшем внести их в децентрализованный реестр. Существует множество различных алгоритмов консенсуса в блокчейне, но суть их одна — это единогласное одобрение операции в сети между узлами, после достижения которого данные вносятся в децентрализованный реестр. Например, в процессе майнинга с помощью алгоритма Proof-of-Work (PoW) «добытчики» генерируют хеш и отправляют эти значения в сеть. Далее случайным образом выбирается «счастливчик», которому предоставляется право добавить блок в реестр. Но перед этим отправленные им данные проверяют другие ноды, чтобы в блокчейн не была внесена мошенническая транзакция. Если все корректно, то достигается соглашение между большинством пользователей в сети, участвующих в майнинге — это и есть консенсус.
Консенсус блокчейна по технологии Proof-of-Stake (PoS) работает по другому принципу: для того чтобы участвовать в работе сети, необходимо заморозить определенную сумму монет на своем кошельке. Чем больше монет переведено в стейк, тем выше шансы стать валидатором и сформировать новый блок. Proof-of-Stake, в отличие от PoW, не требует каких-либо вычислительных мощностей, а потому считается более экологичным алгоритмом.
Безопасность
Механизм консенсуса в блокчейне позволил решить три основные проблемы, которые ранее тормозили развитие децентрализованного реестра: «проблему византийских генералов», «атаку 51%» и двойное расходование средств.
Проблема византийских генералов
В 1982 году в исследовательской работе Лэмпорта была описана «Задача византийских генералов», где существовала проблема надежного взаимодействия между военачальниками при управлении боевыми операциями. Суть заключалась в следующем: наличие генералов-предателей в армии не позволяло эффективно выполнить боевую задачу из-за отсутствия общего консенсуса. Аналогичная ситуация возможна и в децентрализованной сети, когда часть делегированных нод может оказаться вредоносной, что не позволит достичь консенсуса и нарушит правильную работу блокчейна (например внесение фальшивой транзакции).
Решить «Задачу византийских генералов» удалось в 1999 году с помощью алгоритма «Практический подход к византийской отказоустойчивости» (PBFT). На его основе и появился алгоритм консенсуса Proof-of-Work (PoW), благодаря которому удалось получить отказоустойчивый механизм коллективного принятия решений в децентрализованной сети.
Атака 51%
«Атака 51%» рассматривается как возможная проблема для крупных блокчейн-сетей, работающих на алгоритме PoW (например Bitcoin). Опасность заключается в захвате большей части вычислительных мощностей для майнинга, что позволит злоумышленникам получить контроль над созданием блоков и подтверждением любых транзакций. Технически это осуществить сложно, но риск все же остается. Стоит также отметить, что «атака 51%» невыгодна самим злоумышленникам. В случае такого инцидента произойдет резкое снижение доверия пользователей к сети и, соответственно, падение цены на монету.
Для механизма консенсуса Proof-of-Work (PoW) опасность «атаки 51%» может возникнуть при захвате большей части майнинговых мощностей, а в Proof-of-Stake (PoS) это произойдет, если большая часть стейков будет сосредоточена в одних руках.
Двойное расходование средств
Проблема двойного расходования средств заключается в том, что с одного кошелька может быть списана одна и та же сумма несколько раз. В блокчейне эту проблему решает открытость данных в реестре: любой желающий может проверить транзакцию.
В процессе майнинга, перед тем как новый блок будет внесен в цепочку, находящуюся в нем информацию проверяет множество независимых нод. Если обнаружится дублирование какой-либо транзакции, то она будет мгновенно отклонена, что позволяет исключить двойное списание.
Популярные механизмы консенсуса
Существует множество видов консенсуса в блокчейн-сетях, но мы детально рассмотрим два самых популярных, которые применяются в сетях Bitcoin и Ethereum. Для Bitcoin используется Proof-of-Work (PoW), а для Ethereum — Proof-of-Stake (PoS). На начальном этапе Ethereum также работал на PoW, но позже перешел на более экологичный PoS.
Proof-of-Work (PoW)
Proof-of-Work (PoW) переводится с английского как «доказательство выполненной работы». Такой механизм предусматривает решение определенных математических задач майнинговым оборудованием для генерации хеша. Среди тех, кто отправил правильные значения, случайным образом выбирается победитель, который добавляет блок в блокчейн и получает за это вознаграждение.
Для того чтобы майнер мог участвовать в добыче монет, ему необходимо скачать полную версию блокчейна. В процессе работы он будет проверять данные в этом реестре.
Для PoW характерен высокий уровень безопасности, но его слабой стороной является большое потребление электроэнергии. Причиной этому является то, что майнерам необходима покупка мощного оборудования, которое требует много электричества. Высокая мощность повышает шансы на добавление блока и получение награды.
Учитывая сложность данного алгоритма, многие пользователи объединяют свои вычислительные мощности в пул и, в случае получения награды, разделяют ее согласно предоставленным ресурсам.
Сети, работающие на Proof-of-Work: Bitcoin, Litecoin, Dogecoin и др.
Proof-of-Stake (PoS)
Алгоритм Proof-of-Stake (PoS), или «доказательство доли владения», появился немного позже Proof-of-Work. Основное его отличие от предшественника — это отсутствие необходимости покупки специального оборудования для майнинга. Для участия в PoS требуется заморозка определенной суммы монет на криптосчете. Благодаря этому валидатор получает свой «голос» в сети. Здесь работает принцип: чем больше монет на счету, тем выше шансы на получение вознаграждения за найденный блок.
Вторая по популярности сеть, Ethereum, перешла с PoW на PoS в 2022 году. Целями перехода были повышение экологичности и масштабируемости, а также снижение комиссий за транзакции.
Сети, работающие на Proof-of-Stake: Ethereum, Toncoin, Cardano, Solana и др.
Другие популярные виды консенсуса
В криптовалютных сетях существует множество других видов консенсуса. Среди наиболее известных:
- Proof-of-Authority (PoA) — алгоритм консенсуса, основанный на системе репутации. Чтобы стать валидатором, необходимо получить доверие от других нод. После одобрения участниками «добытчик» может проверять блоки в сети. Для PoA свойственны некоторые элементы централизации за счет того, что ограничивается число узлов, участвующих в майнинге. Алгоритм PoA применяется в таких сетях, как Waves Enterprise и VeChain;
- Proof-of-Capacity (PoC) — этот алгоритм консенсуса работает на основе доказательства ресурсов. Майнеры предоставляют в сеть свое свободное пространство на жестком диске (по аналогии с работой облачного хранилища). Также в PoC не предусмотрена переборка хеша всех блоков во время проверки, как в PoW, а только тех данных, которые хранятся на носителе ноды. Proof-of-Capacity применяется в таких блокчейн-сетях, как Chia (XCH) и BitTorrent (BTT).
Подводя итоги
Алгоритм консенсуса является ключевой составляющей работы криптовалютной сети. Благодаря этой технологии пользователи могут добровольно участвовать в проверке и создании блоков, имея возможность получать награды за свою работу. С помощью механизма консенсуса в блокчейне обеспечивается сохранность и достоверность данных без необходимости доверять кому-либо из участников сети.