top of page

Алгоритмы Консенсуса

Обновлено: 6 дней назад

Введение


Алгоритм консенсуса - это механизм, который позволяет пользователям или программам координироваться в распределенной сети. Он должен гарантировать, что все участники системы согласны о текущем состоянии данных, даже если некоторые из них выходят из строя. Другими словами, система должна быть устойчивой к сбоям.

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

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

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

Алгоритм консенсуса и криптовалюта

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

Сатоши Накамото, создатель биткоина, предложил систему Proof of Work для координации участников. Далее мы поговорим о том, как работает PoW, но пока - определим некоторые общие черты многих существующих алгоритмов консенсуса.

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

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

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

Типы алгоритмов консенсуса

Доказательство выполнения работы (PoW)

Proof of Work (PoW) - это прародитель всех алгоритмов консенсуса в блокчейне. Первоначально он был реализован в Bitcoin, но сама концепция существовала давно. В PoW валидаторы (называемые майнерами) хэшируют данные, которые они хотят добавить, пока не найдут подходящее решение криптографической головоломки.

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

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

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

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

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

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

Доказательство владения (PoS)

Proof of Stake (PoS) появился на заре Биткоина как альтернатива Proof of Work. Система PoS не требует майнеров, специализированного оборудования или массового потребления энергии. Вам нужен только обычный ПК.

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

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

Если ваш блок выбран, вы получите долю комиссий за транзакции, в зависимости от вашего стейка. Чем больше средств вы заблокировали, тем больше вы можете заработать. Однако за попытки обмануть систему и добавить недействительные транзакции злоумышленники рискуют лишиться части (или всей) своей доли. Таким образом, PoS работает аналогично PoW: действовать честно выгоднее, чем пытаться обмануть систему.

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

До сих пор чистый Proof of Stake был развернут только в меньших криптовалютах. Поэтому неясно, может ли он служить жизнеспособной альтернативой PoW. Хотя данный алгоритм и кажется теоретически обоснованным, на практике все происходит немного иначе.

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

Резюме

Механизмы достижения консенсуса являются жизненно важными для функционирования распределенных систем. Многие считают, что наибольшим достижением в Bitcoin было использование Proof of Work позволяющее пользователям согласовывать общий набор фактов.

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


23 просмотра

Недавние посты

Смотреть все

Comments


KRAK NEWS

bottom of page