Least Authority has recently designed a protocol called the Private Periodic Payment Protocol, or P4, which aims to define the way in which subscription services can be funded using end-to-end private cryptocurrency payments. P4 incorporates the use of Zcash shielded transactions for private payments and leverages the Tor anonymity network’s onion services to radically reduce the amount of personally identifiable information (PII) available to merchants. In addition, P4 introduces periodicity to cryptocurrency payments by bootstrapping a secure channel between customers and merchants (using the SPAKE2-based “magic-wormhole” library) through which invoices can be delivered and paid. A more detailed specification of this protocol can be found in the first release of our paper: P4: Private Periodic Payment Protocol — S4 Subscriptions via Zcash Shielded Transactions and Tor.
In order for users to subscribe to S4 — our Simple Secure Storage Service — we, currently, need to accept payments using industry-standard tools — namely, Stripe for payment processing and Chargebee for subscription management. While Stripe and Chargebee are great tools to manage all our subscription and billing operations, their usage necessitates the collection of personal information for the purposes of payment processing by third parties.
As firm believers in the protection of our customers’ privacy, we would like to offer a method that removes customers’ need to share personal information in the payment process in its entirety. We consider P4 as an early design towards the goal of processing payments with similar guarantees provided by our S4 service, built on Tahoe-LAFS: to allow the end user — not third-parties — to determine whether and to what extent personal data is collected, shared, and processed.
In order to help preserve financial privacy, P4 utilizes Zcash – a cryptocurrency that can shield transaction data from the public while allowing users to selectively disclose the data with third parties. Zcash shielded transactions use a particular kind of zero-knowledge proof called zk-SNARKS which allows both verifiability and privacy of data in the transaction (such as the sender of the transaction, the receiver of the transaction, and the amount being transferred).
Because financial privacy alone is not sufficient to preserve the privacy of users’ wide-ranging activities online, P4 also makes use of the Toranonymity network to provide additional protections to users at the network level: our implementation necessitates the use of subscription sign-ups via Tor’s onion services and will only deliver payment invoices to users over communication channels that are secured by Tor. This prevents merchants and service providers from knowing or logging information about the user’s geographical location and allows end-users living under oppressive regimes to access subscription services in spite of censorship and surveillance.
To us, P4 is an important step in the furtherance of our broader mission to give people the freedom to control their data. Privacy, we believe, is a fundamental human right and as with all our products and services, we have followed the privacy-by-design principle – one of the key principles of EU’s General Data Protection Regulation (GDPR) – in designing the P4 protocol. Explanations of privacy-focused considerations are incorporated throughout the document to provide insight into these design decisions. We are sharing the P4 specification openly with the hope that other subscription services will implement a version of the protocol to advance the adoption of cryptocurrency payments in real world retail use cases that also incorporate privacy by design.
The initial version of the P4 specification is considered a “MVP” (Minimum Viable Product) and is intended to be iteratively improved in the future. Besides outlining a design for implementing P4 with Tahoe-LAFS and Gridsync, the document also includes possible areas for future improvement.
If you have any questions or comments about the Private Periodic Payment Protocol please don’t hesitate to reach out to us: firstname.lastname@example.org.