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

Что такое блокчейн

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

кстати, прототипы системы блокчейн с распределением информации о подлинности документов и объединением данных в блоки появились еще в девяностых годах прошлого века, но сама технология блокчейна оформилась к 2009 году, с завершением разработки первой криптовалюты - биткоина.

Принцип работы блокчейна и его задачи, область применения

Основа работы блокчейна - это совершение транзакций, в ходе которых либо выполняются те или иные скрипты, либо прописываются заметки с данными. В случае блокчейна понятие «транзакция» не имеет отношения к денежным переводами и означает способы обработки информации внутри системы

Схема функционирования блокчейна включает четыре этапа:

  • запись блокчейн-транзакции. Записи о транзакциях сохраняются в хронологической последовательности в виде блоков;
  • достижение консенсуса - подтверждение подлинности записанной транзакции участниками сети. Каждый пользователь - майнер - при регистрации в системе получает публичный (для подписи исходящих транзакций) и приватный (для подтверждения входящих транзакций) ключи. Подтверждение операций выполняется по специальному протоколу;
  • связка блоков транзакций криптографическими цепочками - хэшами. Каждому блоку присваиваются уникальные параметры - nonce (одноразовый номер), хэш предыдущего и текущего блоков;
  • предоставление участникам общего доступа к последней копии базы данных (State Database). Воспроизведение и перепроверка State Database возможна для пользователя, если он располагает данными о ее исходном состоянии и реестром всех транзакций или блоков.

Блокчейн обеспечивает выполнение следующих задач:

  • запись блокчейн-транзакции. Записи о транзакциях сохраняются в хронологической последовательности в виде блоков;
  • достижение консенсуса - подтверждение подлинности записанной транзакции участниками сети. Каждый пользователь - майнер - при регистрации в системе получает публичный (для подписи исходящих транзакций) и приватный (для подтверждения входящих транзакций) ключи. Подтверждение операций выполняется по специальному протоколу;
  • связка блоков транзакций криптографическими цепочками - хэшами. Каждому блоку присваиваются уникальные параметры - nonce (одноразовый номер), хэш предыдущего и текущего блоков;
  • предоставление участникам общего доступа к последней копии базы данных (State Database). Воспроизведение и перепроверка State Database возможна для пользователя, если он располагает данными о ее исходном состоянии и реестром всех транзакций или блоков.

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

Разновидность блокчейна

Существует несколько разновидностей блокчейна:

  • работающие в открытых (публичных) сетях, с доступом для любого пользователя. Примерами открытых систем блокчейна являются различные криптовалюты;
  • действующие в частных (чаще всего, в корпоративных) сетях, в которых задействуются конфиденциальные данные. В таких системах блокчейна используется разграничение доступа для групп пользователей и многоуровневое шифрование информации.

Есть и гибридные сети, в которых комбинируются характеристики публичных и частных систем.

Для классификации блокчейна применяется также классификация ЦБ, в которой используются следующие признаки:

  • объем транзакций с учетом информационного содержания и виртуальной ценности;
  • тип доступа к сети - неограниченный (с возможностью осуществления любой деятельности) или ограниченный;
  • требования к прохождению идентификации - сети бывают анонимные, псевдоанонимные и с полной идентификацией;
  • наличие или отсутствие центрального администратора.

В зависимости от того, какой протокол достижения консенсуса задействуется в сети, блокчейн подразделяется на:

  • PoW (Proof-of-work) - с предоставлением участнику права удостоверять блоки при условии, что им будет выполнено довольно сложное задание с определенными требованиями;
  • PoS (Proof-of-stake) - с предоставлением прав удостоверения блоков держателю счета при соответствии сроков владения и количества средств критериям, заданным по определенным формулам расчета;
  • PoS + PoW- гибридный вариант, предусматривающий удостоверение блоков как через расчетные критерии PoS, так и через PoW-перебор. Этот вариант используется для усложнения пересчета всей цепочки начиная с первого блока;
  • PBFT (Practical Byzantine Fault Tolerance), Paxos, RAFT - данные многоэтапные алгоритмы установления консенсуса сети снижают затраты на функционирование блокчейна и повышают его пропускную способность, но при увеличении числа участников они малоэффективны.

В закрытых сетях с полной идентификацией используются алгоритмы консенсуса Non-BFT (Non Byzantine Fault Tolerance).

Архитектура блокчейна

