Доходчиво о принципе работы блокчейна
Сеть Новости IT и Интернета

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

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

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


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

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

    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 монеток». Соответственно, первая запись в дневничке, где будет предоставлено решение, может автоматически считаться получателем монеток. Вокруг этой и схожих идей строятся так называемые «контракты».

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

    Никита Лихачёв
    Источник: tjournal.ru

    Дочитали статью до конца? Пожалуйста, примите участие в обсуждении, выскажите свою точку зрения, либо просто проставьте оценку статье.

    Вы также можете:

    • Перейти на главную и ознакомиться с самыми интересными постами дня
    • Добавить статью в заметки на: Добавить эту статью в TwitterДобавить эту статью ВконтактеДобавить эту статью в FacebookПоделиться В Моем Мире
    • Добавить на Яндекс

    • 0
    • 18 августа 2017, 06:45
    • patron

    Специальные предложения


    Резиновая плитка для пола «Модуль»

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

    Резиновое покрытие Трансформер «ЗЕРНО»

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

    Модульная плитка ПВХ для пола

    Модульная плитка ПВХ для пола в гараж, автосервис, цех, торгово-развлекательный центр, офис, фитнес и тренажерный зал, зрительный зал кинотеатра, склад. Модульные плитки ПВХ настолько просты в монтаже, что не требуют специальных навыков для своей установки. Неподготовленный человек может собрать более 100 кв.м. напольного покрытия за один рабочий день. Для сборки не требуется клей, цемент и другие крепежные материалы...


    +7 (495) 969-75-83

    +7 (495) 969-75-83

    +7 (495) 969-75-83

    Смотреть все предложения...

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

    © Copyright 2010–2017