public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: ZmnSCPxj <ZmnSCPxj@protonmail•com>
To: ZmnSCPxj <ZmnSCPxj@protonmail•com>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Payjoin2swap: Enabling Payjoin Without Merchant Purchases
Date: Mon, 22 Apr 2019 17:06:43 +0000	[thread overview]
Message-ID: <kgldTB03owVUYGhhQln85x7tzZSqKD7VgfXwERpVpXP2IJ1dpBzahYZ7DkFhKqbdGWsS-2GO1ZiUnPBmjW6sfcm8I3hxAnOSyckrI4_HyTc=@protonmail.com> (raw)
In-Reply-To: <pOqJuLTCi90Cz27QqCYHFBdkKBA0Hc0IY2zplQ0uFILWWqLULdspR6rA6Q_2oMC9yWKrB8p5VX7woQUYhNpV_cjDCcKCJajGsr3gNrcbYho=@protonmail.com>

Good morning list,

I observe that if the Lightning Network supports:

1.  Wumbo channels (>167.772215mBTC channels)
2.  Dual-funded channels

Then payjoin2swap is implementable using LN operations.
Given two UTXOs V and W you want to transfer some value S from V to W.

1.  Connect to an LN node on Tor and listen to gossip, then disconnect.
2.  Create two fake node addresses (A and B) and assign a unique Tor hidden service to each.
3.  Select two actual LN nodes with long uptime (use the lifetime of the channels they have as a rough estimate) and a short distance between them with good capacity and many alternate routes between them.
4.  Connect A to one node and create a channel using V.
    Indicate that the channel should be unpublished (the LN protocol has a flag existing for this already).
    Publishing channels is good for privacy if you intend to stay long on LN (it invites "normal" traffic to hide your own payments in), but we do not intend to stay long on LN here, so keep the channels unpublished.
5.  Connect B to the other node and create a channel with dual-funding, requesting at least S from the other node to put in the channel, using W as your own UTXO.
    Again indicate the channel should be unpublished.
6.  Transfer S satoshi over LN from the channel of A to the channel of B.
7.  Cooperatively close both channels.
    It is possible to time the closes to be some blocks apart to make them harder for blockchain analysis to link.

This rides payjoin2swap on top of existing infrastructure.
The drawback is that it is unlikely that existing LN implementations will apply ZeroLink for onchain funds, since much of the privacy on LN is with paying over the long-lived offchain channels.
This can erode privacy if either of the nodes you connect to uses the result of the cooperative closes to later fund a published channel, possibly mixing it with other coins of their own.

Regards,
ZmnSCPxj


      reply	other threads:[~2019-04-22 17:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-22  0:07 ZmnSCPxj
2019-04-22 17:06 ` ZmnSCPxj [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='kgldTB03owVUYGhhQln85x7tzZSqKD7VgfXwERpVpXP2IJ1dpBzahYZ7DkFhKqbdGWsS-2GO1ZiUnPBmjW6sfcm8I3hxAnOSyckrI4_HyTc=@protonmail.com' \
    --to=zmnscpxj@protonmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox