I think the boundary between libsecp256k1 and Bitcoin Core is pretty clear: everything that involves operations on private or public keys is in libsecp256k1.
Of course, in theory, anything can be anywhere, but I don't think there is much leeway here. In fact, I think recently the intention has been to go the other way, and expand slightly what is in libsecp256k1. In particular, there are currently key-tweak operations in libsecp256k1 (both on private and public keys), but things like the actual BIP32 derivation logic (including hashing etc.) and the taproot key tweaking and verification thereof are in Bitcoin Core, building on libsecp256k1's tweaking API. I think that at some point we'd like to have BIP32 and Taproot-specific APIs in libsecp256k1 instead, as we aim to have APIs there that are high-level and hard to misuse.
Of course, libsecp256k1 isn't just used by Bitcoin Core, so even if there was a desire to go the other way (and move some logic to Bitcoin Core), we wouldn't necessarily be able to do that, as there may be other users of the library that could be depending on said hypothetical functionality.
You can get bonuses upto $100 FREE BONUS when you:
π° Install these recommended apps:
π² SocialGood - 100% Crypto Back on Everyday Shopping
π² xPortal - The DeFi For The Next Billion
π² CryptoTab Browser - Lightweight, fast, and ready to mine!
π° Register on these recommended exchanges:
π‘ Binanceπ‘ Bitfinexπ‘ Bitmartπ‘ Bittrexπ‘ Bitget
π‘ CoinExπ‘ Crypto.comπ‘ Gate.ioπ‘ Huobiπ‘ Kucoin.
Comments