{"id":726,"title":"\u0427\u0435\u043c\u0443 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0443 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u043a\u043e\u0441\u043c\u043e\u043d\u0430\u0432\u0442\u043e\u0432","url":"\/redirect?component=advertising&id=726&url=https:\/\/vc.ru\/promo\/254448-like-an-astronaut&hash=a5030a2f62915a7a07a8c868a88a0ed490fc2610974523f02fd63666cb17bc7c","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 кошелёк.

Ответить

Праздничный кубок

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

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

Ответить
Обсуждаемое
Новости
В Москве и Московской области ввели обязательную вакцинацию 60% работающих в сфере услуг
Мэр Сергей Собянин заявил, что ситуация с коронавирусом в столице критическая — в больницах находятся более 12 тысяч человек.
Новости
В Новосибирске взорвалась автозаправка. Ранены более 20 человек
Среди них — маленький ребёнок и двое сотрудников МЧС.
Разборы
Главные вопросы о новой волне Covid-19 в России: виноват ли в ней «индийский» штамм и почему проваливается вакцинация
Власти Москвы говорят о «взрывном росте» заболеваемости и объявляют частичную обязательную вакцинацию, а в соцсетях спорят об эффективности прививок и покупают сертификаты на «чёрном рынке».
Популярное за три дня
Истории
Суицид — это плохо. Ещё хуже, когда его совершает пилот самолёта на рабочем месте
Крушение самолёта немецкой авиакомпании в 2015 году стало одним из самых массовых убийств в истории. Почему это случилось и при чём здесь теракт 11 сентября в Нью-Йорке.
Спорт
В соцсетях восхищаются капитаном сборной Дании Симоном Кьёром — он первый помог потерявшему сознание на поле Эриксену
Кьёр сделал искусственное дыхание футболисту, выставил партнёров по команде в цепь и утешал жену игрока. Теперь его называют героем.
Новости
Космонавта Сергея Крикалёва сняли с должности в «Роскосмосе» за критику траты бюджетных денег на съёмки фильма​
Крикалёв не согласился с планами госкорпорации отправить на МКС актрису и режиссёра.
Комментарии
null