- Update BIP75 Motivation and use cases to provide more color around reasoning and use of BIP75
NOTE: The BIP75 language no longer contains a description of the KYC compliance use case, as it is a single, very specific use-case that does not have any bearing on the technical specifications herein. BIP75 extends the original BIP70 Payment Protocol to become a two-way, encrypted messaging process, which can be used for a variety of reasons one of which is regulatory compliance.
- Remove status_code and status_message from individual Payment Protocol messages
- Remove EncryptedInvoiceRequest, EncryptedPaymentRequest, EncryptedPayment and EncryptedPaymentACK messages from protobuf definition file
- Add ProtocolMessageType enum and ProtocolMessageType and EncryptedProtocolMesssage messages to bip-0075/paymentrequest.proto definition file
- Update BIP75 text to remove old individual message encryption paths and include new encapsulating messages for self-contained PaymentProtocol communication (including errors) over various transport layers
- Add initial list of status codes
- Update BIP75 to use AES-256-GCM and remove message hash as GCM mode provides authenticated encryption
- Update ECDH calculation to use SHA256 hash of ECDH's X point instead of the raw X point itself
- Add Updated Messages section to describe the status_code and status_message
- Separated Message and Communication Errors into Payment Protocol Errors and Communication Errors
- Add first draft Payment Protocol error codes
- Update InvoiceRequest Message Creation description amount example to return Payment Protocol error in the case of an issue with the amount.
* Fixing a few extra closing `b` tags and converting others to wiki bold syntax.
* Linking "see below" and "see above" items to the actual section of the BIP.
* Consistent capitalization of "Bitcoin".
* "requester" => "requester* (more common outside of legal writing)
* "concious" => "conscious"
* "Foward" => "Forward"
* "Satoshis" => "satoshis" (as unit of bitcoin, not the name of creator)
* Removing unnecessary </img> which can actually cause problems.
* Adding required `alt` attribute to img tags.
* Fix wrapping of long lines (some were wrapped at 112 chars) - No effect on final rendering users see.