[+cc Jonas Schnelli, as I discussed this topic with him last year.] Hmmm, indeed that sounds bad. I totally overlooked this case. Seems like BIP37 needs to be amended to include the witness in filter matching. However, on nodes that prune the witnesses this won't work either.
P2WPKH-P2SH doesn't seem to have this problem, as it contains the 20-byte key hash in its scriptSig. Of course as a workaround you could make sure there is always a change back to you. Maybe to not waste coins/UTXOs create an OP_RETURN containing one of the pubkeys? I wonder if the new client-side filtering (BIP157) has the same problem? On 04/09/2018 05:51 PM, Anton wrote: > I'm currently experimenting with making a native segwit wallet here: > https://github.com/btcontract/bitcoinj by merging current master with > segwit address support and a > https://github.com/bitcoinj/bitcoinj/tree/segwit branch. > I've got to a point where wallet can receive and send transactions but > have stumbled into an issue which may become relevant once bitcoinj > master starts supporting native segwit wallets. > > The issue is that once a transaction without change (the one which > empties a wallet) is sent out it won't be seen by wallet again after > blockchain rescan or restoring from seed. > > As far as I understand the issue is two-fold: > 1. tx scriptSig is empty and does not contain a relevant `pubKey` (it's > located in a witness). > 2. none of tx outputs contain `pubKeyHash`es relevant to a wallet. > > Any thoughts if my understanding is correct and what can be done about it? > > -- > You received this message because you are subscribed to the Google > Groups "bitcoinj" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to bitcoinj+unsubscr...@googlegroups.com > <mailto:bitcoinj+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "bitcoinj" group. To unsubscribe from this group and stop receiving emails from it, send an email to bitcoinj+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.