Раньше Ибрагим не пользовался криптовалютой — казалось, слишком уж муторно. Но потом друг объяснил, что к чему, и крипта постепенно вошла в жизнь Ибрагима: он стал с любопытством заглядывать в кошелёк и уже не пугался каждого незнакомого значка. Только всё равно было как-то тревожно. А точно перевод ушёл? А сумма по дороге не изменится? А никто потом не перепишет запись?
Друг успокаивал: «Все операции хранятся в блокчейне. Это надёжно, не переживай». Тьфу ты, ещё и блокчейн какой-то — теперь и с ним разбираться, чтобы не волноваться за свои деньги. Ладно, поехали.
Содержание
Что именно хранится в блокчейне
Кто решает, какая версия журнала правильная
Почему записи в блокчейне трудно подделать
Главное, что нужно запомнить о блокчейне
Что такое блокчейн
Blockchain с английского дословно переводится «цепочка блоков». Это база данных для цифровых записей о разных активах и действиях с ними. Новые записи собираются в блоки, а блоки последовательно связываются друг с другом — отсюда и название.
Блокчейн — прежде всего журнал записей, а не привычное облачное хранилище. Некоторые сети позволяют хранить и содержимое файлов. Но большие документы, фото и видео обычно удобнее держать отдельно, а в блокчейн записывать сведения о них.
Сами активы при этом могут быть цифровыми — например, криптовалюта, а могут быть вполне физическими: квартира, автомобиль, партия товара.
У блокчейна есть две важные особенности:
- Распределённое хранение. Копии журнала хранят несколько компьютеров — их называют узлами. Они проверяют новые записи по общим правилам и синхронизируют данные между собой. При этом закрытой сетью может управлять одна организация.
- Устойчивость истории к изменениям. При обычной работе сети старые записи не редактируют как строки в таблице. Если что-то изменилось, добавляют новую запись, а старая остаётся в истории. Переписать эту историю трудно — дальше разберёмся почему.
Технологию блокчейна используют там, где нескольким участникам нужна общая история событий, но отдавать её под полный контроль одному из них не хочется. Например, с помощью блокчейна можно фиксировать движение товаров или подтверждать, что документ был выдан и с тех пор не менялся.
Но известность технология получила благодаря криптовалютам. В обычном банкинге историю переводов хранит сам банк: он проверяет, есть ли у человека деньги и не пытается ли тот потратить одну сумму дважды. Создатели и пользователи криптовалютных систем хотели обойтись без такого единого распорядителя. Поэтому проверку операций и хранение истории распределили между множеством независимых узлов.
Что именно хранится в блокчейне
Мы вместе с Ибрагимом разбираемся в блокчейне на примере криптовалюты, поэтому посмотрим, какие сведения об этом активе попадают в общий журнал.
По записям в блокчейне можно определить, сколькими монетами Ибрагим может распоряжаться и какие операции с ними происходили.
Допустим, у Ибрагима есть десять криптомонет. Управлять ими — смотреть баланс и совершать переводы — Ибрагим может с помощью криптокошелька. Обычно это приложение или расширение в браузере. Самих монет внутри кошелька нет: он получает информацию о них из блокчейна, а ещё хранит или использует секретный ключ, который подтверждает право Ибрагима распоряжаться активом.
Внешне всё похоже на приложение банка: видишь баланс, нажимаешь кнопку и отправляешь перевод. Только банковское приложение обращается к базе данных банка, а криптокошелёк — к блокчейну.
Расставим точки над i, чтобы окончательно не запутаться в понятиях:
| Термин | Что означает |
|---|---|
| Блокчейн | Общий журнал, в котором хранятся и проверяются записи. |
| Криптовалюта | Цифровой актив, операции с которым записываются в блокчейн. |
| Криптокошелёк | Приложение или устройство для просмотра баланса и переводов. Оно использует секретный ключ, чтобы подписывать разрешение на операции. |
Итак, Ибрагим решил перевести три монеты другу. Кошелёк создаёт запись об этом действии и подписывает её ключом Ибрагима. Затем запись попадает в сеть, где узлы проверяют подпись и то, что операция соответствует правилам системы.
Проверенную транзакцию объединяют с другими в блок. После его добавления в общей истории появляется новая запись: теперь тремя монетами может распоряжаться друг, а у Ибрагима остаётся семь. Ничего никуда физически не перемещается — меняются только записи в блокчейне.
Вот что происходит, когда Ибрагим переводит другу три монеты:

