Блокчейне сетевой консенсус автоматически

Криптопиум

Простыми словами

Английское слово blockchain состоит из 2 частей: block (блок) и chain (цепь). Простыми словами Блокчейн — это относительно недавно изобретенная технология, позволяющая выстроить любую передачу информации, в частности финансовую, к примеру, банковские транзакции, как цепочку последовательных блоков: кто, что, сколько и куда (кому) послал (перевел).

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

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

Блокчейн — подробней

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

Вот одно из определений от разработчиков:

Блокчейн — это журнал с фактами, реплицируемый на несколько компьютеров, объединенных в сеть равноправных узлов (P2P). Фактами может быть что угодно, от перечисления денежных средств и до подписания контента. Члены сети — анонимные лица, называемые узлами. Все коммуникации внутри сети используют криптографию, чтобы надежно идентифицировать отправителя и получателя. Когда узел хочет добавить факт в журнал, в сети формируется консенсус, чтобы определить, где этот факт должен появиться в журнале; этот консенсус называется блоком.

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

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

Применение в бизнесе

— Эмиссия, торговля и обмен активами с использованием крипто-платформы WAVES.

— Доказательства прав на физическое имущество или интеллектуальную собственность с использованием платформы EMCDPO.

— Фиксация отпечатков и времени публикации размещаемых документов для доказательства авторских прав или подлинности документа-первоисточника с использованием платформы EMCATOM.

— Удаленное управление большим количеством серверов, компьютерных терминалов, сетью банкоматов с использованием платформы EMCSSH.

— Безопасная и надежная авторизация без паролей и кодов на интернет сайтах, например, банковских организаций с использованием платформы EMCSSL.

— Создание электронных виртуальных карт-визиток, с помощью которых можно авторизовываться на интернет-ресурсах, а потом менять данные в карте и обходится без перерегистрации, — с использованием платформы EMC InfoCard.

— Организация безопасной системы доменных имен в интернете с использованием платформы EMCDNS.

Узнать больше

Одним из самых авторитетных интернет-ресурсов в мире, помогающий предпринимателям, инвесторам и потребителям узнать о быстро меняющемся мире технологии Блокчейн — это www.blockchaintechnologies.com

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

Блокчейн для биткоинов

Кроме названия технологии, слово blockchain нередко употребляется как название сайта (blockchain.info), предоставляющего возможность создать Bitcoin-кошелек (иногда называют блокчейн-кошелек) для работы с этой криптовалютой, тоже использующей данную технологию. Следует иметь в виду, что использование биткоинов в России запрещено.

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

Блокчейне сетевой консенсус автоматически

Содержание:

Что такое Консенсус?

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

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

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

Тот или иной метод, который используется для принятия решения, называется «механизмом консенсуса» или «алгоритмом консенсуса».

Алгоритм консенсуса имеет следующие цели:

  • Согласование. Достижение максимальной степени согласия всех сторон
  • Эгалитаризм. Соблюдение равноправия, равенство всех участников
  • Кооперирование. Участники заинтересованы работать сообща
  • Инклюзивность. В процессе достижения консенсуса должно участвовать максимальное количество участников

Консенсус в блокчейне

Алгоритм консенсуса в блокчейне – это набор определенных математических правил и функций, регулирующих работу сети.

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

Современные механизмы консенсуса в блокчейне основаны именно на данной криптографической задаче.

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

Применяя данную задачу к блокчейну можно выделить следующие моменты:

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

Функции механизмов консенсуса в блокчейне

  • Частота генерации новых блоков. Благодаря данным алгоритмам исключаются ситуации, каждый узел генерирует свой блок и записывает его в блокчейн. К примеру, в сети Биткоин блоки генерируются каждые 10 минут. Однако иногда возникают ситуации, когда два или более узлов генерируют блок практически одновременно, с разницей в долях секунды. В этом случае возникает конфликт, который разрешается в пользу узла, раньше всех создавшего блок. Транзакции, которые входили в конкурентный блок или блоки, помещается в список неподтвержденных транзакций, и отрабатываются в следующем блоке.
  • Проверка информации в блоке. Все участники должны подтвердить, что данные в сгенерированном блоке верны. Проверке подлежат хеши транзакций как текущего, так и предыдущего блока, а также корректность подбора числа nonce.
  • Размер вознаграждения. Размер вознаграждения зависит от сложности сети, причем, как это ни парадоксально в обратной пропорции.
  • Недопущение двойного списания средств. Например, в сети Биткоин при проведении транзакции в блокчейн направляются все средства. После этого необходимая сумма перечисляется получателя, а остаток возвращается отправителю.

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

