Основа понимания термина «Блокчейн» лежит в его этимологии. Слово происходит из английского языка: от «block» — «блок», и «chain» — «цепь», в целом дословно переводится как «цепочка блоков». Другими словами, это такая база данных которая представляет собой непрерывную цепь, состоящую из множества блоков, которая одновременно хранится на всех устройствах в этой сети.
Технология блокчейн, простыми словами, предназначена для удобной и быстрой передачи цифровых ценностей.
Рассмотрим на примере. Блокчейн можно сравнить с неким дневником, который имеется у каждого пользователя сети, и каждый может вносить информацию, которая добавляется в хронологическом порядке. После добавления новых данных, они шифруются надежным способом и вводятся во все копии дневника. С этого момента информацию уже невозможно изменить или удалить. Особенность в том, что все страницы дневника (они же «блоки») хранятся абсолютно у всех участников и при попытке вырвать страницу или, наоборот, вставить новую где-то между, система обратится к множеству остальных копий этого дневника и выявит расхождение в структуре дневника (он же цепочка блоков).
Другими словами, информация в блокчейне представляется в виде цифровых записей, обладающих определенной ценностью. Записи группируются в блоки, а блоки, в свою очередь, формируют цепочку блоков. Каждый новый блок добавляется в строгой хронологической последовательности в конец цепи.
Подробнее о том, что такое блокчейн и где он используется, в блоге PayKassa.
Технология блокчейн достаточно проста для понимания. Но совсем без технических терминов обойтись не удастся. Например, придется разобраться, как работает хеширование.
Хеш — это криптографический алгоритм, который принимает на вход любые данные (файл, текст, картинка, двоичный код) и генерирует из него последовательность букв и цифр фиксированной длины. При этом, одинаковые файлы всегда дают в результате одинаковый хеш, а разные — в идеале, разный (бывают очень редкие случаи совпадения и это считается уязвимостью криптографической функции).
Например, я написала сообщение Hello world и хочу передать его своему другу. Но мне надо узнать, дошло ли оно до него в неизменном виде. Можно попросить передать сообщение обратно и сравнить, не изменилось ли оно. Но это не очень рационально: например, если наше сообщение кроме текста содержит видео в HD и весит кучу гигабайт. Поэтому для подтверждения того, что сообщение дошло без искажений, используют хеш. Если у вас и у вашего получателя хеш совпадает, значит сообщение не было изменено.
Сейчас мы с вами попробуем захешировать сообщение. Вбейте в Google «sha-256 онлайн» и в калькулятор по одной из ссылок введите любую фразу. SHA-256 — это один из алгоритмов хэширования.
Например, хеш от фразы Hello world выглядит так:
64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c
А ниже хеш той же фразы hello world, но все буквы строчные:
b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
Ни одного совпадения! Вы также можете поэкспериментировать с любыми словами и фразами. Получите ровно те же результаты, что и я: одинаковые для одинаковых строк, и разные — для разных.
С хешем разобрались, теперь можно перейти к самому понятию блокчейн.
Блокчейн — это цепочка криптографически связанных блоков.
Давайте создадим свой блокчейн. В нем может быть что угодно, но для простоты запишем денежные транзакции.
В первом блоке у нас будут следующие записи:
Аня → Коля :: 10 рублей
Коля → Ира :: 20 рублей
Аня → Саша :: 30 рублей
Эту информацию можно перенести в Блокнот и сохранить файл с названием 1.txt. Первый блок в блокчейне криптовалют называет Genesis block, и он тоже прописывается вручную.
Копируем информацию первого блока, идем на сайт, где ранее хешировали фразу Hello world, и вставляем эти 3 строчки. Вот такой хеш у нас получился:
1a1ca4dd39417b14ea97868428da0adfd12321d1d975bec7666d10120b4f0cd8
Давайте создадим новый файл 2.txt и запишем в него еще несколько транзакций, а последней строчкой добавим результат хеширования предыдущего файла. Вот так:
Оля→ Паша :: 50 рублей
Юра → Катя :: 20 рублей
1a1ca4dd39417b14ea97868428da0adfd12321d1d975bec7666d10120b4f0cd8
Сохраняем и считаем хеш этой записи. Информацию о переводах + предыдущий хеш! Получается:
235ae3d827b9b47b2d710bb23eb1540de8101b6a24a1235a875bd6b65c986569
По аналогии создаем третий файл:
Костя → Петя :: 80 рублей
Артем → Юля :: 5 рублей
235ae3d827b9b47b2d710bb23eb1540de8101b6a24a1235a875bd6b65c986569
И все последующие файлы. Их может быть сколько угодно. И набор таких файлов-блоков позволяет представить, как выглядит простейшая концепция блокчейна.
А как работает биткоин на технологии блокчейн подробно рассмотрено в видео:
www.youtube.com/embed/RuZ80TPUF_A?wmode=opaque
Блокчейн — это универсальный инструмент для построения различных баз
данных, который обладает следующими
преимуществами:
-Децентрализация. Отсутствует главный сервер хранения данных. Все записи
хранятся у каждого участника системы.
-Полная прозрачность. Любой участник может отследить все транзакции,
проходившие в системе.
-Конфиденциальность. Все данные хранятся в зашифрованном виде.
Пользователь может отследить все транзакции,
но не может идентифицировать получателя или отправителя информации,
если он не знает номера кошелька.
Для проведения операций требуется уникальный ключ доступа.
-Надёжность. Любая попытка внесения несанкционированных изменений
будет отклонена из-за несоответствия предыдущим копиям
Блокчейн это "волшебная записная книжка, - амбарная книга, записи в которой доступны всем сразу и их нельзя стереть или изменить. Можно только добавлять. Как только вы добавили туда запись "я отдал товар Васе" - это сразу все увидели и теперь все знают что "товар" у Васи. Только в действительности вместо вместо Васи в блокчейне - анонимные счета, а вместо товара - криптовалюта.
В слове блокчейн есть чейн (chain) - цепочка. Именно это и есть основная характеристика блокчейна. У нас нет единого места, где хранится вся информация, но каждое устройство хранит несколько записей, которые передает следующему в цепочке, пока они не дойдут до получателя.
Ну или вот определение чуть точнее:
Блокчейн (цепочка блоков) — это распределенная база данных, у которой устройства хранения данных не подключены к общему серверу. Эта база данных хранит постоянно растущий список упорядоченных записей, называемых блоками. Каждый блок содержит метку времени и ссылку на предыдущий блок.