Руководство по пониманию алгоритмов консенсуса блокчейна
Опубликовано: 2019-10-21Блокчейн — это децентрализованная распределенная сеть, обеспечивающая более высокую прозрачность, безопасность и неизменность.
Мы все это знаем !!
Но задумывались ли вы когда-нибудь, как она способна всего этого добиться?
Кто управляет этой сетью и проверяет каждую транзакцию, если нет централизованного управления?
Звучит интересно, верно!
Что ж, это алгоритмы консенсуса Blockchain — основная часть мира разработки Blockchain, о которой мы будем говорить в этом всеобъемлющем руководстве.
ОГЛАВЛЕНИЕ:
- Определение алгоритма консенсуса блокчейна
- Цели механизма консенсуса
- Алгоритмы консенсуса блокчейна, популярные на рынке
- Свойства хорошего механизма консенсуса блокчейна
- Последствия использования протокола плохого консенсуса
- Часто задаваемые вопросы
- Вывод
Что такое алгоритм консенсуса блокчейна?
Самый простой ответ на вопрос, что такое алгоритм консенсуса Blockchain, заключается в том, что это процедура, с помощью которой все одноранговые узлы сети Blockchain получают общее согласие или консенсус относительно состояния распределенного реестра в реальном времени.
Механизм консенсуса позволяет сети блокчейна достичь надежности и создать уровень доверия между различными узлами, обеспечивая при этом безопасность в среде. По этой причине это одна из жизненно важных частей каждого руководства по разработке приложений Blockchain и каждого проекта dApp в среде распределенного реестра.
Эти алгоритмы работают с разными целями, некоторые из которых мы рассмотрим в следующем разделе этой статьи.
Цели механизма консенсуса блокчейна
1. Единое соглашение
Одной из основных целей механизмов консенсуса является достижение единого соглашения.
В отличие от централизованных систем, где необходимо доверие к авторитету , пользователи могут работать даже без доверия друг к другу децентрализованным образом. Протоколы, встроенные в распределенную сеть блокчейнов, гарантируют, что данные, участвующие в процессе, верны и точны, а статус публичной книги актуален.
2. Согласуйте экономические стимулы
Когда дело доходит до построения ненадежной системы, которая регулирует сама себя, согласование интересов участников сети является обязательным.
Консенсусный блокчейн- протокол в этой ситуации предлагает вознаграждение за хорошее поведение и наказание злоумышленников. Таким образом, он также обеспечивает регулирование экономических стимулов .
3. Честный и равноправный
Механизмы консенсуса позволяют любому участвовать в сети и использовать одни и те же основы. Таким образом, это оправдывает свойство открытого исходного кода и децентрализации системы блокчейна.
4. Предотвратите двойные расходы
Механизмы консенсуса работают на основе определенных алгоритмов, которые гарантируют, что только те транзакции будут включены в общедоступный прозрачный реестр, которые проверены и действительны. Это решает традиционную проблему двойной траты, то есть проблему двойного расходования цифровой валюты.
5. Отказоустойчивость
Еще одна характеристика метода консенсуса заключается в том, что он обеспечивает отказоустойчивость, согласованность и надежность блокчейна. То есть управляемая система будет работать неограниченное время даже в случае сбоев и угроз.
В настоящее время в экосистеме существует множество алгоритмов консенсуса Blockchain, и многие другие собираются выйти на рынок. Это делает обязательным для каждой компании-разработчика блокчейна и энтузиаста-предпринимателя быть знакомым с факторами, которые определяют хороший протокол консенсуса, и возможными последствиями использования плохого протокола.
Ознакомившись с основами методов консенсуса в блокчейне , давайте углубимся в тему и рассмотрим популярные типы механизмов консенсуса.
Алгоритмы консенсуса блокчейна, популярные на рынке
1. Доказательство работы (PoW)
Разработанный Сатоши Накамото , Proof of Work является старейшим механизмом консенсуса, используемым в домене Blockchain. Он также известен как майнинг, где участвующие узлы называются майнерами.
В этом механизме майнеры должны решать сложные математические головоломки, используя всестороннюю вычислительную мощность. Они используют различные формы методов майнинга, такие как майнинг на GPU, майнинг на CPU, майнинг на ASIC и майнинг на FPGA. А тот, кто быстрее решит проблему, получит в награду блок.
Однако этот процесс не так прост. Головоломку можно решить только методом проб и ошибок. Кроме того, уровень сложности головоломки увеличивается со скоростью, с которой добываются блоки. Таким образом, становится обязательным создание нового блока в течение определенного периода времени, чтобы справиться с уровнем сложности.
Механизм Proof of Work используется несколькими криптовалютами, такими как Bitcoin, Litecoin, ZCash, Primecoin, Monero и Vertcoin, и это лишь некоторые из них.
Алгоритм Биткойн, описанный в этом механизме, использует одноразовый номер в качестве случайного значения для изменения вывода хеш-значения. В алгоритме консенсуса биткойнов каждый блок предназначен для генерации хеш-значения, а одноразовый номер — это параметр, который используется для генерации этого хэш-значения.
С точки зрения реализации Proof of Work (PoW) повлиял не только на финансовую отрасль, но и на здравоохранение, управление, управление и многое другое. Фактически, он предложил возможность многоканальных платежей и транзакций с несколькими подписями по адресу для повышения безопасности.
2. Доказательство доли (PoS)
Proof of Stake — это самая простая и экологически чистая альтернатива консенсусному протоколу PoW.
В этом методе блокчейна производители блоков не являются майнерами, а действуют как валидаторы. Они получают возможность создать блок над всеми, что экономит энергию и сокращает время. Однако, чтобы они стали валидатором, они должны инвестировать некоторую сумму денег или долю.
Кроме того, в отличие от PoW, в этом алгоритме майнерам предоставляется право взимать комиссию за транзакции, поскольку в этой модели консенсуса нет системы вознаграждения.
В целом это побудило такие бренды, как Ethereum, обновить свою модель с PoW на PoS в своем обновлении Ethereum 2.0 . Кроме того, это помогло правильно функционировать различным блокчейн-экосистемам, таким как Dash, Peercoin, Decred, Reddcoin и PivX.
Теперь, когда PoS решил различные проблемы, ранее связанные с PoW, на рынке все еще оставалось много проблем. Чтобы смягчить эти проблемы и создать улучшенную среду блокчейна, появилось несколько вариантов PoS.
Двумя популярными вариантами Proof of Stake (PoS) являются DPoS и LPoS.
- Делегированное доказательство доли (DPoS)
В случае делегированного доказательства доли (DPoS) участники ставят свою монету и голосуют за определенное количество делегатов, так что чем больше они инвестируют, тем больший вес они получают. Например: если пользователь А тратит 10 монет на делегата, а пользователь Б инвестирует 5 монет, голос А получает больший вес, чем голос Б.
Делегаты также получают вознаграждение в виде комиссии за транзакцию или определенного количества монет.
Из-за этого механизма голосования, взвешенного по доле, DPoS является одной из самых быстрых моделей консенсуса блокчейна и очень предпочтительна как цифровая демократия. Некоторые из реальных вариантов использования этого механизма консенсуса блокчейна — Steem, EOS и BitShares.
- Арендованное доказательство доли (LPoS)
LPoS — это расширенная версия механизма консенсуса PoS, который работает на платформе Waves .
В отличие от обычного метода Proof-of-Stake, когда каждый узел с некоторым количеством криптовалюты имеет право добавить следующую цепочку блоков, пользователи могут сдавать свой баланс в аренду полным узлам в этой цепочке блоков алгоритма консенсуса. И тот, кто арендует большую сумму для полного узла, имеет более высокую вероятность генерации следующего блока. Кроме того, арендатор затем получает вознаграждение в виде процента от комиссии за транзакцию, которая была собрана полным узлом.
Этот вариант PoS является эффективным и безопасным вариантом для разработки публичных криптовалют.
3. Подтверждение полномочий
Proof of Authority — это модифицированная версия Proof of Stake, в которой на карту поставлены личности валидаторов в сети. При этом для проверки личности валидатора идентификация представляет собой сходство между личной идентификацией валидаторов и их официальной документацией. Эти валидаторы ставят свою репутацию в сети. В Proof of Authority только узлы (которые становятся валидаторами) могут создавать новые блоки. Валидаторы, чья личность находится под угрозой, заинтересованы в защите и сохранении сети блокчейна. В этом доказательстве количество валидаторов довольно мало, около 25 или меньше.
4. Византийская отказоустойчивость (BFT)
Византийская отказоустойчивость, как следует из названия, используется для устранения византийской ошибки (также называемой проблемой византийских генералов) — ситуации, когда участники системы должны согласовать эффективную стратегию, чтобы избежать катастрофического сбоя системы, но некоторые из они сомнительны.
Узнайте больше о проблеме византийских генералов из этого видео:
Два варианта модели консенсуса BFT, которые являются основными на арене Blockchain, — это PBFT и DBFT.
- Практическая византийская отказоустойчивость (PBFT)
PBFT — это облегченный алгоритм блокчейна, который решает проблемы византийского генерала, позволяя пользователям подтверждать доставленные им сообщения путем выполнения вычислений для оценки решения о достоверности сообщения.
Затем сторона объявляет о своем решении другим узлам, которые в конечном итоге обрабатывают решение по ней. Таким образом, окончательное решение зависит от решений, полученных от других узлов.
Stellar, Ripple и Hyperledger Fabric — вот некоторые примеры использования этого механизма консенсуса блокчейна.
- Делегированная византийская отказоустойчивость (DBFT)
Представленный NEO механизм Delegated Byzantine Fault Tolerance похож на модель консенсуса DPoS. Здесь также держатели токенов NEO получают возможность голосовать за делегатов.
Однако это не зависит от количества валюты, которую они инвестируют. Делегатом может стать любой, кто соответствует основным требованиям, т. е. подтвержденной личности, правильному оборудованию и 1000 GAS . Затем один из этих делегатов случайным образом выбирается в качестве спикера.
Динамик создает новый блок из транзакции, ожидающей проверки. Кроме того, он отправляет предложение проголосовавшим делегатам, которые обязаны контролировать все транзакции и записывать их в сети. Эти делегаты имеют право делиться и анализировать предложения, чтобы проверить точность данных и честность спикера. Если затем 2/3 делегатов подтвердят это, блок будет добавлен в цепочку блоков.
Этот тип консенсусного протокола Blockchain также называется «Ethereum of China» и может быть полезным ресурсом для построения «умной экономики» путем оцифровки активов и предложения смарт-контрактов на блокчейне.
5. Прямой ациклический граф (DAG)
Еще одна базовая, но главная модель консенсуса блокчейна, с которой должна быть знакома каждая компания, предоставляющая услуги по разработке мобильных приложений, работающая с блокчейном, — это DAG.
В этом типе протокола консенсуса Blockchain каждый узел сам готовится стать «майнерами». Теперь, когда майнеры уничтожены, а транзакции проверяются самими пользователями, соответствующая комиссия снижается до нуля. Становится проще проверять транзакции между любыми двумя ближайшими узлами, что делает весь процесс легким, быстрым и безопасным.
Двумя лучшими примерами алгоритмов DAG являются IOTA и Hedera Hashgraph .
Хотя это основные модели консенсуса в среде разработки, многие различные механизмы консенсуса блокчейна медленно и постепенно начинают набирать обороты, например:
6. Подтверждение емкости (PoC)
В механизме Proof of Capacity (PoC) решения для каждой сложной математической головоломки накапливаются в цифровых хранилищах, таких как жесткие диски. Пользователи могут использовать эти жесткие диски для создания блоков таким образом, что те, кто быстрее всего оценивает решения, получают больше шансов на создание блоков.
Процесс, который следует за этим, называется построением графика. Две криптовалюты, которые полагаются на консенсусный протокол блокчейна PoC, — это Burstcoin и SpaceMint.
7. Доказательство сжигания (PoB)
Считающаяся альтернативным решением для PoW и PoS с точки зрения энергопотребления, модель консенсуса Proof of Burn (PoB) работает по принципу, позволяющему майнерам «сжигать» или «разрушать» токены виртуальной криптовалюты, что дополнительно дает им право писать блоков пропорционально монетам. Чем больше монет они сжигают, тем больше шансов получить новый блок за каждую полученную монету.
Но, чтобы сжечь монеты, они должны отправить их на адрес, где их нельзя было потратить на проверку блока.
Это широко используется в случае распределенного консенсуса. И лучшим примером этого механизма консенсуса является монета Slim.
8. Удостоверение личности (PoI)
Концепция PoI (подтверждение личности) такая же, как и авторизованная личность. Это криптографическое подтверждение закрытого ключа пользователя, которое прикрепляется к каждой конкретной транзакции. Каждый идентифицированный пользователь может создавать и управлять блоком данных, который может быть представлен другим пользователям в сети.
Эта модель консенсуса блокчейна обеспечивает подлинность и целостность созданных данных. Таким образом, это хороший выбор для внедрения умных городов.
9. Доказательство активности (PoA)
PoA — это, по сути, гибридный подход, разработанный на основе конвергенции моделей консенсуса блокчейна PoW и PoS.
В случае механизма PoA майнеры стремятся как можно скорее решить криптографическую головоломку, используя специальное оборудование и электроэнергию, как и в PoW. Однако блоки, с которыми они сталкиваются, содержат только информацию о личности победителя блока и транзакции вознаграждения. Здесь механизм переключается на PoS.
Валидаторы (акционеры, назначенные для проверки транзакций) проверяют и обеспечивают правильность блока. Если блок был проверен много раз, валидаторы активируются до полного блока. Это подтверждает, что открытые транзакции являются процессами и окончательно интегрируются в найденные блок-контейнеры.
Кроме того, вознаграждение за блок делится так, что валидаторы получают его долю.
Двумя реальными реализациями этого механизма являются монеты Espers и Decred .
10. Доказательство прошедшего времени (PoET)
PoET был представлен Intel с намерением решить криптографические головоломки, связанные с механизмом PoW, учитывая тот факт, что архитектура ЦП и количество оборудования для майнинга знают, когда и с какой частотой майнер выигрывает блок.
Он основан на идее справедливого распределения и расширения шансов для большей части участников. Итак, каждому участвующему узлу предлагается подождать определенное время, чтобы принять участие в следующем процессе майнинга. Участника с наименьшим временем задержки просят предложить блокировку.
При этом каждая нода также придумывает свое время ожидания, после чего они переходят в спящий режим.
Таким образом, как только узел становится активным и доступен блок, этот узел считается «счастливчиком». Затем этот узел может распространять информацию по сети, сохраняя при этом свойство децентрализации и получая вознаграждение.
11. Доказательство важности (PoI)
Представленный NEM , PoI — это вариант протокола PoS, который учитывает роль акционеров и валидаторов в его работе. Однако на это влияет не только размер и вероятность их долей; различные другие факторы, такие как репутация, общий баланс и т. д. транзакций, совершенных через какой-либо конкретный адрес, также играет в этом роль.
Сети, основанные на модели консенсуса POI, являются дорогостоящими для атак и вознаграждают пользователей за вклад в безопасность сети.
Информация, предоставленная до сих пор, помогла бы вам дифференцировать различные протоколы консенсуса Blockchain.
Однако, чтобы упростить это для вас, вот сравнительная таблица алгоритмов консенсуса блокчейна.
Теперь давайте начнем с определения того, что делает блокчейн-консенсус хорошим.
Свойства хорошего механизма консенсуса блокчейна
1. Безопасность
В хорошем механизме консенсуса все узлы способны генерировать результаты, действительные в соответствии с правилами протокола.
2. включительно
Хороший консенсусный механизм блокчейна гарантирует, что каждый конкретный узел сети участвует в процессе голосования.
3. Участие
Механизм консенсуса, в котором все узлы активно участвуют и вносят свой вклад в обновление баз данных в блокчейне, называется моделью хорошего консенсуса.
4. Эгалитаризм
Еще одна черта хорошего механизма заключается в том, что он придает равную ценность и вес каждому голосу, полученному от узла.
Имея это в виду , давайте выясним, что происходит, когда вы не учитываете эти факторы и внедряете модель плохого консенсуса в свой процесс разработки.
Последствия выбора плохого консенсусного протокола
1. Вилки блокчейна
Выбор плохого метода консенсуса блокчейна увеличивает уязвимость цепочки. Одной из таких уязвимостей, с которой сталкиваются энтузиасты и разработчики блокчейна, является Blockchain Forks.
Вилки блокчейна, говоря простым языком, — это ситуация или обстоятельства, при которых одна цепочка расходится на две или более. Подробное объяснение форка Blockchain и его типов доступно в видео, встроенном ниже.
Когда происходит разветвление блокчейна, приложение начинает работать непредсказуемым образом, создавая впереди два или более расходящихся узла.
2. Низкая производительность
Когда рассматривается плохой консенсусный механизм блокчейна, либо узел выходит из строя, либо страдает от разделения сети. Это задерживает процесс обмена сообщениями между узлами и увеличивает задержку приложения, что в конечном итоге снижает уровень производительности.
3. Отсутствие консенсуса
Еще одним следствием включения плохого механизма консенсуса в вашу бизнес-модель является отказ от консенсуса. В этой ситуации часть узлов не может участвовать ни в одном процессе, и, таким образом, в отсутствие их голосов консенсус не дает точных и желаемых результатов.
Теперь, когда мы рассмотрели основы методов консенсуса в блокчейне, давайте углубимся в тему и рассмотрим популярные типы механизмов консенсуса.
Часто задаваемые вопросы об алгоритмах консенсуса блокчейна
В. Что такое протокол консенсуса в блокчейне?
Протокол консенсуса — это набор правил или процедур, которые определяют, как два или более узла взаимодействуют, обмениваются информацией и выполняют связанные процессы в экосистеме блокчейна .
В. Какую модель консенсуса использует Ethereum?
Ранее Ethereum работал с моделью консенсуса PoW (Proof of Work). Но теперь он перешел на алгоритм консенсуса блокчейна PoS (Proof of Stake) .
Конец мысли
В конце концов, все эти компоненты имеют одинаковую цель — достижение консенсуса в децентрализованной сети. Однако, даже имея общую цель, эти механизмы различаются по своему подходу к достижению консенсуса. Хотя идеального консенсуса еще не существует, интересно и трогательно наблюдать за тем, как механизмы консенсуса развивались и адаптировались в долгосрочной перспективе к изменяющимся требованиям такого протокола, и, несомненно, будет интересно наблюдать за тем, как материализуются новаторские идеи. .
Важно разумно выбрать тот, который необходим бизнес-сети, поскольку сети Blockchain не могут работать должным образом без алгоритмов консенсуса для подтверждения каждой отдельной транзакции, которая совершается.