Все перечисленные механизмы консенсуса имеют свои преимущества и недостатки. Ознакомится с каждым из них вы можете по ссылкам.

Самыми распространенными в настоящее время являются два алгоритма — Proof-of-Work и Proof-of-Stake. Другие механизмы находят применение в намного меньшем количестве криптовалютных платформ. Это связано с их относительным малым возрастом, и, соответственно, не в полной мере отработанными технологиями.

Анализ проекта Tezos: новая экосистема блокчейна

Продолжающийся краудсейл проекта Tezos, имеет все шансы привлечь рекордную, даже по нынешним временам, сумму – за два дня до окончания кампании (блок Эфириума №475622) уже собрано 323 500 ETH и 58 000 BTC. Во многом это обусловлено отсутствием верхней границы ICO. Однако, даже если абстрагироваться от этих внушительных сумм, платформа Tezos представляет собой интересный и достаточно глубоко проработанный проект: разработчики собираются применить в ней ряд уникальных (и спорных) решений. Популярный обзор основных особенностей Tezos представляют в своем блоге интерны ConsenSys, Санни Агарвал (Sunny Aggarwal) и Нэт Раш (Nate Rush).

Несмотря на обоснованный скепсис, который вызывает у многих используемый в Tezos вариант консенсуса PoS, основная предлагаемая ценность Tezos сосредоточена в несколько других областях:

Безопасность системы, начиная с самых низших уровней

Автоматизированная процедура модификации базового протокола

Автоматизированная система управления протоколом

В данной статье проблемы алгоритма PoS будут описаны довольно кратко, а основное внимание будет уделено вышеперечисленным пунктам.

Безопасность системы

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

Для блокчейн-платформы, которой придется когда-нибудь (если все получится) управлять триллионами долларов, это звучит привлекательно. Tezos написан на Ocaml, популярном языке функционального программирования, позволяющем формально верифицировать отдельные части протокола. Это важно, особенно в контексте ПО с открытым исходным кодом, существенно упрощая задачу поиска уязвимостей, которые могут быть добавлены участниками сообщества, как случайно, так и намеренно. Стоит, однако, отметить, что формальная верификация – на панацея; она просто подтверждает соответствие кода спецификации, которая, в свою очередь, может содержать ошибки.

Здесь уместно провести сравнение с Эфириумом. Платформа Эфириума отличается от Tezos (и Биткойна) тем, что она не определяется через референсный клиент; вместо того протокол лишь формально определен в Желтой Книге, оставляя конкретную реализацию разработчикам клиентов. Недостатки существуют у обоих подходов. С одной стороны, формально определенный протокол дает возможность реализации множественных клиентов (Geth, Parity), а это усиливает эластичность системы к ошибкам в одном из клиентов. К тому же, никто не мешает написать еще один клиент Эфириума на Ocaml. С другой стороны, это может стать причиной нарушения консенсуса между клиентами в некоторых случаях.

Будет полезно:  Принципы работы криптовалют и блокчейна

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

Еще один фактор: OСaml относительно сложен для освоения по сравнению с Rust или Go, языками двух основных клиентов Эфириума. В некоторой степени это является фактором централизации – меньше программистов, способных внести вклад. Другими словами, читателю предстоит решить для себя, стоит ли применение эзотерического языка, который мало кто знает, возможных преимуществ в безопасности системы.

Кроме клиента, написанного на функциональном языке, Tezos создал совершенно новую Виртуальную Машину (VM), работающую на Michelson – стековом функциональном языке. Это идет вразрез с общепринятой практикой, в которой новые блокчейновые проекты просто встраивают хорошо отработанную EVM – Виртуальную Машину Эфириума. Сторонники VM утверждают, что функциональный язык позволяет на ранней стадии локализовать уязвимости, подобные той, которая вызвала взлом TheDAO (повторный вход). Даже сейчас сообщество Эфириума вынуждено проводить хакатоны на написание вредоносных смарт-контрактов, в которых обнаруживаются «скрытые уязвимости», т. е., при отсутствии формальных ошибок результат выполнения контракта не соответствует задуманному.

