April 12, 2022

Консенсус Алгоритмы - что это такое и с чем это едят?

Данное руководство подготовлено специально для HinkoK&Magdi DAO by @mamont_boy

Введение

  1. Базовая информация
  2. А какие вообще есть алгоритмы?

Базовая информация

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

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

Протокол — это правила работы блокчейна, по которым происходит взаимодействие нод сети, передаются данные о транзакциях и подтверждается добыча блока

Алгоритм Консенсуса — это механизм проверки протокола

А какие вообще есть алгоритмы?

PoW — Proof-of-Work / Доказательство-выполненной-работы

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

Какие сети используют PoW:

  1. Bitcoin и все его подвиды
  2. Ethereum
  3. Litecoin
  4. Monero
  5. Dogecoin
  6. ZCash
PoS — Proof-of-Stake / Доказательство-доли-владения

PoS — алгоритм, впервые представленный в 2011 году на форуме BitcoinTalk в качестве более совершенной версии алгоритма PoW — с увеличенной скоростью транзакций и более простой масштабируемостью. В PoS майнинг нет. Вместо этого используется система «форджинга» то есть доказательства владения монетами этой сети. Вместо майнеров в таких сетях — валидаторы, а баланс валидатора — его стейк.

Форджинг — создание новых блоков на основе владения уже созданной монеты. Вознаграждение — новые единицы монеты либо комиссионные сборы

PoS по сути похож на банковский вклад — вложил и получаешь процент. У алгоритма есть множества плюсов — крайне высокая скорость прохождения транзакций, низкое энергопотребление, не требует специального оборудования и умеренно низкие комисси, но это все уравнивает один большущий минус — угроза централизации сети посредством так называемой «Атаки 51%».

Атака 51% — угроза блокчейна перейти в руки одного или нескольких людей за счет того, что они смогут завладеть контрольным пакетом управляющих средств блокчейна — будь то монеты как в PoS или оборудование для майнинга в случае с PoW

Какие сети используют PoS:

  1. Binance Chain и BSC
  2. Cardano
  3. Tron
  4. Nano
  5. TomoChain
PoA — Proof-of-Authority / Доказательства-полномочий

PoA — алгоритм, попытавшийся объединить в себе Pow- и Pos-алгоритмы. Концептуализированный одним из создателей Ethereum Гэвином Вудом, алгоритм опирается на «честность» своих валидаторов. Мне эта система напомнила открытый тендер из оффлайн экономики, только здесь поставщик-валидатор предлагает тебе не самую низкую цену, а максимально чистые и прозрачные транзакции. В классическом понимании PoA награды за майнинг или стейкинг не предусмотрены, а к тому же излишняя централизация вынудила разработчиков UMI создать свою вариацию валидации в алгоритме. Разделив ноды на две группы — мастер-ноды (которыми и являлись команда UMI с главными инвестицию-партнерами проекта) и ноды-валидаторы — пришли к безопасной децентрализации и дали возможность пользователям получать прибыль. Почему я назвал децентрализацию безопасной? Разделив ноды на две составляющие группы, только мастер-ноды получили возможность создавать блоки и проводить транзакции, но они не могут поддерживать сеть или проверять блоки на точность в отличии от нод-валидаторов, который как раз для этого и создаются. Стейкинг же они реализовали за счет смарт-контракта, который также получился на редкость интересным. Отправляя монеты в стейкинг ты их не замораживаешь, все также обладаешь полным контролем над ними и ты не ограничен никакими рамками в вопросе минимального вклада. Но как итог — на момент 2022 года проект уже ушел в небытие.

Какие сети используют PoA:

  1. Microsoft в платформе Microsoft Azure
  2. UMI
DPoS — Delegated Proof-of-Stake / Делегированное доказательство-доли-владения

Сердце молодого абузера разбилось. Забегая наперед, WAX — это DPoS ☺️

DPoS — модификация алгоритма PoS, созданная разработчиком Дэном Ларимером в 2014 году с целью лишить валидаторов возможности централизировать сеть. Вот и пришла демократия. При таком алгоритме все владельцы монет выбирают «Делегата», передавая ему право отдать свой голос.

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

