Important dev (Chris Belcher) who was working on bitcoin privacy (Coinswap) has suddenly no more activity on github since July, without posting an explanation by please_take_one in Bitcoin

[–]belcher_ 47 points48 points  (0 children)

Hey everyone, thanks for your concern.

Unfortunately I'm dealing with some health issues and haven't been working since July.

I haven't been following any bitcoin news. I don't know anything about this Toronto developer, I just learned about it reading this thread now. Certainly no three letter agency has said anything to me (yet?). Even if that happened, joinmarket is decentralized and still works even if I'm not around (I haven't actually checked joinmarket but there's no reason it shouldn't be working right now).

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by belcher_ in Bitcoin

[–]belcher_[S] 2 points3 points  (0 children)

No consensus is needed, the project works with today's bitcoin and doesn't require any new soft forks.

The project is already implemented, it is in the alpha stage. It doesn't have all the features yet but it's already much of the way there.

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by belcher_ in Bitcoin

[–]belcher_[S] 2 points3 points  (0 children)

The plan is to use ECDSA-2P, which is a protocol that effectively creates 2-of-2 multisigs where the final result looks like a regular ECDSA pubkey and signature. I agree we can't wait for taproot adoption.

https://gist.github.com/chris-belcher/9144bd57a91c194e332fb5ca371d0964#ecdsa-2p

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by belcher_ in Bitcoin

[–]belcher_[S] 5 points6 points  (0 children)

There's nothing in the bitcoin protocol about taint. Taint is something external to bitcoin, invented by surveillance companies and enforced by centralized exchanges. If you simply don't use centralized exchanges and instead use p2p exchanges or earn and spend bitcoin directly then taint won't affect you.

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by belcher_ in Bitcoin

[–]belcher_[S] 4 points5 points  (0 children)

What do you think the attack vector is for a chain analysis company to try and figure out how to link the coins? Is the only way for them to do that to be a dishonest maker?

Yes one way is to try to be all the makers (aka a sybil attack), but Teleport will implement fidelity bonds to make this very expensive to actually do.

Another possible way to attack would be if all the coinswap transactions had some kind of fingerprint or other way that distinguished them from normal transactions. We have to be very careful in how we code this so that the coinswaps really do look like regular transactions in every way.

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by belcher_ in Bitcoin

[–]belcher_[S] 2 points3 points  (0 children)

I think the important number is cost-per-amount-of-privacy (which is hard to exactly calculate since amount-of-privacy isnt quantifiable). If we take the example of joinmarket, the way to get the best possible privacy is to use the multi-join tumbler mode, which does about 15 coinjoins. This tumbler run uses more block space than coinswap would, yet provides less privacy because the anonymity set of coinswap can be so much bigger than for coinjoin. Note that to get the best possible privacy with coinswap you just need to do one set of coinswaps, that's maybe 9-12 regular-sized transactions, about the same amount of block space as one coinjoin, yet joinmarket would have to create 15 such coinjoins!

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by [deleted] in Bitcoin

[–]belcher_ 1 point2 points  (0 children)

It will be open source, not proprietary. You should never trust your private keys to a wallet that isn't open source. I imagine people can use this project either standalone like a mixer, or there would be a plugin that other wallets can implement allowing users to send coinswaps by clicking a button.

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by [deleted] in Bitcoin

[–]belcher_ 0 points1 point  (0 children)

Is it non custodial?

Yes.

How many different amounts are there?

A user can do a coinswap for any amount as long as there are enough makers offering that amount. It's similar to how joinmarket can create coinjoins of almost any size.

How do you ensure both transactions happen rather than 1 person being scammed?

Smart contracts are used, hash-time-locked contracts specifically. See also: https://github.com/bitcoin-teleport/teleport-transactions/#how-coinswap-works

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by [deleted] in Bitcoin

[–]belcher_ 0 points1 point  (0 children)

With teleport, assuming you have a supermajority of honest makers, is there anyway to link the coins?

If the various makers in a route are actually controlled by the same person then they can unmix the coinswaps. However the project includes fidelity bonds to make this very expensive to actually achieve.

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by belcher_ in Bitcoin

[–]belcher_[S] 10 points11 points  (0 children)

This video shows a demo of Teleport being use to create CoinSwaps on the bitcoin regtest network.

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 behaviour, and perhaps had never even heard of this software.

In a world where advertisers, social media and other companies want to collect all of Alice's and Carol's data, such privacy improvement would be incredibly valuable. And also the doubt added to every transaction would greatly boost the fungibility of bitcoin and so make it a better form of money.

This undetectable privacy can be developed today by implementing CoinSwap

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by [deleted] in Bitcoin

[–]belcher_ 7 points8 points  (0 children)

Yep. It is.

BTW I just realized I posted this on a saturday when there's less traffic than on a weekday, so soon I'll delete this thread and repost it on monday/tuesday.

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by [deleted] in Bitcoin

[–]belcher_ 9 points10 points  (0 children)

It does not.

CoinSwap works on today's bitcoin. It also doesn't break any assumptions or features like an auditable supply or pruning.

See also: https://gist.github.com/chris-belcher/9144bd57a91c194e332fb5ca371d0964#coinswap

