Введение
Алгоритм консенсуса — это механизм, который позволяет пользователям или машинам координировать свои действия в распределенной среде. Это гарантирует, что все агенты в системе согласны с единым источником истины, даже если некоторые агенты потерпят неудачу. То есть система должна быть отказоустойчивой (см. также: Объяснение византийской отказоустойчивости).
В централизованной системе один объект обеспечивает питание и контроль сети. В большинстве случаев организация может вносить изменения по своему усмотрению – не существует сложной системы управления, позволяющей нескольким директорам достичь консенсуса.
В децентрализованной системе ситуация совершенно другая. Допустим, мы работаем с распределенной базой данных. Как нам договориться о том, какие данные добавлять?
Преодоление этой проблемы в среде, где участники не доверяют друг другу, было, пожалуй, самым важным событием, проложившим путь к блокчейнам. В этой статье мы увидим, почему алгоритмы консенсуса необходимы для функционирования криптовалют и распределенных реестров.
Алгоритмы консенсуса и криптовалюты
В криптовалютах балансы пользователей записываются в базу данных — блокчейн. Очень важно, чтобы каждый (точнее, каждый узел) поддерживал идентичную копию базы данных. В противном случае может появиться противоречивая информация, нанесшая вред всей сети.
Криптография с открытым ключом гарантирует, что пользователи не смогут тратить валюты друг друга. Однако по-прежнему должен существовать единый источник достоверных данных, на который участники сети полагаются, чтобы определить, были ли уже потрачены средства.
Сатоши Накамото, создатель Биткойна, предложил систему Proof of Work для координации участников. Вскоре мы увидим, как работает PoW, а сейчас давайте определим некоторые общие черты среди многих существующих алгоритмов консенсуса.
Сначала мы просим пользователей, которые хотят добавить блоки (назовем их валидаторами), внести ставку. Стейкинг — это ценность, которую валидатор должен гарантировать, чтобы удержать его от злонамеренных действий. Если они обманут, они потеряют свою ставку. Например, вычислительная мощность, криптовалюты или их репутация.
Зачем им рисковать собственными ресурсами? Просто потому, что на кону стоит вознаграждение. Обычно это собственная криптовалюта протокола, основанная на комиссиях, выплачиваемых пользователями, на недавно созданных криптовалютах или на том и другом.
Последнее, что нам нужно, это прозрачность. Нам нужно уметь определять, когда кто-то обманывает. В идеале производство блоков должно обходиться дорого, но их проверка должна быть дешевой для любого. Это гарантирует, что валидаторы также контролируются обычными пользователями.
Типы алгоритмов консенсуса
Доказательство работы (PoW)
Доказательство работы (PoW) — крестный отец алгоритмов консенсуса блокчейна. Впервые это было реализовано с помощью Биткойна, хотя эта концепция существует уже давно. В Proof of Work валидаторы (называемые майнерами) хэшируют данные, которые они хотят добавить, пока не создадут конкретное решение.
Хэш — это случайная строка букв и цифр, созданная при запуске хэш-функции. Но если входные данные одинаковы, выходные результаты будут такими же. Однако малейшее изменение приведет к созданию совершенно другого хеша.
Данные на выходе не позволяют нам определить данные на входе. Таким образом, это очень эффективная функция, позволяющая доказать, что вам известен фрагмент данных за определенный период времени. Вы можете передать кому-то свой хэш, и когда вы раскроете данные, этот человек сможет запустить их через функцию, чтобы убедиться, что выходные данные одинаковы.
В Proof of Work протокол определяет условия, которые делают блок действительным. Например, это может означать, что действительным является только блок, хэш которого начинается с 00. Единственный способ для майнера создать действительный блок — это перебор. Чтобы получить другой результат, пока не будет найден правильный, майнеры могут изменить параметр в своих данных.
Для крупнейших блокчейнов уровень очень и очень высок. Чтобы конкурировать с другими майнерами, вам необходимо иметь склад, полный ASIC, оборудования, специально разработанного для увеличения ваших шансов на создание валидного блока.
Ваша доля в майнинге соответствует стоимости этих машин и электроэнергии, необходимой для их работы. ASIC предназначены исключительно для майнинга, поэтому они не имеют никакого применения за пределами майнинга криптовалют. Единственный способ окупить первоначальные инвестиции — это майнить и получать вознаграждение, успешно добавляя новый блок в блокчейн.
Сеть очень легко проверить, что вы создали правильный блок. Однократное выполнение функции позволяет вам проверить результаты ваших многочисленных тестов. Если ваши данные дают действительный хэш, они будут приняты, и вы получите вознаграждение. В противном случае сеть аннулирует его, и вы потратите время и электроэнергию впустую.
Доказательство доли (PoS)
Доказательство доли (PoS) было предложено на заре существования Биткойна в качестве альтернативы Доказательству работы. В PoS не существует понятия майнеров, специализированного оборудования и массового потребления энергии. Все, что вам нужно, это компьютер.
И еще кое-что... Вам нужно положить монету в автомат. В PoS вместо использования внешнего ресурса (машин и электричества) вы будете использовать внутренний ресурс (криптовалюту). Правила различаются в зависимости от протокола, но, как правило, вам необходимо иметь минимальную сумму для участия в стейкинге.
Затем вам нужно будет заблокировать свои средства в кошельке (они не могут быть перемещены, когда вы делаете ставку). В целом вы согласитесь с другими валидаторами относительно того, какие транзакции перейдут в следующий блок. В каком-то смысле вы делаете ставку на то, какой блок будет выбран, а остальное решает протокол.
Если ваш блок будет выбран, вы получите часть комиссии за транзакцию, пропорциональную вашей ставке. Чем больше средств вы заблокируете, тем больше у вас шансов на выигрыш. Но если вы попытаетесь обмануть, предложив недействительные сделки, вы потеряете часть (или всю) свою ставку. Поэтому у нас есть механизм, аналогичный PoW — действовать честно выгоднее, чем действовать нечестно.
Как правило, вновь созданные валюты не являются частью вознаграждений валидаторов. Поэтому собственная валюта блокчейна должна выпускаться другим способом. Это можно сделать посредством первоначального распространения (например, ICO или IEO) или посредством использования PoW в начале протокола перед его переходом на PoS.
На сегодняшний день чистое доказательство доли используется только небольшими криптовалютами. Поэтому неясно, может ли он служить жизнеспособной альтернативой PoW. Хотя теоретически это кажется верным, на практике все будет совсем иначе.
Как только PoS развертывается в сети с большим объемом информации, система становится идеальной питательной средой для финансовых стимулов и теории игр. Любой, кто знает, как «взломать» систему PoS, сделает это только в том случае, если есть возможность воспользоваться ею, поэтому единственный способ узнать, возможно ли это, — попробовать непосредственно в сети.
Вскоре мы увидим крупномасштабное тестирование PoS — Casper будет реализован как часть серии обновлений сети Ethereum (также известной как Ethereum 2.0).
Типы алгоритмов консенсуса
Доказательство работы и Доказательство доли — наиболее распространенные алгоритмы консенсуса. Но, очевидно, существует множество других, со всеми их преимуществами и недостатками. Ознакомьтесь со следующими статьями:
Пояснение к отложенному доказательству работы
Консенсус Leased Proof of Stake, пояснение
Объяснение Le Proof of Authority
Объяснение Доказательства сжигания
Объяснение Le Delegated Proof of Stake
Объяснение гибридного консенсуса PoW/PoS
Заключить
Механизмы достижения консенсуса жизненно важны для работы распределенных систем. Многие считают, что величайшей инновацией Биткойна является использование Proof of Work, позволяющее пользователям согласовывать общий набор фактов.
Алгоритмы консенсуса сегодня лежат в основе не только систем цифровых валют, но и блокчейнов, которые позволяют разработчикам выполнять код в распределенной сети. Они составляют краеугольный камень технологии блокчейн и необходимы для долгосрочной жизнеспособности различных существующих сетей.
Из всех консенсусных алгоритмов Proof of Work по-прежнему остается наиболее используемым. Действительно, более надежной и безопасной альтернативы пока не предложено. Тем не менее, существует огромное количество исследований и разработок по замене PoW, и весьма вероятно, что в ближайшие годы мы увидим больше консенсуса.



