Перейти к основному содержимому

Хэширование, криптографические ключи и майнинг

Роль криптографии в блокчейне

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

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


Хэш-функции и их свойства

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

Для применения в блокчейне хэш-функции должны обладать следующими свойствами:

  • Детерминированность — одинаковые входные данные всегда дают одинаковый результат.
  • Устойчивость к коллизиям — вычислительно практически невозможно найти два разных набора данных с одинаковым хэшем.
  • Односторонность — восстановление исходных данных по хэшу является вычислительно нецелесообразным.
  • Чувствительность к изменениям — минимальное изменение входных данных полностью меняет результат.

Эти свойства делают хэширование эффективным инструментом защиты целостности данных. В блокчейне Bitcoin используется двойное применение криптографической хэш-функции SHA-256 (SHA-256d).

Минимальное изменение данных полностью меняет итоговый хэш.
Хэш для слова «онлайн-учебник» —
3f74125cae635a27408541bb29f20fec27f7889721d9dc9c9d53139eb9eed83e,
а если вместо дефиса использовать пробел «онлайн учебник», то хэш будет иным —
eb62b8041d53badd206cee5cabf0a170be2d75619c97fd4153ef9c1a0b3a502d.


Публичные и приватные ключи

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

  • Приватный ключ — секретное криптографическое значение, известное только владельцу.
  • Публичный ключ — значение, математически связанное с приватным ключом и предназначенное для публичного распространения.

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

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


Цифровые подписи и подтверждение транзакций

При создании транзакции отправитель подписывает данные транзакции с использованием своего приватного ключа. Цифровая подпись добавляется к транзакции и передаётся в сеть.

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


Процесс майнинга

Майнинг — это процесс поиска криптографического решения для добавления нового блока в блокчейнах, использующих механизм консенсуса Proof-of-Work.

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

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

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


Proof-of-Work и Proof-of-Stake

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

Одним из наиболее распространённых механизмов консенсуса является Proof-of-Work (PoW), при котором право на добавление блока определяется в результате выполнения вычислительно сложной задачи. К основным недостаткам PoW относятся высокие затраты на оборудование и значительное энергопотребление.

В качестве альтернативы Proof-of-Work в ряде блокчейнов используется механизм Proof-of-Stake (PoS). В рамках PoS право на формирование и подтверждение блоков получают участники сети (валидаторы), заблокировавшие определённое количество криптоактивов в соответствии с правилами протокола. Вероятность выбора валидатора зависит от размера стейка и параметров конкретной реализации.

По сравнению с Proof-of-Work механизм Proof-of-Stake характеризуется существенно более низким энергопотреблением, поскольку не требует выполнения ресурсоёмких вычислений. Именно поэтому Ethereum перешел с PoW на PoS в 2022 году.

Существуют и другие механизмы консенсуса, которые, как правило, представляют собой модификации или специализированные варианты PoW и PoS (например, delegated Proof-of-Stake). Некоторые механизмы, такие как Proof-of-Capacity, применяются в узкоспециализированных блокчейнах и не получили широкого распространения.

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


Вознаграждение за добавление блоков

За успешное добавление нового блока участник сети получает вознаграждение, которое может включать:

  • эмиссию новых единиц криптоактивов,
  • комиссии за транзакции, включённые в блок.

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


Краткий вывод

Хэширование, криптографические ключи и механизмы консенсуса обеспечивают:

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

Понимание этих механизмов необходимо для анализа безопасности блокчейна и оценки его экономических и технических характеристик.