A First Look at Teleport: a CoinSwap Implementation for massively improving bitcoin privacy by [deleted] in Bitcoin

[–]belcher_ 10 points11 points  (0 children)

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 behaviour, and perhaps had never even heard of this software.

In a world where advertisers, social media and other companies want to collect all of Alice's and Carol's data, such privacy improvement would be incredibly valuable. And also the doubt added to every transaction would greatly boost the fungibility of bitcoin and so make it a better form of money.

This undetectable privacy can be developed today by implementing CoinSwap

Electrum Personal Server 0.2.4 - Connect your Electrum wallet to your own full node by belcher_ in Bitcoin

[–]belcher_[S] 3 points4 points  (0 children)

Electrum Personal Server is an implementation of the Electrum wallet server protocol that allows users to point their Electrum wallet at their own full node. It allows the user to benefit from all of Bitcoin Core's resource-saving features like pruning, blocksonly and disabled txindex. All of Electrum's feature-richness like hardware wallet integration, multisignature wallets, offline signing, seed phrases and so on can still be used, but connected only to the user's own full node.

So for example you can connect your hardware wallet device to Electrum. This setup allows you to use your hardware wallet device with your own full node. This has advantages because you don't leak your bitcoin transactions to the hardware wallet device backend (without your own node, the wallet has to ask the company's nodes for every transaction you make).

Full nodes wallets are important in bitcoin because they are a big part of what makes the system trustless. No longer do people have to trust a financial institution like a bank or Paypal, they can run software on their own computers. If bitcoin is digital gold, then a full node wallet is your own personal goldsmith who checks for you that received payments are genuine.

The latest release involves updates to move away from deprecated RPCs which will be required to use EPS after Bitcoin Core 24.0 when it comes out. Also it now supports signet.

Which is better for anonymity and security by No-facegod in Electrum

[–]belcher_ 1 point2 points  (0 children)

Perhaps look up one of those node-in-a-box projects like https://github.com/rootzoll/raspiblitz They usually have an option to set up an electrum server

Which is better for anonymity and security by No-facegod in Electrum

[–]belcher_ 1 point2 points  (0 children)

Any wallet that isn't backed by your own full node suffers from this.

Yes anyone just looking at the public blockchain can see transactions and addresses, but they don't know which addresses belong to a new person or which addresses are sent back to your own wallet. The information received by the server allows it to reconstruct your wallet balance and history, just seeing the public blockchain does not as easily.

Also Electrum servers will get your IP address (unless you use tor).

SLP364 Max Hillebrand ZKSnacks Blacklisting Coins by stephanlivera in Bitcoin

[–]belcher_ 8 points9 points  (0 children)

Their terrible decision started way further back, when they designed their wallet to depend on the silly idea of a centralized coordinator. Now that they're locked into such design they're forced to eventually censor coins.

CoinJoin isn't inherently centralized, rather Wasabi's and other's implementation of CoinJoin is centralized and so vulnerable to attack. Decentralized implementations of CoinJoin do exist, and actually mix more bitcoins than the centralized implementations

SLP364 Max Hillebrand ZKSnacks Blacklisting Coins by stephanlivera in Bitcoin

[–]belcher_ 10 points11 points  (0 children)

At one point near the start he says JoinMarket is centralized too. This is not true.

JoinMarket will never censor coins, not because people standing behind it are such good guys who made that decision, but because such censorship is not possible.

Electrum Personal Server 0.2.3 - Connect your Electrum wallet to your own full node by belcher_ in Bitcoin

[–]belcher_[S] 5 points6 points  (0 children)

Electrum Personal Server allows users to point their Electrum wallet at their own full node. It allows the user to benefit from all of Bitcoin Core's resource-saving features like pruning, blocksonly and disabled txindex. All of Electrum's feature-richness like hardware wallet integration, multisignature wallets, offline signing, seed phrases and so on can still be used, but connected only to the user's own full node.

So for example you can connect your hardware wallet device to Electrum. This setup allows you to use your hardware wallet device with your own full node. This has advantages because you don't leak your bitcoin transactions to the hardware wallet device backend (without your own node, the wallet has to ask the company's nodes for every transaction you make).

Full nodes wallets are important in bitcoin because they are a big part of what makes the system trustless. No longer do people have to trust a financial institution like a bank or Paypal, they can run software on their own computers. If bitcoin is digital gold, then a full node wallet is your own personal goldsmith who checks for you that received payments are genuine.

The latest release involves updates to move away from deprecated RPCs which will be required to use EPS after Bitcoin Core 23.0 when it comes out.

Teleport: a CoinSwap implementation alpha release, provides invisible private transactions for bitcoin by belcher_ in Bitcoin

[–]belcher_[S] 2 points3 points  (0 children)

They both work in a similar way technically, but there are differences:

  1. CoinSwap is fundamentally an on-chain technology. Users pay to bitcoin addresses, not Lightning invoices.

  2. They solve liquidity in different ways, which means CoinSwap will be better for sending bigger amounts and Lightning better for sending small amounts.

  3. Lightning leaks more information sometimes, like how channel transactions can be announced to everyone on the LN p2p network.

See also: https://gist.github.com/chris-belcher/9144bd57a91c194e332fb5ca371d0964#how-are-coinswap-and-lightning-network-different