Механизм консенсуса — это процесс, посредством которого группа одноранговых узлов в сети, известных как «Ноды», определяет, какие транзакции блокчейна действительны, а какие нет. Механизмы консенсуса — это методологии, используемые для достижения этого соглашения. Именно эти наборы правил помогают защитить сети от вредоносного поведения и хакерских атак, а также обеспечивают децентрализованное существование сети. В общедоступном блокчейне нет администраторов, операторов или центров обмена информацией, к которым можно было бы обратиться.
Правила, которые были жестко запрограммированы в протоколе, гарантируют, что единый источник истины всегда будет найден и согласован в глобальной компьютерной сети. В блокчейне каждый следующий блок цепи “запирает” предыдущий, чтобы обеспечить безопасность данных. Каждый новый блок добывается одним из узлов сети и транслируется всем остальным узлам. Для того, чтобы этот блок был принят и записан в блокчейн, узел предоставляет остальным участникам определенные доказательства. Какие именно доказательства — зависит от алгоритма консенсуса.
Существует много различных типов механизмов консенсуса, в зависимости от блокчейна и его применения. Хотя они отличаются по энергопотреблению, безопасности и масштабируемости, все они преследуют одну цель: гарантировать, что записи правдивы. Вот обзор некоторых из наиболее известных типов механизмов консенсуса, используемых распределенными системами для достижения консенсуса.
Механизм консенсуса в сети Blockchain
Публичные блокчейны, которые функционируют как децентрализованные, саморегулирующиеся системы, работают в глобальном масштабе без какого-либо единого органа власти. Они предполагают вклад сотен тысяч участников, которые работают над проверкой и аутентификацией транзакций, происходящих на блокчейне, и над деятельностью по добыче блоков. Для того чтобы сеть функционировала нормально и чтобы максимально исключить атаки на сеть, все узлы сети должны взаимно подтверждать и одобрять действия друг друга, то есть достигать консенсуса при подтверждении каждой транзакции и создании нового блока.
Роль консенсусных алгоритмов заключается в достижении уровня надежности сети, построенной на серии узлов (устройств, соединенных с другими устройствами как часть компьютерной сети). Это означает, что, если совершена транзакция, то алгоритм начнет работать — обмениваться данными по сети, чтобы проверить, может ли данное действие иметь место. Тот же процесс также применяется для создания новых узлов данных в блокчейне или при синхронизации сетевого оборудования, чтобы обеспечить согласованность всего консенсуса.
По сути, механизм консенсуса — это набор определенных математический правил и законов, которые регулируют работу блокчейна. Вот основные принципы работы и цели для различных алгоритмов консенсуса:
- Достижение единого соглашения. Механизмы консенсуса пытаются решить одну из самых сложных проблем, связанных с распределенной системой — достижение единого соглашения, в отношении которого данные являются достоверными и точными. В отличие от централизованных систем, которые требуют доверия к центральному органу власти, пользователи не должны доверять никому в децентрализованной системе. Правила протокола, встроенные в сеть, гарантируют, что статус публичной книги всегда обновляется с согласия широких масс.
- Справедливый и равноправный. Важным преимуществом децентрализации блокчейна является расширение возможностей дистрибуции, когда любой может участвовать в сети и быть на равных. Открытый исходный код публичных блокчейнов позволяет любому пользователю проверять и убеждаться в том, что исходный код, лежащий в основе, справедлив для всех участников сети. При желании вы можете легко настроить узел, чтобы он стал участником или даже майнером. Короче говоря, механизм консенсуса гарантирует, что блокчейн не допускает дискриминации.
- Согласование экономических стимулов. Создание саморегулирующейся системы, не требующей доверия, требует согласования интересов участников сети. Механизм консенсуса делает это, стимулируя хорошее поведение и в некоторых случаях наказывая плохих участников. Первый механизм консенсуса, используемый Биткойнами (называемый Proof-of-Work), стимулировал майнеров, вознаграждая их биткойнами за каждый блок транзакций, которые были успешно защищены и подтверждены. Любая попытка действовать против сети (посредством взломов или двойного расходования) требует огромного количества вычислительных и финансовых ресурсов, которые было бы лучше использовать, работая на систему (поскольку каждый будет вознагражден за свои усилия), а не против системы.
- Предотвращение двойных расходов. Механизмы консенсуса предотвращают двойные расходы любых пользователей, что было давней проблемой цифровых валют до появления биткоина. Двойное расходование относится к возможности двойного расходования цифровой валюты. Правила протокола, встроенные в механизм консенсуса блокчейна, гарантируют, что в общедоступный, прозрачный реестр включаются только действительные и аутентичные транзакции. По мере того, как майнеры расширяют огромные объемы вычислительных ресурсов для обеспечения безопасности транзакций (и, следовательно, сети), становится экспоненциально сложнее удвоить расходы или изменить транзакции.
- Регулирование частоты генерации новых блоков — это помогает исключить ситуации, когда каждый узел генерирует свой блок и записывает его в блокчейн. Например, в блокчейне биткоина блок генерируется каждые 10 минут (итого 6 блоков в час). Иногда возникают ситуации, когда несколько узлов практически одновременно (с разницей в несколько долей секунды) генерируют блок, тогда возникает конфликт, который решается в пользу узла, который раньше всех создал блок. Транзакции, которые входили в «отвергнутый» блок/блоки, помещаются в список неподтвержденных транзакций и обрабатываются уже в следующем блоке.
- Проверка корректности данных блока. Все узлы должны подтвердить правильность данных блока, который был сгенерирован определенным узлом. Проверяются хеши транзакций, предыдущего и сгенерированного блока, правильность подбора числа nonce.
- Отказоустойчивость. В вычислительной сфере отказоустойчивость относится к свойству распределенной системы работать неограниченно долго даже при угрозах или сбоях. Механизмы консенсуса гарантируют, что цепочки блоков являются отказоустойчивыми и, следовательно, надежными и последовательными.
Алгоритмы консенсуса в блокчейне базируются на криптологической задаче византийских генералов. Однако для применения в криптовалютах ее принципы были немного изменены и адаптированы под работу в P2P-сети.
Основные характеристики и преимущества блокчейна:
- Стойкость к цензуре. В отличие от «Византии» блокчейн не нуждается в главнокомандующем, потому что блокчейн — это децентрализованная система, и никто не может никому запретить заниматься майнингом.
- Объективность — в блокчейне всегда хранится актуальная версия журнала транзакций и поэтому эта информация не нуждается в подтверждении авторитетными источниками.
Когда на кону важные данные и балансы пользователей, очень важно, чтобы блокчейн оставался свободным от ошибок. Таким образом, вы можете гарантировать, что сеть содержит только подлинные транзакции. Вот почему консенсус так важен: он предотвращает запись узлами противоречивой информации. Вы можете рассматривать это как процесс голосования. Если более половины узлов проголосуют за включение транзакции, то она может присоединиться к сети блокчейн. В противном случае сеть отменяет транзакцию.
В большинстве случаев пользователи, участвующие в поддержании консенсуса, должны ставить что-то на карту, чтобы предотвратить их злонамеренные действия. Если они будут плохо себя вести, они потеряют свое вознаграждение. Если вы когда-либо слышали термин “численная сила” — он идеально применим к блокчейнам. Как вы можете себе представить, система, защищенная всего несколькими людьми, может быть легко повреждена. При небольшой системе валидаторы или майнеры могут вступить в сговор. Однако это практически невозможно, когда в сети тысячи участников.
Проблема византийских генералов на блокчейне
Классическая проблема распределенной вычислительной системы называется проблемой византийских генералов. Это можно понять по аналогии с несколькими византийскими армиями, которые осаждают вражеский замок. Византийская (римская) армия разделена на несколько батальонов, каждым из которых управляет генерал. Генералы общаются друг с другом через мессенджеры.
Чтобы добиться победы, ВСЕ генералы должны атаковать вражеский замок в унисон. Следовательно, консенсус должен быть достигнут всеми генералами, чтобы византийская армия могла атаковать вражеский замок и победить.
Однако существует несколько рисков, которые могут помешать победе:
- Не всем генералам можно доверять — некоторые могут быть предателями.
- Не всем мессенджерам можно доверять — некоторые могут быть предателями.
- Мессенджер может быть пойман врагом и заменен поддельным мессенджером для передачи поддельных новостей.
Столкнувшись с многочисленными рисками, которые могут поставить под угрозу победу, необходимы определенные процессы, которые могут гарантировать:
- Подлинность сообщения. Сообщение должно быть легко проверено, чтобы убедиться, что оно подлинное и не было изменено с помощью
- Единство. Для участия в плане сражения необходим коллективный консенсус всех генералов.
- Отказоустойчивость. Несколько предателей или плохих участников не могут поставить под угрозу все процессы.
Это риски и соображения, которые должна учитывать распределенная вычислительная сеть. Участники децентрализованной сети — называемые узлами, должны все согласиться с определенным набором протоколов и правил для достижения консенсуса, при этом каждый узел соглашается с действительностью каждой транзакции, добавленной в базу данных.
Это непросто, но достижения криптографии и информатики — с помощью технологии блокчейн — позволили создать такую возможность. Решение достигается с помощью механизмов консенсуса блокчейна.
Виды алгоритмов консенсуса различных блокчейнов
В криптовалютном пространстве существует множество моделей алгоритмов консенсуса, которые обладают различными функциями и свойствами для достижения консенсуса распределенным образом. Не существует единого алгоритма консенсуса, применимого для всех видов блокчейнов, также как нет плохих или хороших алгоритмов консенсуса. Каждый из них имеет свои преимущества и недостатки.
Давайте рассмотрим самые популярные механизмы консенсуса и попытаемся понять принципы их работы:
Механизм консенсуса Proof of Work (PoW) — первый алгоритмом консенсуса, который был создан. Proof of Work переводится как «Доказательство работы». Впервые, в 1993 году его принцип был описан в работе американской ученой в области информатики Синтии Дворк и израильского криптографа Мони Наора. Они создали теоретическую базу PoW, предлагая создать алгоритм, который бы предоставлял доступ к определенным данным только тем пользователям, которые правильно решили определенную задачу. Следующий шаг в развитии алгоритма «доказательства работы» был Hashcash Адама Бэка, созданный в 1996 году — этот инструмент помогал предупредить DoS-атаки и рассылки спама.
Официально термин Proof-of-Work был предложен Маркусом Якобсеном и Ари Джуэлсом в 1999 году. В 2008 году все эти наработки были соединены в разработке Сатоши Накамото, которую мы сегодня знаем как Bitcoin. Он используется Bitcoin и многими другими криптовалютами. Алгоритм Proof of Work является неотъемлемой частью процесса майнинга.
Майнинг PoW включает в себя многочисленные попытки хеширования, поэтому чем больше вычислительная мощность, тем больше попыток в секунду. Другими словами, майнер с высоким хешрейтом имеет больше шансов найти правильное решение для следующего блока (aka. хеш блока). Алгоритм консенсуса PoW гарантирует, что майнеры смогут только подтверждать новый блок транзакций и добавлять его в блокчейн, если распределенные узлы сети достигают консенсуса и соглашаются с тем, что хеш блока, предоставленный майнером, является подтвержденным Proof of Work (валидированным доказательством работы).
На основе алгоритма Proof of Work созданы и другие похожие алгоритмы, использующие доказательство работы. Вот некоторые из них:
Proof of Proof of Work (PoPoW) — доказательство доказательства работы. Предложены как интерактивные так и неинтерактивные. Неинтерактивные доказательства работы (NIPoPoWs), могут быть адаптированы к существующим криптовалютам на основе PoW, чтобы улучшить их производительность и расширить их функциональность. В отличие от традиционного блокчейн-клиента, PoPoW являются краткими доказательствами и не должны проверять всю линейно растущую цепочку. Метод может применяться для узлов SPV (Simplified Payment Verification), которые не хранят всю цепочку и не участвуют в поисках блока, но тем не менее участвуют в валидации платежей. Например — в консенсусе могут принимать участие клиенты (устройства) пользователей. Используют: ERGO, WebDollar.
Proof of Meaningful Work (PoMW) — доказательство значимой работы. Текущая реализация алгоритма использует значимые вычислительные задачи, чтобы энергия, вложенная в доказательство вычислительной мощности майнеров, использовалась для расчетов, которые поддерживают общественные научно-исследовательские проекты (например, медицинские исследования для лечения, химические исследования, астрофизическое моделирование). В сочетании с PoS можно непрерывно регулировать в соответствии с текущей ситуацией загрузки. Использует: Vrenelium.
Proof of Useful Work (PoUW) — доказательство полезной работы. Данный алгоритм консенсуса включает в себя блокчейн, создаваемый с помощью специального оборудования, называемого «узловыми машинами», которые имеют очень похожие стандартизированные спецификации. В сети Internet Computer они запускают очень сложные консенсусные протоколы, которые опираются на мощь передовой криптографии, часто называемой криптографией с цепным ключом. PoUW занимается членством в сети.
Ключевым компонентом схемы является сетевая нервная система (или NNS), сложный DAO без разрешений, который интегрирован с протоколами Internet Computer. Это полностью контролирует сеть, настраивает ее и обновляет программное обеспечение, запускаемое узловыми компьютерами. Среди своих обязанностей он объединяет узловые компьютеры для создания «цепочек блоков подсети», которые сами по себе объединяются в единую цепочку блоков с использованием криптографического ключа цепочки. Этим достигаются две важные вещи. Во-первых, помимо расходов, злоумышленник не может просто добавить узлы в блокчейн подсети, поскольку NNS тщательно выбирает узлы, глядя на поставщика узлов, центр обработки данных, в котором установлен узел, и его географию и юрисдикцию, в схеме «детерминированной децентрализации». Во-вторых, NNS может удалять (или «сокращать») узлы, которые статистически отклоняются.
Применяя детерминированную децентрализацию, NNS создает высокозащищенную схему, в которой Internet Computer работает в суверенной сети выделенного оборудования, сформированной из узловых машин, которые могут жестко контролироваться для исправления поведения с целью продолжения их участия в производстве блоков (благодаря чему их владельцы, провайдеры узлов, получают вознаграждение). В PoUW повторяющаяся работа по хешированию PoW, цель которой в первую очередь связана с работой сети, была заменена полезными вычислениями смарт-контрактов. Поскольку эта работа должна быть выполнена в любом случае, создается в высшей степени эффективная сеть. Использует: Internet Computer, FLUX, Dynex.
Delayed Proof of Work (dPoW) — это гибридный механизм консенсуса, который позволяет одному блокчейну воспользоваться преимуществами безопасности, обеспечиваемой за счет мощности хеширования вторичного блокчейна. Это достигается с помощью группы нотариальных узлов, которые добавляют данные из первого блокчейна во второй, что затем потребовало бы компрометации обоих блокчейнов, чтобы подорвать безопасность первого.
Первым, кто использует этот метод консенсуса, является Komodo, который привязан к блокчейну Биткойна. 64 узла «нотариуса» фиксируют состояние в сети, и примерно каждые 10 минут делают слепок последнего блока своей сети и записывают его хеш транзакцией в сеть Bitcoin, откуда затем могут проверять валидность собственной цепочки. Используют: Komodo.
Hybrid Proof of Work (HPoW) — использует механизм консенсуса PoW, но модифицирует его так, что это становится невыгодно, и в результате создает целую криптовалютную сеть, которая может работать на энергоэффективных, простых в настройке, недорогих компьютерах или облачных сервисах. HPoW устраняет стимул получения прибыли для майнеров, поскольку вознаграждение за майнинг очень низкое, в результате в консенсусе участвуют только заинтересованные лица. Кроме того, чтобы не допустить злоумышленников, майнеры должны иметь на адресе баланс, который будет изъят у них в качестве штрафа, если они попытаются жульничать. Майнер может добывать блок не чаще чем раз в 30 минут, и удачливый майнер выбирается случайным образом, независимо от скорости нахождения блока лично им. Используют: Lynx.
Proof of Work Time (PoWT) — это новый подход к формированию консенсуса путем введения переменной blocktime, которая масштабируется в зависимости от мощности майнинга, где блокчейн ускоряется с увеличением мощности. Это улучшает масштабирование блокчейна, увеличивает скорость транзакций с увеличением мощности и позволяет автоматически настраивать более прибыльный майнинг. Время блока зависит от сложности (максимум ~ 6,2 минуты, минимум 15 секунд). Используют: Vericoin.
Proof of Edit Distance (PoED) — доказательство дистанции редактирования. Поиск блока ниже средней дистанции между последними хешами заголовков блоков нескольких блокчейнов, для организации мульти-чейн консенсуса. Майнеры соревнуются, чтобы найти строку, которая при хэшировании в процессе нормализации превышает минимальный порог расстояния. Затем эта строка может быть хэшем промежуточной цепочки блоков и хэшем заголовка для следующего блока. Чтобы найти новый блок в промежуточной цепочке блоков, майнер будет перебирать случайную кодировку или число, хэшируя строки, пока не найдет хэш, превышающий пороговое значение для всех блоков. Используют: Overline (Block Collider).
Energy-saving Proof of Work (ePoW) — это согласованный алгоритм, который снижает монополию майнинга за счет применения концепции блочного окна. Это уменьшает нерациональное потребление энергии при вычислении хэша, избегая спонтанных попыток майнинга в течение периода применения окна блока после успешного майнинга.
Если узел успешно выполняет майнинг, ни один новый блок не может быть добыт в течение периода применения окна блока. Даже если жадный узел пренебрегает этим механизмом и преуспевает в майнинге нового блока, он не будет распознан как действительный блок во всей сети блокчейнов Hdac, тем самым устраняя необходимость пытаться найти недопустимый блок. Используют: HDAC.
Semi-Synchronous Proof of Work (SSPoW) — это вариация оригинальной модели консенсуса PoW. Его конструкция заключается в устранении узкого места, которое алгоритм доказательства работы накладывает на пропускную способность транзакций сети. Это делается путем отделения выбора узлов валидатора, который выполняется с помощью доказательства работы, от фактического процесса проверки транзакции. Когда узел находит действительное подтверждение работоспособности, оно передается в пул валидаторов, где ему выделен период, в течение которого он может проверять транзакции. Это выполняется асинхронно, пока выбор узлов проверки подлинности (PoW) осуществляется синхронно. Таким образом, механизм консенсуса становится полу-синхронным, что значительно увеличивает пропускную способность сети, обеспечивая при этом механизм контроля безопасности которое может быть скорректировано на основе текущих условий сети. Используют: Purple.
Proof of Responsibility (PoR) — доказательство ответственности. Это децентрализованный сетевой уровень, которым управляют ответственные глобальные организации, работающие в развивающемся мире, которые были квалифицированы для участия. Эти заслуживающие доверия ответственные глобальные организации называются валидаторами с технической точки зрения. Каждый валидатор имеет свое собственное уникальное программное обеспечение для проверки транзакций и уникальный ключ проверки. Для повышения безопасности и устойчивости к атакам 51% в этом новом протоколе введена концепция непоследовательных блоков что означает, что валидатор нельзя создавать более одного блока последовательно, и это правило гарантируется сетевым протоколом.
В отличие от обычного Proof of Work, данный протокол не использует ускорение хеширования, где майнеры соревнуются друг с другом за большую мощность хеширования. Поскольку мощность хэширования сети валидаторов контролируется и стабильна, сценарии с бесхозными блоками очень маловероятны, что позволяет блокчейну Electroneum разблокировать транзакции намного быстрее, чем сеть, работающая на стандартном PoW. Используют: Electroneum.
Serialization of Proof of Work Events (Spectre) — данный механизм консенсуса использует комбинацию PoW и дней для достижения масштабируемого консенсуса. В SPECTRE блоки добываются, указывая на несколько родительских блоков, а не только на один, поэтому сеть потенциально может обрабатывать несколько блоков в секунду. Интеллектуальный анализ блока, указывающего на некоторые родительские блоки, поддерживает валидность этих блоков. По сравнению с “выигрышами по самой длинной цепочке” в PoW, SPECTRE использует что-то вроде “блоков с наибольшим количеством выигрышей детей”.
Хотя Proof of Work, безусловно, является надежным механизмом консенсуса, у него есть одна серьезная проблема — потребление энергии. Все эти специализированные компьютеры, которые обеспечивают безопасность блокчейнов с помощью Proof of Work, потребляют огромное количество энергии и оказывают негативное влияние на окружающую среду. Это побудило многих искать более устойчивые, энергоэффективные протоколы консенсуса, такие как Proof of Stake (PoS).
Механизм консенсуса Proof of Stake (POS) — второй по популярности алгоритм консенсуса, который переводится как «Доказательство доли владения». Этот алгоритм впервые предложен пользователем QuantumMechanic на сайте Bitcointalk.org в 2011 году как альтернатива используемого в биткоине Proof of Work. PoS еще называют форжингом или минтингом. Первая монета, которая частично была реализована на алгоритме доказательства доли владения — Peercoin. А если быть точнее, то в PPC использовался гибридный вариант: изначально использовался принцип майнинга по алгоритму Proof of Work, а после того как все монеты были добыты произошел переход к Proof-of-Stake. Первыми «чистыми» монетами, которые с самого начала работали на PoS, были Nxt и Blackcoin.
Как следует из названия, этот популярный метод достижения консенсуса основан на процессе, известном как «распределение ставок». В системе Proof of Stake (PoS) «валидаторы» вносят долю цифровой валюты за шанс быть случайно выбранными для проверки блока, за что получают вознаграждение. Процесс мало чем отличается от лотереи, в которой чем больше монет поставлено на кон, тем выше шансы. В отличие от PoW, где майнеры получают вознаграждение за блокчейн (вновь сгенерированные монеты), те, кто вносит свой вклад в PoS-систему, просто получают комиссию за транзакцию.
PoS рассматривается как более устойчивая и экологически чистая альтернатива PoW, которая более защищена от 51% атак. Однако, поскольку система отдает предпочтение организациям с большим количеством токенов, PoS подвергся критике за то, что может привести к централизации. Известные PoS-платформы включают Ethereum, который перешел с PoW на PoS в 2022 году, Cardano (ADA), Cosmos (ATOM) и Tezos (XTZ).
На этом алгоритме тоже имеются различные модификации, используемые в некоторых популярных блокчейнах. Рассмотрим их более подробно:
Byzantine Fault Tolerant (BFT) — классическая проблема распределенных вычислений, которую обычно объясняют византийскими генералами, изложенной Microsoft в 1982 году. В рамках концепции используется пример из реального мира, где во время войны группа генералов должна прийти к коллективному решению: атаковать или отступить. Все они разделены и могут передавать свои голоса только через посланников.
Поскольку посланники могут сообщить ложный выбор умышленно или непреднамеренно, генералы должны достичь согласия о мнении большинства невзирая на возможные ошибки. Достигается BFT путем утверждения тех блоков, чье содержимое по крайней мере ⅔ узлов считают валидным. Поведение всех узлов постоянно отслеживается: простои и отправка ложной информации наказываются лишением награды, либо даже стейка. Толерантность находит активное применение в PoS системах. Узлы получают возможность выходить из строя по сценарию, вместо остановки и отказа в обслуживании.
Delegated Byzantine Fault Tolerant (dBFT) — византийский отказоустойчивый механизм консенсуса, который обеспечивает широкомасштабное участие в достижении консенсуса посредством голосования по доверенности. Владелец токена NEO может путем голосования выбрать бухгалтера, которого он поддерживает. Выбранная группа бухгалтеров с помощью алгоритма BFT достигает консенсуса и генерирует новые блоки. Голосование в сети NEO продолжается в режиме реального времени, а не в соответствии с фиксированным сроком. Используют: NEO.
Verifiable Byzantine Fault Tolerance (VBFT) — алгоритм консенсуса, который сочетает в себе классический PoS, проверяемую случайную функцию (VRF) и византийскую отказоустойчивость (BFT). Данный механизм разработан специально под нужды платформы ONTology. VBFT может поддерживать масштабируемость консенсусных групп, с помощью VRF гарантирует случайность и справедливость генерации консенсусной совокупности, а также обеспечивает быстрое достижение конечного состояния.
В отличие от dBFT, в данном алгоритме устранена проблема риска централизации. Согласно плану Ontology, консенсусный алгоритм VBFT может поддерживать до 2401 узла в будущем, при этом достигая консенсуса менее чем за 10 секунд. Преимущества: отсутствие риска централизации, масштабируемость, устойчивость к атакам. Недостатки: применение алгоритма ограничивается компанией ONchain и проектом ONTology. Используют: ONTology.
Istanbul Byzantine Fault Tolerance (IBFT) — данный алгоритм принадлежит к классу алгоритмов BFT, которые предполагают частично синхронную модель связи. Алгоритм IBFT разработан для противодействия «византийским сбоям», которые относятся к ошибкам или неисправностям, которые могут возникать в распределенной системе, такой как сеть компьютеров. Istanbul BFT способствует достижению консенсуса между узлами относительно состояния реестра, даже при наличии ошибок или неисправных узлов.
В стамбульском алгоритме BFT узлы обмениваются данными и участвуют в голосовании для определения действительности транзакций. Если достаточное количество узлов достигает соглашения о действительности транзакции, она добавляется в реестр. И наоборот, если консенсус не достигнут, транзакция отклоняется. Этот процесс гарантирует, что в реестр добавляются только законные транзакции, сохраняя его согласованность и точность. Используют: Klaytn.
BFT Tendermint — это механизм управления Proof of Stake (PoS), используемый компьютерами, работающими на Cosmos, для проверки транзакций, защиты сетей и фиксации блоков в блокчейне. Пользователи сети могут выступать в качестве валидаторов на платформе. Для включения блокчейна и голосования за изменения узлам валидатора необходимо сделать ставку ATOM. Право голоса определяется на основе количества поставленных атомов. Используют: Cosmos.
Proof of Importance (PoI) — доказательство значимости. PoI является модифицированной и расширенной версией PoS. В этом алгоритме консенсус в сети достигается с помощью взаимодействия узлов, которые не только владеют криптовалютой, но и производят активные действия с имеющимися активами. Учитывается, какие узлы дольше хранят монеты, чаще производят транзакции, используют для них больше адресов, дольше работают в сети, а также другие факторы. Чем больше доля валидатора и его активность, тем значимее он для сети. Благодаря такому алгоритму теоретически устраняется принцип, согласно которому богатые становятся еще богаче. Используют: NEM.
Leased Proof of Stake (LPoS) — арендованное доказательство доли владения. Это усовершенствованная версия алгоритма Proof of Stake (PoS), суть которого заключается в том, что более мелкие участники форжинга (или те, которые не могут участвовать в нем ввиду недостаточного количества монет на счету) как бы сдают в аренду свои монеты полноценным нодам, повышая этим шанс последних сгенерировать блок. Взамен «арендодатели» получают свою долю в общем вознаграждении. Это имеет схожесть с майнинг-пулами, которые на данный момент в своем большинстве обслуживают сеть биткоина. Механизм консенсуса LPoS позволяет сделать сеть более децентрализованной, привлекая большое количество мелких узлов. Также это отличный шанс для владельцев небольшого количества монет получать небольшую, но стабильную прибыль, просто держа монеты на «долгосроке». Используют: Waves.
Delegated Proof of Stake (DPoS) — это модификация механизма консенсуса PoS, но на самом деле она сильно отличается от PoS. В DPoS владельцы токенов не голосуют за действительность самих блоков, но голосуют за избрание делегатов для проверки от их имени. Обычно в системе DPoS избирается от 21-100 делегатов. Теоретически, чем больше монет имеется у владельца узла, тем больше голосов он имеет и может стать делегированным узлом, но на практике механизм повышения статуса узлов во многом зависит от алгоритма, заложенного разработчиками.
DPoS является одним из самых экономичных видов консенсуса в настоящее время, в котором за счет введения еще большей централизации, чем у PoS, уменьшаются затраты на содержание сети, а также значительно увеличивается скорость обработки транзакций. Используют: EOS, Bitshares, TRON, Sui, Lisk и другие.
Proof of Stake-Velocity (PoSV) — данный алгоритм предназначен для поощрения как владения (доли), так и активности (скорости), который в добавок в классическому PoS предусматривает затяжное старение (новые монеты дают доходность быстро, а старые медленно увеличивают доходность). Это по задумке создателей блокчейна Reddcoin, должно стимулировать пользователей к размещению средств в стейкинг, и создавать постоянный приток новых участников. Устоявшиеся узлы, наращивающие свой капитал в долгосрочной перспективе, создают повышенную угрозу атаки, нежели постоянная циркуляция валидаторов, что размещают свои монеты в стейк для получения недельного-месячного буста. Используют: Reddcoin.
Proof of Service (PoS) — особенностью алгоритма доказательства обслуживания является система, которая запрограммирована на псевдослучайный (стохастическая модель с репутацией) выбор мастернод, которые подписывают блок. Механизм консенсуса основан на концепции комитетов, которые переизбираются для подписания каждого блока. Комитет формируется с использованием системы репутации, которая зависит от первоначальной ставки и качества работы мастерноды (мастернода всегда онлайн и предлагает только настоящие блоки). Репутация мастерноды и ставка (количество токенов, которое владелец мастерноды готов разместить, чтобы увеличить шанс быть выбранным для обеспечения консенсуса) будут влиять на случайный шанс закрытия блока. Существует 2 типа аккаунтов: операционные и репутационные. При первом запуске мастернода должны перевести часть монет на свой репутационный баланс. Используют: remChain.
Proof of Credit (PoC) — кредит узла соответствует стандарту. Как и Proof of Stake (PoS), PoC требует временного вложения определенного количества токенов для управления нодой. После блокировки определенного поля (токенов NULS) вы можете присоединиться к консенсусу. После переупорядочения узлов консенсуса блоки выпадают каждый раунд, и поле разблокируется при выходе из консенсуса. Чтобы голосовать за мастерноды, нужно иметь 2 000 NULS, а для создания ноды требуется 20 000 NULS. Если ваша нода получает 200 000 голосов, она становится мастернодой. Идея нод и мастернод не нова, однако NULS уникален тем, что использует при этом систему кредитного рейтинга. Сеть вычисляет кредитный коэффициент каждой ноды, определяя вознаграждение. Используют: NULS.
Proof of Formulation (PoF) — доказательство формулировки. В отличие от консенсусов PoW и PoS, PoF не требует чрезмерных вычислительных ресурсов и не зависит от суммы «доли», которой кто-то обладает. Из-за этого уменьшается конкуренция за то, кто добывает и создает блоки, и каждый получает ход. PoF также имеет встроенные механизмы, предотвращающие возможность возникновения любых форков. В остальном принцип достижения консенсуса близок к Proof of Service. Используют: Meverse.
Proof of Believability (PoB) — доказательство правдоподобия. Надежность ноды при проверке блоков основывается на его прошлом поведении и вкладе. Репутация оценивается токенами, что не подлежат продаже и выдаются всем, кто поддерживает систему. Наличие их повышает шансы избрания валидатором. Доказательство доверия делит всех участников процесса на две группы: правдивую и нормальную. Вначале правдивые ноды быстро обрабатывают транзакции и завершают первую фазу. Затем нормальные ноды финализируют состояние цепи. Избрание в правдивую лигу рассчитывается на основании нескольких факторов активности (баланс, вклады, отзывы).
Суровая система наказаний предусматривает лишение валидатора всех токенов и репутации в системе при некорректном поведении. Если шарду не хватает правдивых валидаторов, происходит откат от формата двух групп к одной группе, где есть только комитеты, состоящие из валидаторов со статусом нормальных. Тогда транзакции начинают обрабатываться напрямую по классическому алгоритму PBFT. Это необходимо при временных простоях или падении активности в сети. Используют: IOST.
Proof-of-Authority (PoA) — доказательство авторитета. Этот механизм консенсуса позволяет только избранным валидаторам генерировать блоки и устанавливать свои правила в сети. В качестве доказательств валидаторы используют собственную репутацию. Привязывая репутацию к удостоверению личности, валидаторы получают стимул поддерживать процесс транзакции, поскольку они не хотят, чтобы их личность была привязана к негативной репутации. Валидаторы выбираются участниками сети путем голосования, обычно их количество фиксировано.
В отличии от PoS и DPoS валидаторы не получают награды за стейкинг, это основной недостаток PoA, у валидаторов отсутствуют стимулы и мотивации для участия, поэтому чаще всего алгоритм PoA используется в частных блокчейнах, где вопрос децентрализации не сильно актуален. Подходит для создания частных сетей или государственных криптовалют. Также известен как PoR (Proof of Reputation). Используют: PoA Network, Vechain и другие.
Proof of Devotion (PoD) — доказательство преданности. Право утверждать блоки получают валидаторы с наибольшим количеством влияния и распространения. Набор валидаторов динамически меняется, а для участия в раунде утверждения требуется сформированная группа из валидаторов владеющих ⅔ объёмом от всех стейкинг депозитов (по принципу BFT). Аналог PoI (Proof of Importance). Используют: Nebulas.
Proof of Blind Bid (PoBB) — подтверждение слепой ставки. Здесь также используются ноды, которые отвечают за обработку транзакций пользователей и создание из них блоков. Пользователь должен заблокировать в сети определенное количество внутренней криптовалюты. В данном случае ноды не знают, кто сколько токенов заблокировал участник в сети. Благодаря этому повышается конкуренция по блокировке монет. Именно поэтому это и называется Proof of Blind Bid. Используют: Dusk Network.
Proof of Stake Voting (PoSV) — подтверждение участия в голосовании по ставкам. Система аналогичная DPoS (Delegated Proof of Stake), но с улучшениями в области голосования. В классических DPoS узлы не имеют прямой заинтересованности в постоянном голосовании, а некоторые даже требуют для этого финансовых затрат (что приводило к усилению централизации). В PoSV реализована концепция бесплатного и неограниченного голосования за избрание валидаторов, где все участники вознаграждаются наравне. Используют: TomoChain.
Randomized Delegated Proof of Stake (Roll-DPoS) — рандомизированное делегированное подтверждение ставки. Аналог DPoS, с минорным различием в подходе к голосованию и масштабированию. Также известно как VBFT (Verifiable Random Function, Byzantine Fault Tolerant). Любые узлы самостоятельную номинируют себя на роль валидаторов блоков. Затем участники могут проголосовать за них своим стейком. В итоге каждую эпоху избирается пул валидаторов, которые набрали наибольшее количество голосов. Производители блоков из этого пула выбираются случайно. Сеть масштабируется по принципу сайдчейнов (субцепей). Используют: IoTeX.
Proof of Lock (PoL) — метод, используемый для усиления алгоритма DBFT PoS (Delegated Byzantine Fault Tolerant Proof of Stake). Валидатор, собравший ⅔ голосов за предложение блока — блокируется в этом предложении. В этот период другие валидаторы могут запросить у него заблокированные данные, и быть уверены в их неизменности. Это позволяет передавать надежное состояние между валидаторами, даже если у некоторых из них возникают проблемы с соединением (черпая состояние у заблокированного валидатора). Используют: Exonum.
Federated Byzantine Agreement (FBA) — форма Византийской отказоустойчивости, когда каждый генерал несет ответственность за свой блокчейн. Ноды собираются в кворумы и федеративно проводят валидацию лишь части событий, экономя ресурсы и увеличивая пропускную способность сети. Избавляет от недостатков традиционного BFT, когда крупные собственники капитала могут представлять угрозу, влияя на валидацию блока целиком. Узлы должны быть известны и проверены заранее (в Ripple) или могут подключаться произвольно (в Stellar).
Консенсус достигается несколькими раундами. На первом шаге узлы получают транзакции от внешних приложений и формируют список всех действительных кандидатов в транзакции, голосуют за их достоверность, и транзакции, набравшие не менее 50% голосов проходят в следующий раунд. На втором шаге минимум 80% узлов должны обладать одинаковым набором кандидатов на подтверждение, и если хэши их регистров совпадают, происходит включение их в блок. Используют: Ripple, Stellar и другие.
Simplified Byzantine Fault Tolerance (SBFT) — упрощенная византийская отказоустойчивость. В SBFT один назначенный генератор блоков собирает и проверяет предложенные транзакции, периодически объединяя их в новый блок. Консенсус обеспечивается Генератором, который применяет правила (проверки), согласованные узлами (ядрами цепочки) к блоку и назначенным подписчиком блока. Другие (множественные) назначенные подписчики блоков ратифицируют предложенный блок своими подписями. Иными словами, в упрощенной форме BFT валидаторы назначаются и удаляются вручную руководителями приложения. Все участники знают подписывающие лица и доверяют им. Может использоваться в блокчейнах частных коммерческих компаний и организаций.
Asynchronous BFT — асинхронный протокол BFT, который гарантирует работоспособность без каких-либо временных допущений. Основан на новом протоколе атомной широковещательной передачи, который обеспечивает оптимальную асимптотическую эффективность. Увеличение пропускной способности в сравнении с традиционным PBFT. Обеспечивает равномерное распределение нагрузки и повышает устойчивость к враждебным атакам. Возможность запуска через анонимный коммуникационный слой Tor. Используют: HoneyBadgerBFT.
Proof of Stake Time (PoST) — крупные держатели, долго удерживающие стейк, начинают получать все меньший шанс найти новый блок, в то время как у маленьких держателей, что присоединились недавно, шансы выше. Используют: Vericoin, Postcoin.
Proof of Stake Boo (PoSB) — это схема PoS, основанная на PoS Casper. Схема Каспера наиболее эффективна в “POSv3” благодаря введению фактора риска для злонамеренных игроков. Система прогрессивна в том смысле, что значительно затрудняет выполнение атак, подобных атаке 51%. Вам потребуется большая часть всех отчеканенных монет, и вы также столкнетесь с возможностью потерять их все при запуске такой атаки. Окончательность в основном определяется ставками и факторами риска, Повышает устойчивость к цензуре (узел, который нашел блок и не включает в него транзакции из очереди, рискует быть оштрафован. В отличие от, например, PoW алгоритма, где майнер может отказаться включать транзакции в блок избирательно. Используют: SHIELD.
High Interest Proof of Stake (HiPoS) — это доказательство высокой процентной ставки. По сути, это POS-система, которая представляет собой фиксированное вознаграждение, а не процентную доходность; которое начисляется в зависимости от удачи/возраста монеты/веса монеты. Чеканка монет используется при расчете веса ставки, но не вознаграждения за ставку. Вознаграждение за размещение ставок фиксируется в соответствии с расписанием. Приводит к стабильному, постоянному интересу к кошелькам для ставок до тех пор, пока время простоя минимально, а затраты невелики. Большой размер входных данных жестко наказывается HIPOs. С ростом концентрации веса стейка в руках отдельного узла награда для него начинает уменьшаться. Используют: Positron, BitBean, EdgeCoin, GRAVITYBITS.
Loop Fault Tolerance (LFT) — это усовершенствованный алгоритм на основе BFT (Byzantine Fault Tolerance), который способствует более быстрому достижению консенсуса и обеспечивает окончательное согласование без возможности разветвлений в сети. LFT поддерживает более быстрое согласие путем создания группы среди доверенных узлов.
Механизм консенсуса LFT использует технику «спиннинга», чтобы упростить алгоритм выбора первичного узла. Ноды-валидаторы передают необходимые транзакции считывающим нодам. Основные ноды собирают затем все транзакции и генерируют блок, рассылая его с подписью для того, чтобы остальные валидационные узлы могли проверить его. Используют: ICON.
Proof of Tsar (PoT) — уникальный консенсусный алгоритм для децентрализованной сети между нодами, который включает в себя внедрение инновационных решений в архитектуру блокчейна, межсетевые отношения и алгоритмы подписи данных. Работа консенсуса PoT организована на собственной технологии коммуникации — HyperNet, главной особенностью которой является независимость от типа коммуникации.
Уникальность алгоритма консенсуса PoT (Proof of Tsar) заключается в его максимальной защите от коллизий, защите от атаки 51% и даже в устойчивости к созданию квантового компьютера. Количество токенов GTN находящиеся в ноде также будет влиять на полезность, чем больше у вас генезис-токенов тем выше шанс стать царь-нодой. Ваша нода может быть или царем или генералом или обычной нодой — определение будет зависеть от полезности вашей ноды для сети.
Таким образом, исчезают коллизии двойных трат и других паразитных событий. При этом «Царь» не знает, что он «Царь» в момент того, когда он «Царь». Расчетные данные показывают, что, вероятность коллизии хешей блоков может наступить через 100 лет, но эта коллизия может быть только с тем хешем, который был 100 лет назад, что делает ее не актуальной. Достигается это благодаря сквозной нумерации каждого блока Master_Chain. Используют: Relictum PRO.
Albatross — оптимистичный алгоритм консенсуса. Модификация PBFT с двумя типами блоков: макро (финализация) и микро (содержит все транзакции). Следующий производитель блока выбирается псевдослучайно, используется VRF. Транзакции в Albatross выигрывают от надежного подтверждения, а также могут быть получены мгновенные подтверждения.
Asset PoS (APoS) — в качестве залога для стейкинга валидаторы предоставляют популярные активы (например — BTC). Это позволяет найти применение нестейкабельной криптовалюте и обеспечить сети защиту от злоупотреблений. Используют: MarcoPolo Protocol.
BFTree — более децентрализованный протокол Proof of Stake, устраняющий необходимость в двух классах узлов и делегировании полномочий небольшому числу валидаторов. Механизм консенсуса BFTree организует валидаторы в виртуальное дерево, чтобы распараллелить агрегирование подписей между невизантийскими узлами, работающими для достижения консенсуса.
Когда византийские узлы вмешиваются в агрегирование, корни всех поддеревьев, которые смогли достичь согласия, выполняют BFT-консенсус для завершения раунда, часто с меньшим количеством сообщений, чем если бы участвовали все валидаторы. Продуманная реорганизация дерева таким образом, что узлы, которые исторически были надежными, соединяются с другими надежными узлами, BFTree ограничивает влияние, которое может оказать византийский узел. Используют: Celo.
Casper the Friendly Finality Gadget (FFG) — это алгоритм Proof of Stake, реализующий сокращение ставок за плохое поведение, такое как остановка цепочки и цензура. Валидаторы делают ставку на то, какой блок будет добавлен в сеть. Те, кто проголосовали большинством, утверждают блок и получают награду. Если злоумышленник попытается игнорировать процесс и не задействовать свой стейк в голосовании, он будет оштрафован. Разрабатывался для Ethereum 2.0.
Neural Consensus — алгоритм нейронного консенсуса Seele в значительной степени интегрирован с безопасностью, масштабируемостью и эффективностью. В отличие от традиционного алгоритма консенсуса, который формирует парадокс SSE, алгоритм нейронного консенсуса Seele с помощью E-differential agreement (EDA) обеспечивает совместимость безопасности, эффективности и масштабируемости и совместное функционирование. Идея алгоритма нейронного консенсуса тесно связана с идеей нейронных сетей, которая является процедурой, используемой в машинном обучении и искусственном интеллекте, поэтому лучшее понимание того, как работают нейронные сети, может помочь лучше понять алгоритм нейронного консенсуса Seele. Используют: Seele.
HotStuff — линейный, обладающий оптимальной устойчивостью BFT Devil с одним сообщением. Hot Stuff, основанный на лидерах византийский отказоустойчивый протокол репликации для частично синхронной модели. Как только сетевое взаимодействие становится синхронным, HotStuff позволяет правильному руководителю привести протокол к консенсусу со скоростью фактической (по сравнению с максимальной) сетевой задержки — свойство, называемое отзывчивостью, — и со сложностью связи, линейной по количеству реплик.
Механизм консенсуса HotStuff является первым частично синхронным протоколом репликации BFT, обладающим этими комбинированными свойствами. Hot Stuff построен на новой платформе, которая образует мост между классическими основами BFT и блокчейнами. Это позволяет использовать другие известные протоколы (DLS, PBFT, Tendermint, Casper) и HotStuff в общей структуре. Используют: Cypherium.
Nominated Proof of Stake (NPOS) — это механизм консенсуса, который во многом похож на Delegated Proof of Stake, но с одним ключевым отличием: если номинант (делегат) добавляет средства в стейкинг через злонамеренного валидатора, он также рискует потерять свои средства. Участники, заинтересованные в поддержании сети, могут запускать узел проверки. Валидаторы берут на себя роль создания новых блоков в BABE, проверки блоков parachain и гарантии окончательности. Номинаторы могут поддержать выбранных валидаторов своей долей. Выдвиженцы могут утверждать кандидатов, которым они доверяют, и поддерживать их своими токенами. Используют: Polkadot.
Polkadot также использует протокол GRANDPA или Casper FFG от Ethereum, предназначенный для предоставления более надежных и быстрых гарантий завершенности блоков — в частности, того, что они никогда не могут быть отменены после выполнения некоторого процесса византийских соглашений. Понятие необратимого консенсуса известно как доказуемая окончательность. Это непрерывный процесс производства блоков, где валидаторы постоянно оглядываются в прошлое (на блоки «предки») и всегда отдают предпочтение самому устойчивому «корню». Отсюда и было выбрано название игрой слов: GRANDPA в переводе также означает дедушка. Таким образом Polkadot имеет гибридный механизм консенсуса Hybrid PBFT с Aurand (HPBFT), который имеет две степени завершенности.
Как видите, вариаций консенсуса Proof of Stake очень много, и это, видимо, не полный список алгоритмов. Главным преимуществом PoS является то, что он, в отличие от PoW систем, экономнее и эффективнее. Представьте, что процессор или ASIC взрывался бы, если попытается нарушить консенсус. Так, стейк PoS валидатора с некорректным поведением может быть оштрафован, и монеты изымаются сетью. В PoW проще организовать децентрализованные атаки на сети с небольшой вычислительной мощностью, краткосрочно арендовав хэшрейт. Рассмотрим другие интересные алгоритмы консенсуса, используемые в различных блокчейн сетях.
Механизм консенсуса Proof of Capacity (PoC) — доказательство емкости. Если в Proof-of-Work определяющим фактором является хешрейт, то в Proof-of-Capacity главную роль играет место на жестком диске. Для майнинга можно использовать даже самый обычный ПК, главное, чтобы на жестком диске были тысячи (а лучше сотни тысяч) терабайт свободного места, которое будет «забиваться» случайными хешами в надежде на то, что один из них поможет сгенерировать блок.
Преимуществом алгоритма Proof of Capacity является то, что для него можно задействовать любые жесткие диски, в том числе с ОС Android, и считается, что он в десятки раз эффективнее ASIC-майнеров, используемых для майнинга биткоинов. Метод Burst-майнинга защищает сеть своим дисковым пространством. Его можно рассматривать как «сжатое доказательство работы»: вы вычисляете один раз (процесс, называемый построением графика) и кэшируете результаты своей работы на жестком диске. Тогда для майнинга требуется только чтение вашего кеша — ваш жесткий диск большую часть времени простаивает и читает файлы графиков только в течение нескольких секунд для каждого блока. Также известны модификации как Proof of Space, Proof of Replication, Proof of Retrievability и Proof of Weight, использующие схожие принципы достижения консенсуса. Используют: Algorand, Chia, Burst, Storj и другие.
Proof of Resource (PoR) — доказательство наличия ресурса. Оценивает ресурсы узлов: мощность процессора, пропускную способность, время выполнения и место на жестком диске. Для подержания сети используется программа, которая использует ресурсы компьютера для хранения части данных. За эти предоставляемые ресурсы распределяется вознаграждение, которое зависит от скорости процессора, пропускной способности памяти, дискового пространства и времени онлайн. Используют: MaidSafeCoin, Filecoin.
Proof Of Access (POA) — это механизм, используемый для проверки того, что узел хранения хранит файл на своем локальном узле IPFS. В отличие от Proof of Work, PoA не полагается только на предыдущие блоки для проверки транзакций. Он использует предыдущий блок и случайный предыдущий блок в цепочке. Майнеры должны доказать, что у них есть доступ к отзыву блока. Таким образом, им не нужно вызывать всю цепочку блоков, поэтому требуется меньше вычислительной мощности.
Транзакции в этом отозванном блоке затем хэшируются относительно текущего блока для создания нового блока. Когда майнеры решают проблему и находят подходящий хэш, они могут совместно использовать новый блок и отозванный блок с сетью. В случае редких блоков майнеры сталкиваются с меньшей конкуренцией и вероятность получения вознаграждения возрастает. Главное преимущество Proof of Access заключается в том, что майнерам не обязательно хранить все данные в сети. Используют: Arweave.
Proof of Retrievability (PoR) — доказательство возможности извлечения. Это компактное доказательство файловой системой (prover) клиенту (verifier) того, что целевой файл F не поврежден, в том смысле, что клиент может полностью его восстановить. Поскольку для POR требуется меньшая сложность связи, чем для передачи самого F, они являются привлекательным строительным блоком для систем удаленного хранения данных с высокой степенью надежности. Это может быть действительно полезно в качестве алгоритма консенсуса для систем облачных вычислений. Алгоритм изложен в научной работе Университета Мэриленда по возможному использованию Биткоина для сохранения данных, и реализован в проекте Permacoin.
Permacoin предложила модификацию Биткойна, которая перераспределяет ресурсы майнинга для достижения более широко полезной цели: распределенного хранения архивных данных. В отличие от Биткоина и предлагаемых им альтернатив, Permacoin требует от клиентов инвестировать не только вычислительные ресурсы, но и хранилище. Эта схема включает альтернативную головоломку с нуля для биткойнов, основанную на доказательствах возможности извлечения (POR). Учитывая конкуренцию среди клиентов майнинга в биткойнах, этот модифицированный механизм приводит к созданию высоко децентрализованного хранилища файлов, тем самым сокращая общую трату биткойнов. Для поддержания работы PoR строится головоломка, решить которую можно с помощью вычислительных мощностей, плюс предоставив доказательства наличия и целостности данных в хранилище. В результате: валидаторы надежно хранят подмножество данных, загружают новый объем непересекающихся данных, весь набор данных можно восстановить из содержимого локальных запоминающих устройств. Используют: Microsoft, Permacoin.
Proof of Care (PoC) — доказательство заботы. Большую силу в механизме с доказательством заботы имеют те пользователи, что принимают максимальное участие в жизни проекта. Валидация блоков при этом может происходить традиционным вычислением или голосованием. Дело даже не в социальном доказательстве (т. е. в том, сколько у вас подписчиков в Twitter), а в подлинности вашего подтверждения заботы. Это отличный способ, по сути, раскрутить свой блокчейн-проект на массовый рынок, поощряя других рассказывать об этом. Речь идет о создании интересного, веселого, информативного контента. Используют: Quantstamp, TomoCoin.
Limited Confidence Proof of Activity (LCPoA) — защита блокчейна, основанная на модификации алгоритма Proof-of-Work, в направлении снижения потребления вычислительных ресурсов для генерации блоков. При использовании этого метода алгоритм генерации блоков не зависит от вычислительной мощности. В качестве доказательства работы (или активности) механизм консенсуса проверяет время, затраченное на решение. Используют: IZZZ, Bitcoen.
Proof of History (PoH) — доказательство исторических событий. Разработанный Соланой, PoH позволяет встроить «временные метки» в саму цепочку блоков, проверяя течение времени между транзакциями без необходимости полагаться на другие узлы. Этот метод временных меток поддерживается так называемой SHA-256, проверяемой функцией задержки с последовательным хэшированием (VDF).
Он работает путем получения выходных данных транзакции и использования их в качестве входных данных для следующего хэша, что позволяет любому пользователю четко видеть, какое событие произошло в определенной последовательности. Поскольку VDFS может быть решена только с помощью одного процессора, PoH значительно снижает вычислительный вес блокчейна, делая его более быстрым и энергоэффективным, чем многие его современники. Используют: Solana.
Proof of Provenance (PoP) — доказательство происхождения. Происхождение данных является важнейшим аспектом надежных данных. Это позволяет нам отслеживать происхождение и перемещение данных на протяжении всего их жизненного цикла, предоставляя ценную информацию о том, как они были созданы, кто с ними взаимодействовал и как они развивались с течением времени. Благодаря использованию криптографически подписанных квитанций и временных меток механизм консенсуса облегчает построение цепочек происхождения, которые обеспечивают прозрачную и защищенную от несанкционированного доступа запись эволюции данных. Используют: Digix.
Proof of View (PoV) — запатентованное решение проблемы мошенничества с рекламой. Оно позволяет своим пользователям различать реальные и поддельные просмотры в блокчейне. Это решение получило патент США, а также запатентовано в Китае. Награду создателям контента платят пользователи, а не только рекламодатели. Используют: Verasity.
Proof of Signature (PoSign) — метод достижения консенсуса (разработанный Borzalom), который использует сеть зарегистрированных статических узлов. Статические узлы должны быть зарегистрированы и активны, чтобы участвовать в достижении консенсуса. Статус регистрации статического узла проверяется с помощью подтверждения подписи, поскольку все узлы зарегистрированы и известны. Узлами выступают заранее назначенные статические ноды, которые утверждают все события, подписывая их своим приватным ключом. Исключает какие-либо вычислительные операции.
Консенсус достигается посредством взаимодействия между системой реальных и виртуальных сетей узлов в постоянной связи, обеспечивая точные, быстрые транзакции, проверенные подписью. Дополнительные преимущества, достигаемые алгоритмом, включают существенно сниженное энергопотребление, поскольку согласованный алгоритм не требует, чтобы узлы решали сложные в вычислительном отношении задачи для получения комиссионных за транзакции или создания новых токенов. Используют: XTRABYTES.
Proof of Location (PoL) — доказательство местоположения. Это технология, которая позволяет передавать координаты физического местоположения устройства в блокчейн таким образом, чтобы другие устройства могли полагаться на данные о местоположении, не доверяя устройству трансляции. Приложения, зависящие от местоположения, включают цепочку поставок, параметрическое страхование, проверку KYC/AML или даже транзакции потребителей. Например, интернет-магазину может потребоваться доказать, что товар был доставлен вам, чтобы смарт-контракт мог автоматически инициировать платеж с вашего кошелька.
Современные инструменты определения местоположения отлично подходят для определения местоположения устройства, но не могут предложить надежные службы проверки местоположения. Они однонаправлены и не зашифрованы, что затрудняет использование GPS для смарт-контрактов, которые необходимо выполнять при соблюдении пространственных параметров. Динамическое подтверждение местоположения расширяет возможности автономной сети радиомаяков без разрешения, которая может предлагать безопасные услуги проверки местоположения посредством синхронизации по времени децентрализованным образом. Используют: FOAM, XYO, Platin, Animist.
Proof of Existence (PoE) — доказательство существования. Это система хранения данных, которая позволяет пользователям сохранять информацию в блокчейне и обеспечивает ее надежность и безопасность. Один из главных преимуществ PoE перед традиционными системами хранения данных заключается в том, что блокчейн, на котором работает PoE, является децентрализованным и не подвержен цензуре. Это означает, что любой может сохранять свои данные, не боясь, что их заблокируют или удалят.
Кроме того, PoE позволяет сохранять данные в безопасном формате, который невозможно изменить или подделать. Это особенно важно для документов, которые должны быть подписаны и сохранены в оригинальном виде. Например, если вы сохраните свой договор в блокчейне PoE, то никто не сможет изменить его содержание или подделать подпись. Еще одним преимуществом Poe является его простота использования. Для сохранения данных в блокчейне не требуется особой технической подготовки. Вам просто нужно загрузить свой файл на сайт PoE и получить уникальный хэш-код, который будет являться доказательством того, что ваш документ сохранен в блокчейне. Используют: Poex.io, HeroNode, DragonChain.
Механизм консенсуса Proof of Burn (PoB) — доказательство сжигания. Другой более устойчивой альтернативой алгоритму PoW Биткойна является Proof of Burn (PoB), при котором майнеры получают возможность добывать блок путем «сжигания» (уничтожения) заранее определенного количества токенов проверяемым способом, а именно, отправляя их на «адрес пожирателя», где они не могут быть восстановлены или потрачены. Чем больше монет сжигает майнер, тем больше у них шансов быть выбранными случайным образом.
В отличие от PoS, где майнеры могут вернуть или продать свои заблокированные монеты, если они когда-либо покинут сеть, сожженные монеты безвозвратны. Этот метод, требующий от майнеров жертвовать краткосрочным богатством, чтобы получить пожизненную привилегию создавать новые блоки, помогает стимулировать долгосрочные обязательства майнеров. Акт сжигания монет также приводит к дефициту монет, ограничивая инфляцию и повышая спрос. Используют: Counterparty, Slimcoin, OpenBazaar, Factom, SATOZ.
Proof of Time (PoT) — это децентрализованный механизм консенсуса, который работает путем выбора валидаторов пропорционально их рейтинговым баллам и фиксированной ставке. Рейтинг — это числовая весовая мера, которую алгоритм присваивает каждому валидатору на основе его исторического опыта (точности, с которой узел проверяет данные о событиях) и опыта других валидаторов в работе с валидатором.
С другой стороны, фиксированная ставка — это механизм размещения ставок, при котором все валидаторы ставят равное количество токенов — собственный актив платформы — для участия в процессе достижения консенсуса. В отличие от типичного Proof of Stake (PoS), где узлы должны ставить большое количество токенов для достижения консенсуса, механизм Proof of Time справедлив. Любой узел может участвовать в качестве валидатора при условии, что он поставил фиксированное количество токенов и набрал рейтинговый балл.
Консенсус PoT основан на проверяемой функции задержки (VDF) для псевдослучайного выбора инициаторов блокировки (временных выборщиков) и подтверждающих блокировку (временных узлов). Пока узел набрал высокий рейтинг и поставил равное количество токенов, у него больше шансов быть псевдослучайно выбранным для предложения или подтверждения блоков. Используют: ChronoLogic.
Proof of Disintegration (PoD) — доказательство дезинтеграции. В отличие от стандартных мастернод, которые либо блокируют свои покупательные монеты в кошельке в качестве залога, либо используют технологию Proof of Burn, фундаментальный узел B3 удаляет свои покупательные монеты из блокчейна с помощью Proof of Disintegration, делая их невозвратными при снижении оборотного предложения. Доказательство дезинтеграции обеспечивает инновационную экономическую безопасность при закупках фундаментального узла B3 и служит механизмом сокращения оборотного предложения. Используют: b3coin.
Механизм консенсуса Proof of Activity (PoA) — доказательство активности. Это гибридный вариант, который создан на основе алгоритмов PoW и PoS, усиливающий защиту от атаки 51%. В PoA процесс майнинга начинается как стандартный процесс POW с участием различных майнеров, пытающихся опередить друг друга в нахождении решения нового блока с помощью более высокой вычислительной мощности. При обнаружении нового блока система переключается на POS с новым найденным блоком, содержащим только заголовок и адрес вознаграждения майнера.
Если возникает конфликт в системе, то вес блоков PoW больше, чем блоков PoS, так как в Proof-of-Work практически невозможно осуществить атаку «double-spend», которую теоретически возможно реализовать в Proof-of-Stake. В этом случае форджеры «принимаются за работу» только после того, как произведена работа майнерами. Это создает меры безопасности, которые не позволяют монополистам-холдерам каждый раз получать вознаграждение за генерацию нового блока или совершить атаку 51%. Это помогает сделать работу сети более безопасной и защищенной.
Комиссия делится между удачливым майнером и валидаторами, что подписали действительный блок. Если некоторые валидаторы не подписывают блок в течение заданного времени, он отбрасывается как неполный и используется следующий выигрышный блок. Так будет происходить до тех пор, пока найденный блок не будет утвержден стейкхолдерами. Хотя система PoA была разработана с намерением объединить самые лучшие функции PoW и PoS (избегая при этом их недостатков), она вызвала критику за энергоемкую фазу майнинга и присущее ей пристрастие к валидаторам, хранящим большее количество монет. Используют: Decred, Espers.
Proof of Transfer (PoX) — это новый гибридный механизм консенсуса, разработанный Stacks как способ защитить новый блокчейн путем повторного использования PoW-вычислений существующего блокчейна. Подобно PoB, майнеры отправляют токены (BTC в случае Stacks) на ряд адресов, определенных механизмом консенсуса. Однако, в отличие от PoB, эти адреса принадлежат пользователям в качестве вознаграждения за то, что пользователи блокируют свои токены для стабильности сети. Вместо того, чтобы токены сжигались и выводились из обращения, они передаются пользователям в сети.
Механизм консенсуса PoX Stacks сочетает в себе желательные атрибуты как PoW, так и PoS и попутно предоставляет некоторые уникальные возможности. Он перерабатывает существующие вычисления проверки работоспособности биткойнов для защиты стеков и периодически разрешает транзакции Stacks в блокчейне биткойнов. Подключая два разных блокчейна через PoX, разработчики могут использовать сильные стороны разных блокчейнов, избегая при этом их недостатков, и в процессе создавать пользовательский опыт, которого не может быть при других типах консенсуса, и ускорять их рост. Используют: Stacks.
Proof of Research (PoR) — доказательство исследования. Механизм доказательства исследования сочетает в себе черты классического Proof of Stake, плюс Proof of BOINC. В достижении консенсуса доминирует PoS, при этом Proof of BOINC действует как механизм вознаграждения за совместное использование неиспользуемых вычислительных ресурсов, доступных исследователям. Его безопасность аналогична безопасности традиционного PoS.
Каждый участник помогает проводить исследования с помощью вычислений в сети Gridcoin. Среднее значение по сети аналогично сложности майнинга PoW. По мере роста среднего значения по сети становится все труднее получать ту же величину, поэтому, если вы хотите продолжать получать то же вознаграждение, вам придется увеличить вычислительную мощность, если у нас будет среда с растущим средним значением по сети. Если бы цена значительно выросла, было бы задействовано больше вычислительной мощности, что повысило бы средний показатель по сети и усложнило бы получение того же вознаграждения, точно так же, как сложность в PoW. Используют: Gridcoin.
Proof of Participation (POP) — это алгоритм консенсуса, который выбирает узлы на основе качества выполняемой ими работы, когда они проверяют транзакции, добавляя новые блоки в блокчейн. Алгоритм проверяет оценку каждого узла, и когда она будет достаточно высокой, узлу будет разрешено чаще добавлять блоки в блокчейн. В тот момент, когда узел успешно участвует в сети, оценка этого конкретного узла будет увеличена. Также может иметь место противоположный случай. А именно, когда узел плохо участвует в сети, его оценка может быть снижена. Это может произойти, когда узел ошибочно одобряет транзакции или слишком часто отключается. В будущем узлу будет разрешено проверять транзакции с минералами из-за низкого балла, который имеет узел.
Оценка узлов называется оценкой участия. Оценка рассчитывается по тикетам. Когда узел подтвердил транзакции и добавил новый блок в блокчейн, узел получает тикет от всех других узлов. Каждый билет имеет разную стоимость. Стоимость зависит от работы узла. Например, он проверяет, как часто узел находится в сети (и как часто он находится в автономном режиме), не отклонял ли узел ошибочно или не одобрял транзакции, а также скорость его работы. Чем лучше узел выполняет свою работу, тем выше стоимость билетов. Билеты добавляются в каждый новый блок. Это делает невозможным для узлов изменение стоимости билетов позже. Узел не может выдавать себя за другой узел. Для отправки действительного билета необходим закрытый ключ. Закрытый ключ находится только во владении соответствующего узла. Используют: Meta X Connect.
Direct Acyclic Graph (DAG) — структура данных другого типа, которую можно представить в виде базы данных, связывающей между собой различные фрагменты информации. Здесь нет понятия блоков, и для расширения базы данных не требуется майнинг. Таким образом, вместо группировки транзакций в блоки, каждая транзакция записывается поверх другой. Однако когда нода подтверждает транзакцию, все еще необходима некоторая операция с консенсусом Proof-of-Work. Это необходимо для проверки предыдущих транзакций и гарантии того, что сеть не подвергается атаке спама.
Криптовалюта IOTA использует алгоритм консенсуса DAG под названием Tangle. Чтобы отправить транзакцию Iota, вам необходимо подтвердить две предыдущие транзакции, которые вы получили. Консенсус «два за один» с оплатой вперед повышает валидность транзакций, чем больше транзакций добавляется в путаницу. Поскольку консенсус устанавливается транзакциями, теоретически, если кто-то сможет сгенерировать 1/3 транзакций, он сможет убедить остальную сеть, что их недействительные транзакции действительны.
До тех пор, пока объем транзакций не станет достаточным, чтобы создание 1/3 объема стало невозможным, Iota проводит своего рода “двойную проверку” всех транзакций сети на централизованном узле, называемом “Координатор”. Iota говорит, что координатор работает как обучающие колеса для системы и будет удален, как только путаница станет достаточно большой.
В таком DAG, как Tangle криптовалюты IOTA, существует механизм подтверждения достоверности. Алгоритм отбора запускается 100 раз, и вы подсчитываете, сколько раз ваша транзакция была прямо или косвенно одобрена в выбранных конечных транзакциях. Чем выше процент, тем больше уверенности в том, что ваша транзакция останется «подтвержденной». Используют: Hashgraph, IOTA, Nano.
Proof of Elapsed Time (PoET) — доказательство потраченного времени. Концепция была изобретена в начале 2016 года компанией Intel. Алгоритм основан на использовании набора инструкций Software Guard Extension центрального процессора Intel. Принцип работы похож на лотерею, при “майнинге” генерируется случайное время ожидания для блока, нода “засыпает” ровно на это время, первая проснувшаяся нода получает право валидации блока. SGX следит за тем, чтобы время выбиралось действительно случайным образом. Такая рандомизация гарантирует, что каждый участник с равной вероятностью станет победителем, обеспечивая справедливость в сети. Используют: Hyperledger Sawtooth.
Proof of Involvement and Integrity (PII) — доказательство вовлеченности и целостности. Консенсус нейроцепей PII основан на энтропии, энтальпии и оценке целостности с использованием диффузионных моделей. Этот консенсус основан на физике элементарных частиц и термодинамике. Его основными характеристиками являются масштабируемость, гибкость, само-адаптируемость и согласованность. Процесс избрания лидера зависит от активности, наследия и целостности ботов. Кроме того, сеть рассматривается как байесовская сеть, где каждый узел заменяется ботом, а термодинамическая теория (уникальная универсальная теория в физике) особенно подходит для исследования сети.
По сравнению с этим новым подходом консенсус Proof of Work, используемый Биткоином и Эфириумом, не может противостоять вызовам безопасности, масштабируемости и сложности. Кроме того, для распределенного интеллекта в сети разработано доказательство рабочего процесса для обеспечения безопасности и доступности алгоритмов. Используют: NeuroChain.
Proof of Brain (PoB) — доказательство наличия мозга. Алгоритм консенсуса, вознаграждающий пользователей за социальную активность, создание контента. Доказательство мозга предусматривает максимальную награду участникам, чья информация больше всего просматривается и нравится пользователям. PoB был разработан, стремясь увеличить преимущество для валидации в информационных блокчейнах, нацеленных на массовость, где количество пользователей и образная мощность их разумов превосходит вероятность наличия у них сложных вычислительных устройств.
Для чеканки блоков избирается 21 активный свидетель путем голосования, и они перемешиваются в каждом раунде. Валидаторы могут проводить модерацию самостоятельно, либо исходя из объема запросов пользователей на удаление нежелательного контента. Блоки генерируются каждые 3 секунды. Используют: Steem.
Proof of Trust (PoT) — доказательство доверия. Данный механизм консенсуса выбирает валидаторов транзакций на основе значений доверия участников сервиса, используя при этом выборы лидера RAFT и алгоритмы обмена секретами Shamir. Протокол PoT позволяет избежать ошибок с низкой пропускной способностью и ресурсоемкостью, связанных с майнингом Bitcoin Proof-of-Work (PoW), одновременно решая проблему масштабируемости, связанную с традиционными алгоритмами на основе Paxos и византийской отказоустойчивости (BFT). Кроме того, в нем рассматриваются случаи неверного поведения, с которыми невозможно справиться с помощью традиционных алгоритмов BFT. Используют: Astra Protocol , Coti.
Proof of Contribution (PoC) — подтверждение вклада. Это алгоритм, используемый для преобразования действий пользователя в значения вклада в блокчейне. iEexc предложила PoCo для установления доверия между ненадежными устройствами и обеспечения консенсуса в отношении вычислений вне цепочки. Новый механизм консенсуса Proof of Contribution (PoC) также используется для оценки вклада узлов с использованием алгоритма вклада для выбора узла с наибольшим значением вклада для генерации нового блока. PoC устраняет необходимость в методах консенсуса, не зависящих от монет, для публичных блокчейнов, позволяя использовать их в ряде приложений, которые не требуют использования криптовалюты. Используют: iExec, CyberVein.
Mediated Consensus (MC) — опосредованный консенсус в системах, где информация поставляется доверенными лицами (послами). Но помимо них существуют арбитры, квалифицированные эксперты, чье слово имеет большее значение, и считается всеми ближе к истине, нежели данные от случайного пользователя.
Механизм консенсуса Proof of Reserves (PoR) — это метод использования криптографической проверки для демонстрации владения цифровыми активами. Он используется централизованными биржами для демонстрации своей платежеспособности и заверения клиентов, что биржа сможет выплачивать депозиты клиентов во времена рыночной волатильности.
Proof-of-Reserves приобрел популярность после краха FTX, которая обанкротилась, используя средства клиентов для покрытия дыр в балансе своего торгового подразделения Alameda Research. Другие централизованные биржи отреагировали на призыв к публичному подтверждению своих резервов, опубликовав или пообещав опубликовать Proof of Reserves.
Теоретически подтверждение резервов должно заверять клиентов в платежеспособности кастодиана и повышать уверенность в их бизнесе. Однако на практике Proof of Reserves может быть подделан или может просто не раскрывать полной картины. Например, PoR может быть подделан путем заимствования активов на краткосрочной основе, в то время как предоставляется снимок баланса. Таким образом, в PoR всегда должны указываться адреса кошельков, чтобы можно было отслеживать движения средств.
В PoR также ничего не говорится о внебиржевых активах или обязательствах. Хранитель может хранить дополнительные активы вне сети или в незадекларированных кошельках. Следовательно, потребуется полный аудит, чтобы гарантировать полную информацию в завещании PoR. Это можно рассматривать как попытку саморегулирования и повышения доверия пользователей в условиях недоверия к деловой практике кастодиального крипто-компании.
Заключение
Внедрение механизмов подотчетности в онлайн-сервисы требует эффективного управления доверием и неизменного, отслеживаемого источника достоверных данных о транзакциях. Появление технологии блокчейн возлагает большие надежды на выполнение большинства из этих требований. Алгоритмы консенсуса имеют решающее значение для поддержания целостности и безопасности криптовалютной сети. Они обеспечивают состояние распределенных узлов, достигающих консенсуса, относительно того, какая версия блокчейна является действительной. Согласие на текущее состояние блокчейна, имеет важное значение для правильной работы цифровой экономической системы.
Алгоритмы консенсуса играют самую важную роль в «жизни» монеты, поскольку определяют ее функционал, эмиссию и общие правила сети. В данный момент на первом месте по популярности находится Proof of Work (PoW) за ним идет Proof of Stake (PoS), все чаще встречаются и гибридные алгоритмы. Каждый из алгоритмов имеет свои достоинства и недостатки, но в общем идеальный алгоритм консенсуса должен выполнять две важных задачи:
- Атаки на сеть должны быть максимально затратными и иметь плохие последствия для самого атакующего.
- Защита сети должна хорошо вознаграждаться.
Консенсусные алгоритмы жизненно важны для того, чтобы блокчейны оставались полностью децентрализованными. Из-за децентрализованной природы блокчейна никогда не будет централизованного органа, который бы проверял и обновлял регистр с транзакциями и свежими данными. Поэтому заинтересованные стороны в сети должны решить на равноправной основе то, какие транзакции должны быть добавлены в блокчейн.
Каждый метод имеет свои преимущества и, следовательно, встроен в подходящую платформу. PoW может работать в отношении блокчейна биткоина, но может не подходить для частного блокчейна компании. Не существует формы консенсуса, которая подходила бы для всех блокчейнов сразу, поэтому до тех пор, пока не будет разработана одна из них, используются текущие методы, описанные в данной статье.