public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Chris Belcher <belcher@riseup•net>
To: bitcoin-dev@lists•linuxfoundation.org
Subject: [bitcoin-dev] Teleport: a CoinSwap implementation alpha release, provides invisible private transactions
Date: Mon, 28 Feb 2022 14:30:12 +0000	[thread overview]
Message-ID: <94ca5cfd-48b1-4bac-3071-47ae98ed496b@riseup.net> (raw)

Imagine a future where a user Alice has bitcoins and wants to send them 
with maximal privacy, so she creates a special kind of transaction. For 
anyone looking at the blockchain her transaction appears completely 
normal with her coins seemingly going from address A to address B. But 
in reality her coins end up in address Z which is entirely unconnected 
to either A or B.

Now imagine another user, Carol, who isn't too bothered by privacy and 
sends her bitcoin using a regular wallet which exists today. But because 
Carol's transaction looks exactly the same as Alice's, anybody analyzing 
the blockchain must now deal with the possibility that Carol's 
transaction actually sent her coins to a totally unconnected address. So 
Carol's privacy is improved even though she didn't change her behavior, 
and perhaps had never even heard of this software.

In a world where advertisers, social media and other institutions want 
to collect all of Alice's and Carol's data, such privacy improvement 
would be incredibly valuable. If even a small percentage of transactions 
were actually created by this software, anybody doing analysis on the 
blockchain would always have a niggle in the back of their mind: "what 
if this transaction I'm looking at was actually a CoinSwap? How would I 
know? What if these coins have actually disappeared into the mist?". The 
doubt and uncertainty added to every transaction would greatly boost the 
fungibility of bitcoin and so make it a better form of money.

Over a year ago I wrote to this list[1] about how undetectable privacy 
can be developed today by implementing CoinSwap. Today I release the 
first alpha version of this software:

https://github.com/bitcoin-teleport/teleport-transactions/

The project is almost completely decentralized and available for all to 
use for free (baring things like miner fees). So far it is only really 
usable by developers and power-users to play around with. It doesnt have 
all the necessary features yet, but from now on I'll be doing new 
releases very often as soon as every new feature gets added. It is 
possible to run it on mainnet, but only the brave will attempt that, and 
only with small amounts. I've personally made many coinswaps on the 
testnet and signet networks, and I'll be running market makers on signet 
which will be available for anyone to create coinswaps with.

Right now it just uses 2of2 multisig for the coinswap addresses. Those 
address types are rare on the blockchain so the coinswaps stand out a 
fair amount (although protocols like lightning also use 2of2 multisig). 
However the next really big task on my todo list is to use ECDSA-2p 
which would make these multisig addresses look like regular single-sig 
addresses, which are overwhelmingly common out there and so provide an 
enormous anonymity set.

My aim is that the Teleport project will develop into a practical and 
secure project on the bitcoin mainnet, usable either standalone as a 
kind of bitcoin mixing app, or as a library that existing wallets will 
implement allowing their users with the touch of a button to send 
bitcoin coinswap transactions with much greater privacy than as possible 
before.

I want to thank everyone who has supported me financially over the last 
several months, without them this project simply would not have been
possible. If bitcoin privacy and coinswap is something you find 
important, please consider supporting my work with a donation: 
https://bitcoinprivacy.me/coinswap-donations


[1] 
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-May/017898.html


                 reply	other threads:[~2022-02-28 14:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=94ca5cfd-48b1-4bac-3071-47ae98ed496b@riseup.net \
    --to=belcher@riseup$(echo .)net \
    --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