Commit Activity For Thu, Nov 01

Notable issues and merges on Bitcoin Core, LND, c-lightning and libsecp256k1

Originally published by BitcoinOptech on newsletter #19

Bitcoin Core #14451

Allows optionally building Bitcoin-Qt without support for the BIP70 payment protocol and adds a deprecation warning indicating the default support may be removed in a future release. The CEO of BitPay, which is the largest user of BIP70 (but which wants to use a different version of the protocol), indicated that they supported Bitcoin Core removing BIP70. Developers seem to be in favor of removing the protocol for security reasons and because it’s seeing declining use. The BIP70 dependency on OpenSSL resulted in the emergency release of Bitcoin Core 0.9.1 in 2014 as a result of the heartbleed vulnerability, and it is expected that removing it will eliminate the risk of future similar vulnerabilities.

Bitcoin Core #14296

Removes the deprecated addwitnessaddress RPC. This RPC was added in version 0.13.0 to enable testing segwit on regtest and testnet before it was activated on mainnet and built into the wallet. Since version 0.16.0, Bitcoin Core’s wallet has supported getting addresses directly using the regular getnewaddress mechanism.

Bitcoin Core #14468

Deprecates the generate RPC. This method generates new blocks in regtest mode but it requires getting new addresses from Bitcoin Core’s built-in wallet in order to pay them the mining block reward. A replacement method, generatetoaddress was introduced in version 0.13.0, which allows any regtest wallet to generate an address that will be paid the block reward. This is part of an ongoing effort to allow as many RPCs as possible to function without the wallet in order to improve test coverage of non-wallet nodes as well as to ease a future possible transition to fully separating the wallet from the node.

Bitcoin Core #14150

Adds key origin support to output script descriptors. Besides allowing you to pass an additional argument to the scantxoutset RPC, this doesn’t currently add any features to Bitcoin Core—but it will enable using key origin with BIP174 PSBTs and watch-only wallets when those parts of the software have been updated to use descriptors. See Newsletters #5, #7, #9, #12, and #17 for previous discussion of output script descriptors. Key origin support makes it possible to use extended pubkeys that have been exported from an HD wallet that uses BIP32 hardened derivation for protecting ancestor private keys, which helps make output script descriptors compatible with most hardware wallets.

LND #1981

Ensures that LND doesn’t leak information about any of its peers that aren’t advertising themselves as public nodes.

LND #1535 and #1512

Adds the server-side communication protocol for watchtowers along with many tests verifying its proper operation. Correct use of the LN protocol requires regular monitoring of which transactions get added to the block chain, so watchtowers are servers designed to help defend the payment channels of users who expect to be offline for an extended period of time. As such, watchtowers are considered to be a key feature for enabling wider adoption of LN by less advanced users. However, a standard specification for watchtowers has not been agreed upon by the multiple implementations of LN, so LND is only putting this feature out for initial testing and is restricting its use to testnet.