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

HashFlare

ComputerUniverse Введи промокод FW7FRUX при покупке и получи скидку 5 евро

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

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

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

Блокчейн

Да, блокчейн = 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). Существует много способов хранения блоков.

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

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

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

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

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

Реестр

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Транзакция

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

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

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

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

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

Источник

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