Делегаты, объединившись в особой пул, получают возможность вносить изменения в сеть: время добычи блоков, их размер и прочее, но они не имеют контроля над транзакциями что оставляет за холдерами контроль над сетью. Из плюсов алгоритма: крайне высокая (WAX видимо это не унаследовал😒) скорость работы и возможности масштабирования. В отличии от PoW и классического PoS, в DPoS — сети работает гораздо меньше нод, но в последнем и кроется проблема. При низкой активности участников сети сохраняется возможность централизации, а также увеличивается простор для DDoS — атак.

Какие сети используют DPoS:

  1. WAX
  2. Steemit
  3. Tezos
LPoS — Leased Proof-of-Stake / Арендованное доказательство-доли-владения

LPoS — вариация развития PoS появился специально для блокчейна Waves. C изначальной целью уйти от централизации PoS — сетей путем разрешения юзерам с недостаточным количеством монет участвовать в управлении сети, отдавая в «аренду» свои токены, далеко уйти от этого не смогли. Да, монеты все также остаются в кошельке без возможности продать или передать их, но также они уже в арендованном формате переходят к валидатору, увеличивая его стейк и количество профита. С одной стороны выгодно и нашим, и вашим, но децентрализованность подставляется под угрозу возможностью арендовать большинство монет.

Какие сети используют LPoS:

  1. Waves
PoI — Proof-of-Importance / Доказательство-важности

Очередной вариант PoS, разработанная специально для блокчейна NEM. Суть проста — важность имеет не только количество монет в стейкинге, но и активность участника. За разного рода активности начисляется репутация, а от нее уже и зависит количество наград. Достаточно странное нововведение, мотивирующее пользователей делать больше транзакций. Отрицательная сторона — для получения награды — харвестинга — необходимо застейкать 10000 NEM.

Какие сети используют PoI:

  1. NEM
PoB — Proof-of-Burn / Доказательство-сжигания

Что-то новое. PoB — алгоритм, разработанный для уменьшения эмиссии монеты, в следствии чего крайне непопулярен. Суть просто — при переходе на этот алгоритм с любого другого создается специальный burn-кошелек (уверен вы слышали о таких), к которому невозможно подобрать ключ. На него отправляются старые монеты, а владелец получает новые. Главное преимущество этого алгоритма — практически отсутствующее энергопотребление в следствие ненужности майнинг-оборудования, а также при росте потребности на полностью эмисированные монеты цена на нее будет только повышаться.

Какие сети используют PoB:

  1. Counterparty
PoET — Proof-of-Elapsed-Time / Доказательство-истекшего-времени

PoET — консенсус-алгоритм, разработанный Intel. Представляет собой фактически лотерею. Суть предельно проста — рандомно на каждой ноде генерируется случайное время генерации блока, после этого нода замораживается. Специальная система SGX пристально следит за тем, чтобы время, генерируемое нодой, было действительно случайным. Награду при таком алгоритме получает нода, чье сгенерированное время оказалось ниже остальных. Но не все так просто — алгоритм работает только на процессорах Intel с Software Guard Extension.

PoSpace — Proof-of-Space / Доказательства-пространства

PoSpace — алгоритм, использующийся совместно с PoET для майнинга Chia. В конечном итоге они образовали консенсус-алгоритм PoST, совмещающий в себе функции обоих. Концепция проста — алгоритм генерирует множество возможных решений для хеш-функций (и необязательно только для одной) на всем свободном выделенном для него пространстве жесткого диска. Тем самым время и мощности затрачиваются не на решение задачи, а на поиск уже готового ответа для нее на жестком диске. Исходя из своей структуры, PoSpace обеспечивает возможностью майнить монеты даже на устройствах с малой мощностью, использую всю свободную память устройства.

К большому сожалению, алгоритм не получил большого распространения и, помимо Chia с их XCH, используется в таких малоизвестных блокчейнах как SpaceMint и BurstCoin.

PoH — Proof-of-History / Доказательство-истории

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

Итог

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