Фрагмент для ознакомления
2
Введение
Одним из наиболее важных аспектов децентрализованного крипто-валютного проекта является алгоритм консенсуса, ведь именно от него за-висит внедрение новой цифровой валюты. Консенсусный алгоритм предотвращает проблему с двойными расходами, так как крипто-конверсии реализуются в форме общедоступных децентрализованных ре-гистров, ведь блокчейн — децентрализованная система, в которой нет центральной власти, но есть вопросы по поводу принятия решений.
Консенсусные алгоритмы предназначены обеспечивать достовер-ность транзакций через проверку точности проведенных действий, кото-рая распределяется между многими участниками сети. В рамках суще-ствующих блокчейн-проектов выделяют четыре основных алгоритма кон-сенсуса, каждый из которых имеет свои уникальные преимущества.
1. Консенсус блокчейна: определение, виды, обзор алгоритмов
1.1 Теория протокола консенсуса
Будучи децентрализованной одноранговой структурой блокчейн не имеет единого центра управления. Это исключает элемент коррупции, но вносит определенные трудности. Например, как участникам цифровой ар-хитектуры достичь компромиссного решения относительно «учетной кни-ги» финансовых операций в распределенной структуре, если те или иные ноды (узлы) руководствуются в данном вопросе лишь базовыми правила-ми обработки сообщений. Поэтому, жизненно важным условием для функционирования блокчейна в целом является единодушие или боль-шинство одобрений участников виртуальной архитектуры относительно содержимого «учетной книги». Способы реализации компромисса или консенсуса определяют уровень безопасности, а также экономические ха-рактеристики экосистемы. Разберемся подробнее, что такое консенсус в блокчейне и проведем обзор его популярных протоколов.
Сам термин «консенсус», независимо от его привязке к криптова-лютному миру, означает принятие единодушного мнения по конкретному вопросу всей группой заинтересованных людей. Таким образом, выража-ется общее согласие, солидарность внутри группы.
Технология блокчейн объединяет несколько видов сообщений:
Транзакции. Финансовые операции (транзакции) – продукт непо-средственно самих пользователей. В данном случае, алгоритм консенсуса блокчейн им не нужен – ведь для того, чтобы кому-то перекинуть некую сумму койнов (монет), никакого компромисса достигать не надо. Для этой операции достаточно знать приватный ключ.
Блоки. С этой составляющей распределительной конструкции все с точностью наоборот. Сам по себе блок уже есть продукт протокола кон-сенсуса, определяющий очередность финансовых операций в «учетной книге» всех транзакций.
Такой алгоритм действий необходим, чтобы нивелировать повто-ряющиеся операции с одной и той же монетой. Например, Некий гражда-нин хочет переслать 1 Bitcoin (BTC) двум другим участникам экосистемы, в связи с чем, запускает по сети две платежки. В случае, когда у двух по-лучателей не согласована история финансовых операций, они оба полу-чают этот платеж, так как транзакция имеет ЭЦП (электронно-цифровую подпись) и у отправителя до выполнения платежки действительно была эта сумма киберденег. После согласования «учетной книги» финансовых опе-раций, действительным станет только одни платеж.
1.2 Консенсус в блокчейне
Задача распределенного единого мнения не является чем-то осо-бенным для технологии блокчейн и имеет уже заявившие о себе решения для других конструкций – например, хранилище «инфы» NoSQL. Однако блокчейн Bitcoin, других ЭПС отличается условиями функционирования. Ведь в традиционных протоколах византийского консенсуса, разработан-ных в конце 90 годов для решения одноименной проблемы, узлы имеют реальных прототипов, которые отражаются в ЭЦП. К тому же реестр уз-лов известен заранее – если происходят какие-то изменения, то они легко предсказуемы. В блокчейне все с точностью наоборот:
участники экосистемы неизвестны;
пользователи могут в свободном режиме подключаться или отклю-чаться от ЭПС;
никто не может запретить «копать» Биткойн;
нет необходимости в доверительном источнике для установления текущей версии «учетной книги» (корень доверия уже имплементирован в распределительную систему).
Проще говоря, традиционные протоколы византийского консенсуса для распределительной архитектуры Блокчейна и других ЭПС бесполез-ны. Как следствие, было предложено множество специально разработан-ных алгоритмов, с некоторыми из которых познакомимся поближе.
Proof of Work (POW)
По-русски это звучит, как «Доказательство работы». Протокол ре-шает многие вопросы, связанные с задачей византийских генералов. Он функционирует в русле следующего принципа: внедрение новой группы финансовых операций в блокчейн – дорогая процедура, но проверка до-стоверности данных платежек протекает легко и просто, благодаря про-зрачности «учетной книги».
Майнеры совместно одобряют истинность всего блокчейна. В свою очередь платежка остается в «подвешенном» состоянии до тех пор, пока не будут сгенерированы следующие блоки. При ситуации, когда мошен-ник захочет потратить койны обходным манером, экосистема просто от-вергнет его транзакцию. Данный протокол поддерживают следующие по-пулярные цифровые архитектуры: Bitcoin, Ethereum, Litecoin, Monero, ZCash, Dogecoin, а также многие другие.
Первый метод достижения консенсуса в экосистеме электронных денег обладает недостатками: потребляет огромное количество электриче-ства, пользователи, которые финансово могут позволить себе асик-чипы, получают больше шансов «накопать» BTC, а объединившись, вообще, централизовать ЭПС.
Proof of Stake (PoS)
В переводе значит «Доказательство владения доли». Это алгоритм консенсуса блокчейн поддерживают следующие виртуальные конструк-ции: VCash, BitBay, Peercoin, Qtum, Stratis. Протокол требует меньше ре-сурсов, чем POW – дает возможность функционировать с любого вычис-лительного устройства в онлайн режиме, менее централизован, подвержен атакам. Процесс добычи криптоденег полностью виртуален. Вместо поня-тия «майнер» используется термин «валидатор». Функционирует алго-ритм таким образом:
валидаторы «замораживают» некоторое количество кибервалюты в виде ставки;
затем начинается аудит блоков: после обнаружения подходящего (может быть добавлен в цепочку), его подтверждают, поставив ставку;
в случае добавления блока в цепочку, валидаторы получают бонус пропорциональный ставке.
Этот протокол также имеет «слабые места». В первую очередь он элитарный – чтобы стать валидатором (майнером), нужно иметь внуши-тельные заблокированные средства в крипте.
Delegated Proof of Stake (DPoS)
Или «Делегированное доказательство доли владения». Поддержи-вается платформами Steemit, EOS, BitShares. Например, EOS применяет этот протокол для повышения скорости обработки платежек (до 1 млн. операций/секунду). Отличается от предыдущего протокола тем, что поль-зователи не проводят голосование непосредственно за блоки. Однако вы-бирают путем голосования делегатов, которые от своего имени и осуще-ствят проверку. Количество делегатов – от 21 до 100 нод. Должность из-бирательная. Если обнаруживается недобросовестная работа ставленни-ков – постоянное пропускание блоков, обнародование недействительных платежек, делегаты переизбираются. Частично централизуя блокчейн, протокол функционирует на порядок быстрее своих конкурентов.
2. Обзор современных алгоритмов консенсуса в системах блокчейн
2.1. Доказательство работы (PoW)
Одним из основных параметров при разработке приложений на ба-зе блокчейн является выбор алгоритма консенсуса. Однако, основным во-просом в данной сфере является выбор наиболее оптимального алгоритма, который бы смог работать при большинстве ситуаций. Но до сих пор ни одна компания в мире не смогла разработать алгоритм, который бы удо-влетворял этому требованию. В данной работе будут рассмотрены наибо-лее современные алгоритмы консенсуса, будут выявлены их преимущества и недостатки. Для выявления отличительных черт консенсусов были изу-чены технические документации с сайта производителя и данные тестов данных алгоритмов. Данная работа ставит перед собой цель изучить наиболее современные решения на рынке блокчейн в области консенсусов.
На данный момент существует огромный выбор алгоритмов, одна-ко согласно теореме DSC масштабируемость, консенсус и децентрализация образуют треугольник решений при выборе оптимального консенсуса. Соответственно, для каждой ситуации должен быть выбран подходящий консенсус. Данная работа поможет выбрать наиболее оптимальное реше-ния для конкретной ситуации. Одним из самых основных аспектов для ра-боты блокчейн системы является механизм консенсуса. Он определяет как скорость работы приложения, так и безопасность этого приложения. На данный момент существует довольно большое количество алгоритмов консенсуса, однако для построения приложения стоит понимать, что каж-дой ситуации соответствует свой алгоритм (согласно теореме DCS) [1]. Та-кие алгоритмы как Proof-of-Work и Proof-of-Stake являются уже хорошо изученными, со своими ощутимыми положительными и негативными сто-ронами. Мы рассмотрим наиболее современные алгоритмы, выясним их сильные и слабые стороны, что поможет разработчикам в дальнейшем при построении децентрализованных приложений. Proof-of-Capacity Появился как альтернатива Proof-of-Work, одна из основных его идей является за-действование памяти жесткого диска компьтера, что помогает решить про-лему высокого энергопотребления. Два основных этапа алгоритма — пло-тинг и майнинг.
На этапе плотинга происходит создание списка со всеми возможны-ми решениями(нонсами) при помощи повторного хеширования данных. Каждый из таких нонсов состоит из 8192 хэша и соседние хэши образуют скупы или пары. Соответственно, чем больше свободного места на жест-ком диске, тем больше возможных решений на нем хранится и, следова-тельно, выше шансы у майнера получить вознаграждение за блок. На вто-ром этапе происходит майнинг, т. е. добыча криптовалюты. Майнеры пы-таются вычислить значение скупа и затем при помощи данного значения пытаются вычислить значение крайнего срока(дедлайна).
2.2 Доказательство владения доли (PoS)
Proof-of-Stake во всех реализациях для проверки транзакций требу-ет от участников доли части монет, которые они хранят в сети. PoS являет-ся альтернативным механизмом PoW, впервые реализованным в 2012 году в криптовалюте PPCoin (переименована в PeerCoin). Идея Proof-of-Stake заключается в решении проблемы Proof-of-Work, связанной с большими затратами на электроэнергию.
Достоверность произведенных транзакций подтверждают валида-торы. Преимущество PoS заключается в том, что он более энергоэффекти-вен и, возможно, лучше предотвращает атаки, чем PoW.
Валидаторы ставят свои монеты на транзакции путем блокировки монет. Микшер, который используется для завершения блока, выбирается пропорционально значению, поставленному в сети. Proof-of-Stake предот-вращает плохое поведение в сети с помощью перекладывания полномочий по проверке на самых активных и интересующихся пользователей. Алго-ритм консенсуса доказательства владения доли используется в Peercoin, Decred и вскоре будет функционировать на Ethereum, в котором заранее прописывался переход с одного алгоритма на другой.
Делегированное подтверждение доли (DPoS)
Делегированное подтверждение доли Delegated proof-of-stake (DPoS), которое было разработано Дэниелом Ларимером в 2014 году, только внешне похоже на имя Proof-of-stake, ведь детали реализации двух алгоритмов существенно отличаются друг от друга. В DPoS вместо ставки на монеты для проверки транзакций держатели токенов в ходе голосова-ния выбирают валидаторов транзакций, которые будут формировать бло-ки. Вес каждого голоса определяется суммой активов голосующего. Дер-жатели монет, в случае сомнений, могут перевыбирать кандидатов. Благо-даря этому можно достичь высокой устойчивости сети. Если большая часть исполнителей вышла из строя, то сообщество тут же проголосует за их замену.
2.3 Информационно-аналитический обзор алгоритмов консенсуса в блокчейн-системах : FreeTON, Эфириум и других
В данный момент основными рабочими алгоритмами являются PoW, PoS. Конечно существуют и иные алгоритмы – DPoW, LPoS, PoA, PoB, но они не популярны из-за свой сложности, либо проблем с безопас-ностью.
Для тех кто еще не знаком с ними, вот краткое описание 2х самых распространённых:
PoW или Proof-of-Work (выполнения работы доказательство), при хешировании данных для блоков, жертвуют энергией – до тех пор, пока не найдется решение. За сгенерированный блок, майнер вознаграждается. PoW – устойчивый, соревновательный алгоритм. Но расточительный и каждым блоком усложняющийся. Можно описать его проще - чем дольше он работает - тем больше нужно электроэнергии.
PoS или Proof-of-Stake – без издержек, есть лишь валидаторы, вы-бираемые случайным образом сетью. Не нужны дополнительные мощно-сти, а вознаграждаются не майнеры, а держатели токенов. Чем больше у Вас токенов – тем больше зарабатываете.
FreeTON (алгоритм – класса PoS)– мультисистема блокчейн с токе-ном и протоколом от Telegram (напомним, что основатель Telegram Павел Дуров объявил о том, что блокчейн-платформа Telegram Open Network (TON) в конечном счете не будет запущена) Сете была запущена свобод-ным сообществом, и полностью децентрализована при помощи более 400 валидаторов. Уже осуществляется интеграция для BTC, ETH, LTC, MKR, QASH, REP, DASH и др.(так называемые мосты). Используется верифика-ция принципом византийских военноначальников: транзакции согласуют с 2/3 валидаторов. Транзакции на TON (валютой TONCrystal) осуществля-ются согласно схеме: рынок – пользователь – кошелек – транзакция – при-нятие решения. В данный момент популярны следующие транзакции: мгновенный перевод без конвертации; голосование «жюри»; консенсус.
Плюсы: мгновенные переводы, малая энергозатратность, надеж-ность (самопроверяется при создании блока)
Минусы: еще не успел "завоевать" рынок
Ethereum (алгоритм – класса PoW) для пиринговых (Р2Р), оверлей-ных («надстраиваемые над WWW») сетей. Узлы обеспечивают вычисления, транзакции. В Ethereum реализован внутренний протокол и механизм об-служивания оверлеев Kademlia DHT. Установив одноранговые соединения, узлы обмениваются через шифруемые и аутентифицируемые TCP-соединения. У клиента хранится информация в долгосрочной дисковой ба-зе (данные об узле, увиденном клиентом – PID, IP, TCP, UDP, время), либо в краткосрочной таблице сегментов и записей о них (PID, IP, TCP, UDP). Узел, не отвечающий подряд более 4 раз, удаляется из таблицы, которая заполняется по мере обнаружения узлов.
Заключение
Большинство платформ, несмотря на обилие алгоритмов консенсу-са, по-прежнему используют Proof-of-Work, Proof-of-Stake и их модифика-ции. Одним из наиболее оптимальных является алгоритм консенсуса Delegated Proof-of-Stake, плюсы которого заключаются в увеличенной ско-рости подписания блоков и большей энергоэффективности за счет ограни-ченного количества подписантов.
В настоящее время алгоритмы консенсуса должны находить ком-промисс между масштабируемостью и степенью централизации. Остается лишь наблюдать за тем, как механизмы приспособятся к реалиям, а сооб-щества адаптируются к внедрению технологических разработок. Кто смо-жет лучше всех остальных простимулировать широкомасштабное участие и стабильное управление проектов — покажет время.