{"id":741,"title":"\u0427\u0442\u043e \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439","url":"\/redirect?component=advertising&id=741&url=https:\/\/vc.ru\/special\/inside&hash=8cd453b694f2fbdab552a331ca897ca0ffa35ce83c96c59b3a50ee70d30b9dab","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

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

Ответить

Внезапный единорожек88

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 комментариев
Обсуждаемое
Новости
«Тотальный диктант» не получил президентский грант на 2022 год. Организаторы акции считают решение политическим
По словам организаторов, «за что потребовалось наказать диктант, объяснять, кажется, долго не нужно».
Новости
ВОЗ нашла нарушения на производстве «Спутника V» в Уфе. В Кремле говорят, что всё уже исправили
Основная часть недочётов связана со стерильностью и охраной окружающей среды.
Новости
Лоббисты оружия в США выступили на фальшивом выпускном перед тысячами пустых стульев. Они означают убитых детей
Родители обманули тех, кого считают причастными к смертям подростков.
Популярное за три дня
Беларусь
МВД Белоруссии предложило признать бело-красно-белый флаг и лозунг «Жыве Беларусь» нацистскими символами
Проект поступил на согласование в КГБ страны.
Животные
В американском зоопарке пожилому пингвину с артритом сделали ботинки
Животному мажут лапы лечебной мазью и благодаря обуви она не стирается.
Новости
«Я просто хочу вернуть свою жизнь»: Бритни Спирс в суде попросила освободить её от «абьюзивного» опекунства отца
Она обвинила опекуна в тотальном контроле и рассказала, что он запретил ей заводить ещё одного ребёнка.
Комментарии
null