Думал, что я хотел бы поделиться интересной историей в попытке выйти из новичка чистилище.
Если покопаться в алгоритм подписи ECDSA оказывается при генерации ключей вы можете выбрать любой секретный показатель меньше, чем порядок группы при генерации секретного ключа ... но вы не должны выбрать 0.
Так что же происходит, если вы выбираете 0? Если вы выбираете 0 ваш открытый ключ заканчивает тем, что единичный элемент группы, которая имеет нечетный шар SEC представление 00 (HEX), и это дает Bitcoin адрес 1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh ... Я оказываюсь, этот адрес был отправлен 2,08 BTC более 14 операции [1].
Так что я должен спросить ... это математика подпись до сих пор работает в этом случае ... то есть я пытался создать транзакцию, чтобы потратить эти монеты, которые были отправлены в групповой идентичности. Оказывается, вы можете сделать математику работать. Тем не менее, технически подписи проверяющий должен проверить, чтобы убедиться, что открытый ключ подписывающего не единичный элемент в качестве первого шага алгоритма проверки, однако, основная крипто библиотека Bitcoin использования в явном виде не делать этого. Это сказал, чеки добавлены в систему сценариев около года назад [2] cockblock любых попыток провести эти монеты, потому что они длина провер представления открытых ключей ... и единичный элемент имеют нестандартное представление 1 байт.
В качестве доказательства, я просто послал попытку провести одну из этих монет:
http://blockchain.info/tx/e1801a2458252f7d80be5fe82aa73378fccf9efb2f0bb07a153cb66893f2aad9 ... blockchain.info немного смущены этой сделки (и это в конечном счете удалить его из бассейна, потому что она никогда не будет делать это в блоке). Следует также отметить, что разбирает scriptSig ambigiously, поскольку ключ представления общественности 00 (ака OP_FALSE).
[1] https://blockchain.info/address/1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh
[2] https://github.com/bitcoin/bitcoin/commit/58bc86e37fda1aec270bccb3df6c20fbd2a6591c
[3] Этот адрес был упомянут мимоходом в ... по иронии судьбы в то время, мой анализ, кто мог бы на самом деле потратили эти монеты в то время, потому что [2] еще не был реализован.