Трудности освоения новой VM разработчиками дают еще один повод для критики. Конечно, эти трудности можно решить созданием интуитивно понятных языков высокого уровня (подобных Solidity в EVM), однако это потребует серьезных усилий со стороны Tezos. Создание Solidity и ассоциированного с ним пакета инструментов для разработчиков Truffle заняло не один год. Конечно, можно возразить, что у EVM множество последователей. На это создатели Tezos отвечают, что сообщество EVM все-таки невелико, ведь отрасль находится в начальной стадии, так что объявлять сейчас о своем доминировании, это все равно, как если бы Netscape объявил о своей победе в начале браузерных войн. Независимо от заслуг EVM, Michelson, или любой другой потенциальной VM (например, WebAssembly) нельзя, чтобы размер его сообщества влиял на выбор. При строительстве инфраструктуры будущего нужно выбирать лучшую модель.

Нужно также отметить, что Michelson не единственная верифицируемая VM. Можно упомянуть еще Rholang, который разрабатывает Грег Мередит (Greg Meredith) в своем проекте Rchain.

Автоматизированная процедура модификации протокола

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

Сравнивая с другими модульными платформами, видно, что Tendermint содержит сетевой слой и слой консенсуса, оставляя слой транзакций на усмотрение создателя блокчейна. Tezos продолжает развивать эту идею, сделав независимым еще и слой консенсуса: сетевой слой получает подтверждение в виде хэша файла OСaml, который содержит весь остальной протокол, так что каждый узел может его формально верифицировать, и указать с помощью функции apply на новый файл протокола (это и есть причина, по которой необходим единый референсный клиент).

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

Однако, по крайней мере сейчас, команда Tezos предпочитает вести проект в направлении создания единого публичного блокчейна с функцией автоматического «самообновления». Предполагается возможность обновления протокола посредством он-чейн механизма управления (об этом в следующей главе). Отделение сетевого слоя от всего остального означает, что протокол может быть модифицирован без необходимости хардфорка, чреватого расколом системы. Здесь могут быть две точки зрения: (1) это хорошо; и (2) это плохо. Именно так и разделились мнения авторов обзора, так что решать придется читателям. Ниже приводятся аргументы «за» и «против»:

Модульность в сочетании с функцией автоматического апдейта и управления – это хорошо:

Большинство хардфорков не вызывают разногласий – это простые реорганизации, исправление ошибок, улучшение алгоритмов; в этом случае нет нужды ввязываться в сложные процессы координации, следить за тем, чтобы все своевременно обновили код, не допустив ошибок, и оперативно реагировать на любые проблемы, возникающие из-за несовместимости между старой и новой версией протокола. Даже некоторые софтфорки способны вызвать проблемы без высокой степени координации. (вот почему SegWit требовал 95% одобрения). Именно эти проблемы и пытается решить Tezos.

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

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

А вот противоположный аргумент: модульность в сочетании с функцией автоматического апдейта и управления – это плохо:

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

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

Автоматизированная система управления протоколом

Если обновление проводится изнутри протокола, то кто решает, когда и как его проводить? Здесь в действие вступает разработанный Tezos слой управления. (В 2014 году он был инновационным. Сейчас похожие идеи воплощает проект Dfinity). Согласно документации Tezos, решение о замене старого протокола новым решает процесс голосования. Предполагается, что процесс запускается голосованием владельцев монет.

Как и в предыдущем случае, есть две точки зрения на этот механизм.

Против предлагаемой системы:

Опасность несовпадения интересов. Цитируя разработчика Эфириума Влада Замфира (Vlad Zamfir), протокол «сделает китов королями системы», а это станет проблемой, если интересы владельцев крупных капиталов разойдутся с интересами пользователей протокола. Крайне маловероятно, что обладающие властью проголосуют за уменьшение собственного влияния, выплат или других преференций, даже если за это проголосуют пользователи. Противопоставление владельцев крупных капиталов сообществу – опасное решение.

За предлагаемую систему:

Аргумент о «несовпадении интересов» несостоятелен, так как все пользователи являются владельцами монет, которые заинтересованы в успехе системы.

