Алгоритмы консенсуса криптовалют Proof of Work (PoW), Proof of Stake (PoS) и другие
Алгоритм консенсуса криптовалюты – это метод достижения соглашения в блокчейн-сети. Соглашение (консенсус) – основа всей работы цепи. Механизмы согласования используются для обеспечения надежности любой сети, включающей в себя несколько узлов. Именно это делает блокчейн-сети настолько децентрализованными и безопасными.
По сути, алгоритмы консенсуса выполняют две функции: предохраняют сеть от мощной хакерской атаки, способной повредить ее, и гарантируют истинность нового блока в цепи. Взамен этой пользы многие алгоритмы забирают много вычислительной энергии, однако они совершенно необходимы для полноценной работы блокчейн-технологий.
На сегодняшний день существует много типов механизмов согласования. Редакция Profinvestment.com рассмотрит основные разновидности консенсуса криптовалют, а затем – более редкие.
Механизмы консенсуса основных популярных криптовалют:
Блокчейн | Монета | Алгоритм консенсуса | Алгоритм хэширования | Рыночная капитализация на 27/03/23 |
---|---|---|---|---|
Bitcoin | BTC | Proof-of-Work | SHA-256 | 538 481 003 482 $ |
Ethereum | ETH | Proof-of-Stake (с сентября 2022) | - | 211 655 945 495 $ |
BNB Chain | BNB | Proof-of-Stake | - | 51 720 846 188 $ |
Cardano | ADA | Proof-of-Stake | - | 12 284 991 014 $ |
Solana | SOL | Proof-of-Stake | - | 7 861 223 547 $ |
Polkadot | DOT | Proof-of-Stake | - | 7 268 045 196 $ |
Litecoin | LTC | Proof-of-Work | Scrypt | 6 714 630 349 $ |
Avalanche | AVAX | Proof-of-Stake | - | 5 451 900 184 $ |
Ethereum Classic | ETC | Proof-of-Work | Etchash | 2 804 523 796 $ |
Algorand | ALGO | Proof-of-Stake | - | 1 470 827 437 $ |
Fantom | FTM | Proof-of-Stake | - | 1 204 657 622 $ |
Оглавление
Что такое алгоритм консенсуса и зачем он нужен. Задача византийских генералов.
Механизм согласования играет важнейшую роль. Отдельные части одноранговой системы, такой как публичный блокчейн, обязательно должны «договариваться» друг с другом о том, как выглядит история цепи до настоящего момента, и о том, каким образом продвигаться вперед – ведь нет центрального органа, который бы контролировал эти аспекты.
Всегда присутствует риск случайной или намеренной дезинформации либо недопонимания между участниками сети. В публичном блокчейне достаточное количество пользователей должно признать правильность истории транзакций до определенного момента. Однако нельзя гарантировать, что все будут честны – есть злоумышленники, которые хотят регистрировать мошеннические транзакции или запрещать подлинные.
Решение этой проблемы должно быть автономным. Никто не может в одностороннем порядке объявлять транзакцию правильной или неправильной, это противоречило бы всем принципам децентрализации. Термин «Проблема византийских генералов» появился в 1982 году и сразу был признан лучшим способом объяснить сложности достижения децентрализации, чтобы людям было легче понять проблему. Его суть:
- Представим военную операцию в Византии 1000 лет назад.
- Есть несколько генералов, армии которых окружили город. Каждая армия находится в своем отдельном лагере.
- Генералы могут связываться друг с другом при помощи гонцов.
- Генералам важно действовать согласованно, чтобы одновременно напасть на город или, наоборот, отступить. Если хотя бы одна армия будет действовать невпопад, то всё войско будет уничтожено.
И здесь возникает сложность. Можно посылать гонцов на лошадях, но их могут схватить и убить. Кроме того, нужно всегда присылать подтверждение о том, что послание получено, но и в этом случае гонца тоже могут убить. Возникает три вида трудностей:
- Что делать, если гонцов постоянно перехватывают или подменяют послания, чтобы генералы запутались?
- Как генерал может понять, что он получил подлинное сообщение?
- Что произойдет, если один или сразу несколько генералов переметнутся на сторону врага и станут намеренно отправлять неверную информацию?
В изобретенной Сатоши Накамото системе Bitcoin все эти проблемы удалось решить. Распределенные системы обладают так называемой «византийской отказоустойчивостью», то есть в их протокол встроена система BFT. Механизм согласования каждые 10 минут производит новые блоки и вознаграждает узел, сформировавший следующий блок. Все остальные узлы сети Биткоин могут убедиться в правильности создания блока и тем самым достичь соглашения о том, стоит ли помещать его в цепочку, обуславливающую работу системы.
Ключевые алгоритмы консенсуса в криптовалютных блокчейн сетях
Рассмотрим используемые на текущий момент в блокчейн-сфере механизмы консенсуса.
Обзор алгоритма Proof of Work (PoW, доказательство выполнения работы)
Proof of Work – информация, которую трудно, долго или дорого произвести, но при этом легко проверить на соответствие заданным требованиям. Получение Proof of Work обычно является рандомной процедурой с крайне маленьким шансом успеха, то есть для достижения цели требуется совершить очень много попыток и ошибочных действий. Такую схему работы использует Биткоин.
Чтобы блок был подтвержден пользователями системы, майнеры должны добиться доказательства выполнения работы, которое охватывало бы все содержащиеся в блоке платежи. Сложность процесса строго отрегулирована: сеть блокчейн может генерировать один блок в среднем в десятиминутный период. Шанс правильной генерации крайне низок, поэтому невозможно предсказать, какое устройство в сети создаст его.
Чтобы блок был признан за действительный, его хэш-сумма должна быть меньше заданной. В каждом новом блоке содержатся сведения о хэше предшествующего. Невозможно изменить блок, помещенный в блокчейн, поскольку для этого пришло бы изменить и все блоки, которые шли следом за ним.
Наиболее распространена схема Proof of Work под названием SHA-256, но кроме нее есть еще следующие виды:
- Scrypt;
- Scrypt-jane;
- Scrypt-n;
- Blake256;
- Crypto Night;
- SHA3;
- Quark;
- HEFTY1.
Периодически появляются и новые вариации, которые в чем-то усовершенствованы по сравнению с классическими. Но принцип всегда остается одним и тем же.
Преимущества и недостатки PoW
Главное преимущество алгоритма консенсуса Proof of Work – эффективная защита от DDoS-атак и влияния майнеров с низкой мощностью оборудования. PoW накладывает определенные ограничения на разрешенные пользователям действия, так как выполнение задачи требует сильный вычислительных мощностей. Чтобы совершить атаку на сеть, нужно огромное количество мощности, что в большинстве случаев будет просто экономически невыгодно. Также держатели крупных капиталов не могут оказывать влияние на сеть, имеет значение только суммарная мощность используемого оборудования.
Основные минусы – внушительные экономические затраты на майнинг и множество «бесполезных» расчетов. На текущий момент сложность добычи Биткоина настолько высока, что действительно ощутимо заработать на майнинге могут только крупные корпорации, имеющие возможность вложить огромное количество средств в оборудование. В результате система постепенно становится более централизованной.
Печально и то, что масса бесполезных расчетов, производимых майнерами, нигде не используется – результаты не могут быть применены ни в науке, ни в бизнесе. Экология страдает от потребления тысяч киловатт электричества.
В каких криптовалютах используется алгоритм консенсуса PoW
На сегодняшний день следующие криптовалюты используют Proof of Work в своей работе (в скобках указана конкретная модификация алгоритма):
- Bitcoin (SHA256)
- Litecoin (Scrypt)
- Bitcoin Cash (SHA256)
- Bitcoin SV (SHA256)
- Monero (Crypto Night)
- Ethereum Classic (Ethash)
И множество других менее популярных валют.
Обзор алгоритма Proof of Stake (PoS, доказательство доли владения)
Доказательство доли владения (Proof of Stake) – механизм согласования для публичного блокчейна, где вероятность успеха связана с экономической значимостью узла в сети. В блокчейнах, работающих на основе PoS пул валидаторов по очереди голосует за дальнейший блок, и важность голоса каждого валидатора зависит от суммарного объема его капитала (так называемой доли).
Общий принцип действия Proof of Stake выглядит так: валидатором в сети может стать любой, имеющий накопления в виде монет сети. Для этого владелец узла должен перевести желаемую часть своих средств в депозит при помощи специальной транзакции. Дальнейший путь может быть одним из двух:
- В «цепном» Proof of Stake система рандомно определяет валидатора по окончании каждого временного интервала (например, 10 секунд) и дает этому валидатору право сформировать блок. Этот блок должен содержать в себе указания на предыдущий, таким образом постепенно выстраивается взаимосвязанная цепь.
- В Proof of Stake на основе BFT валидаторам произвольным образом выдается право предлагать на проверку блоки, но решение о том, какой блок истинный, представляет собой многоэтапный процесс. Каждый узел отправляет «голос» за определенный блок во время каждого этапа голосования, после чего все постепенно соглашаются с истинностью того или иного блока.
Преимущества и недостатки PoS
Два основных плюса алгоритма – отсутствие затрат электроэнергии и высокий уровень безопасности.
В Proof of Stake не нужно мощное оборудование, содержать которое экономически неразумно и которое наносит вред экологии. Благодаря этому также увеличивается коэффициент децентрализации, поскольку крупным игрокам сложнее получить контроль над сетью. Чтобы завладеть цепью, злоумышленнику потребовалось бы купить 51% всех токенов на рынке. Криптовалюты с малой капитализацией действительно подвержены этому риску, но с топовыми такое невозможно.
Что касается недостатков, то с точки зрения дохода PoS сейчас менее выгоден, чем PoW. Кроме того, продавая монеты, добытые путем доказательства работы, человек продает только их. А продавая монеты, добытые через доказательство доли, продает своего «майнера», то есть теряет возможность заработать еще больше.
В каких криптовалютах используется механизм PoS
Примеры популярных валют, работающих на алгоритме Proof of Stake:
Обзор алгоритмов Leased Proof of Stake и Delegated Proof of Stake
Leased Proof of Stake, или LPoS – механизм согласования, базирующийся на Proof of Stake, но несколько усовершенствованный. Если в обычной версии узел удерживает у себя некоторый объем денежных средств, чтобы получить возможность закрыть дальнейший блок в цепочке, то в LPoS пользователь может сдать свои средства в аренду фулл-нодам (главным узлам).
В результате формируется кошелек лизинга, и майнеры, пользующиеся им для генерации блоков, выплачивают проценты настоящему владельцу средств. Каждый пользователь в сети может выбирать, кем ему стать – просто сдать средства в аренду и получать проценты, или же стать фулл-нодой (это делается за отдельную плату, довольно ощутимую).
Способ используется, например, в криптовалюте Waves.
Другой вариант называется Delegated Proof of Stake, или dPoS, и представляет собой процесс голосования через избранных делегатов. Этому предшествует выбор производителей блоков; всё множество участников сети делится на валидирующих и голосующих. В итоге держатели монет, имеющие право голоса, не могут подтверждать транзакции. Но они имеют право выбрать некоторое количество участников, которое будет заниматься формированием блоков.
Обязательное условие для желающих стать валидаторами – раскрытие своей личности и подтверждение готовности постоянно быть онлайн, поддерживать нормальное функционирование узла, бесперебойно подтверждать транзакции. Те же, кто за эти узлы голосовал, получает в награду процент от вознаграждения за блок.
Вариант применяется в работе криптовалюты BitShares.
Другие алгоритмы
Несколько редких, но интересных по своей сути, механизмов согласования.
Proof of Importance (PoI)
Доказательство важности – алгоритм, впервые представленный в рамках криптовалюты NEM. Используется для определения того, какие участники имеют право добавлять новые блоки в цепь; этот процесс называется харвестингом (проведена аналогия со «сбором урожая», harvesting по-английски). В обмен на закрытие блока узел может собрать процент с комиссий за транзакции, заключенные в этом блоке. Чтобы получить право на харвестинг, нужно иметь минимум 10 000 монет XEM.
Proof of Burn (PoB)
Концепция этого метода состоит в том, что майнеры должны доказать сжигание монет. Сжигание – это отправка средств на определенный нерасходуемый адрес. Такой способ применяется в системе Slimcoin. Сеть позволяет владельцам фулл-ноды зарабатывать монеты, отыскивая доказательство сожжения, которое определяется по количеству присланных на нужный проверяемый адрес денег.
Proof of Capacity (POC)
Proof of Capacity – механизм согласования, позволяющий совершать вычисления с помощью использования ресурсов жесткого диска, а не видеокарт, ASIC-майнеров или процессоров. Метод появился как альтернативное решение проблемы высокого потребления энергии в PoW. POC дает возможность использовать незанятое пространство жесткого диска для майнинга криптовалют. Чем объемнее жесткий диск, тем больше возможных значений решения можно на нем хранить, и тем больше шансов получить вознаграждение за нахождение блока.
Примеры валюты, которую можно так добывать – SiaCoin.
Proof of Authority (PoA)
В сетях на базе PoA блоки и транзакции проверяются утвержденными учетными записями, носящими название валидаторов. Валидаторы поддерживают на своих устройствах программное обеспечение, автоматически проверяющее транзакции и помещающее их в блоки. Стать валидатором может узел с высокой надежностью и хорошей репутацией.
Способ успешно применен в сети VeChain.
Proof of Brain
Proof of Brain описано в Bluepaper криптовалюты Steem и имеет два основных свойства:
- пул токенов, предназначенных для стимулирования создания данных и осуществления их кураторства;
- система голосования, использующая силу толпы для определения ценности контента и распространения монет.
Эти два свойства позволяют блокчейну распределять большую часть вознаграждений путем применения человеческого мнения, а не автоматическими процессами.
Byzantine Fault Tolerance (BFT)
Такое обозначение дает понять, что в сети используется система решения подробно описанной выше Задачи византийских генералов. Самый яркий пример использования такой технологии – Биткоин. Хотя сейчас он кажется медленным и неэффективным, но зато среди всех существующих криптовалют он самый честный и надежный, о чем не устают повторять Биткоин-евангелисты.
Proof of Elapsed Time (PoET)
Стратегия этого алгоритма консенсуса выглядит так: каждый пользователь блокчейн-сети ожидает некоторое количество времени, определяемое случайным образом; первый пользователь, закончивший ожидание, закрывает блок и получает вознаграждение. Proof of Elapsed Time разработала компания Intel, механизм работает на специальном наборе инструкций для процессора Software Guard Extensions (SGX). Основное предназначение алгоритма – запуск доверенных приложений в безопасной среде.
Proof of Activity (POA)
PoA подразумевает гибридный процесс генерации блоков, сочетающий в себе принципы PoS и PoW. Сначала майнеры осуществляют свою работу, затем в дело вступают холдеры (держатели монет). Проект пока чисто теоретический и не используется в криптовалютах.
Proof of Weight (PoWeight)
Доказательство «веса» - механизм консенсуса, применяемый в модели Algorand от исследователей Массачусетского института. Позволяет проводить очень быстрые транзакции с применением BFT и успешно масштабироваться под большое число пользователей. Каждому участнику сети присваивается определенный «вес», определяющий его честность и уровень вклада пользователя в развитие сети.
Теперь вы знаете о том, какие алгоритмы способны тем или иным способом поддерживать работоспособность блокчейн-сетей. Все они имеют свои преимущества и недостатки, но направлены на одну цель – обеспечение максимальной безопасности и децентрализации.