Доказательство X: Как работает Блокчейн алгоритм?

Блокчейн – инновационная технология, способная изменить многие отрасли. Одна из главных его особенностей — способность создать доверие между незнакомыми сторонами. Работу распределенных сетей обеспечивают так называемые «консенсусные алгоритмы», которые гарантируют децентрализацию и защищенность. Редакция BITSIDE разбиралась с тем, что они собой представляют и какими бывают.

Оглавление

Основы блокчейн алгоритма консенсуса

Блокчейн – распределенная система, обеспечивающая взаимодействие множества пользователей. Здесь практически всегда отсутствует центральный администратор конфигураций узлов сети. Поэтому система является децентрализованной. Но необходимо добиться координации работы всех ее узлов. Для этих целей и был разработан специальный «протокол согласия» или «консенсуса».

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

Метод, благодаря которому происходит коллективное принятие решений, получил название «механизма консенсуса». Он преследует следующие цели:

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

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

Рассмотрим работу протокола на примере блокчейна Биткоина. Алгоритм отслеживает частоту создания блоков — новый появляется каждые 10 минут.

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

Алгоритм принимает участие в решении нескольких задач:

  • размер награды за создание блока. Объем вознаграждения определяется на основании сложности создания нового блока: чем она выше, тем сумма награды ниже;
  • проверка корректности занесения данных в цепочки. Все узлы должны подтвердить факт правильного занесения информации в базу данных. Проверке подвергаются хеши транзакций только что сгенерированного и предшествующего блока, а также подбора случайного числа nonce;
  • предотвращение повторной траты средств. В системе Биткоина, когда происходит транзакция, списываются все деньги. Затем указанная сумма для отправки пересылается получателю, а оставшиеся деньги возвращаются обратно отправителю.

У блокчейна алгоритмы консенсуса основаны на криптологической интерпретации принципа «византийских генералов». Для криптовалюты эта технология была немного изменена и адаптирована под P2P-сети:

  • объективность — в сети всегда хранится полный реестр транзакций. Поэтому аутентичность этих данных не нуждается в дополнительном подтверждении другими авторитетными источниками;
  • стойкость к цензуре. У блокчейна нет «главнокомандующих», так как это децентрализованная система. Здесь никто не может запрещать пользователям цепочки майнить или проводить транзакции.

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

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

как работает блокчейн алгоритм

Самые распространенные блокчейн-алгоритмы

Существует несколько вариантов алгоритмов консенсусов, но наиболее популярны три:

  • Proof of Work (PoW) — доказательство работы;
  • Proof-of-Stake (PoS) — доказательство доли;
  • Delegated Proof-of-Stake (DPoS) — делегированное доказательство доли.

Рассмотрим каждый blockchain алгоритм из перечисленных, и выявим особенности его работы.

Алгоритм Proof-of-Work

Идея подхода зародилась в 1992 году. Ее высказали исследователи Синтия Двор и Мони Наор. Они отметили, что получить доступ к сетевому ресурсу можно только после выполнения достаточно сложной конкретной задачи.

Спустя пять лет британский криптограф Адам Бэк впервые реализовал эту задумку в проекте Hashcash, который был создан для защиты от спама электронных систем, DDoS-атак и прочих спам-атак. Термин «Proof-of-Work» впервые формализировал шведский исследователь в области в области компьютерных наук Маркус Якобссон в 1999 году.

Технологию Hashcash с некоторыми доработками Сатоши Накамото применил в Биткоин в 2008 году. Благодаря этому Bitcoin стал самой первой криптовалютой, работающей на схеме консенсуса PoW.

Принцип работы протокола таков:

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

В представленной схеме, решение задачи представляет собой подтверждение (proof), что была проведена работа (work). Это соответствует идеи Наор и Двор о получении доступа к сети только при выполнении конкретных полезных действий.

Базовое требование PoW — решаемая задача должна быть асимметричной с точки зрения математики. То есть, выполнить ее сложно, но она легко проверяется. Таким образом, майнер прикладывает усилие для поиска решения, а система проверяет его работу мгновенно. Этот эффект достигается с помощью криптографии.

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

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

PoW выполняет следующие задачи:

  • защита блокчейна от атаки 51% и двойных трат;
  • обеспечение честности и справедливости операций внутри системы;
  • наказание за мошенничество в виде потери награды;
  • обеспечение устойчивости перед цензурой.

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

Алгоритм консенсуса блокчейна Proof-of-Work используют в Bitcoin, Bitcoin Cash, Litecoin, Monero и многих других криптовалют.

Алгоритм Proof-of-Stake

Proof-of-Stake (PoS) расшифровывается как «доказательство доли владения». Впервые его предложил в 2011 году пользователь с ником QuantumMechanic на форуме Bitcointalk.org. Является альтернативой PoW. Здесь тоже возможен майнинг, который получил название форджинг.

