Anton, a developer on the bitcoinj maiing list, recently made me aware [1] of a compatibility issue between segwit and BIP37 (Bloom Filtering).
The issue affects only P2WPKH and the special case of transactions without change outputs (such as when emptying a wallet). In this case, neither inputs not outputs contain any data elements that would cause a match for the filter. The public key, which would match, goes to the witness but not to the input. My suggestion was to include an OP_RETURN output with a matching public key in such transactions. Anton confirmed that this workaround is indeed working. But of course it nullifies some of the segwit's size improvements. I wonder if Bitcoin Core would be willing to extend the BIP37 matching rules such that data elements in the witness are also matched against? [1] https://groups.google.com/d/msg/bitcoinj/SJpLgjowc1I/V7u2BavvAwAJ _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev