Механизмы достижения консенсуса в блокчейне

Ответить
Михаил
Сообщения: 327
Зарегистрирован: 08 авг 2018, 22:16

Механизмы достижения консенсуса в блокчейне

Сообщение Михаил » 31 авг 2018, 19:36

Proof-of-Work (PoW) (например BTC, ETH)
Proof-of-Stake (PoS) (например NVC)
Delegated Proof-of-Stake (DPoS) (например EOS)
Leased Proof-of-Stake (LPoS) (например Waves)
Proof-of-Capacity (PoC) (например Urac)
Proof-of-Importance (PoI) (например NEM)
Proof-of-Activity (PoA)
Proof-of-Authority (PoAuthority) (например POA)
Proof-of-Burn (PoB) (например XCP)

Михаил
Сообщения: 327
Зарегистрирован: 08 авг 2018, 22:16

Re: Механизмы достижения консенсуса в блокчейне

Сообщение Михаил » 31 авг 2018, 19:48

Механизмы достижения консенсуса в блокчейне

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

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

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

1. Подтверждение выполнения работы (Proof of Work, PoW)

Подтверждение выполнения работы — это первый распределенный механизм достижения консенсуса, созданный создателем Биткоина, известным под псевдонимом Сатоши Накамото. Его примеру последовали многие криптовалюты, в том числе и Ethereum.

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

PoW работает по следующему принципу: добавить транш новых транзакций в блокчейн — это дорого, а вот проверить, действительны ли транзакции — это очень легко, благодаря прозрачности регистра. Майнеры коллективно подтверждают действительность всего блокчейна, и транзакции не считаются полностью «подтвержденными», пока к ним не добавятся несколько новых блоков. Если злоумышленник попытается использовать монеты незаконным способом, то его транзакции будут проигнорированы остальной частью сети. Единственный способ для злоумышленника совершить такое мошенничество — это обладать огромным количеством вычислительной мощности, позволяющим майнить блок за блоком и раз за разом первым из всей сети получать подтверждение выполнения работы. Такой способ называется «атака 51%», потому что для его реализации необходимости иметь более половины общего сетевого хэша. Реальность такова, что ни один майнер не может иметь такую долю хэша. Другими словами, попытка такого мошенничества 1) чрезвычайно дорогая (поскольку она требует затрат на оборудование и электроэнергию, а также несет в себе альтернативные издержки, вызванные отсутствием работы в действительной версии блокчейна и получением за это вознаграждения) и 2) крайне маловероятна. Следовательно, майнерам лучше (то есть более выгодно) оставаться честными.

2. Подтверждение доли (Proof of Stake)

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

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

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

3. Арендованное подтверждение доли (Leased Proof of Stake, LPoS)

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

Механизм LPoS позволяет участникам делать это, сдавая свои средства в аренду крупным узлам. Арендованные средства остаются под полным контролем их владельца и могут быть переведены или потрачены в любое время (после чего аренда заканчивается). Арендованные монеты увеличивают «вес» узла сети, повышая его шансы на добавление блока транзакций в блокчейн. Любыми полученными вознаграждениями узлы делятся с арендодателями. Такой подход применяет Waves.

4. Делегированное подтверждение доли (Delegated Proof of Stake, DPoS)

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

5. Подтверждение важности (Proof of Importance, PoI)

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

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

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

___
Источник: https://habr.com/company/waves/blog/402257/ автор https://habr.com/users/Cassius-WavesPlatform/


6. Proof-of-activity (PoA)
Работа алгоритмов PoW и PoS проверена временем и удовлетворяет своей работоспособностью многих разработчиков криптовалют. Но как уже было рассмотрено в предыдущих статьях, они оба имеют ряд своих недостатков. Первый слишком ресурсозатратный, второй делает «богатых еще богаче». Именно это сподвигает блокчейн-разработчиков искать совершенствования путей функционирования сети. Так был изобретен гибридный алгоритм работы Blockchain Proof-of-activity, включающий симбиоз работы протоколов proof-of-work и proof-of-stake.

Что такое PoA и как он работает
poa-miningProof-of-activity (с англ. «доказательство полномочий») – алгоритм функционирования блокчейн, совмещающий в себе принципы работы популярных PoW и PoS протоколов. PoA криптовалюты формируют блокчейн таким образом, что блоки формируют как PoW так и PoS майнеры. Первые осуществляют майнинг для первоначального распределения монет в системе, то есть создают новые монеты. Вторые же не могут добывать новые токены, но играют важную роль в подтверждении транзакций, но не могут их подтвердить, пока первые не проделают определенную работу. В то же время в алгоритме proof-of-activity одни майнеры не могут перехватывать контроль над другими, так как PoA майнинг переплетен деятельностью обоих сторон.

Предлагаем рассмотреть особенности работы PoA:

Для начала PoW майнер должен решить задачу, чтобы найти блок (хеш);
Далее данный хеш отправляется в сеть, но блок при этом еще не формируется. Создается так называемая «заготовка»;
Заготовку должны подписать определенное количество холдеров (PoS майнеров), после чего формируется полноценный блок и вписывается в блокчейн;
Награда за сформированный блок распределяется между майнерами и холдерами

___
Источник: https://profit-life.net/proof-of-activity-poa/

Михаил
Сообщения: 327
Зарегистрирован: 08 авг 2018, 22:16

Re: Механизмы достижения консенсуса в блокчейне

Сообщение Михаил » 31 авг 2018, 20:07

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

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


Proof-of-Stake (PoS)
Один из самых популярных алгоритмов консенсуса в блокчейн сетях. В этом алгоритме создателем следующего блока в цепочке блоков выбирается узел, который обладает бОльшим балансом — количеством ресурсов, например монет в криптовалюте. За само создание блока, узел вознаграждение не получает. Вознаграждение выплачивается за проведение транзакции.
Возможные варианты выбора узла:
- случайным образом из наиболее "богатых" узлов;
- случайным образом из наиболее старых узлов.

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

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


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

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


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


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


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


Proof-of-Activity (PoA)
Описание алгоритма опубликовано в 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 стейкхолдерами "счастливчиками".


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

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

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


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

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


Большинство платформ использует такие алгоритмы консенсуса как Proof-of-Work и Proof-of-Stake, а также и их модификации. На рынке присутствуют достаточно специфические примеры консенсусов, такие как: Proof-of-Authority, Proof-of-Capacity или Proof-of-Burn. Интересным, с точки зрения экономики платформы является Proof-of-Importance, так как он вовлекает владельцев крипто монет, не только заниматься их сбором и хранением, но и активно их использовать. Одним из наиболее оптимальных, является алгоритм Delegated Proof-of-Stake. В плюсы этого алгоритма можно записать: увеличенную скорость подписания блоков и большая энергоэффективность, за счет ограниченного количества подписантов.

___
Источник: https://digiforest.io/blog/blockchain-c ... algorithms

Ответить