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

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

Название описывает структуру. Транзакции упаковываются в «блоки», и каждый новый блок присоединяется к предыдущему, образуя цепь, которая тянется до самого первого блока. Поскольку цепь растёт только с конца, история накапливается, как годовые кольца дерева - можно добавить к ней, но нельзя незаметно вставить что-то в середину.

Что внутри блока

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

  • Транзакции - пакет недавней активности, которая записывается, например «адрес A отправил 0.5 монеты адресу B».
  • Метка времени - примерное время создания блока, фиксирующее его место на временной шкале.
  • Собственный хеш - уникальный отпечаток, вычисленный из всего содержимого блока.
  • Хеш предыдущего блока - копия отпечатка блока, который был до него.

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

Как блоки связываются через хеширование

Чтобы понять, почему блокчейн так сложно подделать, нужно одно понятие: хеш.

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

Хеш каждого блока вычисляется из его содержимого, включая хеш предыдущего блока. Так блоки сцеплены отпечатками: блок 100 содержит хеш блока 99, блок 99 содержит хеш блока 98 и так далее.

Теперь представьте, что злоумышленник пытается переписать старую транзакцию в блоке 50. В момент изменения данных хеш блока 50 меняется. Но блок 51 всё ещё хранит старый хеш блока 50, поэтому связь больше не сходится, и подделка очевидна. Чтобы замести следы, злоумышленнику пришлось бы пересчитать хеш блока 50, затем 51-го, затем 52-го - каждый блок до самого конца цепи - и сделать это быстрее, чем остальная сеть добавляет новые блоки. В здоровой сети это практически невозможно. Вот почему говорят, что блокчейн «неизменяем»: не потому, что редактирование запрещено, а потому, что редактирование абсурдно дорого.

Децентрализация и узлы

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

Вот что на самом деле означает «децентрализованный»: нет ни единой точки контроля, ни единой точки отказа. Если один узел уходит в офлайн или ведёт себя нечестно, остальные продолжают работу. Изменение принимается только если оно соответствует общим правилам, которые обеспечивает программное обеспечение каждого, поэтому ни один отдельный оператор не может переписать балансы или заморозить ваши средства. Это также значит, что сеть трудно выключить - нет центрального рубильника.

Консенсус: proof of work против proof of stake

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

Proof of work

Компьютеры соревнуются в решении сложной математической задачи. Первый, кто её решит, получает право добавить следующий блок и вознаграждение. Решение задачи требует реального электричества и оборудования, что делает обман дорогим: чтобы переписать историю, пришлось бы превзойти по вычислениям всю честную сеть. Bitcoin - самый известный пример.

Proof of stake

Вместо сжигания энергии участники блокируют - «стейкают» - собственные монеты в качестве залога за шанс добавлять блоки. Если они валидируют честно, они получают вознаграждение; если жульничают, могут потерять свой стейк. Безопасность достигается через финансовую заинтересованность, а не сырые вычисления. Ethereum использует эту модель; см. Bitcoin против Ethereum для сравнения двух сетей.

Компромиссы, а не явный победитель
Proof of work тратит значительное количество электричества для защиты сети, что критики считают расточительным. Proof of stake использует гораздо меньше энергии, но поднимает другие вопросы о концентрации влияния у крупных держателей монет. Ни одна модель не идеальна - каждая меняет одну проблему на другую.

В чём блокчейны хороши (и плохи)

Блокчейны хорошо решают конкретную задачу, но это не универсальный инструмент. Полезно трезво смотреть на обе стороны.

Сильные стороны:

  • Защита от подделки - прошлые записи нельзя незаметно изменить без обнаружения.
  • Нет центрального контролёра - ни один орган не может заблокировать или отменить действительную транзакцию.
  • Прозрачность - в публичных сетях любой может изучить и проверить всю историю.
  • Устойчивость - копии распределены по множеству узлов, поэтому нет единой точки отказа.

Ограничения:

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

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

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

Приватные (или permissioned) блокчейны ограничивают круг участников - обычно это известная группа компаний или учреждений. Они меняют часть открытости на скорость и контроль и часто используются внутри бизнеса для совместного учёта. Базовая механика блоков и хеширования та же; отличается лишь то, кого пускают внутрь.

Главное

  • Блокчейн - это общий реестр из блоков, связанных по порядку, в который можно только добавлять записи.
  • Каждый блок содержит транзакции, метку времени, собственный хеш и хеш предыдущего блока.
  • Хеширование сцепляет блоки, поэтому изменение старых данных ломает все последующие блоки.
  • Множество независимых узлов держат полные копии, делая сеть децентрализованной и устойчивой.
  • Консенсус - через proof of work или proof of stake - позволяет сети договариваться без центрального начальника.

Часто задаваемые вопросы

Блокчейн - это то же самое, что Bitcoin?

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

Почему нельзя просто отредактировать блокчейн?

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

Где на самом деле хранится блокчейн?

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

В чём разница между proof of work и proof of stake?

Оба - способы, которыми сеть договаривается о новых блоках без центрального органа. При proof of work компьютеры решают сложные задачи, затрачивая энергию, а при proof of stake участники блокируют монеты в качестве залога. У каждого свои компромиссы в энергопотреблении и безопасности.