Edit: This is a bad idea for bitcoin, the only way this would be feasible is with an alternate cryptocurrency where the chargebacks are advertised as a feature from the beginning. It just makes me facepalm to see people lose huge amounts of bitcoin.Let's say you have 5,000 BTC in your wallet, and someone gets access to your bitcoins. They make a transaction to send those 5,000 BTC to an address you don't own. How do you get your coins back?
Why not pay mining pools to fork the chain in your favor and change the address that those coins are sent to? What if you paid 51% of miners an amount greater than what they are getting from regular mining to change the receiving address in that transaction to a new one that you control?
How would this work?
Let's say by the time you figure out what has happened, the theft transaction is now 5 blocks deep in the blockchain. You send the change request to 51% of miners. The change request should include the address you want to replace the thief's with as well as a signing by the transaction input private keys (Only the address owner should be able to do a chargeback). By now 5 blocks have been found, so you will have to pay (50*5 BTC) + (any transaction fees included with those blocks) + (some extra incentive for the miners to actually do this) to their respective block finding pools.
Ok, so we have appeased the mining pools who got lucky, so they shouldn't mind the forking, but what about the other miners? They haven't lost anything, so you'll only need to pay them enough to give them incentive to actually do this.
So now 51% of the miners are on the same page and we're ready to roll back the blockchain and replace the theft block with the new block that contains the modified transaction. The original owner has paid (50 BTC reward)*5 + (~25 BTC avg transaction fees)*5 + (Miner Chargeback Incentive) = 375 BTC + (Miner Chargeback Incentive) to get their 5,000 BTC back. Quite the bargain (depending on the Miners' chargeback fee for this)
But wait, maybe the thief also has the private keys. If so, they can request a transaction replacement to a new address as well. After the thief sees that the fraudulant transaction was undone, (or perhaps proactively), they will request their own chargeback. What'll end up happening is a bidding war for the funds. The rightful owner will be willing to pay the miners up to 99% of the stolen amount to get the full amount back because any way they can reduce their losses is good. The thief will be willing to pay the miners up to 99% of the stolen amount (IF they have that much BTC) because walking away with anything is better than nothing.
The result is that although the rightful owner may not get all or any of his bitcoins back, the thief doesn't get ANY of them. The thief may get the actual bitcoins if they win the bidding war, but they'll have to pay that many bitcoins or more to the miners to win the auction. The winner of the auction is charged and the loser isn't. The winner's transaction is the one included in the modified block. The worst case scenario is that the the stolen value will be redistributed to the miners instead of going to a bad person. Not as ideal as getting the money back, but still better for the community I think.
Obviously this can get very expensive very fast, so it's only worth it for large sums of money and only those who have other large sums of money (that wasn't stolen) that can pay for it. And it's only worth it if you are very fast at discovering a theft. In some respects I think this is a better response to large thefts of bitcoin than taints or blacklists.
Some cons are:
- Unreliability in the bitcoin network confirmation times - if 5 blocks have to be done again, it'll have taken a total of 11 blocks to get to 6 confirmations.
- Someone could intentionally slow down the bitcoin network by making chargeback requests on their own transactions and paying BTC to miners (though they will eventually run out of money.)
- It would be hard to get 51% of miners on board.
- With large amounts, significantly more than 6 confirmations will be needed for transactions. Enough so that the cost to do a chargeback ((50+25)*(# confirmations)+(Miner Chargeback Fee)) is greater than the transaction amount.
- Will this even be needed when multisig comes in to save the day?
Obviously it would be unacceptable to all users for someone to do a chargeback 100 blocks in. Would 1 block in be acceptable? The Miners would have to come up with rules about the max number of blocks they would be willing to fork and perhaps apply an exponentially growing fee based on how deep the chargeback goes.
I'm not very knowledgeable about the mining process, so I'm not sure how to implement something like this.
Why or why wouldn't something like this work?