Не взломают ли майнеры ASIC в конечном итоге шифрование SHA-256?

Я могу быть озадачен тем, как работает Биткойн, но, насколько я могу судить, майнеры ASIC с каждым годом становятся все лучше и быстрее при взломе шифрования SHA-256. Не приведет ли это к полному устареванию шифрования SHA-256 гораздо быстрее, чем предполагалось ранее?

Почему они? Они всего в миллиард раз быстрее, чем через процессор.
Краткий ответ: число 2^256 намного больше, чем вы думаете.
В качестве забавного упражнения в арифметике: посмотрите текущую скорость хеширования всей сети Биткойн. Умножьте это на триллион триллионов триллионов. Рассчитайте с такой скоростью, сколько времени потребуется для выполнения 2 ^ 255 хэшей, что вам потребуется для перебора одного хэша SHA256. Найдите продолжительность жизни во вселенной и сравните.
(Обратите внимание, что SHA-256 — это не алгоритм шифрования, а криптографическая хэш-функция . Важно не путать их.)
Вопрос ошибочен, поскольку вопрос о взломе шифрования не в том, о чем этот вопрос. Это должно быть о создании хеш-коллизии.

Ответы (4)

Другой способ посмотреть на это — взглянуть на последний блок, который был намайнен, например, блок 388368. Глядя на этот блок на blockchain.info , вы можете увидеть, что хэш для этого блока:

0000000000000000021ff110a589e44f56979254a204557311204f803910fdfa

Всем майнерам потребовалось примерно 10 минут (в сумме производивших 700 000 000 гигахэшей в секунду), чтобы найти указанный выше хеш, в котором достаточно начальных нулей (17), чтобы удовлетворить требования сети к сложности на тот момент. Поскольку оставшиеся цифры после первых 17 начальных нулей могли быть любыми, можно было найти 16^47 (т.е. 16^(64-17)) возможных хэшей, которые удовлетворяли бы требованию сложности (которое составляет 3,92 * 10^). 56), однако allмощности майнинга всей сети биткойнов потребовалось около 10 минут, чтобы найти хотя бы один хэш, соответствующий требованиям.

Чтобы взломать хэш, вам нужны не только первые 17 цифр, совпадающие с данным хешем, но и все 64 цифры. Таким образом, экстраполируя вышеизложенное, потребуется 10 * 3,92 * 10 ^ 56 минут, чтобы взломать хэш SHA256, используя всю мощность майнинга всей сети биткойнов. Это долго.

Посмотрите на это по-другому. Вероятность выигрыша в лотерее 6-49 составляет 1 дюйм (49 x 48 x 47 x 46 x 45 x 44), что составляет примерно 1 шанс на 10 000 000 000. Если 20 миллионов игроков играют два раза в неделю, и каждый игрок играет в среднем 10 номера в каждом розыгрыше, то каждый год должно быть только 2 победителя.
@ mti2935, если я не ошибаюсь, вы говорите следующее: учитывая конкретный хэш и текущий хешрейт сети, потребуется неоправданно много времени - 10 * 3,92 * 10^56 минут - чтобы найти блок, который удовлетворял бы этому хешу. Таким образом, «нет». ?
Имейте в виду, что возраст Вселенной составляет всего около 7,2 * 10 ^ 15 минут.

TL;DR: Нет, но если бы хэши были собраны, можно было бы лучше сказать, нарушен ли алгоритм SHA256^2.

Если можно найти способ получить желаемые результаты из определенных входных данных, то алгоритм хеширования считается «сломанным». Известно, что таким образом ломаются и MD5, и SHA1. Теоретически, запуск алгоритма снова и снова с набором случайных входных данных (что именно представляет собой майнинг) может дать представление о шаблонах, создаваемых алгоритмом, тем самым позволяя доказать, не работает ли он. Однако это понимание может быть получено только путем статистического анализа собранных данных, а поскольку большая часть данных выбрасывается — из триллионов хэшей в секунду записываются только те, которые соответствуют разумным блокам — это невозможно.

Еще одна тонкость: поскольку рассматриваемый алгоритм — это именно SHA256, примененный дважды, а не просто SHA256, даже если данные были собраны и проанализированы, он может ничего не сказать нам напрямую о SHA256.

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

Я понимаю. 2^255 действительно невероятно большое число. Мало того, что SHA-256 не является алгоритмом шифрования, это криптографическая хэш-функция, поэтому мой вопрос был немного ошибочным с самого начала, но количество времени, которое потребуется для грубой силы одного хэша SHA256, (в настоящее время) много слишком долго даже для самых продвинутых ASIC-майнеров, доступных сегодня. Для перебора одного хэша SHA256 нам потребуются майнеры ASIC, которые в триллион триллионов триллионов раз быстрее, чем скорость хеширования всей сети биткойнов.

Если вы выполните упражнение, которое я предложил выше, даже если ваши майнеры будут в триллион триллионов триллионов раз быстрее, чем текущая сеть, перебор SHA256 все равно займет у вас 7 1430540814238958387154 лет. Ожидается, что Солнце погаснет примерно через 5000000000 лет.
Нейт, я полностью понимаю вашу точку зрения, хотя технология майнинга биткойнов постоянно совершенствуется, у нас, вероятно, не будет ничего достаточно мощного, чтобы взломать SHA256 в течение очень долгого времени.

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

Как сказал OP, sha256 — это криптографическая хэш-функция. Таким образом, там нет ничего о требовании закрытого ключа для генерации sha256. Попробуйте сгенерировать sha256 самостоятельно и обратите внимание, что не требуется ничего, кроме входной строки: passwordsgenerator.net/sha256-hash-generator .