<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div> </div>

<div>42 pieces waiting for me and this 1 interests me most, yet not a single comment to it. Must just be me, I guess. Anyway, please keep plugging away, Chris. And thanks.
<div> 
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Sent:</b> Wednesday, February 17, 2021 at 4:27 PM<br/>
<b>From:</b> "Chris Belcher via bitcoin-dev" <bitcoin-dev@lists.linuxfoundation.org><br/>
<b>To:</b> bitcoin-dev@lists.linuxfoundation.org<br/>
<b>Subject:</b> [bitcoin-dev] Teleport Transactions: A CoinSwap implementation for Bitcoin</div>

<div name="quoted-content">Suppose Alice has bitcoins and wants to send them with maximal privacy,<br/>
so she creates a special kind of transaction. For anyone looking at the<br/>
blockchain her transaction appears completely normal with her coins<br/>
seemingly going from bitcoin address A to address B. But in reality her<br/>
coins end up in address Z which is entirely unconnected to either A or B.<br/>
<br/>
Now imagine another user, Carol, who isn't too bothered by privacy and<br/>
sends her bitcoin using a regular wallet. But because Carol's<br/>
transaction looks exactly the same as Alice's, anybody analyzing the<br/>
blockchain must now deal with the possibility that Carol's transaction<br/>
actually sent her coins to a totally unconnected address. So Carol's<br/>
privacy is improved even though she didn't change her behaviour, and<br/>
perhaps had never even heard of this software.<br/>
<br/>
In a world where advertisers, social media and other companies want to<br/>
collect all of Alice's and Carol's data, such privacy improvement would<br/>
be incredibly valuable. And also the doubt added to every transaction<br/>
would greatly boost the fungibility of bitcoin and so make it a better<br/>
form of money.<br/>
<br/>
This undetectable privacy can be developed today by implementing<br/>
CoinSwap. The software could be standalone as a kind of bitcoin mixing<br/>
app, but it could also be a library that existing wallets can implement<br/>
allowing their users to send Bitcoin transactions with much greater privacy.<br/>
<br/>
For the last few months I've been working on implementing this project.<br/>
Here it is:<br/>
<br/>
<br/>
<a href="https://github.com/bitcoin-teleport/teleport-transactions/" target="_blank">https://github.com/bitcoin-teleport/teleport-transactions/</a><br/>
<br/>
<br/>
The project can create multi-transaction CoinSwaps (intended to avoid<br/>
amount correlation), and multi-hop CoinSwaps (intended to stop one<br/>
single maker being able to unmix a taker's CoinSwap).<br/>
<br/>
Just for fun I created a 5-hop CoinSwap on testnet. Here are the<br/>
transaction IDs of each funding transaction. Each hop has 3 individual<br/>
transactions.<br/>
<br/>
taker's outgoing txes:<br/>
<a href="https://blockstream.info/testnet/tx/f45349bd279bea20b8b218300f8e2416abf28f3858470ad8c5eb2f6cd5ec10a9" target="_blank">https://blockstream.info/testnet/tx/f45349bd279bea20b8b218300f8e2416abf28f3858470ad8c5eb2f6cd5ec10a9</a><br/>
<a href="https://blockstream.info/testnet/tx/40ea5c9e478b66fa3f615c2b8d3accfd69308443d90a5353de669767cb02c51f" target="_blank">https://blockstream.info/testnet/tx/40ea5c9e478b66fa3f615c2b8d3accfd69308443d90a5353de669767cb02c51f</a><br/>
<a href="https://blockstream.info/testnet/tx/8fe245e9c433127af4df8ff8853650808e3281fed7de6bfda62066a3fd3ad36e" target="_blank">https://blockstream.info/testnet/tx/8fe245e9c433127af4df8ff8853650808e3281fed7de6bfda62066a3fd3ad36e</a><br/>
<br/>
maker[0] funding txes:<br/>
<a href="https://blockstream.info/testnet/tx/3d9b879866ad136f9fe6e80599e1b97d610b6330be3ab4aa7df4161fce1e41d4" target="_blank">https://blockstream.info/testnet/tx/3d9b879866ad136f9fe6e80599e1b97d610b6330be3ab4aa7df4161fce1e41d4</a>,<br/>
<a href="https://blockstream.info/testnet/tx/fa11e778d135be28b4e35498fc668c5aba7c70dcc43334b39e7488bd1259e8be" target="_blank">https://blockstream.info/testnet/tx/fa11e778d135be28b4e35498fc668c5aba7c70dcc43334b39e7488bd1259e8be</a>,<br/>
<a href="https://blockstream.info/testnet/tx/a7713452bab711c09be83a8c630fb91127771ed99cf15b528eacd28b00ba6b20" target="_blank">https://blockstream.info/testnet/tx/a7713452bab711c09be83a8c630fb91127771ed99cf15b528eacd28b00ba6b20</a>,<br/>
<br/>
maker[1] funding txes:<br/>
<a href="https://blockstream.info/testnet/tx/245e1e87d83a4bef06ceb8933c758137ee2f7ba7aa66800ebb7103707d5de5f7" target="_blank">https://blockstream.info/testnet/tx/245e1e87d83a4bef06ceb8933c758137ee2f7ba7aa66800ebb7103707d5de5f7</a>,<br/>
<a href="https://blockstream.info/testnet/tx/15727b91e09a80634587f6210bdcba8808b93e4a780c55dd113ee85314db45c4" target="_blank">https://blockstream.info/testnet/tx/15727b91e09a80634587f6210bdcba8808b93e4a780c55dd113ee85314db45c4</a>,<br/>
<a href="https://blockstream.info/testnet/tx/94e4e4e9e8fc2012158ed068145c8b883c295b37f5b3b6cba7a21c229d4da103" target="_blank">https://blockstream.info/testnet/tx/94e4e4e9e8fc2012158ed068145c8b883c295b37f5b3b6cba7a21c229d4da103</a>,<br/>
<br/>
maker[2] funding txes:<br/>
<a href="https://blockstream.info/testnet/tx/1384d58e534543e22e4f23a367728bff12177ee9af01b036c397cfca9bbe2eb8" target="_blank">https://blockstream.info/testnet/tx/1384d58e534543e22e4f23a367728bff12177ee9af01b036c397cfca9bbe2eb8</a>,<br/>
<a href="https://blockstream.info/testnet/tx/eff3b1367f403c13927ddcb01c6d3c5c0d46076f7cb4419f8a18d6b62d884540" target="_blank">https://blockstream.info/testnet/tx/eff3b1367f403c13927ddcb01c6d3c5c0d46076f7cb4419f8a18d6b62d884540</a>,<br/>
<a href="https://blockstream.info/testnet/tx/617c52caec2f7f17f3ebd1cab80233cdc1b414591f1cc49affbd828ffec10278" target="_blank">https://blockstream.info/testnet/tx/617c52caec2f7f17f3ebd1cab80233cdc1b414591f1cc49affbd828ffec10278</a>,<br/>
<br/>
maker[3] funding txes (also taker's incoming txes):<br/>
<a href="https://blockstream.info/testnet/tx/8fde61974a4e0801ae5b76b620e2effd6c837310c1bd76d738216451ae1226e3" target="_blank">https://blockstream.info/testnet/tx/8fde61974a4e0801ae5b76b620e2effd6c837310c1bd76d738216451ae1226e3</a>,<br/>
<a href="https://blockstream.info/testnet/tx/6491b85ef73a8f88e276a9b0f951c09e0367851a83aa49ffee8f8ad095f50de2" target="_blank">https://blockstream.info/testnet/tx/6491b85ef73a8f88e276a9b0f951c09e0367851a83aa49ffee8f8ad095f50de2</a>,<br/>
<a href="https://blockstream.info/testnet/tx/363b6803b7e3ed45472277448ce9938e3e73167a67762d6a9ac621243b8db019" target="_blank">https://blockstream.info/testnet/tx/363b6803b7e3ed45472277448ce9938e3e73167a67762d6a9ac621243b8db019</a>,<br/>
<br/>
<br/>
The so-called taker organized the whole thing. They decided what the<br/>
CoinSwap amount should be (0.05 tBTC in this case), decided which makers<br/>
to route over depending on their fees, how many transactions and makers<br/>
there would be. The only thing the makers do is follow the protocol and<br/>
collect their CoinSwap fees, they are not meant to even know their<br/>
position in the route. Because the taker chose how much bitcoin to<br/>
coinswap and when, they paid a fee to each maker to provide an incentive<br/>
for the makers to keep the software running.<br/>
<br/>
To a passive observer of the blockchain a single-hop CoinSwap is as<br/>
private as a multi-hop, so I suspect in practice most users will just<br/>
create 2-hop CoinSwaps.<br/>
<br/>
The project is still a work in progress. All kinds of attacks are<br/>
possible right now, so the it shouldn't be used on mainnet with real<br/>
money yet. Also right now the CoinSwap addresses created by the project<br/>
appear as 2-of-2 multisignature addresses, but the plan is to use<br/>
ECDSA-2P which will make them look the same as regular single-signature<br/>
addresses which is needed before the thing massively improves privacy<br/>
and fungibility.<br/>
<br/>
CoinSwap is the next generation of bitcoin on-chain privacy tech. It<br/>
improves on CoinJoin because it breaks the transaction graph, and even<br/>
improves the privacy of people who don't use it. CoinSwap also uses less<br/>
block space for the same privacy and therefore is cheaper in miner fees.<br/>
<br/>
Links:<br/>
* Design document:<br/>
<a href="https://gist.github.com/chris-belcher/9144bd57a91c194e332fb5ca371d0964" target="_blank">https://gist.github.com/chris-belcher/9144bd57a91c194e332fb5ca371d0964</a><br/>
* Discussion: `##coinswap` IRC channel on the freenode network<br/>
_______________________________________________<br/>
bitcoin-dev mailing list<br/>
bitcoin-dev@lists.linuxfoundation.org<br/>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" target="_blank">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a></div>
</div>
</div>
</div></div></body></html>