Управление голосованием владельцев монет более децентрализованное и демократичное, чем управление посредством Фонда. Однако стоит отметить, что на первом этапе развития сети централизованное управление может быть полезным. Вот почему Фонд Tezos в течение первого года (и только первого) будет иметь право вето.

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

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

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

Proof of Stake

Самая слабая часть системы в ее нынешнем виде. Алгоритм PoS, предлагаемый Tezos, был достаточно продвинутым в 2014 году, но с тех пор прошло много времени. Seed определяется каждые 2048 блоков, после чего используется для выборки приоритета валидаторов на создание следующего блока. Первый валидатор в выборке может отправить блок через минуту после предыдущего блока. Если первый не появится, следующий сможет опубликовать блок через 2 минуты и так далее. После 16 неудачных попыток блок сможет предложить любой желающий. Затем, набор «подписывающих» узлов фиксирует (commit) первый блок, который он видит и подписывает его, создавая некоторую степень финализации.

Определение сида через 2048 блоков (полтора дня) делает валидаторов уязвимыми к DoS атакам. Несмотря на то, что в протоколе предпринимаются меры по недопущению создания картелей, они выглядят явно недостаточными для 2017 года.

В целом, алгоритм PoS выглядит совершенно устаревшим и является самым слабым звеном проекта. Он не конкурент таким BFT PoS механизмам, как Casper или Tendermint. С большой вероятностью он будет использоваться только на первом этапе развертывания системы. Учитывая модульную структуру, можно предположить, что используя механизмы, рассмотренные выше, Tezos просто выберет для консенсуса Tendermint, Casper или их модификации.

Заключение

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

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

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

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

Будет полезно:  Блокчейн защита инвесторов

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

Основными преимуществами являются:
— существенное снижение потребления электроэнергии (относительно PoW метода);
— для создания атаки Double-spending необходимо сконцентрировать больше 50% от общего количества всей валюты, что будет стоить огромного состояния. В том случае, если же атакующий все же сможет сконцентрировать такое количество средств, он своими действиями нарушит баланс и сам больше пострадает от своей же атаки.

Основными недостатками являются:
— мотивация в концентрации средств, что может приводить к централизации сети.

Одна из разновидностей алгоритма консенсуса Proof-Of-Stake, в которой блоки подписывают выбранные представители. Владельцы наибольших балансов выбирают своих представителей, каждый из которых получает право подписывать блоки в блокчейн сети. Каждый представитель, обладающий одним или более процентами от всех голосов, попадает в совет. Из сформированного «совета директоров» по-кругу выбирается следующий представитель, который и подпишет следующий блок. В том случае, если по какой-либо причине представитель пропустил свою очередь в подписании, он лишается делегированных голосов и покидает «совет директоров», после чего на его место выбирается следующий наиболее подходящий кандидат.
Владельцы балансов, делегируя свои голоса, никоим образом не теряют над ними контроля, так как в любой момент могу их отозвать у своего представителя.

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

Как ясно из названия, LPoS — еще одна модификация алгоритма Proof-of-Stake. На данный момент он поддерживается только платформой Waves. В рамках этого алгоритма, любой пользователь имеет возможность передавать свой баланс в аренду майнинг-узлам, а за это майнинг-узлы делятся частью прибыли с пользователями. Таким образом, данный алгоритм консенсуса позволяет получить доход от майнинговой деятельности, не ведя самого майнинга.

Иногда еще называемый Proof-of-Space (PoSpace), еще один алгоритм консенсуса. Я нашел только одну блокчейн платформу, которая поддерживает данный алгоритм, это Burstcoin. PoC работает по следующему принципу:
— каждый майнер вычисляет достаточно большой объем данных, который записывается на дисковую подсистему (жесткий диск, облачные системы хранения) узла. Такой первоначальный набор данных в PoC называется «участок».
— для каждого нового блока в блокчейне, майнер читает небольшой набор данных (1/4096, что приблизительно составляет 0.024%) от своего общего сохраненного объема и возвращает результат (дедлайн), как прошедшее время в секундах с момента создания последнего блока, после которого майнер сможет создать новый блок.
— майнер, получивший минимальное время дедлайна, подписывает блок и получает вознаграждение за транзакции.

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

