Что такое блокчейн: руководство для чайников в 2021 году

Знакомьтесь, это Вася и он — душнила. Главная цель жизни Васи — спорить с друзьям.

Что такое блокчейн: руководство для чайников в 2021 году

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

Но память Васи несовершенна, поэтому Вася нашел технологию блокчейн, которая позволяет вести большой коллективный дневник с записями. Запись может добавить кто угодно, прочитать — тоже.

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

Недавно Вася прокололся

Во время корпоратива Вася сделал две записи: «Потратил 12 000 рублей в баре” и “целовался с барменшей».

Запись попала в дневничок, и наутро Вася вспомнил, что его жена Рита тоже пользуется книжечкой и решил заменить последнюю фразу на «скучал по жене».

Но у него ничего не вышло и вот почему.

Одна запись за другой: как работает блокчейн

«Blockchain” переводится как “цепочка из блоков». Продолжая аналогию с дневником, блок — это некоторое количество дневниковых записей, собранных, запакованных вместе в блок и верифицированных.

Хранятся блоки в последовательной цепочке, одна за другой, в порядке добавления.

Что такое блокчейн: руководство для чайников в 2021 году

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

Как устроен блок в блокчейне?

Упрощенно блок состоит из двух частей: заголовка и списка транзакций.

Что такое блокчейн: руководство для чайников в 2021 году

Список транзакций — это наши дневниковые записи. В заголовке хранится служебная информация: время создания, хеш этого блока и хеш предыдущего.

Тут надо сделать краткое отступление и понять, что такое хеш.

Что такое хеш? (на примере ветреной барменши)

Хеш (хеш-сумма, хеш-код) — это ничего не значащая последовательность чисел и букв, проще говоря, кракозябра. Например:

0035E21F5DE392FDFE1DA8A82D08104332FF3903D67756420F11A98E5689A3BB

Это — хеш, который создала хеш-функция из сообщения «позвони мне! мой номер +79807529891» на визитке

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

В случае с блокчейном, функция принимает строчку любой длины (даже огромную) и каждый раз выдает кракозябру длиной в 64 символа.

У хешей есть три приятных особенности:

  1. Глядя на хеш, мы никогда не узнаем первоначальное сообщение
    То есть, вытащить номер барменши из хеша практически невозможно
  2. Одинаковые данные всегда дают одинаковый результат
    Раз за разом скармливая хеш-функции одну и ту же записку, мы всегда будем получать одинаковый результат. Это называется детерминированностью
  3. Стоит изменить хотя бы один символ и результат станет совершенно иными
    Новый хеш совершенно не будет напоминать предыдущий. Изменится не один символ, а почти все и сразу. Это называют эффектом лавины

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

Например, к Васе подходит коллега Коля и говорит «оо, барменша только что дала мне номер телефона, прикинь».

Что такое блокчейн: руководство для чайников в 2021 году

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

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

Использование хешей помогает сделать дневник неизменяемым

В дневнике душнил блоки связаны друг с другом через хеш-суммы.

Заголовок каждого нового блока содержит хеш-сумму предыдущего, стоит изменить хотя бы один символ — и все полетит к чертям.

Что такое блокчейн: руководство для чайников в 2021 году

Давайте посмотрим, что будет, если Вася попытается влететь в блокчейн и изменить хотя бы один символ в записи «целовался с барменом».

Как добавляется новый блок: почему бедный Вася не может просто изменить компрометирующую запись?

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

Вот блок №233, в котором хранится запись, которую Вася хотел бы поменять.

Что такое блокчейн: руководство для чайников в 2021 году

Когда блок № 233 сформировался и добавился в блокчейн, произошло три вещи:

  • Все дневниковые записи и в этом блоке превратились в одну хеш-сумму и записались в заголовке блока
  • У блока просчитался еще один хеш, куда вошел хеш предыдущего блока № 232
  • Следом добавился еще один блок, куда вошел хеш уже злополучного блока
Все, строчка уже попала в хеш
Все, строчка уже попала в хеш

Стоит Васе изменить хотя бы один символ в своей записи «целовал барменшу», хеш его блока №223 неузнаваемо изменится.

И система верификации отбросит измененный блок как ложный.

А не пошел бы ты, Вася
А не пошел бы ты, Вася

Что это за система верификации? Кто проверяет блоки и кто отвечает за то, чтобы они все соответствовали друг другу?

Тут пора рассказать о том, кто такие майнеры.

Майнеры: люди, которые добавляют новые блоки

Блоки не попадают в систему просто так, кто-то должен

  • считать хеш-коды
  • добавлять новые блоки
  • проверять, никто ли не жульничает

Именно этим и занимаются майнеры — они добавляют новые блоки.

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

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

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

Игра «добавь блок»: что за задачку решают майнеры

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

Что такое блокчейн: руководство для чайников в 2021 году

В игре «добавь блок» есть еще два важных числа.

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

К хешу блока добавляется случайный нонс, снова считается хеш.

Что такое блокчейн: руководство для чайников в 2021 году

И новый хеш сравнивается в таргетом.

Если он меньше таргета — то блок будет добавлен в цепочку.

Что такое блокчейн: руководство для чайников в 2021 году

Если нет — то майнер берет другой нонс, снова считает… и так пока не угадает подходящий.

Что такое блокчейн: руководство для чайников в 2021 году

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

