Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: cellard on February 04, 2019, 03:46:26 AM



Title: block inputs
Post by: cellard on February 04, 2019, 03:46:26 AM
Sometimes there are trolls out there that send spam of their websites with dust transactions, or even offensive messages in the transactions to link said offensive stuff to your public addresses.

Is there a way to block these inputs? It would be ideal to make it simple on the Coin Control window, to select any inputs you want so they never move if you accidentally send a transaction and they are included, because if you for instance send a transaction into an exchange that contains an input that had a link to a drug darknet website that the spammer sent you as dust.. you don't really want that, so im asking a way to freeze all these inputs and also make them stand out in the Coin Control window so you don't select them.. I hope this makes sense.


Title: Re: block inputs
Post by: pooya87 on February 04, 2019, 03:56:19 AM
this is a suggestion that you should give the wallet developers on their respective github repository. it is possible, you just have to open an issue on your favorite wallet, include an example transaction containing what you are talking about in here and request the feature to be added to the wallet to freeze (ignore) the outputs with said condition.

some of them already have output-freeze options. for example Electrum lets you freeze addresses. they would just have to extend it to outputs instead of whole addresses. although that may introduce complications that are not desired in wallets since this is such a special case and it is not common.


Title: Re: block inputs
Post by: cellard on February 04, 2019, 04:34:12 AM
this is a suggestion that you should give the wallet developers on their respective github repository. it is possible, you just have to open an issue on your favorite wallet, include an example transaction containing what you are talking about in here and request the feature to be added to the wallet to freeze (ignore) the outputs with said condition.

some of them already have output-freeze options. for example Electrum lets you freeze addresses. they would just have to extend it to outputs instead of whole addresses. although that may introduce complications that are not desired in wallets since this is such a special case and it is not common.

Well im not sure if it isn't possible already, I think it's possible through the command line, but I would like it easily accessible on the Coin Control menu perhaps with a right-click drop down menu (im talking about Bitcoin Core)

You can find examples of this happening across time. There is recent evidence of this:

https://www.reddit.com/r/Bitcoin/comments/9r9qud/if_you_have_recently_received_a_very_small_amount/

Maybe move thread to tech support.


Title: Re: block inputs
Post by: Pmalek on February 04, 2019, 09:59:20 AM
...some of them already have output-freeze options. for example Electrum lets you freeze addresses.
That would mean you would be able to block certain addresses to send you bitcoins right? That implies knowing the spammer addresses beforehand or blocking them after they already sent you some dust transactions. Unfortunately i haven't heard of a way to block transactions below a certain amount from reaching your wallet.


Title: Re: block inputs
Post by: HeRetiK on February 04, 2019, 10:07:59 AM
Samourai wallet allows to mark specific UTXOs as "Do not spend", similar to Electrum's address freeze function:
https://www.cryptoglobe.com/latest/2018/10/bitcoin-dusting-attack-threats-anonymity-of-several-wallets/

I think that's the feature you are looking for.

If I'm not mistaken Wasabi wallet offers a similar level of control on which inputs to use. Unfortunately those two are the only wallets that I'm aware of have such a feature implemented, but maybe others will follow.


...some of them already have output-freeze options. for example Electrum lets you freeze addresses.
That would mean you would be able to block certain addresses to send you bitcoins right? That implies knowing the spammer addresses beforehand or blocking them after they already sent you some dust transactions. Unfortunately i haven't heard of a way to block transactions below a certain amount from reaching your wallet.

No need to "block" certain addresses (which by Bitcoin's design shouldn't be possible anyway), preventing the unwanted inputs from being re-spent is completely sufficient.


Title: Re: block inputs
Post by: KingZee on February 04, 2019, 10:56:21 AM
You can already do this with bitcoin core :

Enable Coin Control features :

https://puu.sh/CH4jQ/768394b0b8.png

Select which inputs to spend next time you want to make a transaction :

https://puu.sh/CH4k8/565e4906d7.png

You would usually see the list of every input you received here, I just don't use bitcoin core, only installed it for the screenshot.

EDIT : I use Electrum and even them have this feature :

https://puu.sh/CH4tN/352c1b8903.png

Just Show Coins, and you'll be able to spend specific inputs.

...some of them already have output-freeze options. for example Electrum lets you freeze addresses.
That would mean you would be able to block certain addresses to send you bitcoins right? That implies knowing the spammer addresses beforehand or blocking them after they already sent you some dust transactions. Unfortunately i haven't heard of a way to block transactions below a certain amount from reaching your wallet.

How would that even work? When the spammer broadcasts a transactions you just yell "NO" to the network and they won't include it in the next block?


Title: Re: block inputs
Post by: ranochigo on February 04, 2019, 12:02:42 PM
You can already do this with bitcoin core :
-snip-
EDIT : I use Electrum and even them have this feature :
-snip-
Yes. But for various wallets with numerous addresses with a large number of UTXO, it wouldn't be ideal since you have to sift through all the various UTXOs and select only the ones that you would like to spend and this could take quite sometime. OP wants a method for which the UTXO could be marked within the wallet and it would never be spent.

How would that even work? When the spammer broadcasts a transactions you just yell "NO" to the network and they won't include it in the next block?
That's the only way it could work which is very inefficient and is arguably a form of censorship. Stopping the spam transactions is impossible and it wouldn't be ideal either way.


Title: Re: block inputs
Post by: Pmalek on February 04, 2019, 03:29:55 PM
How would that even work? When the spammer broadcasts a transactions you just yell "NO" to the network and they won't include it in the next block?
I didn't think it was possible, hence the part in my post where I said I haven't heard of a way to block transactions. pooya87 wrote that Electrum allows you to freeze addresses and I thought that they found a way to do it now. But that will hardly ever happen. 


Title: Re: block inputs
Post by: cellard on February 05, 2019, 03:36:42 AM
You can already do this with bitcoin core :

Enable Coin Control features :

https://puu.sh/CH4jQ/768394b0b8.png

Select which inputs to spend next time you want to make a transaction :

https://puu.sh/CH4k8/565e4906d7.png

You would usually see the list of every input you received here, I just don't use bitcoin core, only installed it for the screenshot.

EDIT : I use Electrum and even them have this feature :

https://puu.sh/CH4tN/352c1b8903.png

Just Show Coins, and you'll be able to spend specific inputs.

...some of them already have output-freeze options. for example Electrum lets you freeze addresses.
That would mean you would be able to block certain addresses to send you bitcoins right? That implies knowing the spammer addresses beforehand or blocking them after they already sent you some dust transactions. Unfortunately i haven't heard of a way to block transactions below a certain amount from reaching your wallet.

How would that even work? When the spammer broadcasts a transactions you just yell "NO" to the network and they won't include it in the next block?

Yeah i know that by default all inputs that show up on the Coin Control section are all unmarked, so you must select which ones you want to send. However im talking about permanently blocking them, so if you accidentally select them, you couldn't because they would be greyed out, unclickable or something along the lines, some sort of visual cue. This could save you from using an input that was sent to you to trace your transactions, or coins that come from criminal activity and want to put you in trouble by you sending a transaction linked to it or what have you. Many reasons to block inputs. We should have this in Core wallet too. I only trust wallet.dat format for storing private keys.


Title: Re: block inputs
Post by: pooya87 on February 05, 2019, 04:24:16 AM
...some of them already have output-freeze options. for example Electrum lets you freeze addresses.
That would mean you would be able to block certain addresses to send you bitcoins right? That implies knowing the spammer addresses beforehand or blocking them after they already sent you some dust transactions. Unfortunately i haven't heard of a way to block transactions below a certain amount from reaching your wallet.

How would that even work? When the spammer broadcasts a transactions you just yell "NO" to the network and they won't include it in the next block?

you can't prevent people from sending you bitcoin. but you can prevent your wallet from spending it.
it can work either by having an option in your wallet that allows you to freeze certain transaction outputs (which is called "coins" sometimes) or it can even go as far as not even showing the output in your wallet. something like blocking a number in your cell phone from calling it, that  doesn't prevent the number from calling you but it stops your phone from ringing and bothering you!


Title: Re: block inputs
Post by: cellard on February 09, 2019, 03:32:37 AM
...some of them already have output-freeze options. for example Electrum lets you freeze addresses.
That would mean you would be able to block certain addresses to send you bitcoins right? That implies knowing the spammer addresses beforehand or blocking them after they already sent you some dust transactions. Unfortunately i haven't heard of a way to block transactions below a certain amount from reaching your wallet.

How would that even work? When the spammer broadcasts a transactions you just yell "NO" to the network and they won't include it in the next block?

you can't prevent people from sending you bitcoin. but you can prevent your wallet from spending it.
it can work either by having an option in your wallet that allows you to freeze certain transaction outputs (which is called "coins" sometimes) or it can even go as far as not even showing the output in your wallet. something like blocking a number in your cell phone from calling it, that  doesn't prevent the number from calling you but it stops your phone from ringing and bothering you!

I wouldn't go as far as completely hiding it, since I really like to have all the information visible (I want to know that's there, even if I don't want to send it, I want to know the address of the spammer or whatnot) but I don't want to accidentally choose it as part of a transaction by missclicking on the checkbox which would be really easy if you have tons of different inputs.

The solution would be to have a dropdown menu and an option would be "freeze input" and then it becomes gray (unclickable). Also an additional column to add notes. So it would look like this:

https://cdn.pbrd.co/images/I0iQKNo.png



Title: Re: block inputs
Post by: pooya87 on February 09, 2019, 04:10:01 AM
~
I wouldn't go as far as completely hiding it, since I really like to have all the information visible (I want to know that's there, even if I don't want to send it, I want to know the address of the spammer or whatnot) but I don't want to accidentally choose it as part of a transaction by missclicking on the checkbox which would be really easy if you have tons of different inputs.

The solution would be to have a dropdown menu and an option would be "freeze input" and then it becomes gray (unclickable). Also an additional column to add notes. So it would look like this:

by "hide" i mainly meant in the basic areas such as where you see your balance or history,... where regular users go to. the "coin control" page and other options like that are considered like advanced options and it should still remain there with a note.

regarding the "notes" additional column, there is already a column called "label" which is basically the same as a comment section where you include some extra description. i don't think there is any need for a new one.