bitcoin-core / secp256k1

Optimized C library for EC operations on curve secp256k1
MIT License
2.08k stars 1.01k forks source link

Enable module recovery by default #519

Closed MavenRain closed 6 years ago

MavenRain commented 6 years ago

This is required for building libbitcoin independently, but is currently disabled by default. Turning this default on will provide a better customer experience for developers attempting to quickly building their bitcoin development environment.

BernardoDeLaPlaz commented 6 years ago

Agreed. This would be a good change.

apoelstra commented 6 years ago

Closing this. People should not use recoverable signatures in basically any application -- their patent story is questionable and they cannot be batch-validated.

dcousens commented 6 years ago

@apoelstra doesn't bitcoind use it?

apoelstra commented 6 years ago

Yes, but only for historical reasons, in the signmessage API which will be replaced by BIP322 or something similar.

apoelstra commented 6 years ago

I understand that it may be necessary for Bitcoin-related projects such as libbitcoin. However we still want to ensure that people using the module know they are using something odd.

dcousens commented 6 years ago

Maybe note that in the README?

dcousens commented 6 years ago

@evoskuil what is your thoughts around this?

dcousens commented 6 years ago

@apoelstra after a quick search, this doesn't seem to be a new thought https://bitcointalk.org/index.php?topic=940436.msg10306479#msg10306479 https://bitcoin.stackexchange.com/questions/75322/why-do-we-need-public-key-as-part-of-witness-in-p2wpkh-transactions

Has anyone determined if it is actually a problem? It seems to be guesses at this point.

@laanwj what about bitcoind? Is it non-issue if the wallet support isn't compiled in?

Why not simply remove it?

evoskuil commented 6 years ago

Libbitcoin uses it to implement the message signing “standard” as an API and command line utility in bx. It doesn’t matter to us whether it’s enabled by default or otherwise - if it remains conditional we have to deal with it missing. More significantly we’ve always had to deal with lack of versioning on the library itself.

dcousens commented 6 years ago

@evoskuil what about the patent story?

evoskuil commented 6 years ago

no opinion