Блокчейн (2 часть)

HIGHWAY
3 min readDec 8, 2022

--

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

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

Также, как и в прошлый раз, разберем все на примере блокчейна Биткоина. На рисунке ниже изображены 6 этапов совершения транзакции:

Картинка из общедоступного источника

1. Максим отправляет 1 BTC Ивану.
Все новые транзакции попадают во временное хранилище mempool (от англ. Memory Pool — пул памяти).

2. Транзакции из mempool передаются в сеть и собираются в “блок”. Все транзакции, которые находятся в блоке образуют хеш этого блока.

Хеш (от англ. Hash — «превращать в фарш», «мешанина») — преобразование любых входных данных произвольной длины в выходную строку установленной длины, выполняемое определенным алгоритмом.
Для блокчейна Биткоина используется алгоритм SHA-256.

Другими словами, любой набор транзакций (Максим отправил Ивану 1 BTC, Олег отправил Даниилу 2 BTC) превращается в хеш этого блока: 572a1704c27aaf2d1f8c2db92477b01a4cd24ab37c43c432aefcf3a8c2043064
Стоит изменить хотя бы 1 символ (например, 1 BTC который отправляет Иван, изменим на 2 BTC, меняется всего лишь 1 цифра) хеш блока изменится до неузнаваемости: 3ffd78ce28df13ab8e4057fdfdfbbf48896daf39fcafeb0c86dcfcc2afd100cd
Помимо своего хеша, каждый блок содержит еще хеш предыдущего блока, т.е. блоки связаны между собой. В случае внесения любого изменения в транзакцию в одном из блоков, это повлечет за собой каскадное изменение хеш значений всех последующих блоков.

Особенности хеширования (SHA-256)
1. Зная хеш значение, практические невозможно узнать вводные данные (которые были хешированы).
2. Хешируя одни и те же вводные данные будет получаться один и тот же хеш результат.
3. Стоит изменить хотя бы один символ и хеш результат станет совершенно иными.
4. Длина хеш значения всегда 64 символа.

3. Участники сети (майнеры) решают сложную задачу, кто первый справился с задачей отправляет ее на проверку всем остальным участникам сети. Задача заключается в нахождении случайного значения nonce (от англ. number that can only be used once — число, которое может быть использовано лишь однажды), который добавляется к хешу блока и снова считается хеш. Полученный хеш сравнивается с заданным значением Target (целевое значение). Если новый хеш меньше значения Target, задача считается решенной, а Майнер получает вознаграждение.

По факту майнеры случайным образом перебирают огромное количество значений для поиска “nonce”, удовлетворяющее условиям задачи (Target значения).

4. В случае, если все участники подтверждают данное решение, новый блок считается подтвержденным. Благодаря работе большого количества независимых участников (майнеров) поддерживается принцип децентрализации сети. Скорость подтверждения блоков примерно 10 минут. Данное условие соблюдается динамическим изменением сложности задачи (сложность майнинга). Чем больше майнеров в сети участвуют в поиске nonce, тем сложнее задача.

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

6. Транзакция завершена.
1 BTC успешно переведен от Максима к Ивану.

Рассказываем про #криптовалюты #trade #DEX/DeFi #NFT/P2E #Testnet/Retrodrop #IDO/ICO/IEO/SHO
Наш ТГ канал https://t.me/highway_ru

--

--

HIGHWAY

Рассказываем о всех трендах крипто рынка просто и доступно каждому #trade #DEX/DeFi #NFT/P2E #Testnet #ICO/IEO/IDO/SHO Наш ТГ канал https://t.me/highway_ru