Что такое блокчейн? Простейшее объяснение

1
ПОДЕЛИТЬСЯ

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

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

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

Блокчейн

Да, блокчейн = block (блок) + chain (цепочка) = цепочка блоков

Начнём с аналогии денежного перевода с моего счёта на ваш. Помните, блокчейн имеет много вариантов применения. Система денежных переводов – один из них.

Допустим, я перевожу какую-то сумму со своего счёта на ваш.

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

Это место – блок.

В блоке записывается информация такого рода:

  • Кто кому переводит деньги.
  • Сумма транзакции.
  • Другая информация, такая как подпись.

public class Block {
public String data;
public String hash;
...
}

Таким образом, блок – это носитель информации, подобно чеку в банке.

Помимо информации (I), блок также содержит уникальный идентификационный хеш (H). Хеш (H) – очень важное понятие.

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

Почему блоки связаны?

Блоки связаны, чтобы обеспечить безопасность информации.

Связь: хеш текущего блока зависит от хеша предыдущего блока.

Разберём это на следующем примере.

Допустим, есть 3 блока со следующей информацией:

  • Блок 1 содержит информацию I1 с хеш-суммой H1.
  • Блок 2 содержит информацию I2 с хеш-суммой H2.
  • Блок 3 содержит информацию I3 с хеш-суммой H3.

H2 создаётся из комбинации H1 и I2. Точно так же H3 создаётся из комбинации H2 и I3 и т. д.

Объяснение хеш-суммы

H2 = некаяКриптоФункция(H1, I2)

H3 = некаяКриптоФункция(H2, I3)

Откуда берётся H1? Для начала нужно взять значение по умолчанию H0.

H1 = некаяКриптоФункция(H0, I1), где H0 – значение по умолчанию.

Устойчивый блокчейн

Пока показанный выше блокчейн устойчив.

Но допустим, что кто-то изменил информацию с блока 2 I2 на I2′, и хеш с H2 на H2′, оставив другие блоки без изменений.

В данном случае блокчейн станет неустойчивым, как показано ниже.

Неустойчивый блокчейн

Блокчейн неустойчив по следующим причинам:

  • H3 = некаяКриптоФункция(H2′, I3) больше не верно.
  • Нужно новое значение H3′, чтобы H3′ = некаяКриптоФункция(H2′, I3).
  • То же касается H4′H5′H6′ и т. д.

После модификации получим устойчивый блокчейн, как показано ниже.

Устойчивый блокчейн

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

List<Block> blockList = new ArrayList();

Блоки упорядочены в список, как показано выше, так что из позиции текущего блока (position) можно очень легко найти предыдущий блок: blocklist.get(position – 1). Существует много способов хранения блоков.

Безопасность – главная причина, почему блоки связаны.

А теперь подробнее: что же такое блокчейн?

Блокчейн – распределённый и децентрализованный реестр, хранящий данные, такие как транзакции, и совместно используемый всеми узлами своей сети.

Такое определение блокчейна кажется достаточно хитроумным.

Не бойтесь. Мы разберём всё это подробно.

Реестр

Реестр – главный носитель информации, содержащий список блоков.

Хранящий данные

Блок хранит данные (информацию). Данные могут быть любого типа. Мы в качестве примера используем информацию о транзакциях.

Распределённый и децентрализованный реестр

Обычно существует центральная машина, отвечающая за все действия с данными. Но в случае блокчейна машин много (поэтому он не централизован), и все машины подключены друг к другу. И все эти машины имеют один и тот же реестр. Поэтому блокчейн – распределённый и децентрализованный реестр.

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

Совместно используемый всеми узлами своей сети

Имеется сеть, где каждая машина подключена ко всем другим. Каждый узел (машина) имеет одну и ту же копию реестра. Это значит, что реестр совместно используется всеми узлами своей сети.

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

Следующие шаги демонстрируют работу блокчейна:

  • Амит хочет совершить транзакцию.
  • Амит создаёт транзакцию.
  • Амит отправляет транзакцию в сеть.
  • Машина в сети верифицирует и подтверждает транзакцию.
  • В блокчейне создаётся новый блок для транзакции Амита.
  • Обновлённый блокчейн транслируется всем участникам сети.
  • Перевод завершён.

Теперь мы знаем, что такое блокчейн и как он работает.

Если блокчейн распределён, как обеспечивается его безопасность?

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

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

Приватный ключ: Доступ к этому ключу имеет только его владелец.

Публичный ключ: Каждый имеет доступ к публичным ключам всех других участников сети.

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

Цифровая подпись

Затем я отправляю транзакцию (информация, публичный ключ и цифровая подпись, созданная выше) в сеть на подтверждение.

Транзакция

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

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

Если информация не совпадает, возможны следующие случаи:

  • Исходная информация по пути подверглась манипуляции.
  • Цифровая подпись сгенерирована с помощью приватного ключа, не соответствующего предоставленному публичному ключу

Так сеть способна заметить манипуляцию. Это обеспечивает безопасность блокчейна. Именно так устроен блокчейн. Надеюсь, статья окажется вам полезной!

Источник

1 КОММЕНТАРИЙ

  1. Весьма интересно и познавательно. Сама система блокчейн важнее в разы, чем крипта. Странно, хотя, нет — не странно, что таковую грамотную систему сохранения денежного пути от отправителя до точки результата не внедряют в странах. Оно и понятно: дОяры оголадают….

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here