Блокчейн
Блокчейн — это неизменяемый (записанная транзакция или файл не может быть изменен) распределенный цифровой реестр (цифровая запись транзакций или данных, хранящихся в нескольких местах компьютерной сети) со многими вариантами использования, выходящими за рамки криптовалют.
Блокчейн в криптовалюте — это неизменяемые распределенный реестр, используемый для записи и хранения цифровых транзакций.
Его особенность — организация хранящиеся в нем данных. Данные в блокчейне хранятся в блоках. Блоки соединяются друг с другом в линейном, хронологическом порядке, создавая цепочку.
Поскольку блоки связаны хронологически, блокчейн можно только добавлять, что означает, что новые данные можно добавить, а уже существующие нельзя изменить или удалить. Как только блок будет добавлен, он станет постоянным. Уникальный способ связывания блоков означает, что изменение одного блока потребует изменения предыдущих блоков. Это делает невозможным компрометацию ранее записанных данных.
Основные компоненты блокчейна
Каждая сеть основана на трех важнейших компонентах:
- Блоки — это кластеры данных, которые действуют как звенья блокчейна и включают в себя одноразовые номера и хэши. Одноразовые номера — это 32-битные целые числа, генерируемые при создании блока, а хэши — это 256-битные числа, связанные с одноразовым номером и используемые для идентификации данных конкретного блока (представьте их как отпечатки пальцев). После создания первого блока (блока генезиса) его одноразовый номер генерирует хеш, после чего блок считается подписанным и навсегда привязанным к одноразовому номеру и хешу. Это делает данные блока криптографически безопасными. Каждый блок также содержит временную отметку. Эта отметка времени сообщает, когда был создан блок, поэтому также помогает поддерживать цепочку в хронологическом порядке;
- Узлы — это, по сути, устройства, способные участвовать в блокчейне. Когда новый узел присоединяется к блокчейну, ему предоставляется собственная копия блокчейна. Действия узла должны быть алгоритмически одобрены сетью. Например, если один узел создает новый блок, этот блок отправляется всем в сети, а другие узлы подтверждают, что блок жизнеспособен и не был подделан. Это общее соглашение известно как “консенсус” и является основой безопасности блокчейна;
- Майнеры (валидаторы) несут ответственность за изменение данных блокчейна, создавая новые блоки посредством консенсуса.
Если блокчейн работает на консенсусе PoW (Proof of Work, подтверждение работы) в работу вступают майнеры. Они соревнуются в решении математической головоломки, требующей найти значение хеш-функции, отвечающее определенным условиям, установленным протоколом. Этот процесс требует больших вычислительных и энергетических ресурсов. Как только майнер успешно решает головоломку, он может предложить новый блок сети узлов, каждый из которых затем проверяет решение и добавляет блок в свою копию блокчейна. За свои усилия майнеры вознаграждаются добытыми монетами и комиссиями за транзакции, включенные в новый блок. На консенсусе PoW работает Bitcoin, Dogecoin, Litecoin, Kaspa, Monero и другие.
Если блокчейн работает на механизме PoS (Proof of Stake, подтверждение ставки) в работу вступают валидаторы. Они выбираются для предложения новых блоков на основе их доли, среди других факторов, что снижает требуемую энергию по сравнению с майнингом PoW. (нужно только застейкать монеты) Они проверяют транзакции и предлагают новые блоки, которые затем проверяются другими валидаторами в сети. Валидаторы вознаграждаются комиссией за транзакцию и, иногда, дополнительными монетами, созданными сетью. Награды обычно распределяются между всеми участниками пропорционально их ставкам.
На консенсусе PoS работает Ethereum, Solana, Toncoin, Cardano, Polygon и другие.
Характерные особенности технологии блокчейн
- Прежде чем понять работу блокчейна, нужно узнать особенности этой технологии:
- Неизменяемость. Блокчейн является постоянным. После того как блок создан, его нельзя изменить;
- Распределение. Все узлы в сети блокчейна распределены и имеют копию текущего реестра для обеспечения прозрачности. В блокчейне все изменения обновляются через минуты или секунды после проверки, ни один узел не является более особенным, чем другой, поскольку существует стандартный протокол для добавления блоков в сеть;
- Децентрализация. Поскольку не существует центрального органа, который бы управлял работой распределенного реестра, сеть децентрализована. Третья сторона не участвует, сеть менее подвержена сбоям и зависит не от человеческих расчетов;
- Консенсус. Чтобы принимать объективные решения, в сети есть консенсус. Консенсус — это алгоритм принятия решений. Следовательно, даже несмотря на то, что одноранговые узлы не доверяют друг другу, существует взаимное доверие к консенсусу, который может принимать решения;
- Единогласие. Участники должны согласиться добавить блок в сеть. Следовательно, если узел хочет добавить блок в сеть, он должен получить большинство голосов. Как только будет принято единогласное решение, блок добавляется, и реестр обновляется на каждом узле сети;
- Быстрота. Поскольку блокчейн использует алгоритмы консенсуса, вычислительную мощность, единогласие и децентрализацию для принятия решений, блокчейны работают быстрее, чем традиционные централизованные системы.
Процесс от создания до завершения блокчейн транзакции можно представить следующим образом:
- Создание транзакции: новая транзакция попадает в блокчейн. Вся информация, которую необходимо передать, дважды шифруется с использованием открытого и закрытого ключей;
- Проверка транзакции. Операция передается в сеть одноранговых компьютеров, распределенных по всему миру, называемых узлами. Все узлы проверяют ее действительность, например, наличие достаточного баланса для выполнения транзакции;
- Формирование нового блока. В типичной сети блокчейна имеется много узлов, и одновременно проверяется множество сделок. Перед добавлением в блок транзакция попадает в мемпул – “комната ожидания” для инициированных, но не обработанных транзакций. Узлы пытаются добавить блок в блокчейн, чтобы сделать его постоянным. Но если каждому узлу будет разрешено добавлять блоки таким образом, это нарушит работу сети. Чтобы решить эту проблему, узлы используют механизм консенсуса, гарантирующий, что каждый добавляемый блок, является единственно верным. Это согласовывается со всеми узлами в блокчейне. Узел, выбранный для добавления блока в блокчейн, получит вознаграждение. Алгоритм консенсуса создает для этого блока хеш-код, который необходим для добавления блока в блокчейн;
- Добавление нового блока в блокчейн. После того как созданный блок получил свое хэш-значение и прошел аутентификацию, он готов к добавлению в блокчейн. В каждом блоке есть хеш-значение предыдущего блока, и именно так блоки криптографически связаны друг с другом, образуя блокчейн. Новый блок добавляется в конец блокчейна;
- Транзакция завершена: как только блок добавляется в блокчейн, транзакция завершается, и ее детали навсегда сохраняются в блокчейне. Любой желающий может получить подробную информацию об операции через специальные программы — обозреватели блокчейн.
Где используется блокчейн
Вначале, единственной целью технологии блокчейн было ведение учета транзакций криптовалют Bitcoin, Ethereum, Liteсoin и других. Однако позже блокчейн начал использоваться и в других областях: