{"id":734,"title":"\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u043b\u0438 \u0440\u043e\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0441\u043c\u043e\u0441\u0435","url":"\/redirect?component=advertising&id=734&url=https:\/\/vc.ru\/promo\/259126-open-talk&hash=fec332d96351537fb9302c3be12200b6afa110f6576560c55c0b83e05d1505b7","isPaidAndBannersEnabled":false}

Самое понятное объяснение принципа работы блокчейна Статьи редакции

Действующие лица: Коля, Вася, таджики и Люда (в эпизодах).

Фото stivoberlin, Flickr

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

Однако объяснить то, как работает блокчейн (и сам биткоин), до сих пор непросто. На «Лепрозории» попытались в очередной раз показать на пальцах принцип работы блокчейна, и, кажется, у пользователя sleep получилось сделать это максимально наглядно — в виде истории о Коле, ведущем дневник, и Васе, который этот дневник пытается подделать.

Блокчейн — это дневник, который почти невозможно подделать

Коля решил вести дневник. Для этого он завёл тетрадку и начал писать там строчки вроде таких:

1. Купил хлеба2. Позвонил Геннадию…132. Дал Васе в долг 100 рублей133. Трахал Люду134. Покакал

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

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

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

Придумал он следующее. У себя в операционной системе «Линупс» он нашёл программу md5sum, которая брала любой текст и превращала его в хеш — 32 непонятные цифры. Как именно она это делала, Коля не понимал, но в целом казалось, что она выдавала полную белиберду. Например, если в программу ввести слово «привет», она в ответ выдаёт «8b4609d7e974702ff1451220c7ededcf». А если ввести, казалось бы, почти то же самое, но с лишним пробелом, то уже «69ab827825fdb876e709abd3d783dbb6».

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

0000 (начальный хеш, ограничимся для простоты четырьмя знаками)1. Купил хлеба4178 (хеш от 0000 и «Купил хлеба»)2. Позвонил Геннадию4234 (хеш от 4178 и «Позвонил Геннадию»)…4492132. Дал Васе в долг 100 рублей1010133. Трахал Люду 8204 (хеш от 1010 и «Трахал Люду»)

Если теперь какой-нибудь Вася захочет изменить строчку 132, изменится и хеш этой строчки (он будет не 1010, а чем-то другим). Это, в свою очередь, повлияет на хеш строчки «133. Трахал Люду» (он будет не 8204, а чем-то другим), и так далее до конца дневника. Теперь ради одной записи Васе придётся подменить весь дневник после неё, что сложно.

Прошло время, Коля открыл банк. Он всё так же писал в дневничок записи «дал в долг» и «взял в кредит», снабжая их хешами. Банк разросся, и однажды он дал в долг (уже новому) Васе миллион. Следующей ночью десять нанятых Васей за полмиллиона таджиков пробрались в комнату Коле, заменили запись «143313. Дал в долг Новому Васе 1000000» на «143313. Дал в долг Новому Васе 10» и по-быстрому пересчитали все хеши вплоть до конца дневника.

Чудом Коля обнаружил подмену и, раз такое дело, решил усложнить способ подделки дневника: «Теперь, — решил Коля, — я буду в конце каждой записи в скобочках добавлять какое–нибудь число („нонс“), а подбирать его буду так, чтобы каждый хеш заканчивался на два нуля». Единственный способ это сделать — тупо перебирать числа, пока не получится нужный хеш:

0000 (начальный хеш, ограничимся для простоты четырьмя знаками)1. Купил хлеба (22)4100 (хеш от 0000 и «Купил хлеба (22)», 22 было подобрано, чтобы хеш кончался на 00)2. Позвонил Геннадию (14)3100 (хеш от 4100 и «Позвонил Геннадию (14)»)…1300132. Дал Васе в долг 100 рублей (67)9900133. Трахал Люду (81)8200 (хеш от 9900 и «Трахал Люду (81)»)

Для создания каждой записи Коле теперь в среднем нужно будет перебрать порядка 50 чисел, что трудозатратно. Соответственно, если запись кто-то подменит, подделка её и всех последующих будет тоже в 50 раз сложнее, а это значит, что теперь Васе даже с таджиками не справиться.

Через какое–то время Коля взял себе партнёра и они стали оба вести дневничок. Для каждой новой записи оба одновременно начинали подбирать нонс и тот, кому первому удавалось найти подходящий, вносил запись. Так как вдвоём подбирать нонсы быстрее, Коля усложнил задачу и требовал, чтобы все хеши кончались уже на три нуля, а не на два.

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

Блокчейн — это не более чем дневничок записей, который можно записывать совместно, и в котором де-факто невозможно подделать старые записи.

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

Поверх дневничка с некоторым количеством криптографии можно строить другие интересные системы. Например, можно делать записи в духе «Кто решит уравнение f(x) = 14, тот получает 10 монеток». Соответственно, первая запись в дневничке, где будет предоставлено решение, может автоматически считаться получателем монеток. Вокруг этой и схожих идей строятся так называемые «контракты».

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

За наводку спасибо mortalezz.

{ "author_name": "Никита Лихачёв", "author_type": "self", "tags": ["\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b","\u0437\u043e\u043b\u043e\u0442\u043e\u0439\u0444\u043e\u043d\u0434","\u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d"], "comments": 57, "likes": 256, "favorites": 108, "is_advertisement": false, "subsite_label": "news", "id": 41306, "is_wide": false, "is_ugc": true, "date": "Wed, 22 Feb 2017 12:17:00 +0300", "is_special": false }
0
57 комментариев
Популярные
По порядку
Написать комментарий...

Полицейский супер_стар

41

я ваще подумал, Коля сразу заподозрит, что два перепихона подряд - это какое то палево, но у чувака явно нет проблем с самооценкой

неудивительно, что друзья кидают его на бабки

Ответить

Оборонный турник

Алексей
5

два перепихона подряд - это какое то палев

ты там держись чтоль

Ответить

Полицейский супер_стар

Оборонный
1

смешно, но я же про разных баб))

Ответить

Оборонный турник

Алексей
0

Я тоже

Ответить

Полицейский

Оборонн…
18

ух альфач в треде

Ответить

Оборонный турник

Алексей
1

Сейчас я почтенный отец семейства.

А раньше чего только не бывало

Ответить

Полицейский

Оборонн…
6

ДАДА МЫ ЗНАЕМ

Ответить

Оборонный

Алексей
0

Нуачетытогдаалеее

Ответить

Полицейски

Оборонн…
2

хочу знать все подробности твоей жизни

не думал продать СТО и купить ТЖ?

Ответить

Оборонный

Алексей
0

Нет.

Ответить

Полицейски

Оборонн…
0

и правильно, он и так в принципе твой почти

Ответить

Оборонный

Алексей
0

Нет

Ответить

Полицейски

Оборонн…
0

ты не заставишь меня написать "пидора ответ", даже не старайся

Ответить

Оборонный

Алексей
0

Да чет даже не думал об этом

Ответить

Заключенный

Оборонн…
0

А раньше чего только не бывало

Ну без фотопруфов не считается

Ответить

Оборонный

N/a
0

Довсеобщесмарфонная эпоха

Ответить

Парламентский супер_стар

9

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

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

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

Ответить

Поэтический кубок

BitPost
0

Комментарий удален по просьбе пользователя

Ответить

Парламентский супер_стар

Kat
6

А по-вашему среднестатистический клиент перед тем как открыть счет в банке изучает финансовые показатели банков? Или их лендинги по каким-то другим принципам работают? Конечно нет)

Ответить

Поэтический

BitPost
5

Комментарий удален по просьбе пользователя

Ответить

Полицейский

Kat
0

не знал, что ты с Украины
(не то чтобы это что то меняло, просто интересно)

Ответить

Поэтический

Алексей
0

Комментарий удален по просьбе пользователя

Ответить

Полицейский

Kat
2

упустил наверное

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

(хотя скорее именно поэтому они наверное и становятся их клиентами)

Ответить

Поэтически

Алексей
2

Комментарий удален по просьбе пользователя

Ответить

Полицейски

Kat
0

вот щас стыдно было

Ответить

Бесплатный якорь

Kat
0

На аватарке у тебя оселедець не видно прост, поэтому люди предполагают defaultCountry.

Ответить

Полицейски

Alex
0

сегодня я выучил новое слово!

Ответить

Парламентский

Kat
0

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

Ответить

Бесплатный якорь

BitPost
2

скачает первый попавшийся клиент-кошелек или зарегается на бирже, что одно и то же

Это - не одно и то же, и это вещь которую стоит объяснять среднему юзеру.

Кошелёк установленный на твоём железе (телефон, лаптоп и тд) - это твой кэш которым ты владеешь полностью и безраздельно.

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

Ответить

Парламентский

Alex
2

Кошелёк установленный на твоём железе (телефон, лаптоп и тд) - это твой кэш которым ты владеешь полностью и безраздельно.

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

Ответить

Актерский химик

BitPost
–2

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

Ответить

Бесплатный якорь

Никита
3

Подавляющее большинство этих приложений - не будут.

Ответить

Бесплатный якорь

Никита
3

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

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

Для Андроида я рекомендую использовать Bitcoin Wallet https://play.google.com/store/apps/details?id=de.schildbach.wallet, его написали люди которым я доверяю как специалистам в этой области.

Ответить

Парламентский супер_стар

Никита
0

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

Ответить

Бесплатный якорь

BitPost
1

Это описание работы приложения внешнего сервиса. Дефолтной рекомендацией должен быть SPV кошелёк.

Ответить

Ледяной единорожек88

6

133. Трахал Люду
134. Покакал

- им пора расстяться

Ответить

Исторический кран

Денис
19

Записи начинающего микроблогера

Ответить

Информационный вентилятор

4

Все равно не понял.

Ответить

Известный Паша

levshaazz
17

Короче шифр, который хуй сломаешь
Понятней?

Ответить

Информационный вентилятор

kavabanger
12

А, ну теперь-то.

Ответить

Нервный корабль

kavabanger
0

тут не все так однозначно

Ответить

Забавный кавалер

kavabanger
0

Хуй сломаешь и почти невозможно разные вещи.

Ответить

Известный Паша

Дмитрий
7

Если бы я написал "сложно сломать" то потерял бы в экспрессивности. А я очень, очень экспресивный

Ответить

Забавный кавалер

kavaban…
0

Экспрессивный хуй!

Ответить

Известный Паша

Дмитрий
0

И чо?

Ответить

Забавный кавалер

kavaban…
0

И веселье! :) 🍾🍷🍸🍹🍺🍻

Ответить

Известный

Дмитрий
1

Это завсегда, тут я как Ивахнов

Ответить

Забавный

kavaban…
1

Ну, поехали!

Ответить

Поэтический кубок

4

Комментарий удален по просьбе пользователя

Ответить

Арабский завод

Kat
20
Ответить

Поэтический кубок

Евгений
2

Комментарий удален по просьбе пользователя

Ответить

Нормативный Даниль

0

Следующей ночью десять нанятых Васей за полмиллиона таджиков

А че не русских?

Ответить

Бесплатный якорь

hyposlasher
4

Потому что русские за 500 рублей работать не захотят, а за полмиллиона пойдут бухать и работать не смогут.

Ответить

Нормативный Даниль

Alex
0

Убедил

Ответить

Загадочный инструмент

0

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

Ответить

Бесплатный якорь

sf
3

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

Ответить

Слышный хичхакер

–2

Комментарий удален по просьбе пользователя

Ответить
Читать все 57 комментариев
Обсуждаемое
Новости
Певицу МакSим подключили к ИВЛ и ввели в искусственную кому из-за серьёзного поражения лёгких
Хотя тесты на коронавирус оказались отрицательными, симптомы соответствуют Covid-19.
Интернет
«Я устроил DDoS самого себя»: в твиттере делятся историями об ошибках на работе, чтобы поддержать стажёра HBO
Суть флешмоба проста — никто не застрахован от ошибок.
Спорт
На Олимпиаде в Токио впервые выступит трансгендерная женщина. Её официально включили в сборную
43-летняя тяжелоатлетка Лорел Хаббард выступит за сборную Новой Зеландии.
Популярное за три дня
Новости
Руслан Усачев объявил об отъезде из России по политическим причинам
Блогер собирается «путешествовать по миру, пока не найдёт новый дом».
Twitter
TJ
TJ — 10 лет. Пора праздновать!
В такую дату грех не закатить вечеринку из материалов.
Комментарии
null