ECC Signature Issue



Summary:

Mike Hearn and Robert discuss Bitcoinj's implementation of signature verification for Bitcoin transactions. Mike mentions that the official (C++) client was successful in verifying a transaction, while Bitcoinj seems to fail to verify it, indicating that there may be an issue with BouncyCastle, which both implementations use. However, Robert points out that Bitcoinj does not actually verify signatures since it is an SPV implementation. He proceeds to test the mentioned transaction's signature using hardwired code along with data obtained from debugging the official client. Robert notes that all transactions prior to the mentioned one work, so the data and test code are likely correct. Despite using an old version of bitcoinj (version 0.3), Robert doubts it would impact ECC verification. He requests someone else try running verification independently with the mentioned transaction using BouncyCastle and openssl to see if they get the same result. Robert tried with both BouncyCastle 140 and the newest 1.46, but both failed.


Updated on: 2023-06-05T01:52:21.860783+00:00