Блог им. yoo_daa

Что такое блокчейн. Доступным языком.

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

 

-------------------------------------
Коля решил вести дневник. Для этого он завел тетрадку, и начал писать там строчки вроде.
1. Купил хлеба.
2. Позвонил Геннадию.
...
132. Дал Васе в долг 100 рублей
133. Трахал Люду
134. Поел

...
Он очень старался вести дневник честно, и если у него с кем–то возникал спор о чем–то, что произошло раньше, он доставал его и тыкал всем носом в свои записи. Однажды Коля сильно поспорил с Васей на тему того, давал ли он Васе в долг 100 рублей или нет. В момент спора у Коли не было с собой дневника, но он обещал завтра же принести и всё показать Васе.
Вася решил не искушать судьбу, пробрался к Коле в дом, нашел дневник, долистал до строчки 132, и заменил её на «Трахал Олю». На следующий день Коля достал дневник, долго искал в нём запись про долг Васе, не нашёл, и пришел извиняться.
Прошел год, Васю замучала совесть, и он признался во всём Коле. Коля простил друга, но решил, на будущее, использовать какую–нибудь более надёжную систему записи, которую нельзя было бы так просто подделывать.
Придумал он следующее. У себя в операционной системе Линупс он нашел программу md5sum, которая брала любой текст и превращала его в хеш — 32 непонятные цифры. Как именно она это делала, Коля не понимал, но в целом казалось, что она выдавала полную белиберду. Например, если в программу ввести слово «привет», она в ответ выдаёт «8b4609d7e974702ff1451220c7ededcf». А если ввести, казалось бы, почти то же самое, но с лишним пробелом, то уже «69ab827825fdb876e709abd3d783dbb6».
Почесав тыковку, Коля придумал способ усложнить будущим Васям замену записей следующим образом: После каждой записи он вставлял хеш, который получался если скормить программе текст записи и прошлый хеш. Новый дневник получался таким:
0000 (начальный хеш, ограничимся для простоты четырьмя знаками)
1. Купил хлеба.
4178 (хеш от 0000 и «Купил хлеба»)
2. Позвонил Геннадию.
4234 (хеш от 4178 и «Позвонил Геннадию»)
...
4492
132. Дал Васе в долг 100 рублей
1010
133. Трахал Люду
8204 (хеш от 1010 и «Трахал Люду»)
...
Если теперь какой–нибудь Вася захочет изменить строчку 132, изменится и хеш этой строчки (он будет не 1010 а чем–то другим). Это, в свою очередь, повлияет на хеш строчки 133. Трахал Люду (он будет не 8204, а чем–то другим), и так далее до конца дневника. По сути ради одной записи Васе придется подменить весь дневник после неё, что сложно.
Прошло время, Коля открыл банк. Он всё так же писал в дневничок записи «дал в долг» и «взял в кредит», снабжая их хешами. Банк разросся и однажды он дал в долг (уже новому) Васе миллион. Следующей ночью десят нанятых Васей за полмиллиона таджиков пробрались в комнату Коле, заменили запись «143313. Дал в долг Новому Васе 1000000» на «143313. Дал в долг Новому Васе 10», и по–быстрому пересчитали все хеши вплоть до конца дневника.
Чудом Коля обнаружил подмену и, раз такое дело, решил усложнить способ подделки дневника. Теперь, решил Коля, я буду в конце каждой записи в скобочках добавлять какое–нибудь число («нонс»), и буду подбирать его так, чтобы каждый хеш заканчивался на два нуля. Единственный способ это сделать — тупо перебирать числа, пока не получится нужный хеш:
0000 (начальный хеш, ограничимся для простоты четырьмя знаками)
1. Купил хлеба (22)
4100 (хеш от 0000 и «Купил хлеба (22)», 22 было подобрано чтобы хеш кончался на 00)
2. Позвонил Геннадию (14)
3100 (хеш от 4100 и «Позвонил Геннадию (14)»)
...
1300
132. Дал Васе в долг 100 рублей (67)
9900
133. Трахал Люду (81)
8200 (хеш от 9900 и «Трахал Люду (81)»)
...
Для создания каждой записи Коле теперь в среднем нужно будет перебрать порядка 50 чисел, что трудозатратно. Соответственно, если запись кто–то подменит, подделка её и всех последующих будет тоже в 50 раз сложнее, а это значит что теперь Васе даже с таджиками не справиться.
Через какое–то время Коля взял себе партнёра и они стали оба вести дневничок, причем для каждой новой записи оба одновременно начинали подбирать нонс и тот, кому первому удавалось найти подходящий, вносил запись. Так как вдвоём подбирать нонсы быстрее, Коля усложнил задачу и требовал, чтобы все хеши кончались на три нуля.
Этот окончательный Колин дневничок и есть по сути Блокчейн, только Колю с другом надо заменить на кучу соединённых по сети компьютеров, и вычисления хешей усложнить, чтобы даже компьютерам было тяжко. То есть, блокчейн — это не более чем дневничок записей, который можно записывать совместно, и в котором де–факто невозможно подделать старые записи.
Имея такой клёвый дневничок, можно строить разные интересные системы. Например, Биткоин. Биткоин — это дневничок, где каждая запись выглядит в виде «Передать столько–то денег с кошелька Х на кошелек У». Так как дневничок нельзя подделать и в нём хранится вся история переводов, в любой момент из него можно вычислить количество денег на каждом «кошельке». Ну а чтобы в системе вообще были какие–то деньги, Биткоин сделан так, что каждая запись в дневничке заканчивается словами «произвести Z монет и перевести мне», где «мне» — это тот пользователь, кто первым «угадает» нонс, который обеспечит хеш с нужным количеством нулей в конце.
Поверх дневничка с некоторым количеством криптографии можно строить ещё некоторое количество интересных систем. Например, можно делать записи в духе «Кто решит уравнение f(x) = 14, тот получает 10 монеток». Соответственно, первая запись в дневничке, где будет предоставлено решение может автоматически считаться получателем монеток. Вокруг этой и схожих идей строятся т.н. «контракты».
Но тем не менее стоит помнить, то блокчейн — это не более чем надёжный распределённый дневничок. Никаких мировых проблем, помимо тех, которые можно решить дневничком, блокчейн нам не решит.
Отсюда.
    ★42
    11 комментариев
    Просто… но годно
    avatar
    Крипто -лудоманы негодуэ. Им запретили писать битокблокчейн слитно. ))
    avatar
    спасибо помогло))
    avatar
    Молодец. А то гуру восхваляют до небес обычную кодировку.А кто то умный еще и ммм решил на ней сделать.
    avatar
    дадашов фархад, да. при чем текущие ммм фиатные по сути те же яйца в профиль что и эти криптоблоки)) тока вас имеют иным инструментом — при этом более изощренно) каждый сам выбирает что лучше ему — верить центральным банкам с их монопольной властью или верить неподкупному не монополизированному «дневнику»
    avatar
    как все просто… а чо такое хеш...? а во нашел… 32 непонятные цифирки… как все сложно…
    точно обычный распределенный по сети дневник с эл. подписью каждой операции… кто кому и сколько, каждый слушает сеть и пишет свою копию дневника, может его предъявить любому.
    Все просто и понятно, хоть имею дело с шифрованием и эцп, но объяснено действительно просто и доступно, зачет.
    avatar
    Мне это напоминает бухгалтерский учёт и верещащих бухов, «вот тут надо откатить» )))
    avatar
    шифровать на самом деле даже не обязательно. Главное чтобы большенство нодов были согласны с цепочкой предьявленной вами.
    avatar
    Пятница — день годных постов просто. Уже 3 + поставил. Обычно столько за месяц набиралось…
    avatar
    Блокчейн вещь хорошая, но в его главном достоинстве и его главный касяк. 
    Если партия китая решит отключить на денёк весь китай от интернета, то битку приснится жопа!
    А они могут, про их фаирвол многие знают. 

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

    10 минут в битке идёт на 1 блок. За сутки в китае налепят в свой блкчейн 144 блоков. В блокчейне остального мира меньше сотни.  И там и там это больше, чем разработчики биткоин протокола рекомендуют ждать, чтоб окончательно убедиться в фиксации платежа. Поэтому и там и тут все будут уверены, что их платежи подтвержены. Все связанные с этим товары и услуги будут отправлены и оказаны. 

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

    Все платежи в остальном мире будут автоматически отменены. Либо придётся опять делить цепь как это было с биткоин кэш и эфир классик, но уже в паническом режиме.

    Вся эта хрень произойдёт не тока в биткоине, но и в Etherium, waves, dash и везде, где китайцев больше. А это не тока бабки, товары и услуги, но и ICO, токены и любая хрень на как бы «надёжной» блокчейн сети. 

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

    И я думаю здешним парням не надо объяснять какое цунами накроет криптобиржи и обменники и куда хлынут все эти крипто ярды капитализации)))
    avatar

    теги блога Инвстр

    ....все тэги



    UPDONW
    Новый дизайн