Кто решает, какая версия журнала правильная
Когда Ибрагим отправляет три монеты другу, его заявка приходит не на один главный компьютер, а сразу в сеть узлов. В это же время другие люди тоже совершают переводы. Один узел может получить эти заявки в одном порядке, другой — в другом. Если каждый добавит в блокчейн свой вариант, общей истории не получится.
Как же узлы выбирают один вариант? Каждый узел делает это самостоятельно, но по одинаковой инструкции. В ней указано, какое подтверждение должен получить новый блок и какой вариант выбрать, если блоков несколько. Эта общая инструкция называется механизмом консенсуса.
В разных сетях подтверждение получают по-разному:
- С помощью майнинга. Компьютеры перебирают множество комбинаций, чтобы найти подходящий код. Тот, кто первым его находит, предлагает новый блок. Остальные узлы проверяют код и содержимое блока. Если всё верно, они принимают его.
- С помощью валидаторов. Новый блок предлагают и подтверждают участники, которых называют валидаторами. Блок принимают, когда он получает необходимое по правилам сети подтверждение.
В закрытых блокчейнах круг участников известен заранее — например, это несколько компаний. Они тоже согласовывают новые блоки по общим правилам. - С помощью заранее выбранных участников. Так работают закрытые блокчейны, созданные, например, для нескольких компаний. Блок принимают, когда его подтвердило установленное количество этих компаний.
Получается, что единого «судьи» у блокчейна нет. Каждый узел видит полученные подтверждения, применяет одну и ту же инструкцию и приходит к тому же результату, что и остальные. Майнинг, работа валидаторов и подтверждение известных участников — разные способы достичь консенсуса.
Почему записи в блокчейне трудно подделать
Допустим, Ибрагим решил убрать свой перевод из истории, чтобы потратить те же три монеты ещё раз. Просто удалить запись из старого блока не получится — вот почему.
У каждого блока есть хеш — длинная комбинация символов, которую программа рассчитывает на основе всего содержимого блока. Это не пароль: хеш ничего не открывает и не закрывает. Он работает как цифровой отпечаток. Пока данные остаются прежними, не меняется и хеш. Но если исправить хотя бы один символ, отпечаток станет другим.
При этом каждый новый блок хранит хеш предыдущего. В упрощённом виде цепочка выглядит так:
Если убрать из первого блока перевод трёх монет, его хеш изменится — допустим, с А7 на В9. Но во втором блоке по-прежнему будет указан старый хеш А7. Узлы сравнят значения, увидят несовпадение и поймут, что первый блок изменили.
Чтобы скрыть подмену, злоумышленнику придётся исправить ссылку во втором блоке. Но тогда изменится уже его хеш, а значит, придётся переделывать и третий блок, затем четвёртый — и так до самого конца цепочки. После этого нужно ещё убедить остальные узлы принять изменённую версию по правилам консенсуса. Пока злоумышленник пересобирает старые блоки, честные участники продолжают добавлять новые.
Например, в сетях с майнингом каждый следующий блок усложняет подмену истории. При этом важна не просто численность участников, а распределение вычислительной мощности. Но говорить, что изменить блокчейн абсолютно невозможно, всё же неправильно. Небольшую или плохо защищённую сеть можно атаковать.
Блокчейн не гарантирует полную неуязвимость — он делает изменения заметными, а скрытую подмену старых записей очень сложной и затратной.
До хешей и консенсуса добрались — значит, сложными темами вас не напугать. Если решите так же основательно разобраться ещё в чём-то новом, держите промокод со скидкой на обучение любой профессии в Яндекс Практикуме.
От чего блокчейн не защищает
Мы уже разобрались: если запись попала в блокчейн, незаметно переписать её трудно. Но это ещё не означает, что самой записи можно безоговорочно верить, а её владелец защищён от любой опасности.
Технология блокчейна имеет определённые ограничения:
- Не отличает правду от лжи. Если мошенник убедит Ибрагима, что собирает криптовалюту на благотворительность, блокчейн запишет перевод, но не проверит, кому на самом деле принадлежит кошелёк и куда пойдут деньги.
- Не отменяет действия владельца. Если Ибрагим передаст секретный ключ мошеннику, тот сможет подписывать переводы от его имени. Для блокчейна такие операции будут выглядеть правильными, поэтому автоматически отменить их и вернуть монеты не получится.
- Не гарантирует анонимность. В публичном блокчейне вместо имени Ибрагима указан адрес кошелька. Но если этот адрес однажды свяжут с Ибрагимом, можно будет увидеть и историю его операций.
- Не исключает влияние на консенсус. Если одна группа получит достаточно влияния на согласование блоков, в некоторых сетях она сможет влиять на принимаемые блоки — например, задерживать перевод Ибрагима.
Поэтому фраза «это работает на блокчейне» — не знак качества. Блокчейн может защитить запись от подмены, но не способен превратить сомнительный сервис в надёжный.
Главное, что нужно запомнить о блокчейне
- Блокчейн хранит не сами деньги, документы или товары, а общую историю операций с ними. Копии этой истории находятся у разных участников сети.
- Записи объединяются в блоки, а каждый новый блок содержит цифровой отпечаток предыдущего. Если изменить старые данные, связь между блоками нарушится. Поэтому незаметно подделать записи в блокчейне очень трудно.
- Разные узлы блокчейна проверяют новые блоки по единым правилам и таким образом договариваются, какую версию событий считать общей.
- Блокчейн мешает незаметно переписать сохранённую историю, но не проверяет, правду ли в неё записали, и не защищает от кражи ключей.
