Published on: 2018-04-15T18:37:45+00:00
A recent discussion on the Bitcoin-dev mailing list focused on the use of outpoints in filters for standard transactions. Jim Posen suggested including the wallet's owned outpoints in the filter instead of elements in the input script or witness data. However, Christian Decker raised concerns about privacy leaks and the potential for detailed clusters. He also noted that bloom filters are not ideal for privacy. Jonas Schnelli agreed that the current method could be improved and proposed inserting witness data into the bloom filter. A pull request would be needed for any changes to be implemented.Another discussion on the bitcoin-dev mailing list involved Christian Decker expressing privacy concerns about the BIP 158 implementation. He mentioned a possible privacy leak identified by Jonas Nick, where address clusters were discovered through bloom filters. However, Decker acknowledged that bloom filters are not effective for privacy anyway. Jim Posen suggested adding the wallet's owned outpoints to the filter as an alternative to input script or witness data. Jonas Schnelli proposed extending BIP37 and inserting witness data into the bloom filter. The conversation continued on the mailing list.In a separate thread, Andreas Brekken raised the issue of privacy leaks when using bloom filters to identify address clusters. Jonas Schnelli suggested extending BIP37 to match witness data against the filter. Jim Posen proposed including the wallet's owned outpoints in the filter. It was noted that bloom filters are not suitable for privacy, so this concern may not be significant. Bitcoin Core cannot reject or extend features, so a proposal in the form of a pull request is needed.Anton, a developer on the bitcoinj mailing list, highlighted a compatibility issue between SegWit and BIP37. This issue only affects P2WPKH and transactions without change outputs. In such cases, there are no data elements in the inputs or outputs that would match the filter. Anton suggested using an OP_RETURN output with a matching public key as a workaround. Bitcoin Core was asked to extend the BIP37 matching rules to include data elements in the witness. Bitcoin Knots currently supports the MSG_FILTERED_WITNESS_BLOCK extension, but light clients cannot verify the correctness of witness data. It was suggested to look for specific COutPoints for matching, which should already work with standard BIP37. The plan is to deprecate and remove BIP37 once BIP158 is implemented.On April 13th, 2018, Jonas Schnelli responded to Andreas Schildbach's suggestion about the suboptimal matching of data elements and owned outpoints in Bitcoin Core. Jonas proposed inserting witness data into the bloom filter as an easy solution instead of creating an extension for BIP37. He also clarified that Bitcoin Core does not have the authority to decide on features, and proposals need to be presented through pull requests. This conversation took place on the bitcoin-dev mailing list.Andreas suggested extending the BIP37 matching rules for Bitcoin Core to include witness data elements, but Jonas explained that Bitcoin Core cannot make decisions on extending or rejecting features. He recommended submitting a pull request and mentioned inserting witness data into the bloom filter as a potential solution. The discussion appears to be centered around optimizing Bitcoin Core's functionality.Anton, from the bitcoinj mailing list, brought up a compatibility issue between segwit and BIP37 regarding P2WPKH and transactions without change outputs. In these cases, there are no data elements in the inputs or outputs that would match the filter. To address this, it was suggested to include an OP_RETURN output with a matching public key. Anton confirmed that this workaround is effective, although it nullifies some of the size improvements of segwit. There is a question of whether Bitcoin Core would be open to extending the BIP37 matching rules to include data elements in the witness.
Updated on: 2023-08-01T22:53:14.904926+00:00