Книга: Блокчейн от А до Я. Все о технологии десятилетия
Консенсус
Консенсус
Определение
Консенсус – это соглашение, обычно положительное и единогласное, внутри группы людей, позволяющее решать или действовать сообща без предварительного голосования или обсуждения конкретного вопроса.
Как мы уже говорили ранее, «информационный консенсус в области распределенных систем – это способ, при помощи которого узлы (участники) могут договориться о легитимности сделки и обновлять бухгалтерские книги, представляющие собой стройную систему согласованных фактов»[102].
Таким образом, с точки зрения своей базы и истории (алгоритмы консенсуса появились около 1970 года), консенсус остается основополагающим элементом в области распределенных вычислений, то есть там, где мы имеем ряд узлов (участников), которые должны согласовать решение. Принцип заключается в том, чтобы добиться определенной надежности системы при решении распределенных задач в условиях наличия неисправности.
Таким образом, в теоретической информатике проблема консенсуса требует наличия протокола, который отвечает следующим критериям:[103]
• окончание: любой процесс должен получить некую величину;
• целостность: все процессы принимают значение, которое было предложено одним из процессов;
• согласие: все процессы принимают одно и то же значение.
Протокол, который может гарантировать эти свойства в присутствии не менее t отключений, называется t-robust.
Мы не намерены здесь объяснять функцию консенсуса (математический алгоритм), а всего лишь хотим показать, что в блокчейнах (так называемых публичных) и в распределенных протоколах консенсуса (так называемых частных блокчейнах) существуют различные консенсусы.
Когда мы знакомили вас с функционированием блокчейнабиткойн, мы вводили понятие proof of work, или доказательство выполнения работы (майнинг). Но теперь мы знаем, что существуют распределенные алгоритмы консенсуса, более эффективные (в зависимости от варианта применения) и менее энергоемкие, чем proof of work.
ПОДТВЕРЖДЕНИЕ ЗАИНТЕРЕСОВАННОСТИ ИЛИ УЧАСТИЯ
Мы знаем, что майнинг – это энергоемкий процесс и некоторые участники, в частности в эфириуме, предпочитают отбросить proof of work и перейти к proof of stake в связи со слишком большими энергозатратами на огромные вычислительные мощности.
При такой замене для проверки блоков не нужно использовать огромные вычислительные мощности и, следовательно, «сжигать» энергию, можно просто иметь определенное количество криптовалюты.
Обзор консенсуса
Чтобы обеспечивать защиту, упорядоченный и целостный вид реестра, существует ряд алгоритмов консенсуса (по дате появления).
• биткойн (специфика: все узлы являются анонимными и потенциально вредоносными, поэтому необходим proof of work, «бесполезный» на первый взгляд, но необходимый для безопасности сети);
• эфириум (специфика: та же, что и для биткойна);
• Peercoin и Decred[105] используют гибридный метод PoW/PoS, чтобы воспользоваться преимуществами обеих систем и создать более устойчивый консенсус.
• проект Ethereum 2017 (Sharding[107]);
• Peercoin[108], подтверждение использования PoS;
• (i) подтверждение обладания – proof of hold (РоН): чем больше у вас денег, тем больше у вас прав на проведение проверки;
• (ii) подтверждение использования – proof of use (PoU): чем больше вы обмениваете валюту, тем больше у вас прав на проведение проверки;
• (iii) подтверждение ставки/время – proof of stake/time (PoST): математическая функция, которая учитывает время владения объектом, чтобы определить вероятность быть выбранным для проверки следующего блока в блокчейне (примеры: Peercoin, Vericoin);
• (iv) подтверждение минимальной ставки/время – proof of minimum aged stake (PoMAS): метод, объединенный со взвешиванием (s);
• (v) подтверждение значимости – proof of importance (Pol): пользователи, которые имеют наибольшее подтверждение ставки в криптовалюте, будут вознаграждены (пример: NEM).
PROOF OF WORK И PROOF OF STAKE
Proof of work (подтверждение работы) и proof of stake (подтверждение ставки или владения) – два наиболее известных способа проверки блоков. Они состоят из двух совершенно разных механизмов консенсуса.
Процесс, который заключается в решении вычислительных задач, подразумеваемый proof of work, называется майнингом: мы говорим о майнерах.
Процесс решения вычислительных задач, подразумеваемый proof of stake, называется минтинг: мы говорим о минтерах.
• Bitshares[109];
• Graphene [110];
• Steem[111].
• подтверждение права: один или несколько узлов могут добавлять блоки;
• подтверждение активности (в соответствии с профилями узлов);
• подтверждение возможности (в зависимости от профилей узлов);
• подтверждение личности (например, beAchain);
• толерантность к ошибкам типа задачи византийских генералов (например, Hyperledger и beAchain).
КОНСЕНСУС МЕЖДУ МАШИНАМИ, МЕЖДУ ОБЪЕКТАМИ, УСТАНАВЛИВАЕМЫЙ BEACHAIN
В то время как одна или несколько машин, участвующих в цепочке, заявляют транзакцию (заявка на установление подлинности/авторизацию, обмен ценностями, часть определенного договора и т. д.), некоторое количество взаимосвязанных в данный момент машин должны прийти к согласию относительно того, принимать ли данную транзакцию или нет. Количество компьютеров (см. теорию ацикличных графов) вариабельно: чем оно выше, тем больше время достижения консенсуса, но результат будет гарантирован.
- 2 Консенсус и компромисс
- Консенсус и действия в результате совещаний
- NXT: используем механизм proof-of-stake для достижении консенсуса по транзакциям
- Что такое алгоритм консенсуса?
- Что такое консенсус?
- Шаги для достижения консенсуса
- Протокол консенсуса в распределенных сетях
- I Групповая разработка
- Глава 5 Как вести совещания
- Определение повестки дня
- Рис. 5.1. Вариант шаблона для записей на совещаниях
- Создание «воронки принятия решения»