sparrow icon indicating copy to clipboard operation
sparrow copied to clipboard

Feature Request: Ricochet

Open 6102bitcoin opened this issue 3 years ago • 8 comments
trafficstars

Tool like ricochet that makes it easy to put distance between utxos.

Ideall with configurable number of hops, minimum delay between hops and changing script type between hops

6102bitcoin avatar Dec 01 '21 18:12 6102bitcoin

Hello @6102bitcoin @craigraw

Is this still open to work on? I would like to work on this.

Is the idea to have functionality in Sparrow that allows for broadcasted transactions to be difficult to scan and get blacklisted (or worse) by analytics companies like the way ricochet does? Basically, ensuring more privacy and less false positive claims of address being added to a ban list on centralized services like an exchange.

functionality being similar to what @6102bitcoin said in comment.

ItoroD avatar Feb 28 '24 07:02 ItoroD

The complexity here is that to do this properly with a decent user experience, a server is required. There is some discussion about transaction delays being added to Bitcoin Core or Electrum servers, but it has memory requirements on the server side, and certainly nothing is implemented yet.

craigraw avatar Feb 28 '24 08:02 craigraw

@craigraw I see what you mean. For the minimum delay, yes, a server will probably be needed (I assume you say this to enable control of when transactions are broadcasted at specified intervals).

Minimum delay is like a 2nd layer of privacy. First layer will be the hops and changing of scripts on each hop. This can be worked on iteratively starting with hops being first, and then to minimum delay comes later.

<fees might be a concern for the hops but then again, this is why it should be an optional feature>

ItoroD avatar Feb 28 '24 09:02 ItoroD

The complexity here is that to do this properly with a decent user experience, a server is required.

Can you elaborate? Isn't it comparable to whirlpool where you need to have the gui running for getting remixes? And/Or could this be outsourced to the Sparrow Server/Terminal client which is intended to run 24/7 anyway?

RequestPrivacy avatar Feb 28 '24 09:02 RequestPrivacy

Isn't it comparable to whirlpool where you need to have the gui running for getting remixes?

It's a little different - if Sparrow is not running, mixes simply stop, and pick up again on restart. In this case, if Sparrow is not running, delayed transactions don't get broadcast.

could this be outsourced to the Sparrow Server/Terminal client which is intended to run 24/7 anyway?

Yes, that's possible, although there are UX and security implications with turning Sparrow Terminal from a client into a server - and of course then this functionality would be limited to only those with that setup. Support in Core, or failing that Electrum servers would be better. Servers should do server things, clients should do client things.

craigraw avatar Feb 28 '24 11:02 craigraw

Hi @craigraw @RequestPrivacy @6102bitcoin and anyone else taking a look,

I have written a design proposal in google docs for this issue. It will be great to have your thought on this.

https://docs.google.com/document/d/1_d9U603o_9DbLeN01rW4m1LDnIkM_ZnLr1c79elibs4/edit?usp=sharing

ItoroD avatar Mar 13 '24 15:03 ItoroD

Thanks for the detailed writeup. I'm still of the view that best place to implement this would be Bitcoin Core, for reasons additional to this particular feature. I do not desire to run a centralized Sparrow server. Using Sparrow Terminal is an option, but has drawbacks as previously mentioned.

I will try to find some time to write up a proposal for this.

craigraw avatar Mar 14 '24 06:03 craigraw

@craigraw

Alright. Thanks for looking through the doc.

ItoroD avatar Mar 14 '24 09:03 ItoroD