Что такое PoW и PoS?

Что такое PoW и PoS?

Механизмы консенсуса составляют основу всех криптовалютных блокчейнов и обеспечивают их безопасность.

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

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

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

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

Блоки создаются особой категорией узлов сети блокчейна — так называемыми узлами консенсуса.

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

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

Proof of Work (PoW)

PoW стал прародителем всех остальных алгоритмов консенсуса. Впервые он был реализован в Биткоине, но сама концепция появилась задолго до этого. Доказательство работы было описано ещё в начале 90-х и применялось тогда для защиты от спама. Но использование PoW для нахождения консенсуса распределённой сети — и стало определённой инновацией.

Название «доказательство работы» отражает тот факт, что для нахождения блока надо совершить вычислительную работу, ожидаемое количество которой измеримо.

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

Каждый последовательно идущий ноль в начале хэша усложняет задачу майнерам, поэтому им приходится тратить всё больше вычислительной мощности (совершать работу).

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

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

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

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

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

PoW используют Bitcoin (BTC), Ethereum Classic (ETC), Dogecoin (DOGE), Litecoin (LTC), Monero (XMR), Zcash (ZEC), Dash (DASH) и др.

Proof of Stake (PoS)

На фоне критики PoW сообщество предлагает множество альтернативных алгоритмов консенсуса, которые не требуют «работы». Самая популярная категория таких алгоритмов основана на доказательствах доли (Proof of Stake). Доказательство доли похоже на доказательство работы, только вместо совершения определённой работы автор нового блока показывает, что у него есть необходимая доля токенов сети. Для «майнинга» на PoS достаточно иметь некий запас криптовалюты и просто получать с неё «проценты».

Узлы консенсуса в таких сетях называют валидаторы (вместо майнеров), а сам процесс нахождения консенсуса – стейкингом (вместо майнинга).

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

PoS используют Ethereum (ETH), Cardano (ADA), Algorand (ALGO), Tezos (XTZ) и др.

Delegated Proof of Stake (DPoS)

Но оба рассмотренных механизма имеют как свои плюсы и минусы, поэтому постоянно появляются и другие версии. Например, существует модификация механизма консенсуса PoS, в которой происходит делегирование доли (Delegated Proof of Stake). Такая система опирается на голосование на основе репутации для достижения консенсуса. Пользователи сети «голосуют» за выбор валидаторов из некоего определённого перечня надёжных узлов.

DPoS используют Lisk (LSK), EOS (EOS), Steem (STEEM), Ark (ARK) и др.

Кроме доказательства работы и доли, блокчейн-энтузиасты постоянно экспериментируют и с другими алгоритмами.

Криптобиржа Blocktopia раздает 30 $ новым пользователям до 09.02.23

Proof of Authority (PoA)

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

Proof of Capacity (PoC) / Proof of Space

Чтобы выступать в качестве валидатора в таких сетях необходимо поделиться своим местом на жёстком диске. Это помогает за вознаграждение делиться неиспользованными ресурсами ПО.

Proof of Elapsed Time (PoET)

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

Proof of History (PoH)

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

Directed Acyclic Graphs (DAG)

Направленный ациклический граф (DAG) не использует стандартную структуру блокчейна, а обрабатывает транзакции в основном асинхронно.

Узлы распределяют свои транзакции связывая их с другими узлами наугад, поэтому в итоге все транзакции переплетаются друг с другом.

Это теоретически даёт бесконечное количество транзакций в секунду, но и у консенсуса в DAG есть как сильные, так и слабые стороны.

DAG используют Iota, Hashgraph, Raiblocks/Nano и др.

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

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

4
Начать дискуссию