Алгоритм консенсуса используемый блокчейн платформой NEM. Значимость каждого пользователя в сети NEM определяется как количество средств имеющихся у него на балансе и количество проведенных транзакций с/на его кошелек. В отличии от более привычного PoS, который учитывает только баланс имеющихся средств у пользователя, PoI учитывает как количество средств, так и активность пользователя в блокчейн сети. Такой подход вовлекает пользователей не просто держать средства у себя на счету, но и активно использовать их.

Описание алгоритма опубликовано в 2014 году, как потенциально нового и более надежного алгоритма для биткоина, информации о его имплементации я так и не нашел. Авторы алгоритма PoA попытались объединить два наиболее популярных алгоритма, такие как Proof-of-Work и Proof-of-Stake, с целью увеличения уровня защиты от потенциально возможных атак (51% attack, Denial-of-Service attacks (DoS). Принцип работы алгоритма описан ниже:
— каждый майнер блокчейн сети пробует сгенерировать заголовок пустого блока, который включает в себя хеш предыдущего блока, публичный адрес майнера, индекс текущего блока в блокчейне и nonce.
— после генерации заголовка пустого блока отвечающего текущим требованиям сложности, узел рассылает этот заголовок в блокчейн сеть.
— все узлы сети рассматривают заголовок такого блока, как данные полученные от псевдослучайных владельцев. Используя хеш разосланного заголовка блока и хеш предыдущего блока + N пресетов с использованием алгоритма follow-the-satoshi выбираются стейкхолдеры.
— каждый стейкхолдер, находящийся в онлайне, проверяет полученный, пустой заголовок блока на его корректность. Во время проверки каждый получивший заголовок проверяет является ли он одним из первых N-1 стейкхолдеров «счастливчиков» этого блока и в этом случае подписывает заголовок пустого блока своим секретным ключом и отправляет его в блокчейн сеть.
— Когда N-й стейкхолдер видит, что он должен стать подписантом этого блока, он, в дополнение к заголовку пустого блока, добавляет блок с включенными транзакциями (количество включаемых транзакций он выбирает сам), все подписи N-1 от других стейкхолдеров и подписывает блок.
— Стейкхолдер N рассылает новый, подготовленный блок. Узлы получают этот блок, убеждаются в его законности и добавляют этот блок в блокчейн.
— Премия за транзакции, которую получил N-стейкхолдер, распределяется между майнером и N стейкхолдерами «счастливчиками».

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

Положительным моментом данного алгоритма является:
— отсутствие майнинга и, как следствие, существенное снижение затрат на его обслуживание.

Негативный момент использования данного алгоритма:
— как понятно из самого описания — ключевыми лицами, являются валидаторы, что приводит к централизации. Вероятно в некоторых случаях, в приватных сетях и при помощи полностью, на сколько это возможно, доверенных аккаунтов это имеет смысл.

Еще один интересный тип алгоритма консенсуса — Proof-of-Burn. При его использовании майнер отправляет монеты на случайный адрес сгенерированного хеша, потратить средства с этого адреса практически невозможно, так как вероятность подобрать к нему ключи стремится к нулю. За такое сжигание монет, майнер получает постоянный шанс найти PoB блок и получить за него награду. Шансы на майнинг увеличиваются при увеличении количества сожженных монет. Экономически этот процесс сжигания монет можно представить как покупка буровой установки для майнинга. Естественно такой алгоритм имеет смысл использовать только на поздних этапах существования той или иной криптовалюты, тогда когда есть что «сжигать» 😉 Интересной мыслью является то, что этот метод также хорошо подходит для трансфера из «старых» в «новые» криптовалюты. Например, «старая» криптовалюта находится в финальной точки своего майнинга, мы можем использовать метод PoB тогда, когда для того, чтобы получить «новую» криптовалюту, нам необходимо сжечь «старую».

Данный алгоритм используется на платформе Slimcoin.

Алгоритмы Консенсуса в Блокчейне: POW, POS и другие (2020)

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

Что такое алгоритм консенсуса?

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

Роль протоколов

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

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

Консенсусные алгоритмы должны быть достаточно умными, чтобы предвидеть сбои в коммуникации внутри сети.

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

Виды протоколов

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

изображение кликабельно

Proof-of-Work

Самый известный алгоритм консенсуса — Proof-of-Work (PoW). Он представлен такими монетами, как Bitcoin, Ethereum и Litecoin. Подход PoW стал первым подобным алгоритмом и сегодня он продолжает широко использоваться.

Будет полезно:  Блокчейн мошенничество

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

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

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

Proof-of-Stake

Proof-of-Stake (PoS) рассматривается, по крайней мере Ethereum, как наследник трона блокчейна. PoS действует как гораздо более энергоэффективное и децентрализованное воплощение алгоритма консенсуса.

Переход крипто-гиганта Ethereum из PoW в PoS показывает потенциал, которым обладает альтернативный подход.

перенос Proof-of-Work на Proof-of-Stake

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

«Proof of Stake опирается на вероятностную модель для выбора валидаторов, где вероятность того, что валидатор получит блок для решения, прямо пропорциональна количеству монет, внесенных им в качестве залога для защиты сети. Этот залог может быть изъят, если было замечено какое-либо нарушение со стороны валидатора. Основная математическая головоломка похожа на ту, что используется в Proof of Work. Однако ее сложность значительно снижается»

Byzantine Fault Tolerance (BFT)

Byzantine Fault Tolerance (BFT) назван в честь старой математической загадки Задача византийских генералов. В известной загадке несколько византийских генералов окружили город своими армиями — они должны договориться о действиях при атаке или отступлении. Если решение не будет согласовано генералами, то операция приведет к катастрофе.

суть задачи

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

Преимущества BFT-подхода в том, что это недорогое решение, которое можно масштабировать. Тем не менее, этот подход еще не завоевал доверие сообщества.

Протоколы набирающие популярность

Delegated Proof-of-Stake (DPoS)

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

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

Leased Proof of Stake (LPoS)

Leased Proof of Stake — усовершенствованная версия алгоритма Proof of Stake (PoS). Традиционно в алгоритме Proof of Stake каждый узел содержит определенную сумму криптовалюты и может добавить следующий блок в цепочку блоков. Однако, с помощью Leased Proof of Stake, пользователи могут сдавать в аренду свои монеты пользователям, держащим полные узлы (full nodes).

принцип работы LPoS

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

Proof of Elapsed Time (PoET)

Доказательство потраченного времени — это механизм, который предотвращает высокое использование ресурсов и высокого потребления энергии. Концепция была изобретена в начале 2016 года компанией Intel.

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

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

Simplified Byzantine Fault Tolerance (SBFT)

В SBFT один назначенный генератор блоков собирает и проверяет предложенные транзакции, периодически объединяя их в новый блок. Консенсус обеспечивается Генератором, который применяет правила (проверки), согласованные узлами (ядрами цепочки) к блоку и назначенным подписчиком блока. Другие (множественные) назначенные подписчики блоков ратифицируют предложенный блок своими подписями.

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

Delegated Byzantine Fault Tolerance (DBFT)

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

Выбранная группа бухгалтеров, через алгоритм BFT, достигает консенсуса и генерирует новые блоки.

Directed Acyclic Graphs (DAG)

DAG не имеет структуры данных Блокчейн и способен обрабатывать транзакции асинхронно.

Proof of Activity (POA)

Доказательство деятельности. Это смешанный подход, который объединяет два других часто используемых алгоритма, а именно: доказательство работы (POW) и доказательство ставки (POS).

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

Proof of Importance (Pol)

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

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

Proof of Capacity (PoC)

Подтверждение емкости (POC) — это алгоритм согласованности используется в блокчейне и позволяет майнинг оборудованию использовать в сети доступное пространство на жестком диске для определения прав на майнинг вместо использования вычислительной мощности устройства.

Proof of Burn (PoB)

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

Proof of Weight (PoWeight)

Доказательство веса (PoWeight) — эта модель консенсусного алгоритма «взвешивает» каждого пользователя и определяет его вес в зависимости от количества монет, которыми тот владеет. Чем больше монет — тем лучше. Этот алгоритм обладает высокой масштабируемостью и является энергоэффективным, что является его сильной стороной.

PoWeight гарантирует, что большинство пользователей согласится с принятым решением. Однако большим минусом данного алгоритма является система получения вознаграждения за блок — она довольно сложная.

Почему консенсус так важен в блокчейне

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

Схема работы консенсуса в блокчейне

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

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

Возможности для совершенствования

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

Например, при запуске системы безопасности блокчейна REMME был создан алгоритм Proof-of-Service, целью которого является устранение недостатков его предшественников.

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

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

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

Ссылка на основную публикацию