Joe200 (OP)
|
|
September 20, 2012, 02:22:19 AM Last edit: September 20, 2012, 04:27:56 PM by Joe200 |
|
This is a proposal to help stop bitcoin thieves. Especially pertinent in light of recent thefts. The coins stolen from bitfloor have not been spent yet! We still have a chance to make this thief's life more difficult. Please discuss.
People have proposed blocking tainted coins. There are good arguments against this. Who will decide which coins should be blocked? What happens if the thief spends the coins before they are blocked? The person who took the coins might not know that they are stolen.
My proposal is similar, but it relies on giving people (bitcoin users and miners) options, as opposed to forcing everyone to do something. In principle, those who want to do this can do this already. But it's difficult, so no one will do it. I would like the software to give people the option to do what I propose. This will make it much easier to do, and a lot of people will do it.
Part 1. Clients should have the option to block tainted coins -- coins that have passed through specific transaction ID's. If this option is turned on and A receives payment from B that contains blacklisted coins, these things happen: - The blacklisted coins are immediately sent back to B. - A's client indicates that he did not receive the full payment, that some of the received coins were stolen and were sent back.
So A tells B "I did not accept some of the coins you sent me. To complete the transaction, send me more coins, ones that have not been blacklisted."
Who controls the blacklist? The software should give the option to manually enter blacklisted transaction OR to subscribe to a list that someone continuously updates. This would work like the AdBlock Plus browser plugin for blocking ads. It's up to the user to choose which list they want to use. After awhile, most people will use one of a few lists.
In the beginning, this option should be turned off by default, so that people don't freak out that their client is doind somethign that they don't want. I predict many people will turn the option on. After some time, clients can have it on by default. People can still opt out if they want to.
EDIT. Here is what a watch-only wallet could do: - Indicate the amount received that is blacklisted. - Don't add that amount to the total. - Automatically create a transaction sending the blacklisted coins back to the address from which they came from.
The next time I am signing transactions, I will have the option to sign this one as well.
Part 2. The bitcoin software should give miners the option to reject transactions that involve coins that have passed through specific transaction ID's. Again, strictly optional. If we convince a few of the big mining pools, the thieves will lose their ability to spend coins.
Also add a whitelist. The whitelist is a list of addresses -- blacklisted coins can only be spent to these addresses. With this option, thieves can only send the coins back to their rightful owner. All other transactions will be blocked.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 20, 2012, 02:30:48 AM |
|
Unless everyone agrees to use a single list then you are most likely going to end up with a situation that you cannot send a tx to someone because your lists differ in their opinions about what is tainted. No one is going to want to use Bitcoin if every time they try and make a payment small portions get sent back and they are told to make another payment (which in all likelihood their client will actually just try and send the same rejected inputs again).
Taking this problem further forward then eventually (after all mining has finished) every single "coin" will end up with some input that was "stolen" as some time in the past (especially if it is decided that coins stolen from previous heists should also be included) so unless you are limiting the transaction history and only ever using the one list then this will simply make Bitcoin unusable.
|
|
|
|
FreeMoney
Legendary
Offline
Activity: 1246
Merit: 1016
Strength in numbers
|
|
September 20, 2012, 02:57:49 AM |
|
If you won't take my bitcoins you need to make it clear before you offer to take them for good or services or you are the thief. A full list of coins that you won't take needs to be sitting next to the request for payment at the very least imo. Probably you should say that you only accept a Special Subset of Bitcoin Called <whatever you call it> and not Bitcoin.
|
Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
|
|
|
Joe200 (OP)
|
|
September 20, 2012, 03:06:57 AM |
|
FreeMoney,
It does not make me a thief because I return the coins that I don't accept immediately.
But more to your point -- I have no problem in announcing up front that I do not take coins listed on list X. That is actually a good idea. It will encourage others to do the same.
|
|
|
|
Joe200 (OP)
|
|
September 20, 2012, 03:10:39 AM |
|
CIYAM Pty. Ltd.,
I am only asking that the software gives people the option to easily do what they already want to do and already can do, though it's difficult right now.
Let's give people the option and see what happens. Maybe it won't catch on. But maybe it will. Maybe there will be a million lists, but I think there will be very few lists. If someone using a list annoys you, you don't have to deal with them.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 20, 2012, 03:18:21 AM |
|
The real problem technically is to do with coin control and although the latest release has low level RPC commands to construct a tx manually for 99.99% of Bitcoin users this would simply be not practical (little own Gavin's grandma).
So in actuality the software cannot do what you are wanting to be done and although you are welcome to create a patch to achieve this I think you will have little to no interest from the core development team and most users.
I think the time and energy is better spent on securing ones coins (with multi-sig) than trying to chase "tainted" coins.
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
|
September 20, 2012, 03:21:40 AM Last edit: September 20, 2012, 01:43:43 PM by DeathAndTaxes |
|
FreeMoney,
It does not make me a thief because I return the coins that I don't accept immediately.
But more to your point -- I have no problem in announcing up front that I do not take coins listed on list X. That is actually a good idea. It will encourage others to do the same.
You do understand that will result in transaction fees? So you willing to pay it out of your own pocket? Also if the client has the ability to sign tx then the wallet is unlocked. You like the idea of your wallet being unlocked 24/7/365 in order to return coins you don't "like"?
|
|
|
|
nayrB16
Member
Offline
Activity: 62
Merit: 10
I was lucky enough to solve block 121306
|
|
September 20, 2012, 03:25:34 AM |
|
subscribe to a list that someone continuously updates.
That Someone continuously updates?This notion violates Bitcoins decentralized nature.
|
Haha! I'm the only one to control Bitcoin address 1HjtErSHNEHtY347LouvsFq5KesHkEZLAV
|
|
|
kjj
Legendary
Offline
Activity: 1302
Merit: 1026
|
|
September 20, 2012, 05:06:53 AM |
|
Part 1. Clients should have the option to block tainted coins -- coins that have passed through specific transaction ID's. If this option is turned on and A receives payment from B that contains blacklisted coins, these things happen: - The blacklisted coins are immediately sent back to B.
No, this is impossible. - A's client indicates that he did not receive the full payment, that some of the received coins were stolen and were sent back.
No, this is a lie.
|
17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8 I routinely ignore posters with paid advertising in their sigs. You should too.
|
|
|
Joe200 (OP)
|
|
September 20, 2012, 01:36:59 PM |
|
That Someone continuously updates?
This notion violates Bitcoins decentralized nature.
On the contrary. The option to use a blacklist is completely voluntary. Which list to use is completely up to the user. It might happen that after some time, there will be only a few lists. There is nothing wrong with centralization or semi-centralization as long as it evolves by itself and as long as anyone can walk away at any time. Look at this forum. It's a centralized place to discuss bitcoins. It's completely voluntary and anyone can walk away, so there is nothing wrong with it.
|
|
|
|
Justin00
Legendary
Offline
Activity: 910
Merit: 1000
★YoBit.Net★ 350+ Coins Exchange & Dice
|
|
September 20, 2012, 01:45:33 PM |
|
maybe if someone did something all these exchanges wouldn't get "hacked" every week.....
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 20, 2012, 01:46:57 PM |
|
You seem to have missed some rather major points here:
1) Are you going to pay the fees to return the "tainted" bitcoins?
2) How are you going to change the software to make sure the next tx doesn't try to send the same "tainted" coins again?
|
|
|
|
Joe200 (OP)
|
|
September 20, 2012, 01:48:45 PM |
|
You do understand that will result in transaction fees? So you willing to pay it out of your own pocket?
Also if the client has the ability to sign tx then the wallet is unlocked. You like the idea of your wallet being unlocked 24/7/365 in order to return coins you don't "like"?
That's a great point! Here is what a watch-only wallet could do: - Indicate the amount received that is blacklisted. - Don't add that amount to the total. - Automatically create a transaction sending the blacklisted coins back to the address from which they came from. The next time I am signing transactions, I will have the option to sign this one as well.
|
|
|
|
markm
Legendary
Offline
Activity: 2996
Merit: 1121
|
|
September 20, 2012, 01:51:48 PM |
|
Has there even been any "theft" yet that was not basically some idiot or incompetent basically throwing coins out a window because they couldn't be bothered to secure them?
If people are going to be more motivated to do something after a theft than before it maybe we should just automatically steal from everyone once to motivate them and provide more info on preventing loss?
-MarkM-
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
|
September 20, 2012, 01:51:54 PM |
|
Your right that it is voluntary but it many believe it will be conterproductive and create chaos and additional risk.
Just some scenarios you may not have thought of:
Say I accept coins from someone and then the "bad tx" ends up on a blacklist? So now through no fault of my own I am stuck with coins that I may not be able to spend. At best I lose some % of their utility, at worst nobody takes them and the cost of the loss is passed from the responsible party (the thief & the entity who left coins unsecured) to me (an innocent third party).
Think that is going to increase merchant adoption? What about malware? Infect user's computer so their black list is spoofed and trick them into accepting "bad" coins.
Also what about coin "hostage". You sell me 1000 BTC worth of Gold. I pay you 1000 BTC. I then say I am going to report these stolen unless you give me back 100 BTC. Your choice lose 10% or lose 100%.
The person(s) maintaining the list? How are they going to pay for the cost of investigating all these claims and counter claims? Charge list subscribers? So the loss is simply subsidized by third parties.
You can't pretend it is all benefit with no cost. The cost is in terms of confusion, chaos, complexity, reduced adoption, acceptance risk, and corruption (lots of power & money to be made adding/removing an address from a blacklist) are huge. You are right nobody can prevent you from building a list today but it doesn't mean that it is a good idea or people won't do everything possible to ensure it doesn't gain enough acceptance to be effective.
BTW: Not sure where you get the idea your proposal is new. It has been proposed before many many times (essentially once or twice after every major hack going back 2 or 3 years). It is just as bad now as it was when first proposed.
|
|
|
|
Pieter Wuille
|
|
September 20, 2012, 01:53:20 PM |
|
Currently bitcoin transactions are just transfers of money. They are not "payments", as there is no indication for example what the transfer is for, who sends it, or how it can be returned. In particular, there is no indication that the transfer was requested by the receiver.
Receiving an involuntary bitcoin transaction is like finding a bar of gold on your doorstep, and potentially later realizing it was stolen good.
As in so many cases, the solution in my opinion is a payment protocol, where the transaction can be negotiated by sender and receiver at the exact time when the transaction takes place. Regardless of whether marking coins tainted (even subjectively) is a good idea, such a system would certainly allow transactions to be refused.
|
I do Bitcoin stuff.
|
|
|
Joe200 (OP)
|
|
September 20, 2012, 01:58:03 PM |
|
You seem to have missed some rather major points here:
1) Are you going to pay the fees to return the "tainted" bitcoins?
2) How are you going to change the software to make sure the next tx doesn't try to send the same "tainted" coins again?
1) Sure. This blacklisting will be optional. The people who turn on the option will be fine with paying the fees. If you don't want to pay fees, don't turn on the option. 2) Do you mean this scenario: - A sends coins to B. - B's client detects that they are tainted, sends them back to A. - A's client detects that they are tainted, sends them back to B? Good question, something to think about. If A's client had the option to detect tainted coins turned on, why did it receive them from someone else in the first place? It's possible, for example, A just turned on the option, but I don't think it will be a common occurrence. If the coins have gone back and forth between the same 2 people a certain number of times, the client could ask for confirmation to send the coins back. At this point, B could call up A and say, "Look, you are the one who sent me tainted coins. I am sending them to you. Don't send them back." A and B will have to work it out between themselves. The client will break the infinite loop by asking for confirmation and / or adding a fee.
|
|
|
|
Joe200 (OP)
|
|
September 20, 2012, 02:01:32 PM |
|
As in so many cases, the solution in my opinion is a payment protocol, where the transaction can be negotiated by sender and receiver at the exact time when the transaction takes place. Regardless of whether marking coins tainted (even subjectively) is a good idea, such a system would certainly allow transactions to be refused.
+1
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
|
September 20, 2012, 02:03:00 PM |
|
Good question, something to think about. If A's client had the option to detect tainted coins turned on, why did it receive them from someone else in the first place? It's possible, for example, A just turned on the option, but I don't think it will be a common occurrence. Maybe the theft was reported AFTER A sent the coins. A accepts coins from thief (unknown to A). A sends coins to B blacklist updated to include theft B client reports coins are tainted. So who gets stuck with the blocked coins? A? B? It certain isn't the thief he already got away with it.
|
|
|
|
Joe200 (OP)
|
|
September 20, 2012, 02:55:07 PM |
|
Maybe the theft was reported AFTER A sent the coins.
A accepts coins from thief (unknown to A). A sends coins to B blacklist updated to include theft B client reports coins are tainted.
So who gets stuck with the blocked coins? A? B? It certain isn't the thief he already got away with it.
1. If A and B both want to optionally block tainted coins, then they will have to work it out between themselves. If A did receive the coins from the thief, then A has or should have some information about who the thief is. He can share that info with the world and with law enforcement. The coin blocking actually alerts A very quickly, so he can take action. If A is running a don't ask don't tell business, like a remixer, then that's the risk he takes. A might be stuck if he was selling immediate delivery goods, like ebooks / music, etc. If he was selling goods that need to be mailed, the handling takes a day or two, which gives him time to send the coins back to where he got them from and request clean coins. 2. You have a point. I think most people who use a blacklist will use a very conservative one. If the thief is sitting on the coins, those coins will go into the list. But if, by the time the dust clears, the thief has spent the coins, a conservative list will not list the coins. The bitfloor thief is STILL SITTING ON THE COINS. So I think most people would be fine with blacklisting them. But nobody will use a list that today lists coins from the Mt. Gox theft a year ago. People who wish to block tainted coins will have choices as to which coins exactly they block and as to which list to use.
|
|
|
|
|