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

Что такое блокчейн

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

Есть такое понятие как «база данных». В понятие базы данных входит организация хранения информации, и работа с этой информацией. В качестве примера будет использована старая телефонная записная книжка — классический образец базы данных.

Записная книжка с адресами академика Ландау Л.Д. 1940-е
Записная книжка академика Ландау

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

Визуальное представление цифровой базы данных выглядит как запись в таблице.

Запись в таблице

С такой базой данных очень удобно работать. Можно искать записи по любой строке, любому столбцу. В них можно вносить изменения, удалять, сортировать по отдельным признакам. Например можно найти выделить всех абонентов начинающихся на буку «П». Или отсортировать по дате рождения.

Что такое блокчен

Блокчейн это тоже база данных. Но её визуально представление выглядит как очень длинная непрерывная строка.

1*Вася*Васечкин*123-12-12*1990-01-01*51A3176CC9E16799F9D93A28B0F04DB9*2*Петя*Петров*321-32-32*1900-12-12*825965D8B15ADDCF8A207AB3A648099C*3*Иван*Иванов*900-90-90*1980-07-19*A23D640AFE4A47944DE67E6C60552DE1
Скорее всего ваш браузер разобъёт строку на несколько частей, но это именно одна длинная строка.

Однако помимо того, что это не таблица а одна строка, есть ещё одно важное отличие. Когда в блокчейн поступает запись, 1*Вася*Васечкин*123-12-12*1990-01-01, в конец строки добавляется хеш этой записи 51a3176cc9e16799f9d93a28b0f04db9.

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

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

Как устроен блокчейн

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

Это будет происходить так:
Первый блок: 1*-100*9982901219441adfebb6ec16dfe8a509*
Описание:

  • * - разделитель данных
  • 1 - номер блока
  • -100 поступившие данные
  • 9982901219441adfebb6ec16dfe8a509 - хеш от текста «-100».

Второй блок и все остальные будут немного другими: 2*-200*a0d9d8ea41aeb91b332adfffe20fe8b6

Описание:

  • * - разделитель данных
  • 2 - номер блока
  • -200 - поступившие данные
  • a0d9d8ea41aeb91b332adfffe20fe8b6 (хеш текста «-200» + хеш предыдущей записи)

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

Запись в блокчейне в виде цепи

Разными цветами обведены блоки. Все вместе они представляют собой цепь данных.

Блокчейн - blockchain (block – блок, chain — цепь).
Цепь

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

  1. В блокчейне нельзя просто изменить какой-то фрагмент существующей записи. Блокчейн только дописывает в конец строки. Т.е с помощью стандартной программы записи это не осуществить.
  2. Допустим он взломал хранилище и получил доступ к самому блокчейну, как к базе данных. Если он изменит в первом блоке сумму расходов с -100 на -200 (а разницу положить себе в карман), хеш этого блока изменится.
Хеш от текста -100 = 9982901219441adfebb6ec16dfe8a509
Хеш от текста -200 = 31a2d5822a3db533b5e803e3889788fa

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

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

Сеть блокчейна работающего с биткоином состоит из нескольких тысяч серверов разбросанных по всему миру.

Иллюстрация схемы сети

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

Существует теоретический способ как обойти проблему отказа сети блокчейна принимать изменение существующей записи — это называется «атака 51». Это когда атакующему необходимо завладеть более половины всех серверов сети блокчейна (более 50%). Когда он одновременно подсунет во все свои сервера изменённую базу блокчейна, то поскольку это произойдёт на большинстве серверов, все остальные будут принудительно синхронизированы с новой, изменённой злоумышленником, базой.

Плюсы и минусы блокчейна

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

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

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

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

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

Для чего использовать блокчейн

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

Блокчейн можно использовать для работы с недвижимостью. С его помощью можно будет отследить историю объекта. Когда построили, кому продали, кому подарили и т. д.

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

Токены блокчейна

Напоследок необходимо упомянуть ещё одну особенность блокчейна — токены (виртуальные монетки или проще - «игровые баллы»).

Сувенирные биткоины

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

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

Будьте здравы, подписывайтесь на новости блока. Если возникли вопросы и предложения, пишите в комментарии.

Понравилась статья? Поделись!

Нет комментариев

Добавить комментарий

Отправить комментарий Отменить

Сообщение