Архитектура блокчейна состоит из нескольких уровней:

  • уровень инфраструктуры - блокчейн представляет собой одноранговую сеть компьютеров/серверов, в которой транзакции упорядоченно выполняются, проверяются и заносятся в общий реестр, находящийся в распределенной базе данных;
  • уровень данных. Этот уровень представлен связанными списками блоков, содержащих упорядоченные транзакции. Под связанными списками понимаются списки блоков с данными и указателями (корневыми хэшами) на предшествующий блок (за исключением первого блока цепочки). При этом указатели включены в бинарное дерево хэшей, или дерево Меркла, которое обеспечивает целостность, неопровержимость и безопасность данных;
  • сетевой уровень (уровень P2P) обеспечивает взаимодействие и взаимосвязь компьютеров в сети. На этом уровне компьютеры распространяют и синхронизируют информацию для поддержки работы блокчейна;
  • уровень консенсуса - критически важный в системе блокчейна. Он необходим для проверки и верификации информации и систематизации блоков;
  • прикладной уровень, включающий различные смарт-контракты (фрагменты кода, которые позволяют перемещать средства или активы при выполнении определенных условий), алгоритмы, скрипты и сценарии использования системы, а также интерфейсы прикладного программирования, фреймворки и пользовательские интерфейсы.

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

Говоря о блокчейне важно упомянуть о “концепции слоев”. Это некая категория блокчейнов, необходимая для понимания как тот или иной проект вписывается в систему. Разделяют следующие слои: L0, L1, L2 и L3.

Слои Описание
L0 Разработки данного слоя помогают блокчейнам передавать активы между ними; а также осуществлять более дешевые и быстрые транзакции за счет протоколов слоя L0. Также данный слой позволяет создавать приложение сразу на несколько блокчейнах.
L1 К блокчейнам слоя L1 относят блокчейны, которые могут проводить транзакции без участия другой сети. Но при этом такие блокчейны могут реализовать только 2 из 3 свойств (децентрализация, безопасность и масштабируемость), что вызывает значительные проблемы. Для решения подобной проблемы есть слой L2. Также важно отметить, из-за растущего числа блокчейнов первого уровня, возникает проблема передачи активов из одного блокчейна в другой, для этой проблемы есть слой L0.
L2 Данный слой по большому счету предназначен для решения проблем слоя L1, связанных с реализацией блокчейном только 2 из 3 свойств (децентрализация, безопасность и масштабируемость). Наиболее распространенной проблемой является проблема масштабирования.
L3 Его обычно называют прикладным слоем, тк на нем размещаются децентрализованные приложения и протоколы для работы основных приложений.

Компоненты блокчейн

К основным компонентам, входящим в инфраструктуру блокчейна, относятся:

  • уровень инфраструктуры - блокчейн представляет собой одноранговую сеть компьютеров/серверов, в которой транзакции упорядоченно выполняются, проверяются и заносятся в общий реестр, находящийся в распределенной базе данных;
  • производители блоков - лица, ответственные за их генерацию. Чаще всего производители блоков работают по консенсусным моделям Proof of Work (майнеры) и Proof of Stake (валидаторы);
  • узлы (ноды) - устройства, входящие в блокчейн-сеть. С их помощью поддерживается работа сети, хранятся и распространяются копии блокчейна и проводятся транзакции. Существуют так называемые полные ноды, которые загружают и проверяют каждый созданный блок, архивные ноды, в которых хранятся предыдущие состояния блокчейна, полноценные ноды, облегчающие доступ к чтению и записи блокчейна;
  • клиенты - программные реализации, определяющие правильность выполнения функций децентрализованной сети. Как правило, дизайн сети рассчитан на поддержку нескольких клиентов, а клиенты создаются через запуск виртуальных машин;
  • инфраструктура поддержки узлов, включающая балансировщики нагрузки, которые распределяют трафик для ускорения отклика узлов, системы защиты от отказа, снижающие риск простоя узлов, службы оповещения и мониторинга. Для проведения массовых действий в этой инфраструктуре используется служба контейнеров, упаковывающая код приложения для запуска с любого устройства;
  • инфраструктура безопасности, состоящая из систем криптографии и управления ключами, сетевых брандмауэров, аппаратных модулей безопасности;
  • конечные пользователи, производящие транзакции в сети блокчейн через полные или полноценные узлы.

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

Заключение

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