Как работает блокчейн: что такое алгоритм консенсуса
Одним из ключевых элементов для понимания того, как работает блокчейн, являются алгоритмы консенсуса. Зачем они нужны, и о каком «консенсусе» речь – об этом мы поговорим в моей новой статье.
Алгоритм консенсуса — это механизм, используемый в блокчейн-системах для согласования изменений, вносимых в распределенный реестр. Он позволяет гарантировать, что ни один из участников сети не сможет произвольно добавлять, удалять или менять данные, содержащиеся в реестре. Алгоритмы консенсуса реализованы посредством сетевых программ, осуществляющих аудит данных на всех узлах сети, проверяя транзакции и согласовывая изменения быстрее, чем это могли бы сделать живые администраторы. Они используются, чтобы гарантировать сохранность информации и соблюдение правил всеми участниками в децентрализованных компьютерных системах со множеством пользователей и процессов.
Блокчейн, по сути, представляет собой распределенную базу данных со множеством участников. В отличие от обычной базы данных, имеющей единого администратора и централизованное управление, блокчейн чаще всего представляет собой одноранговую децентрализованную сеть, где любой из участников может взаимодействовать с другими и с данными в системе. В таком случае принципиально важен вопрос, как предохранить сеть и хранящиеся в ней данные от несанкционированных действий со стороны кого-либо из участников, и одновременно – как наладить процесс получения согласия всех участников для внесения изменений? Именно эти задачи и решают алгоритмы консенсуса.
Предыстория
Параллельно с развитием компьютерных сетей в 80-90-х годах прошлого века появились общие (коммунальные) базы данных, где доступ к хранящейся информации могли иметь множество пользователей. Как правило, они имели централизованную структуру: хранением информации и предоставлением доступа к ней ведал единый администратор. Впоследствии централизованные базы данных эволюционировали в сети, где доступ к информации в системе могли получить пользователи из самых разных мест. За свою сетевую структуру такие баз данных получили название распределенных реестров.
Особо актуальным в таких системах был вопрос, как защитить данные от несанкционированного доступа и изменений. В первоначальных, централизованных сетях за это по-прежнему отвечали администраторы, выдававшие пользователям права доступа и следившие за сохранностью данных. Но требовался какой-то автоматический алгоритм, который позволил бы делать эту работу быстрее и эффективнее.
Эта потребность привела к разработке распределенного автономного консенсуса, в рамках которого состояние данных в сети заверяется автоматически при помощи специальных программ с использованием методов криптографии. В основе работы блокчейна лежат криптографические алгоритмы, генерирующие длинный буквенно-цифровой код — так называемый хэш. Хэш может измениться, только если изменятся вводные для алгоритма хэширования, а значит, при внесении санкционированных изменений хэш меняется разом по всей системе. Специальные программы сверяют хэши на разных узлах сети, чтобы удостовериться, что они идентичны. Любые изменения в хэше считаются действительными, только если они совпадают между всеми узлами – это и есть консенсус.
Создание алгоритма консенсуса часто приписывают легендарному «отцу» биткоина Сатоши Накамото. Однако изыскания на этом направлении велись еще задолго до того, как Сатоши представил публике свой блокчейн. Разработкой алгоритмов консенсуса занимались, к примеру, такие ученые и программисты, как Адам Бек, Ник Сабо, Синтия Дворк и Мони Наор.
Как работает алгоритм консенсуса?
Разберем на примере того же блокчейна Bitcoin. Для создания нового блока в реестре необходимо решить специальную криптографическую задачу, что требует наличия определенных вычислительных мощностей (этот процесс называется майнингом). После того, как майнер (или группа майнеров) вычислит на своем оборудовании нужное решение, алгоритм консенсуса требует, чтобы каждый узел сети (нода) подтвердил полученные данные, проверив блок и сверив:
- структуру блока
- хэш заголовка
- временную метку
- размер
- первую транзакцию
Такая процедура верификации занимает намного меньше времени, чем сам процесс майнинга, и уж тем более — чем проверка человеком.
Какие бывают алгоритмы консенсуса?
Существуют разные виды алгоритмов консенсуса, каждый из которых основывается на том или ином принципе.
Описанный выше алгоритм, используемый в старейшем и популярнейшем блокчейне Bitcoin, известен как Proof-of-Work (доказательство выполнения работы). Согласно его принципу, чтобы доказать право на добавление новых блоков-транзакций в блокчейн, узел должен проделать определенную вычислительную работу. Недостатки этого метода — высокое энергопотребление и длительное время обработки транзакций.
Proof-of-Stake (доказательство доли владения) — еще один распространенный алгоритм консенсуса, который возник как недорогая и энергосберегающая альтернатива PoW. Согласно ему полномочия по ведению публичного реестра распределяются между участниками пропорционально сумме криптовалюты, зарезервированной на их счету. Однако и у этого механизма есть недостаток — он стимулирует участников накапливать, а не тратить.
Помимо этих двух наиболее часто встречающихся вариантов существуют и другие. Например, проект Solana разработал собственный алгоритм — Proof-of-History (доказательство истории). По своем принципу он похож на еще один алгоритм — Proof-of-Elapsed-Time (доказательство истекшего времени): каждый узел должен находиться в ожидании в течение рандомно установленного периода времени, и право создать новый блок получает тот, кто первым выждет назначенное время.
Алгоритм Proof-of-Capacity (доказательство ресурсов) опирается на возможность участников сети предоставлять собственные ресурсы памяти для поддержания работы распределенного реестра. В рамках данного принципа, чем больший объем памяти предоставил системе участник, тем больше у него прав для создания и валидации блоков. Proof-of-Activity (доказательство деятельности), используемый в блокчейне Decred, — это гибридный метод, комбинирующий аспекты PoW и PoS. Алгоритм Proof-of-Burn (доказательство сожжения) при проведении транзакции требует отправить небольшую сумму в крипте на специальный недоступный кошелек, что фактически ведет к ее ликвидации («сожжению»).
Какой алгоритм лучше?
Лучшим следует считать тот алгоритм консенсуса, который максимально подходит под конкретные задачи системы и потребности ее пользователей. В целом, алгоритм Proof-of-Work считается более сложным и при этом более отказоустойчивым, и такой уровень консенсуса требуется не каждому блокчейн-проекту. Proof-of-Work в свое время был признан оптимальным для биткоина, а вот блокчейн Ethereum не так давно перешел на алгоритм Proof-of-Stake, который его разработчики сочли более подходящим для дальнейшего развития сети.
Кроме того, блокчейны используются не только для создания криптовалютных проектов – свои распределенные реестры для различных целей создают также компании или группы компаний, государственные органы и частные лица. Для обеспечения гомогенности и сохранности данных в них могут использоваться и другие алгоритмы консенсуса, помимо двух наиболее распространенных. Уже сегодня существуют специализированные платформы распределенных реестров, предлагающие модульные решения для корпоративных и частных сетей, а также для госорганов. Одним из наиболее известных примеров служит платформа Hyperledger Fabric, которая предлагает своим клиентам различные алгоритмы консенсуса на выбор.
Подведем итоги
Алгоритмы консенсуса, наряду с криптографией, представляют собой один из ключевых элементов технологии блокчейн, служа механизмом автоматической групповой верификации изменений в реестре. В криптовалютных блокчейнах они используются для автоматического аудита транзакций. Наличие такого механизма обеспечивает сохранность данных и избавляет участников децентрализованной сети от необходимости полагаться на чужую сознательность, поскольку никто не может произвольно внести изменения в реестр, а процедура верификации автоматизирована и исключает человеческий фактор.
По мере цифровизации самых разных сфер жизни и активного перевода финансовых услуг в электронную форму блокчейн-системы, а вместе с ними и алгоритмы консенсуса, будут использоваться всё шире и активнее. Какими бы ни были дальнейшие перспективы криптовалют как таковых, технология блокчейн обладает огромным потенциалом для использования в самых разных корпоративных, государственных, общественных и частных компьютерных системах. А значит, алгоритмы консенсуса еще не раз найдут себе применение в различных областях.
1 комментарий
Добавить комментарий
Добавить комментарий