Первая монета, построенная на этом протоколе – Peercoin. Хотя для ее добычи использовался гибридный вариант: вначале майнинг шел по схеме PoW, а после добычи всех монет алгоритм переключился на PoS. Первыми чистыми криптовалютами на основе PoS стали Blackcoin и NXT.

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

«Заморозка» монет позволяет избежать двойных трат и предотвратить атаки на блокчейн, а также избежать риска валидации транзакций поддельными узлами.

Отличие PoS от PoW заключается в том, что форджинг требует наличия на счету узла (ноды) криптовалюты. Чем больше коинов размещено на кошельке, тем вероятнее шанс сгенерировать новой блок в blockchain. «Победивший» узел называют мастернодой.

Принцип работы PoS напоминает игру в рулетку: чем больше ставок будет сделано (положено монет на счет ноды), тем выше шансы на выигрыш.

Преимущества PoS по сравнению с PoW:

  • меньшая энергозатратность. Для форджинга не нужно так много электроэнергии. Ресурс тратится только на подтверждение транзакций;
  • низкие требования к характеристикам оборудования. Для майнинга нужен обычный персональный компьютер (подойдет даже ноутбук), интернет и специальная программа-клиент;
  • в сети взимаются низкие комиссии. Здесь в размер комиссии не закладываются затраты на электроэнергию;
  • лучшая децентрализация. Она достигается за счет того, что для создания стабильной мастерноды нужно иметь очень много монет. Однако тут кроется другая угроза: крупные владельцы, «киты», могут просто выкупить большое количество криптовалюты и “захватить власть” (т.е. процесс форджинга) в сообществе конкретной монеты;

Из недостатков нужно отметить риск атаки «double-spend» («двойной траты средств»). Для форджинга на счету должны всегда находиться монеты, которые нельзя пускать в оборот. Также минусом является большой порог вхождения и относительно небольшая прибыль.

На PoS работают Waves, NXT, Cardano, Blackcoin, PayCoin и другие.

Алгоритм Proof-of-Stake

Алгоритм Delegated Proof-of-Stake

Delegated Proof-of-Stake (DPoS, делегированное доказательство доли) в 2014 году создал разработчик Дэниел Лаример. Впервые он задействовал нововведение в проекте Bitshares. Позже, на DPoS Лаример построил децентрализованную блог-платформу Steemit. Несмотря на схожую концепцию, технологии DPoS и PoS существенно отличаются.

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

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

DPoS поддерживает в цепи блокчейна непрерывную процедуру перетасовки и голосования. Эта система рандомно выбирает валидаторов. Работоспособность сети основывается на отборе ценных пользователей и удалении бесполезных участников. Только ценные участники могут генерировать блоки. Обычно выбирается порядка 20-50 кандидатов. Из-за этого протокол находится в зависимости от активности избирателей.

DPoS создавался для децентрализованной среды в качестве альтернативы PoS и PoW. Условия работы DPoS отличаются от двух ранее описанных подходов. Здесь валидаторы должны раскрыть свою личность и быть готовыми постоянно поддерживать работу полноценных узлов. Они также должны своевременно проходить верификацию транзакций и генерировать новые блоки в блокчейн.

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

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

Преимущества DPoS:

  • наличие равных возможностей для заработка через голосование;
  • высокая скорость работы блокчейна;
  • упрощение принятия решений, касающихся развития сети;
  • высокая устойчивость системы. DPoS продолжает стабильно работать даже при выходе из строя больше половины исполнителей.

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

Сегодня этот протокол используют в EOS, Steemit, BitShares, Lisk, Ark и ряд других проектов.

Алгоритм Delegated Proof-of-Stake в процессе выборов

Альтернативные алгоритмы блокчейн-консенсуса

Говоря простыми словами, главная задача консенсусных протоколов – гарантировать валидность (“правильность”) выполняемых транзакций и обеспечивать синхронизацию данных между большим количеством участников. Таким образом поддерживается надежность и целостность сети блокчейн.

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

Уже сегодня в мире используют альтернативные варианты протоколов в противовес трем самым распространенным. Рассмотрим два самых известных “неклассических” протокола.

Proof-of-Elapsed-Time (PoET ) –  доказательство истекшего времени. Здесь выбор лидера проводится из максимальной выборки. Отличительная особенность – на центральный процессор идет высокая нагрузка. Это позволяет блокчейну функционировать на любом устройстве с большим вычислительным потенциалом. Алгоритм основан на элементах PoS и PoW. Позволяет облегчить майнинг на ASICs и GPU. Недостаток – номинальная стоимость монеты представляет собой заданное значение.

Proof-of-Value alternative (PoV)  –  доказательство ценности. В качестве определяющего фактора здесь используется уровень полезности вклада пользователя в коллективную работу. Поэтому контроль в блокчейн распределяется на основании воспринимаемой ценности. Отличается податливостью и гибкостью. Здесь пользователь может получить авторитет и доверие, если будет генерировать для системы полезные действия.

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

Выводы

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

Вам также могут понравиться