Author: Dan Gould 2023-08-09 17:32:54+00:00
Published on: 2023-08-09T17:32:54+00:00
This email provides an update on the progress of the Serverless Payjoin idea, specifically regarding the formal specification of Payjoin version 2. The author shares an intermediate draft of the BIP (Bitcoin Improvement Proposal) before opening it for review on GitHub. Two proof of concept payjoin implementations are mentioned in the draft, demonstrating the use of symmetric cryptography and asynchronous messaging. The Serverless Payjoin gist is updated to reflect the draft specification. Payjoin version 2 aims to solve privacy issues in bitcoin transactions and increase transaction throughput by replacing the need for a secure public endpoint with an untrusted third-party relay and streaming clients using authenticated encrypted payloads. The document explains the relation to BIP 78 (Payjoin version 1) and introduces a backwards-compatible protocol for version 1 senders. Payjoin requests are made using BIP 21 URIs, and instead of a public HTTP endpoint, a WebTransport client enrolls with a relay server to receive payjoin. The relay uses symmetric authenticated encryption to ensure message secrecy and integrity. The document provides details on the basic scheme, messaging protocols, and checklists for receivers and senders. It also explains the interactions with the Payjoin Relay, receiver enrollment, receiver payjoin PSBT response, sender interactions, and fallback PSBT requests for both version 2 and version 1. The proposal aims to provide a practical coordination mechanism for payjoin adoption in various wallet environments. The proposal discusses the implementation of a payjoin protocol called BIP 78, which aims to improve privacy in Bitcoin transactions. The protocol involves the use of JSON payloads, HTTP requests, and optional query parameters. It introduces new parameters for the BIP 21 bitcoin URI standard. Asynchronous relay buffers are suggested to update listeners and improve client sessions. The benefits of using WebTransport as a transport protocol are highlighted, along with the advantages of ChaCha20Poly1305 AEAD encryption algorithm. The proposal also introduces PSBT Version 2, which simplifies the process of mutating inputs and outputs in a PSBT. It addresses attack vectors, network privacy, and backward compatibility issues. References to existing implementations are included, along with acknowledgments for contributions from various individuals and organizations.
Updated on: 2023-08-10T02:13:16.500754+00:00