Если меня не то недоразумение о seralization, с оплатой труда сценария хэша, создать адрес, который является хэш-сценария, и утверждают, что вы должны предоставить сценарий и входы, чтобы сделать его выполнить, чтобы верно.
Повторяющаяся узор в кроссе-цепи атомов свопов (litecoin для Bitcoin) и атомных цветными свопов монет или справедливой броском монеты / честной рулетку, и т.д. CoinSwap нравится это использование "SIG (А) и SIG (В) и Y = H (х)" где одна стороны с-х имеет место и другая сторона строит соответствующую сделку, что он может увидеть, будет начислен как следствие контрагента тратит первую сделку, потому что оба сделок полагаются на знание х.
Одним из примеров является (чтобы увидеть, что я имею в виду два этапа, этот протокол был на Идо и оптимизирован сам, я думаю, что у = Н (х) идиома используется в нескольких более ранних протоколов также):
Проблема заключается в хэш-выход подход только обеспечить до атаки по случаю дня рождения, который является общим перебором О конструкции мишени (2 ^ 80) атаки, не Bitcoins O (2 ^ 128).
Позволяет вызвать Bitcoin адреса хэш-AH (г) = ripemd160 (SHA256 (Q)), где Q представляет собой открытый ключ, или в более общем случае скрипт Bitcoin.
Это потому, что я могу использовать нападение на день рождения для поиска строк с ="SIG (А) и Y = H (х)" и S'="SIG (В)" таким образом, что АГ (ы) == АХ (с). Это может быть сделано в работе O (2 ^ 80) (и массивном хранение), или различной компромиссное время памяти с более низким уровнем хранения и дополнительной работой.
Звучит дорого, но Bitcoin сейчас делает O (2 ^ 62) через каждые 10 минут или около O (2 ^ 78) в год. Может быть, через несколько лет Bitcoin будет делать O (2 ^ 80) через каждые 10 минут и 14nm сверхплотных энергоэффективные ASIC шахтеров заполнят стойки датацентров.
Также стоит подумать о том, что есть O (2 ^ 64) нападения на день рождения SHA1, и ни один не, вероятно, пытался найти аналогичные нападения на ripemd160, но это не доказательство того, что ripemd160 иммунитет. Но обратите внимание на атаках SHA1 дня рождения нужны мульти-хэш-блоки входы, а внутренний выход SHA256 подходит во входном блоке один SHA1; и нападение SHA1 рождения работа, выбирая и рулевые биты; Выход SHA256 один-блок и случайным образом и расстраивает, что. Реально, учитывая ограничения, поэтому даже SHA1 (SHA256 (г)) для этой цели, вероятно, сохраняет O (2 ^ 80), прочность на день рождения. Проектирование хэши невосприимчивыми к этому классу атак мульти-блок рулевого управления является то, что конкуренция SHA-3 NIST о ...
Адам