summaryrefslogtreecommitdiff
path: root/b1/c21192fdefec87767721be479ecf85369d5c2b
blob: 8c70883ccf5246711aa020ba46c237f0867b3117 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Return-Path: <ZmnSCPxj@protonmail.com>
Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])
 by lists.linuxfoundation.org (Postfix) with ESMTP id B3CEFC016F
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Wed, 10 Jun 2020 10:58:12 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by whitealder.osuosl.org (Postfix) with ESMTP id AF9E188227
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Wed, 10 Jun 2020 10:58:12 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from whitealder.osuosl.org ([127.0.0.1])
 by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id CLPh4KnjQl0l
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Wed, 10 Jun 2020 10:58:10 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
Received: from mail-40130.protonmail.ch (mail-40130.protonmail.ch
 [185.70.40.130])
 by whitealder.osuosl.org (Postfix) with ESMTPS id 8FE8F88220
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Wed, 10 Jun 2020 10:58:10 +0000 (UTC)
Date: Wed, 10 Jun 2020 10:58:03 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail; t=1591786688;
 bh=9ankB9fXa1jpe+wYlDQZWIeYS9cw7tr7FYYIKjDrCGU=;
 h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From;
 b=toqP2wHTPm3X2Wnc37ZAKDXCh2nvxSTQ4DzWC2HlxBXU1TW/WBQNtbanO8zNfW2MY
 fAhsMvtgrYEvEKO/ITAQXDLEekWDKjuduV7zCsDqqFKAZuIv8NraTA13tmKf+DsVXP
 m7S9QUhy/NxwnmhR54X6ewPlC5QO8IpnL1kyQpi4=
To: Chris Belcher <belcher@riseup.net>
From: ZmnSCPxj <ZmnSCPxj@protonmail.com>
Reply-To: ZmnSCPxj <ZmnSCPxj@protonmail.com>
Message-ID: <NWnynWUGBlIOhDRYr50kwUc1NK_h-I5tM5q1rjONrC5DTBPFlzYSr1DbmaE4jZOkFB1FtToeZfE2CegIDVJ_6NMezvzcQJ7U3DXFs4yFv0c=@protonmail.com>
In-Reply-To: <27f05cf1-08b2-a281-75b7-5c035317d030@riseup.net>
References: <82d90d57-ad07-fc7d-4aca-2b227ac2068d@riseup.net>
 <CAPv7TjY9h8n-nK_CPiYCWYDcbXpT1gfRMQDgf9VUkcR532rxOw@mail.gmail.com>
 <VxL93WE7bDrK1riquTWTTEgJj9mDQ4W5CuhOgdnnDPeidw2ho6evVh4cLZLz0jEYMqejaD1tiLULVTXkNRbI5A7wSwV49qSwnXcTWCDJ96E=@protonmail.com>
 <cbf78f63-cf8c-c5d8-06ea-afc79aabc23c@riseup.net>
 <5LiZqpFxklAAbGFiiAE3ijRbIteODXKcHrXvGJ-qabgQj5hG8beFtHNbVZ-XUxETVwduJYz94UYuJGAPxBrbGeZpSClUtXYsPJBABfr03KM=@protonmail.com>
 <e724b4c5-9efd-66c4-163b-492f17cafd7d@riseup.net>
 <Sy14DpcFGdAYL95d7e6tfkOe87oY53tJReo9CYvPT5J3Gb85AqedMheq1NbfVKUXZtZrwZqwVV4wSztikgWBAgNfTh8J5h5gXC6HDMxvsNg=@protonmail.com>
 <27f05cf1-08b2-a281-75b7-5c035317d030@riseup.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Design for a CoinSwap implementation for
	massively improving Bitcoin privacy and fungibility
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, 
 <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jun 2020 10:58:12 -0000

Good morning Chris,

> > Let me propose an alternative: swap-on-receive+swap-on-change.
>
> That's an interesting point, thanks for the thought. This scheme might
> not be appropriate for every threat model and use case.
> For example, if someone wants to use bitcoin just as a foreign currency
> for its privacy and censorship-resistant properties. So for example if
> they want to pay for a VPN anonymously, so they buy bitcoins and
> immediately send all of them to the VPN merchant. The swap-on-receive
> wouldn't be appropriate for them because they'll be doing a coinswap
> straight away to the VPN merchant. So perhaps this plan could be an
> optional mode of operation (which may or may not be the default). The
> scheme obviously is useful when bitcoin is being used more as a
> day-to-day money.


No, I think you misunderstand my proposal.

If the user is doing swap-on-receive, the user already has an anonymous UTX=
O, they can just transfer it directly in full to the VPN without using a Co=
inSwap.

The number of CoinSwaps involved is the same: one.

So the difference is:

* swap-on-receive:
  * I get some coins from an exchange, giving them my contact information a=
nd bank information and all the places I have ever inhabited in my entire e=
xistence and an unfertilized egg sample and an archive of my diary and let =
them invasively scan my cognitive substrate.
  * I send the coins to my CoinSwap wallet.
  * The CoinSwap wallet automaticaly CoinSwaps the coins into a new UTXO.
    * One CoinSwap.
  * I tell the CoinSwap wallet to send it all to the VPN.
    * My CoinSwap wallet knows my coins are already cleaned, so it creates =
a plain 1-input 1-output transaction directly to the VPN address.

* swap-on-pay:
  * I get some coins from an exchange, giving them my contact information a=
nd bank information and all the places I have ever inhabited in my entire e=
xistence and an unfertilized egg sample and an archive of my diary and let =
them invasively scan my cognitive substrate.
  * I send the coins to my CoinSwap wallet.
  * I tell the CoinSwap wallet to send it all to the VPN.
    * My CoinSwap wallet automatically arranges a CoinSwap into the VPN add=
ress.
      * One CoinSwap.

So in both cases the same expected number of CoinSwaps is done, i.e. one.

Note that there are still details like how much onchain fees are and how mu=
ch CoinSwap maker fees are and etc etc but they exist for both flows anyway=
.
So I would still be buying slightly more than my target amount, and if ther=
e is any change I could just designate it to be added to the mining fees or=
 a donation to ZmnSCPxj, because ZmnSCPxj is so awesome.

What swap-on-receive+swap-on-change instead does is just amortize the timin=
g of the CoinSwaps, so that you CoinSwap as soon as you receive, instead of=
 as soon as you have to pay, so that sending payments is as fast as non-Coi=
nSwap onchain wallets.


Regards,
ZmnSCPxj