Author

Topic: clean coins: miner enforced privacy (Read 973 times)

sr. member
Activity: 266
Merit: 250
June 15, 2014, 11:25:04 AM
#14
In thinking about the privacy issue with bitcoin, could not a temporary solution be the substitution of freshly minted coins  for transactions?

For example, what if I were to send 1btc to Bob, but I wanted the transaction to be private, could I not send 1btc to  a cooperating mining pool - let's say slush, and after slush mines its next block, rather then send 1btc from the newly minted block to its miners, it splits up fairly the 1btc I sent  to slush, to the miners, and then forwards 1btc clean to the address I intended to pay?

I could pay for the service by including a larger then normal transaction fee which slush would keep in this case.





Why does this method just scream to me "MONEY LAUNDERING" I dont know why but that was the first thing that popped into mymind when I read this.

This is exactly what would be being done. It would not be unlike any other mixing service (the technicalities would be different, but the goal is the same)
legendary
Activity: 1400
Merit: 1013
June 15, 2014, 10:31:47 AM
#13
it would be obvious that you were colluding with that pool.
I'm not sure what you mean by "you" and "colluding".

If mining pools did this, it would be a service they provided for a fee. Do you say the grocery store colludes with you when they check you out at the register?

Everyone would be able to identify which transactions in the block sent all their inputs to transaction fees. Any given attacker may or may not be able to associate the input(s) used in those transactions with specific people.

The outputs of the generation transaction would be correspondingly larger. Whether or not any specific output could be associated with the inputs would depend on exactly how the output sizes were arranged.
hero member
Activity: 1008
Merit: 502
June 15, 2014, 01:38:25 AM
#12
In thinking about the privacy issue with bitcoin, could not a temporary solution be the substitution of freshly minted coins  for transactions?

For example, what if I were to send 1btc to Bob, but I wanted the transaction to be private, could I not send 1btc to  a cooperating mining pool - let's say slush, and after slush mines its next block, rather then send 1btc from the newly minted block to its miners, it splits up fairly the 1btc I sent  to slush, to the miners, and then forwards 1btc clean to the address I intended to pay?

I could pay for the service by including a larger then normal transaction fee which slush would keep in this case.





Why does this method just scream to me "MONEY LAUNDERING" I dont know why but that was the first thing that popped into mymind when I read this.
sr. member
Activity: 448
Merit: 250
It's Money 2.0| It’s gold for nerds | It's Bitcoin
June 15, 2014, 01:17:50 AM
#11
But perhaps its possible to build a transaction that would enforce this. For example, p2p pool. Sure there would be a delay in payment, but you have to compromise for privacy. And why not allow for paying form this service? It is a service after all. 

It should be an automatic service and is better than a mixed as you can't track the coins as they have no relation to one another. The payment I send to slush could be constructed where the forwarding address is included in some way (a hash?) And the payee could be a stealth address of some sort so that the pool can't keep track of the payment itself. It could be worth developing- in theory it could work even after coins are no longer minted as it could redistribute the transaction fees.
The dangerous way to get your coins re-mined is to create transactions that send 100% of the inputs to transaction fees, privately send that transaction to a cooperative miner (don't broadcast on the network!) then trust the miner to credit you (minus some commission) in the coinbase transaction.

Downsides are that you have to trust the miner (mining pool operator), and with getblocktemplate you also need to trust all the participants in the pool to not spot your transaction and forward it to another pool who could put it in their block instead. Also, smart blockchain analysis tools could look for that kind of thing and correlate your "clean" coins to the "dirty" coins based on the output size. And the miner might keep records intentionally or unintentionally. Oh, and if that block gets orphaned you could lose your money.

Making this practical means solving each one of these problems, and maybe some more that I didn't think of. Any single flaw in the scheme means you don't actually get any privacy.

If you were to do this then everyone would be able to see the block with the huge amount of TX fees.

if the amount of BTC in question was small enough to not attract attention it would likely not be enough money to have to worry about that level of privacy. If You sent a TX with for example a 10 BTC TX fee then the block reward would be at least 35 BTC and it would be obvious that you were colluding with that pool.
legendary
Activity: 1400
Merit: 1013
June 12, 2014, 06:45:59 PM
#10
But perhaps its possible to build a transaction that would enforce this. For example, p2p pool. Sure there would be a delay in payment, but you have to compromise for privacy. And why not allow for paying form this service? It is a service after all. 

It should be an automatic service and is better than a mixed as you can't track the coins as they have no relation to one another. The payment I send to slush could be constructed where the forwarding address is included in some way (a hash?) And the payee could be a stealth address of some sort so that the pool can't keep track of the payment itself. It could be worth developing- in theory it could work even after coins are no longer minted as it could redistribute the transaction fees.
The dangerous way to get your coins re-mined is to create transactions that send 100% of the inputs to transaction fees, privately send that transaction to a cooperative miner (don't broadcast on the network!) then trust the miner to credit you (minus some commission) in the coinbase transaction.

Downsides are that you have to trust the miner (mining pool operator), and with getblocktemplate you also need to trust all the participants in the pool to not spot your transaction and forward it to another pool who could put it in their block instead. Also, smart blockchain analysis tools could look for that kind of thing and correlate your "clean" coins to the "dirty" coins based on the output size. And the miner might keep records intentionally or unintentionally. Oh, and if that block gets orphaned you could lose your money.

Making this practical means solving each one of these problems, and maybe some more that I didn't think of. Any single flaw in the scheme means you don't actually get any privacy.
sr. member
Activity: 448
Merit: 250
It's Money 2.0| It’s gold for nerds | It's Bitcoin
June 12, 2014, 06:03:14 PM
#9
In thinking about the privacy issue with bitcoin, could not a temporary solution be the substitution of freshly minted coins  for transactions?

For example, what if I were to send 1btc to Bob, but I wanted the transaction to be private, could I not send 1btc to  a cooperating mining pool - let's say slush, and after slush mines its next block, rather then send 1btc from the newly minted block to its miners, it splits up fairly the 1btc I sent  to slush, to the miners, and then forwards 1btc clean to the address I intended to pay?

I could pay for the service by including a larger then normal transaction fee which slush would keep in this case.





Why couldn't you simply pay someone to do PPS mining for you? You would still get the "fresh" coins but the link between your sending address and the output is not on the blockchain (it may be elsewhere on the internet).
legendary
Activity: 4424
Merit: 4794
June 12, 2014, 11:09:48 AM
#8
In thinking about the privacy issue with bitcoin, could not a temporary solution be the substitution of freshly minted coins  for transactions?

For example, what if I were to send 1btc to Bob, but I wanted the transaction to be private, could I not send 1btc to  a cooperating mining pool

if you want privacy.

ask you friend to set up a fresh address and you send funds to it. that way because he does not have his address plastered as a footer of a forum account no one will know who your sending to it.

your plan to use a pool is not private.
1. people can recognize a pool address where you deposit funds to which get dispursed to miners. so soon enough your address can be linked because of how the pool works
2. the pool knows you and the pool has details of the trade.. meaning a middle man has knowledge of the transaction. which makes it ultimately the same as throwing the funds into an exchange and withdrawing the coins... this is how trendon shavers was tracked as using silk road as a mixer with silk roads 1dry address..

the true private way is to have multiple addresses not tagged to you and your friend having mutliple addresses too. which when you send funds from your tagged address to another fresh address in your stock pile, you simply deny any knowledge it belonging to you and say it was a second party. and leave it up to whomever traces you to work out if address 2-9 was you or the second party or an exchange.

non private transactions is to trade direct from your known address to the other persons known address.. so simply putting a gap between you both and an exchange to mix the coins leaves 'reasonable doubt' the two transactions are directly connected.

im just surprised Mr. rabbit that you have not searched out the multiple threads about 'multiple hops' and 'mixing coins' solutions before now, as i know your a long term member
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
June 12, 2014, 09:05:19 AM
#7
No that doesn't solve the problem at all.
hero member
Activity: 1582
Merit: 502
June 12, 2014, 08:41:19 AM
#6
But perhaps its possible to build a transaction that would enforce this. For example, p2p pool. Sure there would be a delay in payment, but you have to compromise for privacy. And why not allow for paying form this service? It is a service after all. 

It should be an automatic service and is better than a mixed as you can't track the coins as they have no relation to one another. The payment I send to slush could be constructed where the forwarding address is included in some way (a hash?) And the payee could be a stealth address of some sort so that the pool can't keep track of the payment itself. It could be worth developing- in theory it could work even after coins are no longer minted as it could redistribute the transaction fees.

Upload your coins to an exchange.
Withdraw to your friend's address.

Problem solved Wink
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
June 12, 2014, 08:28:02 AM
#5
But perhaps its possible to build a transaction that would enforce this. For example, p2p pool. Sure there would be a delay in payment, but you have to compromise for privacy. And why not allow for paying form this service? It is a service after all. 

It should be an automatic service and is better than a mixed as you can't track the coins as they have no relation to one another. The payment I send to slush could be constructed where the forwarding address is included in some way (a hash?) And the payee could be a stealth address of some sort so that the pool can't keep track of the payment itself. It could be worth developing- in theory it could work even after coins are no longer minted as it could redistribute the transaction fees.
legendary
Activity: 1260
Merit: 1029
June 12, 2014, 08:17:37 AM
#4
For something that's promoted as "private" bitcoins ure needs alot of side help to provide that privacy  Grin
legendary
Activity: 4424
Merit: 4794
June 12, 2014, 08:13:49 AM
#3
trendon shavers mining pool a couple years back done this, he accepted funds in from dubious investors, and gave them the minted coins, while giving miners the dubious coins.

it was his mixer (of sorts)

there are other pools that have done this by selling the fresh coins at a premium price, the same way money launderers swap dirty money.

i would be very cautious about offering a clean 1bitcoin for 1.05+ dirty bitcoins. although it is a way of making alot of commission. offering such a thing on a public website is asking for trouble. though many are doing this exact thing on tor onion sites
legendary
Activity: 2394
Merit: 1216
The revolution will be digital
June 12, 2014, 08:03:08 AM
#2
In thinking about the privacy issue with bitcoin, could not a temporary solution be the substitution of freshly minted coins  for transactions?

For example, what if I were to send 1btc to Bob, but I wanted the transaction to be private, could I not send 1btc to  a cooperating mining pool - let's say slush, and after slush mines its next block, rather then send 1btc from the newly minted block to its miners, it splits up fairly the 1btc I sent  to slush, to the miners, and then forwards 1btc clean to the address I intended to pay?

I could pay for the service by including a larger then normal transaction fee which slush would keep in this case.


Any solo miner or mining pool operator can easily create an interface to offer this service. But this would probably delay in the process of payment, because u never know when Slush is going to get the next block.
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
June 12, 2014, 07:56:06 AM
#1
In thinking about the privacy issue with bitcoin, could not a temporary solution be the substitution of freshly minted coins  for transactions?

For example, what if I were to send 1btc to Bob, but I wanted the transaction to be private, could I not send 1btc to  a cooperating mining pool - let's say slush, and after slush mines its next block, rather then send 1btc from the newly minted block to its miners, it splits up fairly the 1btc I sent  to slush, to the miners, and then forwards 1btc clean to the address I intended to pay?

I could pay for the service by including a larger then normal transaction fee which slush would keep in this case.



Jump to: