Глава 3 - пройдено 0 из 10 тестов
Хеш (hash): цифровой отпечаток
Криптографический хеш (hash) — это односторонняя функция, которая делает подделку данных заметной и делает возможным доказательство выполнения работы.
- Объяснить, как работает криптографический хеш и почему важен лавинный эффект
- Описать, как Merkle root связывает блок со всеми его транзакциями
Краткие ответы
Что такое хеш в биткоине (Bitcoin)?
Односторонний цифровой отпечаток данных: его легко вычислить, практически невозможно обратить вспять, а любое изменение данных дает совершенно другой хеш.
Что такое Merkle root?
Единый хеш, который связывает блок с каждой входящей в него транзакцией, поэтому изменение любой транзакции меняет и сам корень.
Почему в системе биткоин (Bitcoin) нельзя изменить историю?
Заголовок каждого блока фиксирует связь с предыдущим блоком, поэтому изменение старого блока требует заново проделать работу, необходимую для создания этого и каждого последующего блока.
Односторонние цифровые отпечатки
Криптографический хеш (hash) создаётся хеш-функцией, которая принимает любые входные данные — слово, изображение, целую энциклопедию — и возвращает дайджест фиксированного размера. Этот процесс односторонний: вы можете проверить, что входные данные дают этот дайджест, но на практике вы не сможете восстановить исходные данные по дайджесту. В системе биткоин (Bitcoin) используется алгоритм SHA-256, который возвращает 256 бит, обычно записываемых как 64 шестнадцатеричных символа. Для получения хеша блока и идентификатора транзакции он применяется дважды (SHA-256d).
Лавинный эффект
Хорошая хеш-функция обладает высокой чувствительностью. Измените одну запятую в документе на 500 страниц — и дайджест изменится полностью. Это называется лавинным эффектом. Именно поэтому хеши полезны как криптографические обязательства: дайджест фиксирует точные байты, и любое последующее изменение становится очевидным.
Merkle root
Транзакции в блоке не хешируются для заголовка по отдельности. Сначала попарно хешируются идентификаторы транзакций, затем объединяются в пары полученные результаты, и это повторяется, пока не останется один хеш: Merkle root. Заголовок блока содержит версию, этот корень, хеш предыдущего блока, время, целевую сложность и nonce. Если изменить любую транзакцию, изменится и Merkle root, что приведёт к изменению хеша заголовка, нарушит связь с последующими блоками и обесценит выполненную для них работу.
История с защитой от незаметных изменений
Заголовок каждого блока включает хеш предыдущего заголовка. Чтобы переписать старую транзакцию, злоумышленнику пришлось бы заново проделать работу, необходимую для создания этого и каждого последующего блока, причём быстрее честной сети. Цепочка хешей позволяет легко проверять историю, но делает её переписывание затратным. Узлы отвергают недействительные блоки, но следуют за действительной конкурирующей цепочкой, для построения которой выполнено больше работы. Узел не может отвергнуть действительную цепочку, для построения которой выполнено больше работы, только потому, что её построил злоумышленник.
Попробуйте сами
Главные выводы
Хеши — это односторонние криптографические обязательства. Merkle root связывает блок со всеми его транзакциями, а каждый заголовок фиксирует предыдущий блок, поэтому для изменения истории требуется заново выполнить всю последующую работу.
Вспомните и примените
Измените один символ в демонстрации. Что изменится и чего хеш не доказывает?
Проверьте своё объяснение
Дайджест существенно меняется. Совпадение дайджеста подтверждает целостность данных, но не доказывает, что данные соответствуют действительности или их использование было разрешено. Для авторизации нужны подписи.
Проверка знаний
Ключевые термины
Источники
- Satoshi Nakamoto, официальный документ (whitepaper) биткоина
- Руководство разработчика биткоина: транзакции и скрипты
Проверено 25 октября 2026 г. · не является финансовой рекомендацией