This PR is an attempt to push this PR forward, hopefully closer to a Complete state.
If it helps the process and @kallewoof agrees, I'm volunteering to be named as a deputy for this BIP.
The PR addresses the following discussion items:
- https://github.com/bitcoin/bitcoin/pull/24058#issuecomment-1013761616
- Distinction between "signer receives fund with the address" and "signer sent a prior transaction": addressed, only first is supported by the BIP
- https://bitcoin.stackexchange.com/questions/126277/where-can-i-use-bip322-to-sign-a-message-to-verify-a-multisig-address
- Inability to prove private key possession, differentiation between address signature and UTXO set completion: Use case and motivation is clarified accordingly
- https://groups.google.com/g/bitcoindev/c/RCi1Exs0ZvQ/m/vp6Xo36aBwAJ
- Collecting an authentic UTXO set for a given list of addresses: clarified that this is out of scope of the BIP.
- Prefix for signing result: added a proposal for a prefix.
- https://github.com/bitcoin/bitcoin/pull/16440#issuecomment-525680906
- Usefulness and completeness of Proof of Funds: This PR suggests a way that at least allows offline verification of the Proof of Funds variant by providing the UTXO information using a finalized PSBT. It remains to be discussed if we should instead completely remove the Proof of Funds use case in this BIP (which was suggested several times but I don't have an opinion about it)
TODO (will follow up with these items soon):
- https://github.com/bitcoin/bitcoin/pull/16440#issuecomment-568479290
- Clean up wording: Clarify that there might not always be a cryptographic signature involved (e.g. pure script spend address types)
- Update
btcdpull request to reflect above changes, update test vectors in this PR (prefix and Proof of Funds implementation) - Rebase and update after #2135 is merged @murchandamus I went through the different discussions you linked and also both Bitcoin Core PRs and tried to extract all discussion items that I felt were not yet addressed. If anyone feels like a previous discussion item is missing here and not yet addressed by my changes, please comment below!