Post
Topic
Board Новички
Re: Статус: в противоречии
by
amaclin
on 05/10/2015, 13:50:30 UTC
А можно подробности про этот стресс тест. Англоязычные пользователи активно про него пишут, а в русском сегменте тишина.
Было бы классно, если кто-нибудь по полочкам разложил что это и к чему может привести.

Ну давайте, я в порядке ликбеза объясню.
Чтобы транзакция была валидной, она подписывается приватным ключом.
Получается некоторая сигнатура. По русски - сигнатура - это подпись.
Ну как подпись под документом, о том что документ вами заверен.

Сигнатура в ECDSA - это по сути дела два 256-битных числа. Просто два очень больших числа.
Для удобства эти числа называют R и S
Если изменить хоть один битик в этих числах - то подпись становится неправильной. (Это не совсем так, но можете считать что это так)
Вот.
Но есть одно простое изменение, которое не делает сигнатуру невалидной.
Очень простое. Вместо S надо подставить -S

Берем транзакцию, которая пишла к нам от одного из наших соседей.
Меняем в ней S на минус S
И остальным соседям отправляем не оригинал, а измененную транзакцию.

Ну и получаем вой и вопли. У кого-то деньги не дошли, а к кому-то два раза пришли.

Леонид Соловьёв, «Возмутитель спокойствия»/«Повесть о Ходже Насреддине», 1940
Quote
Удивительно, что может натворить в большом городе один маленький ишак, если к нему привязать барабан!