summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZmnSCPxj <ZmnSCPxj@protonmail.com>2020-06-10 10:58:03 +0000
committerbitcoindev <bitcoindev@gnusha.org>2020-06-10 10:58:12 +0000
commitd5394b6be0888b82d15604cd67c28e8dbbfc3754 (patch)
tree2477c8bf4c1d43c215358c880ef92ee863913e31
parent32c583503574f4d521cafb728fb41dfcf5a3d8bb (diff)
downloadpi-bitcoindev-d5394b6be0888b82d15604cd67c28e8dbbfc3754.tar.gz
pi-bitcoindev-d5394b6be0888b82d15604cd67c28e8dbbfc3754.zip
Re: [bitcoin-dev] Design for a CoinSwap implementation for massively improving Bitcoin privacy and fungibility
-rw-r--r--b1/c21192fdefec87767721be479ecf85369d5c2b129
1 files changed, 129 insertions, 0 deletions
diff --git a/b1/c21192fdefec87767721be479ecf85369d5c2b b/b1/c21192fdefec87767721be479ecf85369d5c2b
new file mode 100644
index 000000000..8c70883cc
--- /dev/null
+++ b/b1/c21192fdefec87767721be479ecf85369d5c2b
@@ -0,0 +1,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
+