Алгоритмы хеширования SHA-256
Алгоритмы хеширования, применяемые в блокчейне, разрабатывалась для шифрования данных. Первая цифровая валюта Bitcoin использует алгоритм шифрования Secure Hash Algorithm-256.
Алгоритм был создан в 1994 году и обновлялся четыре раза. SHA‑1, SHA‑2, SHA‑3, SHA-256. Цифра 256 означает, что каждый хеш имеет 256 битный код.
Что такое хеш?
Это зашифрованное значение. Любое слово, пропущенное через хеш-функцию становится набором букв и цифр определенной длины, которая называется «хеш».
Слово «Хакнем», пропущенное через функцию хеширования Sha 256, выглядит так:
e269cf574be41db5428803c5e879f2d996628a359d1129d159833e544b98c4d9
Если поменять в слове «Хакнем» букву М на букву Т и слово «Хакнет» пропустить через ту же хеш-функцию, хеш изменится полностью и будет выглядеть так:
176453e3134e2a7d06c97b1a77a725f36539f98f0b9219786ed2118a3f51b21e
Хеш также называют отпечатком или слепком. Но размер хеша не зависит от исходной информации. Если мы проведем через хеш-функцию целое предложение, то длина строки не изменится.
Проведем через хеш-функцию предложение:
“Хакнем — это про жизнь”
Хеш-функция выдает код такой же длины.
15ea57436f1f4198bf71b6c616f54f354103137f5d4a59934bd0d91add10e381
Что такое хеш-функция?
Так называют процесс шифрования. Важным свойством хеш-функций является уникальность хеша. Хеш всегда привязан к одному значению.
Что хешируется в Блокчейне Bitcoin?
- Информация об отправителе, получателе, количество отправляемых монет и дата транзакции.
- Каждый блок в блокчейне имеет уникальный хеш.
Таким образом, каждый блок содержит следующее: информацию об отправителе, получателе, количестве отправляемых монет, дату отправки, свой уникальный хеш и хеш предыдущего блока. Хеш предыдущего блока в новом блоке позволяет создавать сцепку между блоками. Именно это свойство дает блокчейну прослеживаемость, безопасность и надежность.
Если изменить информацию в одном из блоков в блокчейне, то автоматически изменится хеш этого блока, хеш изменяемого блока войдет в информацию следующего блока и так далее по цепочке.
Как работает система безопасности в блокчейне Bitcoin?
Когда подключается новый узел пользователя, в него копируется информация о всех блоках в блокчейне. Перед тем, как добавляется новый блок, блокчейн синхронизируется со всеми узлами, для подтверждения того, что хеш в блоках не менялся. После этого подтверждения присоединяется новый блок. Если поменять информацию в существующем блоке (исправить количество отправленных монет или адрес получателя), то это изменение блокчейн определит как новый блок. Далее начнется сверка с копиями блоков в пользовательских узлах, за которой последует ошибка — в том случае, если данные не совпадут. Чтобы этот блок записался в блокчейн нужно внести изменения во всех пользовательских узлах.
Представим, что вычислительной мощности хватит для изменения данных во всех пользовательских узлах. Так как современные компьютеры способны обрабатывать миллионы хеш в секунду. В этом случае на помощь приходит вторая защитная функция — протокол Proof-of-Work.
Proof-of-Work создает блоки каждые десять минут. Таким образом, чтобы создать изменения в блоке и произвести изменения во всех узлах, потребуются годы.
Читать также:
- Вредоносное ПО: что это такое и какие примеры существуют?
- Правила безопасности в крипте
- Безопасность криптокошелька: не храните пароли на компьютере