Skip to content

Serverless PayJoin PoC (HTTP Long Polling) - #21

Closed
DanGould wants to merge 24 commits into
payjoin:masterfrom
DanGould:relay-payjoin
Closed

Serverless PayJoin PoC (HTTP Long Polling)#21
DanGould wants to merge 24 commits into
payjoin:masterfrom
DanGould:relay-payjoin

Conversation

@DanGould

@DanGould DanGould commented Jan 15, 2023

Copy link
Copy Markdown
Member

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

DanGould commented Feb 21, 2023

Copy link
Copy Markdown
Member Author

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 the receive receiving payjoin label May 27, 2023
@DanGould DanGould added payjoin-mailroom 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-mailroom receive receiving payjoin send sending payjoin

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant