Блокчейн простыми словами

Криптовалюты - Bitcoin


Нет ни одного дня, чтобы в новостях не написали про криптовалюты хоть что-то. Казалось, уже тошнит от упоминания таких слов как "биткоин", "блокчейн", "криптовалюта". Все сайты, даже те где лишь рецепты пирогов, и те умудряются использовать эти слова в названиях своих произведений. За курсом биткоина следят больше чем за долларом или евро. Вы спросите у меня: причем здесь биткоин? А дело в том, что все криптовалюты, в том числе и самая знаменитая из них (их более 100) построены на технологии блокчейн.

Блокчейн

Я приведу самое простое объяснение блокчейна на примере обычного ежедневника. 

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

blockchain

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

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

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

Идея была проста. В просторах интернета он нашёл программу, которая брала любой текст и превращала его в хеш — 32 непонятные цифры. Каким способом делала это программа, Дима не понимал, но в целом казалось, что она выдавала некую "абра-кадабру". Например, если в программу ввести слова «С Новым Годом», она в ответ выдаёт «0b2c8082352999a76441b550244629eb». А если ввести, казалось бы, почти то же самое, но с восклицательным знаком в конце, то уже «13f4b449d2981170dbf5e45b1578b639».

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

notepad

Если вдруг теперь Петя захочет изменить строчку 120, то вместе с ней = изменится и хеш этой строчки (он будет не 543725, а абсолютно другой). Но это не все. Теперь новый хеш уже повлияет на хеш строчки «121 Устроился на работу» (он будет не 775357,а абсолютно другой), и так далее до самого конца дневника. Дима был в восторге! Теперь ради одной записи Пете придётся пересчитать все хеши после нее, что совсем не просто.

Время шло и Дима открыл свой банк. Он продолжал писать записи «дал в долг» и «взял в кредит» в свой ежедневник, снабжая их хешами. Дима разбогател, его банк преуспевал, и однажды он опять дал Пете в долг денег, но уже не 100 рублей, а миллион. Петя был хитер, и в эту же ночь он нанял десять за пару тысяч рублей таджиков, которые пробрались в дом к Диме и заменили запись «123443. Дал в долг Пете 1000000» на «123443. Дал в долг Пете 10» и быстренько пересчитали все хеши до самого конца блокнота. 

На утро, встав рано, Дима решил пересчитать своих должников и, к удивлению, обнаружил подмену. А раз так произошло, он решил еще больше усложнить алгоритм подделки дневника: Дима придумал добавлять в конце каждой записи дополнительное число („нонс“), которое подбиралось так, чтобы каждый записи хеш заканчивался на два нуля. Самый простой способ сделать это — перебирать числа, пока не получится нужный хеш:

blockchain

Теперь, для создания новой записи Диме в среднем нужно будет перебрать около 100 чисел, что трудозатратно. Это сильно обрадовало Диму, ведь, если кто-то подменит запись, то всех последующих будет уже в 100 раз сложнее, а это значит, что теперь Пете не справиться даже с дюжиной таджиков.

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

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

blockchain

Биткоин

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

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

03.01.2018
|
Рейтинг ()

Возврат к списку

Продающие сайты 3.0

Продающие сайты 3.0

Подробнее
Создать сайт — как дерево посадить

Создать сайт — как дерево посадить

Подробнее
Всебелорусский семинар

Всебелорусский семинар

Подробнее