Любая реализация криптовалюты должна быть способна защитить Blockchain от возможных атак. Например, злоумышленник может потратить деньги, а затем отменить транзакцию, распределив собственную версию блок-цепи, которая не включает транзакцию.
Пока безопасность блочной цепи не зависит от одного центра управления, пользователи не знают, какая версия базы данных является исходной. Чтобы избежать атаки, сеть использует согласованный алгоритм.
Поскольку Blockchain является децентрализованной системой, не имеющей окончательного решения, внедрение механизма, позволяющего членам сети достичь консенсуса, имеет первостепенное значение.
Консенсус Блокчейн - это процесс принятия решений группой, в котором все члены системы готовы прийти к единому решению в интересах всей группы. Сам процесс принятия решений также называется консенсусным алгоритмом. В этом случае ключевыми аспектами являются:
Распределенные сети используют множество алгоритмических моделей, которые позволяют членам сети согласиться. Реализация любой заданной системы дает определенные преимущества для членов сети, например, повышенную скорость сети или низкий уровень отказов. Однако минусы никогда не исключены, поскольку некоторые технологии, поддерживающие какой-либо конкретный позитивный аспект, могут негативно сказаться на другие важные индикаторы.
Мы проанализировали самые популярные модели консенсусного алгоритма, которые в настоящее время используются в децентрализованных системах, пытаясь выяснить, какие из них являются наиболее надежными и эффективными.
В любой блокчейн-сети передаются два основных типа сообщений — транзакции и блоки (которые, в свою очередь, являются списками транзакций). Транзакции формируются участниками системы и их алгоритм консенсуса не касается: для того чтобы инициировать, скажем, отправку биткойнов, никакого соглашения не надо, достаточно знать правильный ключ. Блоки — совсем другое дело. Они являются основным продуктом алгоритма консенсуса и определяют, в каком порядке транзакции будут включены в журнал транзакций.
Зачем нужны эти сложности? Оказывается, без согласования между узлами сети возможна повторная трата средств (double spending).
Можно ли обойтись без блоков, включая транзакции в журнал по отдельности? Теоретически да, но на практике блоки экономят объем трафика и вычислительные ресурсы узлов сети. Кроме того, у них есть и другие преимущества в контексте конкретных алгоритмов консенсуса — оказывается, что со слишком частыми блоками работа блокчейна становится нестабильной.
Сфера применения: Bitcoin, Ethereum, Litecoin, Dogecoin и т. д.
Алгоритм Proof-of-Work является наиболее популярным консенсусным механизмом, используемым для блочной цепи, не в последнюю очередь потому, что он используется на платформах Bitcoin и Ethereum. Суть алгоритма заключается в том, что сетевой узел должен выполнять интенсивные вычисления, чтобы доказать транзакцию и добавить ее в пул, причем результат легко сопоставим с другими результатами сетевых вычислений. Первый, кто завершил необходимые вычисления, получает вознаграждение за выполненную работу, поэтому члены системы конкурируют. Следует также подчеркнуть, что объем выполненных работ всегда является постоянным.
Плюсы PoW:
Устойчивость к атаке Sybil, когда пользователь злонамеренно создает поддельные узлы, чтобы подавить реальных честных пользователей. Однако вероятность поддельного создания равна нулю, поскольку вычислительная производительность лежит в основе Доказательства работы и связана с материальным миром.
Подтверждение не может быть сфальсифицировано или украдено по вышеуказанной причине.
Доказательство невозможно получить заранее, так как появление каждого нового блока требует запуска нового вычислительного раунда (каждый новый блок содержит ссылку на предыдущий).
Честность в распределении вознаграждений. Сумма вознаграждения напрямую зависит от хеш-ставки шахтера (вычислительная производительность). Шахтер всегда награждается пропорционально добытым блокам.
Мотивация для честной игры. Поскольку затраты на добычу материальны и относительно высоки, а несправедливое поведение лишает майнера прибыли, шахтерам дают дополнительный стимул отказаться от своей злонамеренной практики.
Система достаточно проста и понятна, но е нее все еще есть некоторые серьезные недостатки.
Минусы PoW:
Огромные затраты на энергию. Система спроектирована таким образом, чтобы обеспечить постоянно растущую сложность задачи, и, следовательно, для вычисления требуется все больше энергии и вычислительных характеристик.
Уязвимость к атаке 51%. Объекты, которые имеют доступ к более мощным вычислительным системам, могут создать потенциальную угрозу централизации. Даже сейчас 65% добычи Биткоинов разделяются пятью пулами. Это потенциально опасная ситуация: их объединенные силы (если будет) могут привести к атаке 51%, что приведет к появлению злонамеренного большинства, способного игнорировать блоки от всех оставшихся шахтеров. Эксперты уверяют, что более крупные системы защищены от подобных ситуаций, тогда как более мелкие блок-цепи с гораздо меньшим числом членов сети по-прежнему сталкиваются с определенными рисками.
Возможность создания вилок. Обновленный журнал транзакций определяется как цепочка блоков с наибольшей совокупной сложностью рабочих доказательств. Соответственно, участники ищут новый блок над существующими. Однако нельзя исключать возможность создания вилок, поскольку вычисления выполняются параллельно, хотя их предполагаемое создание в современной среде неэкономично.
Вычисление занимает много времени. Это приводит к значительно более медленному процессу транзакций, тем самым создавая системы с таким консенсусным механизмом, которые не подходят для микроплатежей или быстрых денежных переводов.
Сфера применения: VCash, BitBay, Peercoin, Qtum, Stratis.
Если в системе используется алгоритм Proof-of-Stake, более уместно говорить о валидаторах, то есть о членах сети, а не о шахтерах. Чтобы подтвердить транзакцию и добавить ее в пул, валидаторы блокируют часть средств, конвертируя их в ставку, которую они кладут на блок, который может быть добавлен в сеть. Это обязательное залоговое обеспечение фиксируется с целью обеспечения любого возможного ненадлежащего поведения члена сети. Таким образом, участники конкурируют за право на подтверждение и не создание блока.
В целом, чем больше валюты удерживается на счете участника, и чем дольше период ожидания, тем выше вероятность того, что этот член подписал блок и получающие комиссии, взимаемые с транзакционных сборов с блока. Чтобы оставаться справедливым и стабильным, система требует реализации механизмов, которые позволили бы даже меньшим держателям валюты конкурировать за право подписывать блок. Поэтому в блочных цепях распространены различные модификации этого алгоритма с дополнительными терминами.
Плюсы PoS:
Снижение потребления энергии в сравнении с PoW. Процесс проверки полностью виртуализирован и не требует больших вычислений.
Защита от атаки 51%. Злоумышленник вряд ли выиграет от такого подхода.
Более быстрое принятие решений. Поскольку основным игрокам дают дополнительные голоса, для достижения консенсуса требуется меньше времени, что делает транзакции более быстрыми.
Минусы PoS:
Дополнительный стимул для децентрализации. Общий принцип: «чем больше сумма валюты, тем выше потенциальные вознаграждения», дает членам сети дополнительный импульс для сохранения валюты. Хотя сеть будет защищена от атаки на 51%, гипотетически существует вероятность того, что 51% средств будет накоплено в руках одного человека, что приведет к последующему контролю за принятием решений. Такая ситуация маловероятна в более крупных системах, тогда как более мелкие сети могут быть подвержены возможному сценарию, подобному этому.
Угроза вилок. В традиционном шаблоне «Доказательство ставки» наиболее полезным поведением участников является создание вилок для повторных расходов фонда. Именно по этой причине механизм PoS еще больше усложняется обязательными ставками и другими условиями в попытке закрыть «пробелы» в сетевой безопасности, введя экономический фактор для сдерживания недобросовестных игроков.
Сфера применения: EOS, BitShares.
Делегированный алгоритм Proof-of-Stake сильно отличается от PoS. Механизм включает в себя выбор определенного количества валидаторов среди всех членов сети, которые подтверждают транзакции и участвуют в создании блока по расписанию. Выбор валидаторов основан на репутации членов; эти лица пользуются ограниченным доверием и имеют право подтвердить цепочку блоков, не допуская вредоносных пользователей. Тем не менее, валидаторы переизбираются каждый раунд, причем круглая скорость зависит от каждой системы.
Заинтересованным сторонам есть что потерять и, следовательно, контролировать процесс, обеспечивая тем самым честное согласие. Если в системе будут замечены злонамеренное или промедлительное поведение делегатов, это и будет являться основанием для их удаления из списка валидаторов в ходе голосования.
Плюсы DPoS:
Члены сети заинтересованы в честности транзакций. Система репутации оказывается мощным стимулом для поддержания системы в соответствии с правилами честной конкуренции.
Скорость транзакций выше по сравнению с PoS. Делегаты могут сотрудничать и не конкурировать друг с другом, частичная централизация позволяет достичь консенсуса быстрее.
Высокая вычислительная производительность не требуется. Нет необходимости пересчитывать всю цепочку блоков, это только блок, полученный от другого доверенного узла, который подвергается проверке.
Высокая стабильность сети. Даже если некоторые узлы терпят неудачу, сообщество может голосовать за их замену.
Минусы DPoS:
Точная степень надежности этого алгоритма еще не найдена, но пока все попытки взломать ее не увенчались успехом.
Держателям кошельков необходима постоянная мотивация, чтобы их деятельность поддерживалась на должном уровне.
Как упоминалось ранее, PoS в его обычной форме является несколько уязвимой моделью, которая не может гарантировать полную децентрализацию или стабильность системы. В связи с этим существует множество возможных модификаций этого алгоритма, основанных на том же праве собственности на долю, на которую распространяются дополнительные условия.
LPoS (Leased Proof-of-Stake) используется на платформе Waves. Нижняя строка этого метода заключается в том, что баланс передается в аренду другим узлам добычи, а доходы от непрямой добычи заработаны без необходимости вычислений.
PoI («Доказательство важности») уделяет должное внимание не только балансовому счету члена сети, но и активности / важности пользователя, которая измеряется транзакциями, выполненными на счете. Соответственно, этот механизм поощряет пользователей к тому, чтобы они были постоянно активными и демонстрировали его ради более высоких вознаграждений. PoI используется на платформе NEM.
Сфера применения: Burstcoin.
Всякий раз, когда этот метод используется, основное внимание уделяется пространству жесткого диска, а не вычислительной производительности: чем больше пространство на жестком диске, тем выше вероятность того, что шахтер найдет желаемый хеш, чтобы построить новый блок. Этот алгоритм возник в ответ на два вопроса, которые связаны с высоким потреблением энергии (в случае с PoW) и ситуациями, когда шахтерам выгоднее сохранять валюту, а не использовать ее (PoS). Алгоритм состоит из двух этапов - построения графика и добычи. Построение предполагает создание на жестком диске списка всех возможных значений хеша блока, разделенных на пары.
Майнинг подразумевает поиск значения, подходящего для создания нового блока в списке. Тем не менее, шахтеры вознаграждаются при условии, что они отвечают крайнему сроку, который также рассчитывается в ходе добычи.
Плюсы PoC:
Алгоритм не требует специального оборудования для работы, теоретически даже мобильное устройство под управлением ОС Android может стать узлом. Данные о добыче легко удалить, и пользователь может использовать жесткий диск для выполнения других задач.
Минусы PoC:
Метод менее популярен. Однако он может реализовать алгоритм в небольших частных сетях.
Существует риск создания вредоносного ПО, которое использует пространство жесткого диска для целей разработки без каких-либо знаний пользователя. Сама система не сможет противостоять этим схемам, и для устранения этих помех потребуются отдельно реализуемые технологии.
Только благодаря действию валидаторов достигается консенсус. Алгоритм имеет много общего с PoI и PoS. Тем не менее, существует значительный нюанс: пользователи могут квалифицироваться как валидаторы при условии, что они получают специальное разрешение от органов управления США (алгоритм был разработан профессионалами из США). Пользователи могут быть уверены, что валидаторы заслуживают доверия, но централизация сети очень высока.
Плюсы:
Надежность сети как довольно определенного диапазона пользователей несет ответственность за принятие решений и устраняет злонамеренных пользователей.
Отсутствие добычи и, следовательно, снижение затрат на обслуживание сети.
Высокая скорость транзакций из-за того, что консенсус достигается очень быстро.
Минусы:
Высокая степень централизации. Поэтому использование этого метода разумно только в частных сетях.
Алгоритм не получил широкого распространения.
Сфера применения: Slimcoin.
Метод построен вокруг «горящих» монет. Суть заключается в том, что для того, чтобы новый блок был извлечен, пользователям необходимо отправить монеты на определенный адрес («записать» адрес) без возможности последующей пересылки в другое место. Чем больше количество монет, сжигаемых пользователем, тем выше вероятность того, что у пользователя есть бонусы за добычу для сгоревших монет.
Этот механизм часто окупается на этапах, где требуется переход между валютами, т. е. у пользователя есть что-то для записи. Недостатком такого подхода является то, что решение снова принимается пользователями, имеющими более высокие сетевые ставки.
Сфера применения: Ripple, Stellar, Hyperledger, Dispatch.
Византийский отказоустойчивый алгоритм основан на довольно сложной концепции, которая может быть кратко описана следующим образом: статус сети контролируется валидаторами / генералами, которые могут обмениваться сообщениями, тем самым предотвращая вредоносное поведение и выбирая правильную версию транзакции. С математической точки зрения алгоритм требует честности большинства валидаторов; соответственно, даже если некоторые из членов сети являются мошенниками, их решение будет проигнорировано, что сделает их неспособными повлиять на процесс принятия решений.
Подобно PoS, алгоритм имеет некоторые модификации. Например, Ripple и Stellar используют Федеративное Византийское Соглашение (FBA), где каждый валидатор отвечает за свои собственные цепочки сообщений. Более того, в Ripple генералы предварительно выбираются из общего числа пользователей.
Плюсы BFT:
Минусы BFT:
Сфера применения: NEO.
Делегированная византийская ошибка допуска является отдельной модификацией алгоритма BFT в его обычной версии. Он опирается на тот же механизм обмена сообщениями и принцип проверки цепочки сообщений. Однако в этом случае не все члены сети могут квалифицироваться как валидаторы: генералы должны отвечать особым требованиям, а именно: наличию специального оборудования, выделенного соединения и определенного количества ГАЗ. Такая система гарантирует защиту от мошенников и лидеров с компьютерными проблемами.
Плюсы dBFT:
Минусы dBFT:
Сфера применения: Iota, Hashgraph.
Направленный ациклический график - это метод асинхронной обработки транзакций. Он не полагается на структуру блочной цепи. Например, проверка транзакции не требует вычисления всего блока. Каждая новая транзакция подтверждает предыдущие две. Чтобы гарантировать честность транзакций, алгоритм Tangle, используемый Iota, выполняет двойную проверку на специальном централизованном узле (Координатор). Поэтому этот механизм вряд ли можно назвать 100% подходящим для децентрализованной сети.
Плюсы DAG:
Недостатки DAG:
Платформа CREDITS использует свой собственный комбинированный протокол для увеличения скорости обработки транзакций, чтобы обеспечить полную безопасность хранения, обработки и передачи транзакций.
Используются три ранее упомянутых консенсусных алгоритма. Каждый из алгоритмов хорош по-своему: DPoS обеспечивает высокий уровень безопасности, Proof-of-Capacity использует меньше энергии и является лучшим вариантом с точки зрения использования ресурсов, Proof-of-Work - это надежный метод, подходящий для широко распространенной сети.
Плюсы:
Минусы:
Понравилась статья? Пожалуйста, поделитесь:
Вам также будет интересно: