Если SHA256 и/или RIPEMD-160 будут взломаны, будут ли скомпрометированы все биткойн-адреса?

Если нет, то что еще нужно, чтобы украсть все средства у всех людей и полностью сломать биткойн?

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

Да, я знаю, что иллюстрирую маловероятный сценарий, но я все еще считаю, что мы должны знать, что произойдет.

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

Ответы (2)

Биткойн использует SHA256, за которым следует RIPEMD-160, который я буду называть HASH160.

У хороших хешей есть 4 свойства:

  1. легко вычислить хеш-значение для любого заданного сообщения
  2. невозможно сгенерировать сообщение с заданным хэшем
  3. невозможно изменить сообщение без изменения хэша
  4. невозможно найти два разных сообщения с одинаковым хешем

Источник: Википедия

Нас интересуют свойства 1, 2 и 3. Мы точно знаем, что свойство 1 верно для HASH160 — мы можем его протестировать. Если бы свойства 2 или 3 были ложными, вы могли бы украсть биткойны. Нехорошо.

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

Это текущий сценарий транзакции биткойнов:

 OP_DUP OP_HASH160 09432ab39083b5098b6f09432ab39083b5098b6f OP_EQUALVERIFY OP_CHECKSIG

Вот как это могло бы измениться, если бы HASH160 был сломан:

OP_DUP OP_HASH256 09432ab39083b5098b6f09432ab39083b5098b6f09432ab39083b5098b6f826496 OP_EQUALVERIFY OP_CHECKSIG

Обратите внимание, что мы заменили HASH160 на HASH256. Или, если оба были сломаны:

<pubKey> OP_CHECKSIG

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

Не могли бы вы уточнить, что необходимо для «переключения на другой тип адреса», поскольку пользователи с биткойнами на старом типе адреса должны будут сделать это. Придется ли всем просто создавать новые адреса и перемещать все свои биткойны?
@BT Да. Однако адреса будут намного длиннее.
Понял, круто. Тогда это звучит не так уж и плохо. По крайней мере, не катастрофически.
Чтобы тратить биткойны, вам нужно иметь соответствующий приватный ключ. Биткойн-адрес получается из открытого ключа. Если хэш-функция может быть скомпрометирована в отношении 2. можно раскрыть открытый ключ. Это по-прежнему требует, чтобы криптография на эллиптических кривых развалилась, прежде чем злоумышленник сможет украсть ваши деньги. Атака на 3. вообще не помогает для биткойн-адреса. Наконец, если 4. будет ослаблено, это все равно не поможет, так как вам придется случайным образом генерировать пары ключей, чтобы найти коллизию. Вы уже можете сделать это сейчас, но шансов найти инопланетную жизнь во вселенной больше.

Ответ Ника очень полезен, но его может быть недостаточно, чтобы мы (и Биткойн) были в чистоте. Может возникнуть обоснованная и серьезная озабоченность, основанная на том факте, что не доказано, что функции криптографического хеширования удовлетворяют ограничениям 2 и 3, поэтому они потенциально могут быть слабыми.

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

Если вы знаете эксплойт для SHA-256 и знаете, как получить BTC и другие криптовалюты, альтруистично и благородно опубликовать эксплойт. Эгоцентрично было бы злоупотреблять этим.

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

Если нет, то в основном это сводится к следующему: с большой силой приходит большая ответственность! Все говорят, что с BitCoin доверие не нужно. Это ВСЕ ЕЩЕ сводится к доверию, но теперь верьте, что никто не придумал эту лазейку или что тот, кто это сделал, не ломает систему больше, чем приносит пользу обществу.

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

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