Запускают алгоритмы на серверах, компьютерах и плейстейшенах (но только во влажных мечтах, пока взломать плойку под майнинг никому не удалось). Кстати за вечно-отсутствующие в магазинах PS5 тоже можно поблагодарить майнеров — они скупают все железо и на заводах буквально не хватает ресурсов быстро производить новые приставки.

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

Но вернемся к Васе и его душным друзьям. Каждому уважающему себя душниле важно, где хранится информация о блоках. Вдруг я помещу наш дневник на сервера Amazone, а они захотят удалить наши записи? Или, не дай Бог, что-то изменить?

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

Что такое децентрализация?

Обычно информация в интернете хранится на каком-либо сервере. Например, когда вы пишете документ в Google Docs, он хранится на серверах Google. Когда получаете письмо на Яндекс.Почту, оно сохраняется и открывается на серверах Яндекса.

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

<p>Запись изменена, Рита счастлива</p>

Запись изменена, Рита счастлива

Это полностью не устраивает душил — они не готовы доверять свой дневник ни гуглу, ни амазону, вообще никакому хостингу. Ведь они не знают, кто контролирует систему.

Что такое блокчейн: руководство для чайников в 2021 году

Поэтому друзья Васи решили доверить хранение блоков группе майнеров.

Допустим, майнеры хранят информацию на своих телефонах.

На каждом телефоне, который майнит блоки, хранятся данные о всех блоках.

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

<p>Друзья Васи в экстазе (почти)</p>

Друзья Васи в экстазе (почти)

Бесценный подарок, который дарит блокчейн миру обычных людей

Блокчейн долго был технологией, интересной лишь гикам. Когда анонимный создатель биткоина Сатоси Накамото в 2008 году придумал сделать на ее основе первую криптовалюту, ситуация резко изменилась.

Блокчейн в основе биткоина делает его первой децентрализованной валютой.

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

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

Блокчейн защищен от взлома методами криптографии — проще говоря, наукой. Им никто не владеет, но в то же время, он полностью открыт и прозрачен. Неудивительно, что друзья Васи, страдающие душнотой, как побочным эффектом своего интеллекта, настолько в восторге от системы.

Блокчейн дарит криптовалюте еще одно свойство — анонимность.

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

В случае биткоина вместо дневниковых записей в блоке просто ведется запись списка транзакций: кошелек с номером А перевел кошельку B столько-то биткоинов. Кто стоит за этими кошельками не знает никто.

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

Мы подготовили целый цикл статей про финансовую грамотность простыми словами

Наша команда создает первый удобный и легальный криптовалютный банк: с нормальным интерфейсом, лицензией Центробанка, прозрачной разработкой и командой.

Мы готовимся к запуску и до старта будем публиковать статьи про криптовалюту и финансовую грамотность простыми словами.

Сергей Горшунов, CEO Bitbanker

Дальше мы расскажем

  • как устроен биткоин
  • разборы финансовых пирамид и как на них не попасться
  • как устроены скам-проекты в криптовалюте
  • что такое compound interest и почему мы думаем набить это себе на груди

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

7272
27 комментариев

Спасибо огромное! Вот так и надо объяснять всё. 

По статье, однако, вопросы:
1) В случае децентрализованного хранения - чем больше инфы, тем больше ресурсов для её хранения. Если это Террабайты инфы, то врядли она передается так, как вы описали - "после каждого обновления весь объем инфы пересылается всем майнерам и обновляется у них"

2) Почему для майнинга требуются в основном видеокарты, если рассчеты примерно математические?

3) В случае решения задач майнерами - непонятно кто и как ставит эти задачи. То есть задачи-то ставит какая-то программа (алгоритм, утилита), так? Она где хранится? Централизована? Также передается вместе с блокчейнами или что?

3
Ответить

1. Там не террабайты. За всю историю BTC его блокчейн весит всего ~365гб. К тому же размер блока ограничен 1мб. В более "толстых" блокчейнах применяются некоторые методы оптимизации. Но обычно размер блока ограничен, а главной проблемой является место на диске. В эфире это решается "подрезанием" старых блоков, так-как они нужны не всегда.
2. GPU более эффективны в математических рассчётах, чем CPU.
3. Задача определена алгоритмом, у каждого участника сети есть нода, где в коде прописано повышение сложности и критерии, по которым блок считается смайненым. В случае битка это поиск "красивых" хешей, где вначале хэша должно быть определённое кол-во нулей. Майнер, добавляя новые транзакции в блок и меняя определённое число в блоке, постоянно хэширует этот блок. И когда хэш блока получается "красивым", он сообщает сети, что смайнил блок. Блок включается в цепь, а майнер получает награду.

Поиграться в блокчейном в браузере можно в этой демке: https://andersbrownworth.com/blockchain/

12
Ответить

Выглядит так, будто вы просто отрерайтили статью Вастрика: https://vas3k.ru/blog/blockchain/

Логика повествования, стиль иллюстраций, примеры — все то же самое. Ц-ц-ц.

3
Ответить

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

https://tjournal.ru/news/41306-samoe-ponyatnoe-obyasnenie-principa-raboty-blokcheyna

3
Ответить

спасибо за пример, статья, которую вы скинули, — класс. спокойная, интересная, с цепляющими иллюстрациями.

а вот исходную на vc.ru я, честно говоря, не очень поняла. как будто хотели упростить, но за счёт разговоров, кто с кем когда целовался, усложнили. + стиль повествования отталкивает

1
Ответить

Огонь! Вот такие примеры с душнилами и надо преподавать в школах и универах)

2
Ответить

Блин, я Вася и я душнила🤣🤣🤣

2
Ответить