Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serverless PayJoin PoC (HTTP Long Polling) #21

Closed
wants to merge 24 commits into from

Conversation

DanGould
Copy link
Contributor

@DanGould DanGould commented Jan 15, 2023

this way neither sender nor receiver have to operate a public endpoint secured by a certificate authority

See the bitcoin-dev writeup https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-January/021364.html

This PoC is much longer than the others because it adds source for NNpsk0 Noise protocol

@DanGould DanGould marked this pull request as ready for review January 21, 2023 22:42
@DanGould DanGould changed the title PayJoin over secure TURN relay Serverless PayJoin PoC Jan 22, 2023
@DanGould
Copy link
Contributor Author

DanGould commented Feb 21, 2023

This PoC went through a couple of iterations, passing TURN and even magic-wormhole before settling on an http-only long-polling client let payjoins be relayed anywhere http is supported. This removes the need for any additional networking library. This example follows https://httprelay.io/features/proxy/

The goal is to give serverless payjoin the greatest chance of actually being adopted.

Removing noise might be worthwhile too if we find another simple way to authenticate receiver requests. While we may lose some forward-secrecy protections, the chance that one key gets compromised and not the other seems slim. Even with a single symmetric per-bip21 key, that's just like a per-session TLS key. Encrypt-then-mac with a sha256 hmac construction seems secure enough to me. BIP322 auth on the bip21 address would be more slick, but I think it's too early.

@DanGould DanGould added payjoin-directory send sending payjoin labels May 27, 2023
@DanGould DanGould marked this pull request as draft June 13, 2023 17:09
@DanGould DanGould changed the title Serverless PayJoin PoC Serverless PayJoin PoC (HTTP Long Polling) Jul 9, 2023
@DanGould DanGould mentioned this pull request Sep 24, 2023
17 tasks
@DanGould DanGould closed this Sep 25, 2023
@DanGould DanGould deleted the relay-payjoin branch February 2, 2024 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
payjoin-directory receive receiving payjoin send sending payjoin
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant