Консенсус (Consensus) - способ разрешения конфликтов при принятии решений

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

 

Алгоритм доказательства работы (PoW)

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

Механизм Биткойн POW настолько дорог, что потребляет столько же электроэнергии, сколько требуется для обеспечения энергией такой страны, как Швейцария, за один год. Текущее расчетное годовое потребление электроэнергии Биткойном составляет 61,4 ТВтч, что также эквивалентно 1,5% электроэнергии, потребляемой в Соединенных Штатах.

Алгоритм доказательства ставки (PoS)

Proof of Stake - это блокчейн алгоритма консенсуса, который устраняет основные недостатки алгоритма доказательства работы. В этом случае каждый блок проверяется до того, как сеть добавит еще один блок в реестр цепочки блоков. Майнеры могут присоединиться к процессу майнинга, используя свои монеты для ставок.

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

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

Блокчейн алгоритма консенсуса Proof of Stake намного более энергоэффективен, чем proof of work. Ему даже не нужно слишком много энергии.

Это также снижает угрозу атаки 51%.

Несмотря на то, что Proof-of-Stake кажется более прибыльным, чем Proof-of-work, все же есть один существенный недостаток. Главный недостаток системы в том, что полная децентрализация невозможна.

Это просто потому, что только горстка узлов может участвовать в размещении ставок в сети. Люди с наибольшим количеством монет в конечном итоге будут контролировать большую часть системы.

Алгоритм делегированного подтверждение ставки (DPoS)

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

Изобретенный Даниэлем Ларимером, Delegated Proof-of-Stake (DPoS) - это альтернативный механизм консенсуса, который требует, чтобы держатели монет голосовали за «делегатов», которые затем отвечают за проверку транзакций и поддержание цепочки блоков. DPoS является альтернативой более широко известной модели Proof-of-Stake (PoS), которая требует, чтобы майнеры сделали ставку в требуемой криптовалюте, прежде чем они смогут обрабатывать транзакции и добавлять их в цепочку блоков.

Недостатки DPoS

Несмотря на преимущества, предлагаемые механизмом консенсуса DPoS, он все же не лишен недостатков. Одна из таких ошибок:

  • Достаточной децентрализации невозможно достичь

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

pBFT: что такое практическая византийская отказоустойчивость (pBFT)?

Так называемая P2P-система - это система, в которой все узлы имеют равный статус и с «боссом». Самая большая проблема без босса состоит в том, что у сети нет фактического решения. Если данные не унифицированы в каждом узле, как достичь консенсуса? 

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

Принцип pBFT

pBFT был представлен в 1999 году. Этот алгоритм используется во многих распределенных компьютерных системах. Позже в области блокчейнов pBFT также оказал большое влияние.

pBFT означает «Практическая византийская отказоустойчивость». Название относится к затруднительному положению под названием проблема византийских генералов. По сути, проблема византийских генералов формулирует дилемму о том, как группа византийских генералов, общающихся на расстоянии, может прийти к консенсусу о том, атаковать город или нет, учитывая, что в группе могли быть некоторые предатели. Что касается распределенных вычислений, он спрашивает, как группа узлов может достичь консенсуса по некоторым вычислениям или состоянию, учитывая, что некоторые из них могут быть отключены или вредоносны (Ошибки). Алгоритмы консенсуса Byzantine Fault Tolerant (BFT) направлены на решение этой проблемы. Ключевой вывод из этого семейства алгоритмов консенсуса заключается в том, что для достижения консенсуса доля честных узлов должна быть больше или равна от общего числа узлов, участвующих в консенсусе.

pBFT - это оптимизированный алгоритм BFT. Он был разработан для работы в нестабильных условиях, таких как Интернет. Давайте посмотрим в целом, как транзакции обрабатываются группой узлов консенсуса с использованием алгоритма pBFT.

  1. Клиент отправляет транзакцию кандидата на один из узлов, иногда называемый лидером.
  2. Лидер выполняет многоадресную рассылку (одновременно отправляет всем остальным узлам) транзакцию-кандидат на резервные узлы.
  3. Когда транзакция получает подписи более чем ⅔ узлов, транзакция считается подтвержденной.

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

Преимущества pBFT - высокая пропускная способность и мгновенная завершенность. Также обратите внимание, что в pBFT нет процесса майнинга, и поэтому затраты на энергию минимизированы. Однако есть и недостатки. Узлы pBFT должны быть в постоянном и требовательном взаимодействии друг с другом. Требуемая полоса пропускания увеличивается экспоненциально с увеличением количества узлов, что означает, что сеть должна оставаться небольшой, с 21 узлом - обычно используемым максимальным числом.

Направленные ациклические графы (DAG)

Многие криптоэксперты признают Биткойн как блокчейн 1.0 и Ethereum как блокчейн 2.0. Но в настоящее время мы видим на рынке нового игрока с еще более современными технологиями.

Как работают направленные ациклические графы (DAG)?

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

Создание блока с использованием алгоритма консенсуса Proof-of-Work занимает около 10 минут. Вместо того, чтобы работать над одной цепочкой, DAG реализует «боковые цепи». Боковая цепь позволяет различным транзакциям выполняться независимо в нескольких цепочках.

Это сократит время создания и проверки блока. Ну, на самом деле, это полностью устраняет необходимость блоков. Более того, майнинг тоже кажется пустой тратой времени и энергии!

Здесь все транзакции направлены и поддерживают определенную последовательность. Более того, система является ациклической, что означает, что шанс найти родительский узел равен нулю, поскольку это дерево узлов, а не цикл узлов. DAG показывает миру возможность блокчейнов без блоков!

Основные понятия направленных ациклических графов DAG

  • Больше никаких двойных расходов

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

Более того, ситуация может привести к мягким даже хард-форкам. DAG проверяет конкретную транзакцию на основе предыдущего количества транзакций. Это делает систему блокчейн более безопасной и надежной.

  • Меньшая ширина

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

  • Быстрее и умнее

Поскольку DAG имеет безблочную природу, он может обрабатывать транзакции намного быстрее. Фактически, это делает PoW и PoS похожими на дедушек в гонке.

  • Низкие комиссии

DAG идеально подходит для небольших переводов из-за низкой комиссии за транзакции.