Цепочки и блоки: из чего состоит блокчейн и как он работает
Блокчейн — это «цепочка транзакций». Такое определение есть в Вики, его приводят чаще всего. Но у всех денег есть такая «цепочка»! Просто представьте: монетный двор выпускает купюру в тысячу рублей. Эти деньги привозят в банк. Бизнесмен берет кредит на развитие своего дела, и эта тысяча отправляется сначала в его карман, а потом передается производителю станков. Потом тысячу получит в виде зарплаты один из рабочих и так далее. Разница лишь в том, что историю как бумажных, так и электронных фиатных денег отследить очень трудно. В блокчейне же записываются все транзакции с того самого момента, как криптовалюта попадает на кошелек того, кто ее намайнил. По такой технологии работает не только Биткоин, но все существующие криптовалюты.
Содержание
Что представляет собой блокчейн
Если коротко — база данных, копия которой есть у каждого. Речь идет о той самой огромной книге приходов-расходов (на английском понятие так и обозначается бухгалтерским термином: ledger, «гроссбух»). Базы данных обычно хранятся на одном или нескольких серверах, но блокчейн — на всех компьютерах или мобильных устройствах, где есть хотя бы одна единица валюты: Биткоина, Эфириума, Ноткоина или других. Работает блокчейн по технологии P2P: от одного пользователя к другому, без какого-либо главного центра.
Главные факты о блокчейне:
- В цепочке есть данные о предыдущем и следующем блоках — это позволяет не только отслеживать «судьбу» каждого Биткоина, но и считать сумму на кошельках. Ведь фактически монет в виртуальных хранилищах нет! Только информация о приходе-расходе.
- Изменить информацию в блокчейне нельзя. Данные закодированы методом хэширования — если поменять хотя бы один символ, обрушатся все остальные. Блок просто выпадет и перестанет «считаться».
- Блокчейн прозрачен. Каждый компьютер сверяется с общим «большим гроссбухом», который, как мы помним, один на всех. Это происходит автоматически.
Блокчейн нельзя переписать или уничтожить. Вместе с тем, нет никаких данных о владельцах биткоин-кошельков: только сама информация об операциях в виде хэша. Допустим, у нас есть операция: «Alice отправляет 5 биткоинов Bob'у». Чтобы закодировать эту информацию в хэш, используем криптографическую хэш-функцию SHA-256. Исходная строка операции:
Alice sends 5 BTC to Bob'у
Применим к этой строке хэш-функцию SHA-256. Результат будет выглядеть так: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Его практически невозможно восстановить до исходной информации.
Деньги с одной стороны нельзя подделать, а с другой — не получится отследить, кто покупал на Биткоины сервис VPN, а кто выводил через биржу с обменом на фиат в обход государственных налогов. Кстати, поэтому официальные органы во всех государствах смотрят на Биткоины и другую крипту довольно косо. Предлагали даже запретить: а вдруг на эти деньги спонсируют что-нибудь дурное, вроде запрещенных веществ. Тем не менее, ни одному государству пока не удалось справиться с криптовалютами — именно благодаря технологии блокчейн, которая дружелюбна к пользователю и совершенно «неподкупна».
Как работает хэш-код
Как уже было сказано, основа безопасности блокчейна — хэширование. Это уникальная цепочка данных из нескольких символов. Сколько именно — зависит от технологии. В основных криптовалютных сетях, таких как Bitcoin и Ethereum, используется SHA-256, который генерирует хэш длиной 256 бит, что эквивалентно 64 символам в шестнадцатеричном формате (16 символов на байт). Каждый хэш уникален, как цепочка ДНК или отпечаток пальца. Поэтому так легко хранить в огромном виртуальном гроссбухе историю каждого Биткоина.
Работает хэширование так. Нам понадобится специальный SHA-256 Hash-калькулятор. Далее:
- Начнем с фразы «Привет, мир!» как начального блока.
- Вычислим хэш (SHA-256) этой фразы:
- Хэш: 4f7f033b03c10e4746eb28e43c1b3f4b2b45c3ce2dc992acc0a4b0d2cdd5b11d
- Запишем этот хэш в первый блок нашего хэшчейна.
- Далее возьмем следующую фразу «Как дела?» и вычислим её хэш:
- Хэш: 3f74e89edafe2d0878b2b3d40ec522f23f2cf6827a9b4e9b31a37a48b4e7477e
- Запишем этот хэш во второй блок, ссылаясь на хэш первого блока.
- Продолжим этот процесс для следующих фраз, каждый раз вычисляя хэш на основе предыдущего блока.
Теперь попробуем поменять два слова: «Мир, привет!». Изменился ли смысл? Нет. А вот хэш будет абсолютно другой:
- Начнем с фразы «Мир, привет!» как начального блока.
- Вычислим хэш (SHA-256) этой фразы:
- Хэш: 82ff2e9e37b99c3ea6c1224cc911f2b070b3cde4dd2302686a315bb0a04324b8
- Запишем этот хэш в первый блок нашего хэшчейна.
- Далее возьмем следующую фразу «Как поживаешь?» и вычислим её хэш:
- Хэш: aa3f2ed693a2a13e472ddc4bcb84c8b2a646e828b0b1d70298ecaa93f85c8c9e
- Запишем этот хэш во второй блок, ссылаясь на хэш первого блока.
- Продолжим этот процесс для следующих фраз, каждый раз вычисляя хэш на основе предыдущего блока.
Нет ничего общего между первым и вторым вариантом. Поэтому подделать, вычислить, каким-либо образом подобрать пароль к хэшу практически невозможно. Даже если это делать не вручную, а с помощью мощнейших компьютеров.
Что такое блоки
Если сравнивать блокчейн с цепочкой ДНК, то один белок в этой структуре — это блок. Это первичная порция данных, из которых потом составляется цепь. Каждая запись блокчейна — это группа блоков, в которых записывается все о Биткоине (или другой криптовалюте). Транзакции связаны между собой хэшами, поэтому в заголовке каждого следующего есть код того, который был прежде. Разумеется, вносить изменения в блоки без оповещения всего гроссбуха нельзя. Если попытаться «обмануть систему», сеть Биткоина сразу же это обнаружит и запретит действие.
Но некоторые операции разрешены. Можно дописывать новые блоки: деньги ведь не остаются в банке навечно. На примере той самой тысячной купюры — она может десять раз обойти весь город или страну, попасть за рубеж, а потом вернуться в тот самый банк, куда привезли с монетного двора. И так — пока не растреплется бумага. Биткоин не изнашивается, поэтому информации о новых транзакциях может быть сколько угодно. Каждый следующий блок просто дописывается к предыдущему.
Из чего состоят блоки
Принято считать, что блоки — неделимые частицы. Но это не так. В конце концов, даже атом делится на ядро, электроны, протоны и так далее. У блока тоже есть отделы:
- Заголовок — в нем записана служебная информация;
- Payload — история транзакций.
В заголовке тоже есть несколько разделов: версия, дата и время создания, хэш-коды. Плюс данные по майнингу: nonce и bits. В заголовке подсчитывается все транзакции, но самое главное — они помогают контролировать целостность блока. Для чего это нужно? Ситуация:
Вы решили оплатить услугу VPN Биткоином. Перечисляете деньги поставщику услуги.
В этот момент ломается интернет, пропадает электричество — одним словом, случается сбой.
Дойдут ли деньги до получателя? А в каком виде? Не потеряются ли по дороге? Не волнуйтесь: все дойдет в лучшем виде — система контролирует целостность содержимого блоков, при необходимости исправляет ошибки.
Как проходят транзакции
Итак, блокчейн — это большая книга о транзакциях. Происходят они так: «С адреса 1 отправить N биткоинов на адрес 2».
Система использует Входы (Input) — они пополняют биткоин-кошельки и Выходы (Outputs) — соответственно, если деньги уходят на на другие адреса.
Каждая транзакция ссылается на все остальные с помощью Входов, а также создает Выходы для других операций на будущее.
В результате, транзакция — это:
- Количество Входов плюс хэш-коды от них;
- Количество Выходов, их суммы;
- Временная метка — создается только на период транзакции.
Еще будет комиссия за транзакцию (transaction fee) идет в качестве вознаграждения майнерам, которые добавляют транзакцию в блокчейн. Увы, без комиссий никуда даже в свободном мире криптовалюты.
Основные факты
- Блокчейн — это база данных, которая представляет собой последовательную непрерывную цепочку блоков.
- Блок — это «первичная структура» данных блокчейна.
- Блокчейны распространяются по принципу «от пользователя к пользователю» (peer-to-peer).
- База блокчейна хранится не на одном сервере, а децентрализовано — то есть, у каждого.
- Подделать информацию в блоках и блокчейнах нельзя.
- Можно только дописывать новые транзакции — это процесс обмена, покупки или продажи Биткоинов.
Подписывайтесь на наш новый Telegram, который посвящен только сфере криптовалют. Ссылку на канал можно найти ниже в разделе «Об авторе».
Источник: www.freepik.com
0 комментариев
Добавить комментарий
Добавить комментарий