With a legacy
verifymessage can be used to verify that the other party actually controls the bitcoin address in question. However,
P2WSH addresses throw an error for
signmessage, and we don't know when or if this will be made to work. So, another procedure is necessary if we want to accomplish the same thing with segwit.
As a work-around, I could have the owner of the segwit address send 1 satoshi to a verification address that I create in my wallet just for them. But that's a hassle and it's off-putting to them. And what if they want their satoshi back? =D; that would be a hassle.
Is there a way to accomplish the same proof of ownership without them having to send me coin?
I prefer an answer using the json rpc on my end (But failing that, I also have access to bitwasp, and failing that, I'm open to anything that runs in php), and the easiest (manual) procedure on their end. These are non-technical ordinary users. I might be able to nudge them into using a particular wallet if that wallet has a feature which will allow them to implement the idea in a better work-around.
I didn't tag this with
json-rpc because I don't know what technology the answer will come from.