Что такое хэширование в Blockchain? Рассмотренные основы

НовичокNov 23, 2023
В данной статье рассматривается фундаментальная роль хеширования в технологии блокчейн - ключевой инновации, играющей центральную роль в поддержании безопасности и надежности криптовалют. Читатели получат представление о доступном, но глубоком мире хеширования - важнейшего криптографического инструмента, который укрепил блокчейн, сделав его надежной платформой для финансовых транзакций.
Что такое хэширование в Blockchain? Рассмотренные основы

Существует множество инноваций, которые способствовали развитию технологии блокчейн, одна из самых важных - хеширование. Но что такое хэширование в блокчейне? Без этого блокчейн был бы небезопасным и совершенно непригодным для использования. С ее помощью они делают криптовалюту безопасной и надежной.

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

Что такое криптография?

Слово криптография происходит от греческого слова kryptos, что означает скрытый. Это изучение и применение методов безопасного общения в условиях враждебной активности. По сути, это акт кодирования сообщений. Современная криптография ориентирована на компьютеры, но берет свое начало в глубокой древности.

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

Подозревая своих гонцов, римский император Юлий Цезарь посылал своим генералам зашифрованные сообщения. Посмертно названный Юлием Цезарем, он популяризировал шифр "Цезарь". Шифр Цезаря также представляет собой простую технику подстановки.

Что такое хеширование?

Хэширование - это одна из форм криптографии. Хэш-функция - это любая функция, которая может сопоставлять данные произвольного размера со значениями фиксированного размера. Значения, возвращаемые хэш-функцией, называются хэш-значениями, хэш-кодами, дайджестами или просто хэшами.

Например, возьмем обычный текст "Hello World". Используя функцию хэширования Ethereum, функцию хэширования Keccak-256, мы преобразуем открытый текст в хэш "592fa743889fc7f92ac2a37bb1f5ba1daf2a5c84741ca0e0061d243a2e6707ba". Соответственно, выходной сигнал напоминает адрес Ethereum.

Люди неосознанно сталкиваются с хэшами в своей повседневной жизни. Вы можете ежедневно сталкиваться с хэшами, используя пароли. Когда Вы создаете учетную запись в каком-либо приложении, провайдер, скорее всего, не сохраняет Ваш пароль; он сохраняет хэш Вашего пароля. Когда Вы входите в свою учетную запись, приложение хэширует введенный Вами пароль и сравнивает его с хэшем, сохраненным в файле.

Свойства криптографических хэш-функций

Проще говоря, не все функции созданы одинаково. Функции хэширования должны удовлетворять определенным требованиям, чтобы работать правильно. Они должны обладать следующими свойствами:

Вычислительная эффективность

Компьютеры должны быть способны быстро возвращать хэш; большинство из них могут обработать хэш-функцию за доли секунды.

Детерминированный

Например, используя функцию хеширования Keccak-256, мы изменим сообщение "Hello World" на "hello World". Это возвращает значение "079813c47d3d4ab9abf0c0747f5b5cdf90e0e264ae09ea44fb2509c559b72ac1". Как Вы можете видеть, наша функция хеширования чувствительна к регистру, что значительно изменяет результат возвращаемого хеша.

Для заданного входного значения каждый раз должно быть получено точное хэш-значение. Вы должны помнить, что хеширование - это способ безопасной передачи сообщения. Если бы это было не так, то Вы могли бы изменить входной сигнал хэша, неизвестно для получателя.

Предварительная устойчивость изображения

Атака по предварительному образу происходит, когда выход хэша известен, а задача состоит в том, чтобы найти некоторый вход. Атака "до образа" на криптографическую хэш-функцию ищет сообщение с определенным хэш-значением. Криптографическая хэш-функция должна быть устойчива к атакам на предварительный образ (набор возможных входов).

Вы не захотите использовать предварительное изображение (т.е. plaintext) в качестве пароля в нашем примере "Hello World". Поскольку открытый текст "Hello World" чрезвычайно прост и его легко установить. Существуют базы данных, в которых хранятся записи об известных входах даже безопасных хэш-функций, таких как SHA-256.

Сопротивление второго предварительного изображения

Ожидаемое свойство криптографической хэш-функции, при котором нахождение второго пре-образа известного дайджеста сообщения вычислительно невозможно.

Устойчивость к столкновениям

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

Поэтому возможно, что более чем одно входное значение производит один и тот же выход. Если сопротивление столкновению недостаточно сильное, столкновения могут быть найдены с помощью "атаки в день рождения". Возможно, Вы заметили, что сопротивление второго предварительного изображения и сопротивление столкновению очень похожи. Будьте уверены, что они раздельные и довольно простые.

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

Атака на день рождения

Это атака, использующая математику, лежащую в основе теории вероятности. Вы, вероятно, слышали о примере с днем рождения; если в комнате 27 человек, то, хотя это и кажется маловероятным, на самом деле существует 50% вероятность того, что у двух человек будет одинаковый день рождения.

Почему это так? Вероятность того, что у одного человека будет "правильный" день рождения, составляет 1/365. Вероятность того, что у второго человека будет такой же день рождения, также равна 1/365. Чтобы найти вероятность того, что у обоих один и тот же день рождения, мы должны перемножить их вероятности. Таким образом, если у Вас 365 различных дней рождения и, следовательно, 365 возможностей, то Вам потребуется квадратный корень из 365, что составляет 23 случайно выбранных человека для 50% вероятности совпадения.

Применяя эту теорию к хешированию, мы понимаем, что технически; ни одна хеш-функция не является бесколлизионной, но для этого должно пройти много времени!

Как хэширование используется в Blockchain?

Общая скорость хэширования Биткойна: Blockchain.com

Биткойн работает на блокчейне и использует алгоритм хэширования 'SHA-256' (Secure Hashing Algorithm 256). В биткойне хэш-функции используются для выполнения трех основных функций:

Майнинг

Майнеры наперегонки решают головоломку; каждый майнер берет информацию из блоков, о которых он уже знает, хэширует их и строит из них блок. Если выходной сигнал алгоритма меньше целевого числа, то он будет считаться правильным и может быть принят остальной частью сети. Затем они получают право создать следующий блок.

Связующие блоки

Для дополнительной безопасности; каждый блок в блокчейне связан с предыдущим. Это достигается с помощью хэш-указателя (переменной, которая хранит адрес другой переменной). По сути, каждый блок содержит результат хэширования предыдущего блока в блокчейне. Это гарантирует, что историю блокчейна можно будет легко отследить, и исключает возможность добавления вредоносного блока.

Создание ключей

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

Важность хэширования

Хеш-функция придает криптовалюте высокий уровень безопасности. Хотя теоретически ничто в Интернете не защищено от взлома; хэш-функция обеспечивает максимальный уровень сложности, доступный в настоящее время.

Отказ от ответственности:

  1. Эта статья воспроизведена с сайта[Beincrypto], авторские права принадлежат автору оригинала [Jessica Lloyd]. Если есть возражения против воспроизведения, пожалуйста, свяжитесь с командой Gate Learn, и команда оперативно обработает их согласно соответствующим процедурам.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют собой только личные взгляды автора и не являются никакими инвестиционными советами.
  3. Версии статьи на другие языки переведены командой Gate Learn. Без упоминания Gate.io не разрешается копировать, распространять или плагиатить переведенные статьи.

Что такое хэширование в Blockchain? Рассмотренные основы

НовичокNov 23, 2023
В данной статье рассматривается фундаментальная роль хеширования в технологии блокчейн - ключевой инновации, играющей центральную роль в поддержании безопасности и надежности криптовалют. Читатели получат представление о доступном, но глубоком мире хеширования - важнейшего криптографического инструмента, который укрепил блокчейн, сделав его надежной платформой для финансовых транзакций.
Что такое хэширование в Blockchain? Рассмотренные основы

Существует множество инноваций, которые способствовали развитию технологии блокчейн, одна из самых важных - хеширование. Но что такое хэширование в блокчейне? Без этого блокчейн был бы небезопасным и совершенно непригодным для использования. С ее помощью они делают криптовалюту безопасной и надежной.

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

Что такое криптография?

Слово криптография происходит от греческого слова kryptos, что означает скрытый. Это изучение и применение методов безопасного общения в условиях враждебной активности. По сути, это акт кодирования сообщений. Современная криптография ориентирована на компьютеры, но берет свое начало в глубокой древности.

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

Подозревая своих гонцов, римский император Юлий Цезарь посылал своим генералам зашифрованные сообщения. Посмертно названный Юлием Цезарем, он популяризировал шифр "Цезарь". Шифр Цезаря также представляет собой простую технику подстановки.

Что такое хеширование?

Хэширование - это одна из форм криптографии. Хэш-функция - это любая функция, которая может сопоставлять данные произвольного размера со значениями фиксированного размера. Значения, возвращаемые хэш-функцией, называются хэш-значениями, хэш-кодами, дайджестами или просто хэшами.

Например, возьмем обычный текст "Hello World". Используя функцию хэширования Ethereum, функцию хэширования Keccak-256, мы преобразуем открытый текст в хэш "592fa743889fc7f92ac2a37bb1f5ba1daf2a5c84741ca0e0061d243a2e6707ba". Соответственно, выходной сигнал напоминает адрес Ethereum.

Люди неосознанно сталкиваются с хэшами в своей повседневной жизни. Вы можете ежедневно сталкиваться с хэшами, используя пароли. Когда Вы создаете учетную запись в каком-либо приложении, провайдер, скорее всего, не сохраняет Ваш пароль; он сохраняет хэш Вашего пароля. Когда Вы входите в свою учетную запись, приложение хэширует введенный Вами пароль и сравнивает его с хэшем, сохраненным в файле.

Свойства криптографических хэш-функций

Проще говоря, не все функции созданы одинаково. Функции хэширования должны удовлетворять определенным требованиям, чтобы работать правильно. Они должны обладать следующими свойствами:

Вычислительная эффективность

Компьютеры должны быть способны быстро возвращать хэш; большинство из них могут обработать хэш-функцию за доли секунды.

Детерминированный

Например, используя функцию хеширования Keccak-256, мы изменим сообщение "Hello World" на "hello World". Это возвращает значение "079813c47d3d4ab9abf0c0747f5b5cdf90e0e264ae09ea44fb2509c559b72ac1". Как Вы можете видеть, наша функция хеширования чувствительна к регистру, что значительно изменяет результат возвращаемого хеша.

Для заданного входного значения каждый раз должно быть получено точное хэш-значение. Вы должны помнить, что хеширование - это способ безопасной передачи сообщения. Если бы это было не так, то Вы могли бы изменить входной сигнал хэша, неизвестно для получателя.

Предварительная устойчивость изображения

Атака по предварительному образу происходит, когда выход хэша известен, а задача состоит в том, чтобы найти некоторый вход. Атака "до образа" на криптографическую хэш-функцию ищет сообщение с определенным хэш-значением. Криптографическая хэш-функция должна быть устойчива к атакам на предварительный образ (набор возможных входов).

Вы не захотите использовать предварительное изображение (т.е. plaintext) в качестве пароля в нашем примере "Hello World". Поскольку открытый текст "Hello World" чрезвычайно прост и его легко установить. Существуют базы данных, в которых хранятся записи об известных входах даже безопасных хэш-функций, таких как SHA-256.

Сопротивление второго предварительного изображения

Ожидаемое свойство криптографической хэш-функции, при котором нахождение второго пре-образа известного дайджеста сообщения вычислительно невозможно.

Устойчивость к столкновениям

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

Поэтому возможно, что более чем одно входное значение производит один и тот же выход. Если сопротивление столкновению недостаточно сильное, столкновения могут быть найдены с помощью "атаки в день рождения". Возможно, Вы заметили, что сопротивление второго предварительного изображения и сопротивление столкновению очень похожи. Будьте уверены, что они раздельные и довольно простые.

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

Атака на день рождения

Это атака, использующая математику, лежащую в основе теории вероятности. Вы, вероятно, слышали о примере с днем рождения; если в комнате 27 человек, то, хотя это и кажется маловероятным, на самом деле существует 50% вероятность того, что у двух человек будет одинаковый день рождения.

Почему это так? Вероятность того, что у одного человека будет "правильный" день рождения, составляет 1/365. Вероятность того, что у второго человека будет такой же день рождения, также равна 1/365. Чтобы найти вероятность того, что у обоих один и тот же день рождения, мы должны перемножить их вероятности. Таким образом, если у Вас 365 различных дней рождения и, следовательно, 365 возможностей, то Вам потребуется квадратный корень из 365, что составляет 23 случайно выбранных человека для 50% вероятности совпадения.

Применяя эту теорию к хешированию, мы понимаем, что технически; ни одна хеш-функция не является бесколлизионной, но для этого должно пройти много времени!

Как хэширование используется в Blockchain?

Общая скорость хэширования Биткойна: Blockchain.com

Биткойн работает на блокчейне и использует алгоритм хэширования 'SHA-256' (Secure Hashing Algorithm 256). В биткойне хэш-функции используются для выполнения трех основных функций:

Майнинг

Майнеры наперегонки решают головоломку; каждый майнер берет информацию из блоков, о которых он уже знает, хэширует их и строит из них блок. Если выходной сигнал алгоритма меньше целевого числа, то он будет считаться правильным и может быть принят остальной частью сети. Затем они получают право создать следующий блок.

Связующие блоки

Для дополнительной безопасности; каждый блок в блокчейне связан с предыдущим. Это достигается с помощью хэш-указателя (переменной, которая хранит адрес другой переменной). По сути, каждый блок содержит результат хэширования предыдущего блока в блокчейне. Это гарантирует, что историю блокчейна можно будет легко отследить, и исключает возможность добавления вредоносного блока.

Создание ключей

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

Важность хэширования

Хеш-функция придает криптовалюте высокий уровень безопасности. Хотя теоретически ничто в Интернете не защищено от взлома; хэш-функция обеспечивает максимальный уровень сложности, доступный в настоящее время.

Отказ от ответственности:

  1. Эта статья воспроизведена с сайта[Beincrypto], авторские права принадлежат автору оригинала [Jessica Lloyd]. Если есть возражения против воспроизведения, пожалуйста, свяжитесь с командой Gate Learn, и команда оперативно обработает их согласно соответствующим процедурам.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют собой только личные взгляды автора и не являются никакими инвестиционными советами.
  3. Версии статьи на другие языки переведены командой Gate Learn. Без упоминания Gate.io не разрешается копировать, распространять или плагиатить переведенные статьи.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!