There has been a BIP (
https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki) made regarding a generic message signing format. Such a format would be able to be used for segwit, non-segwit, and any future changes. It is still being actively discussed however, so it probably won't go into Core or any other wallet software anytime soon.
Purpose: ProveFunds
The "ProveFunds" purpose generates a sighash and a scriptPubKey from a transaction, an output index, and a message. For multiple simultaneous proofs, it also requires access to the ordered list of proofs. It emits a VALID verification result code unless otherwise stated.
Let txid be the transaction ID of the transaction, and vout be the output index corresponding to the index of the output being spent
Return INVALID if the txid:vout pair already exists in `inputs` set, otherwise insert it
Return SPENT if the txid/vout is not a valid UTXO according to a Bitcoin node[3]
Extract scriptPubKey from transaction output
Define the message pre-image as the concatenation of the following components:[4]
the string "POF:"
the message, encoded in UTF-8 using Normalization Form Compatibility Decomposition (NFKD), including the null terminating character (i.e. write strlen(message) + 1 bytes, for a C string)
all transactions being proven for, as binary txid (little endian uint256) followed by index (little endian uint32), each separated by a single `0x00` byte
Let sighash = sha256(sha256(scriptPubKey || pre-image)
Would this function be for exchanges and large funds? I found it rather confusing. Could it serve to prove the funds that my account in the exchange says to have?
Would it be useful in a possible negotiation where I could prove that gathered several wallets, I would have funds to buy certain asset without the need to show all my public addresses?