“Всё пошло по крипте”. Глава 2. “Блокчейн — как это работает и зачем?”

Avi Gur
4 min readDec 5, 2017

--

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

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

Технология распределенных баз данных не является новой, но первое применение конкретно технологии блокчейн (blockchain) — криптовалюта Биткоин. О том, как работает блокчейн биткоина, рассказывает её гениальный создатель — Сатоши Накамото. Рассказывает очень лаконично. Настоящее имя этого человека (или группы лиц) мы не знаем и возможно никогда не узнаем (но обязательно обсудим в следующих главах). Я вижу большой плюс в анонимности создателя биткоина — мы не создаем себе кумира, а пользуемся его подарком человечеству. По сути, запустив не самую сложную для криптографов/математиков/программистов систему, Сатоши открыл кувшин с джином, которому предстоит поменять многие вещи в мире (но это не точно :) ). Ссылка на манифест Сатоши: https://bitcoin.org/bitcoin.pdf (почитайте и возвращайтесь сюда).

И так, Блокчейн, как же он работает. Давайте начнем с кейса, зачем это нам. Пусть у нас будет Иван, который хочет заплатить Ирине (не спрашивайте за что), дать в долг Коле и забрать деньги у Ибрагима. А так как у Ивана плохая память, то ему это надо записать. Иван, как нормальный человек, будет вести свой дневник записей в таком формате:

  1. Заплатил Ирочке 1000 руб
  2. Должен Коле 50 руб
  3. Получил от Ибрагима 200 руб

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

  1. Должен Коле 5000 руб

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

Тут отойдем в сторону, вспомнив простой факт из университетской учебы Ивана, что из любой записи можно сделать хеш (ключ). Способов огромное количество.

Самый простой: предположим, что каждая буква алфавита — это её порядковый номер (А = 1, Б = 2, В = 3 и так далее).Для многих моих друзей это знакомо по понятию «гематрия» ;)

Если взять слово из трёх букв (конечно речь про слово МЕЛ, а вы что подумали?), то получатся цифры 14 6 13. Далее перемножим эти цифры и получим 1092 — это и будет простейший хеш слова «мел».

Алгоритмов хеширования (шифрования) бывает огромное количество, Сатоши Накамото (и заодно наш с вами Иван) выбрал SHA-256 https://ru.wikipedia.org/wiki/SHA-2#SHA-256

В SHA-256 слово «мел», для примера, выглядит так: 8d61deee41fc458a2592c251288fa9e12573f44bc716985e9d83b6c6c79b823

А слово «мол» выглядит совершенно по-другому: 5ef4eaa168334dcf96ec8fd980a7f06775799fbbde61b297a15dd67dfe728d57

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

Выглядит это так:

Запись 1 — это хеш «Заплатил Ирочке 1000 руб»

Запись 2 — это хеш «Заплатил Ирочке 1000 руб Должен Коле 50 руб»

Запись 3 — это хеш «Заплатил Ирочке 1000 руб Должен Коле 50 руб Получил от Ибрагима 200 руб»

То есть нельзя изменить 2-ую запись, не поменяв остальные, теперь они все друг с другом связаны. Воооот. Это уже сложнее будет сделать Кольке.

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

Утром Ваня это случайно замечает и ему опять не нравится, что его могут обмануть. Тогда наш хитрый Ваня решает, что он будет в начале каждой записи в скобочках добавлять число, назвав его нонс (nonce), а подбирать его будет так, чтобы каждый хеш начинался с десяти нулей. Единственный способ это сделать — перебирать огромное количество чисел, пока не получится нужный хеш. Это конечно сильно усложняет процесс конкретной записи, но пересчитать хеши во всем дневнике теперь ооочень сложно, может занять сотни лет даже обладая оочень мощным компьютерем. Всё, Ваня молодец, теперь никто, даже если украдёт его дневник (или если дневник будет в общем доступе, как в случае с Биткоином), не сможет поменять одну запись не нарушив общую логику.

Теперь вернёмся к практическому применению. Представьте, что все мы “немного Ваня”. И что дневник хранится в общем доступе, и каждый пользователь нашей системы — хранит копию этого дневника, который по сути является цепочкой блоков, то есть block chain :) Тот, кто, подбирает нонс (а приходится перебирать миллионы и миллиарды хешей в секунду)— позволяет создаться новому блоку. При правильном подборе он получает награду, которая появляется по заранее заложенной логике (в каждой криптовалюте по-разному) — это и есть майнеры. По сути они делают блокчейн устойчивым ко взлому и поддерживают возможность записи транзакций. Ну а подробнее про биткоин, транзакции, децентрализацию и майнинг мы поговорим потом.

За сим заканчиваю данную главу и еще раз напоминанию: криптовалюты и все что с ними связано — очень опасное предприятие для вашего кошелька, не будьте хомячками, не давайте вас постричь, разбирайтесь как это все работает (если не на техническом уровне, то хотя бы на уровне рынка). Зачем? Чтобы не быть просто пользователями/потребителями, а чтобы понимать действия маркет муверов и их последствия. Это, к сожалению, применимо ко всем сферам нашей жизни. А еще лучше — создавать что-то новое, полезное и быть теми самыми маркет муверами ;)

--

--