Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: JasonWoods on August 24, 2011, 05:31:01 PM



Title: Bypassing the blockchain
Post by: JasonWoods on August 24, 2011, 05:31:01 PM
Like the topic says. How can I make a transaction which will not appear in the blockchain?

I'm not caring about the security of the P2P validation, because I want to send my Bitcoins to another one of my addresses; even in the same wallet.

The reason for this is simple: I don't want others to know who sent me my coins.

Everybody suggests to use a new address for each transaction to make it a bit more anonymous. Now let's assume I got 100 incoming transactions from different people, 0.01Btc each. When I now send 1Btc to another user, all those 100 addresses are linked together in the blockchain, effectively telling everybody that all of those belong to the same user. And if one of those addresses is linked with an account name or email, everybody knows that user is me.

I already asked here: https://bitcointalk.org/index.php?topic=38529 but the Newbie forum doesn't get much attention it seems.


Title: Re: Bypassing the blockchain
Post by: FreeMoney on August 24, 2011, 05:38:12 PM
Like the topic says. How can I make a transaction which will not appear in the blockchain?

I'm not caring about the security of the P2P validation, because I want to send my Bitcoins to another one of my addresses; even in the same wallet.

The reason for this is simple: I don't want others to know who sent me my coins.

Everybody suggests to use a new address for each transaction to make it a bit more anonymous. Now let's assume I got 100 incoming transactions from different people, 0.01Btc each. When I now send 1Btc to another user, all those 100 addresses are linked together in the blockchain, effectively telling everybody that all of those belong to the same user. And if one of those addresses is linked with an account name or email, everybody knows that user is me.

I already asked here: https://bitcointalk.org/index.php?topic=38529 but the Newbie forum doesn't get much attention it seems.

Dirty coins ---> You? [yes you but no one knows] ----> You? [maybe, maybe not] -----> You? [could be, or no] ----> You ----> Others

Others: Hey where did you get this coin.
You: Um, dunno
Others: Go check
You: wtf, leave me alone
Others: No really, go figure it out
You: Okay, it was one of those damn pyramids



Title: Re: Bypassing the blockchain
Post by: MoonShadow on August 24, 2011, 05:42:29 PM
Like the topic says. How can I make a transaction which will not appear in the blockchain?


If you are using a client on your computer, you can't.

Quote

I'm not caring about the security of the P2P validation, because I want to send my Bitcoins to another one of my addresses; even in the same wallet.


This would have to hit the blockchain at some point, even if it's only 6 confirmations before you use it.  Of course, that would be pointless.

Quote

The reason for this is simple: I don't want others to know who sent me my coins.


Don't tell anyone.

Quote

Everybody suggests to use a new address for each transaction to make it a bit more anonymous. Now let's assume I got 100 incoming transactions from different people, 0.01Btc each. When I now send 1Btc to another user, all those 100 addresses are linked together in the blockchain, effectively telling everybody that all of those belong to the same user. And if one of those addresses is linked with an account name or email, everybody knows that user is me.


Which is why you use a different receiving address for each transaction, or at least each customer.  If you desire real anonimity, you are going to have to put in some effort.  Using a mixer or a shared online wallet would help.


Title: Re: Bypassing the blockchain
Post by: dree12 on August 24, 2011, 05:44:24 PM
This is impossible because of the bitcoin design, as already explained. Each address has its own history of transactions, which are its coins. Transferring coins to a new address rebundles them into a new coin, which will make the transaction visible.

It may be possible to set up a system like this:

Computer A holds the wallet.dat with the address to send from
Computer B is mining bitcoins solo
Create a transaction of 1 SAT to a non-existant address, send the rest as fee without broadcasting to network yet
Configure computer B to add a transaction from the address in computer A, but not broadcast to the network
Once computer B mines a block, withhold the block and broadcast transaction
Release the block and put Computer B back to normal solo mining
The coins are now in a block subsidy

This is, however, extremely cumbersome and has a risk of theft.


Title: Re: Bypassing the blockchain
Post by: BitPay Business Solutions on August 24, 2011, 06:03:56 PM
Like the topic says. How can I make a transaction which will not appear in the blockchain?

Simple, Buy a BITBILL

http://bitbills.com (http://bitbills.com)

Pay a dry cleaner with it.  The dry cleaner pays a restaurant with it.  Etc, etc.  None of those transactions appear in the block chain.

Only when someone down the line (perhaps after 10 or 20 transactions) wants to spend it electronically do they bring the keys back online and would it enter the blockchain.


Title: Re: Bypassing the blockchain
Post by: evoorhees on August 24, 2011, 06:11:18 PM
I think a possible solution is this:

1) Send your coins to a new instawallet address
2) Send those coins via instawallet "green address" to yet another instawallet address
3) repeat step 2 (again via green address)
4) Send the coins to their final destination via green address again

Note: for extra protection, break each step into multiple amounts to different places within instawallet, all using green addresses. Do the process over a few days and never send the same numerical amount twice to obscure any relationships

If you do this, and check block explorer, you'll just hit dead ends. It's untrackable via the block chain alone. This technique isn't bulletproof... but I think in order for your coins to be tracked it would require subpoena of instawallet servers, and that may be futile as well. If done over days, in varying amounts, the plausible deniability becomes substantial.

Anyone wanna point out how my technique is flawed?

Alternative: swap bitbills with people, and combine it with the above process.


Title: Re: Bypassing the blockchain
Post by: adamstgBit on August 24, 2011, 06:24:51 PM
why do you have to be 100% untraceable anyway?? are you planning doing the next big hack?:P


Title: Re: Bypassing the blockchain
Post by: FreeMoney on August 24, 2011, 07:00:38 PM
why do you have to be 100% untraceable anyway?? are you planning doing the next big hack?:P

There are lots of reasons someone would prefer not to share their transaction history with the public. There are some violent folks out there with strange triggers.


Title: Re: Bypassing the blockchain
Post by: the founder on August 24, 2011, 08:11:31 PM
flexcoin to flexcoin transfers do not show up in the blockchain.



Title: Re: Bypassing the blockchain
Post by: JasonWoods on August 24, 2011, 08:20:56 PM
It's not about money laundering or anything illegal like some seem to assume.

But this makes the "use an address for each transaction" pretty useless. As soon as you make a transaction which takes Bitcoins from at least two of your addresses, you're linking them, visible for everybody. If someone would invest a bit of time to write a program which digs through the blockchain, he could group lots of addresses together and calculate the amounts of coins in those wallets. Now you need to match only one of those addresses to a name, and you know who owns how much; and from where it came.

So when will we have walletexplorer.com? Type in an bitcoin address, get a list of all known addresses assigned to that wallet and its balance. If it's somewhat wiki-like, people could even add identifying information.

In the world of fiat money, when you pay something with 100 one dollar bills, I doubt you would like it if whoever gets those 100 dollars can tell where you got each single bill from (I realize police and track stolen money if the bills' serials were registered, but that's not an option for your average John Doe).


Title: Re: Bypassing the blockchain
Post by: Meatpile on August 24, 2011, 08:21:58 PM
Like the topic says. How can I make a transaction which will not appear in the blockchain?

Simple, Buy a BITBILL

http://bitbills.com (http://bitbills.com)

Pay a dry cleaner with it.  The dry cleaner pays a restaurant with it.  Etc, etc.  None of those transactions appear in the block chain.

Only when someone down the line (perhaps after 10 or 20 transactions) wants to spend it electronically do they bring the keys back online and would it enter the blockchain.


Bitbills are a great attempt, but a total failure. The only way to trust receiving one is if you look up the balance via the public address printed on it.... at which point you are using a computer so you might as well just do everyone on that computer, why dick around with a bitbill at this point?







Title: Re: Bypassing the blockchain
Post by: evoorhees on August 24, 2011, 08:48:47 PM
Like the topic says. How can I make a transaction which will not appear in the blockchain?

Simple, Buy a BITBILL

http://bitbills.com (http://bitbills.com)

Pay a dry cleaner with it.  The dry cleaner pays a restaurant with it.  Etc, etc.  None of those transactions appear in the block chain.

Only when someone down the line (perhaps after 10 or 20 transactions) wants to spend it electronically do they bring the keys back online and would it enter the blockchain.


Bitbills are a great attempt, but a total failure. The only way to trust receiving one is if you look up the balance via the public address printed on it.... at which point you are using a computer so you might as well just do everyone on that computer, why dick around with a bitbill at this point?


Have some imagination man... all you do is swap Bitbills, then crack them open and redeem the money to whatever account you want. The point is that it creates a solid break in the transfer history of wealth. The blockchain never knows about these swaps and they make tracking identities plausibly deniable. You only have to trust Bitbills for the duration of the time you keep your wealth there.


Title: Re: Bypassing the blockchain
Post by: nmat on August 24, 2011, 08:59:06 PM
Bitbills are a great attempt, but a total failure. The only way to trust receiving one is if you look up the balance via the public address printed on it.

The ideia is that you just receive it. You don't look anything up.


Title: Re: Bypassing the blockchain
Post by: rotrott on August 24, 2011, 08:59:25 PM
It's not about money laundering or anything illegal like some seem to assume.

But this makes the "use an address for each transaction" pretty useless. As soon as you make a transaction which takes Bitcoins from at least two of your addresses, you're linking them, visible for everybody. If someone would invest a bit of time to write a program which digs through the blockchain, he could group lots of addresses together and calculate the amounts of coins in those wallets. Now you need to match only one of those addresses to a name, and you know who owns how much; and from where it came.

So when will we have walletexplorer.com? Type in an bitcoin address, get a list of all known addresses assigned to that wallet and its balance. If it's somewhat wiki-like, people could even add identifying information.

In the world of fiat money, when you pay something with 100 one dollar bills, I doubt you would like it if whoever gets those 100 dollars can tell where you got each single bill from (I realize police and track stolen money if the bills' serials were registered, but that's not an option for your average John Doe).


I'm not sure this logic is sound.  Sure, you link the new address to your old one, but there's no way to tell the new one is you.  It could just be someone you paid.  In this case it would branch off into a different tree, in much the same way as if it was your new address that paid.  If that makes any sense.  Sure, your base address is linked in the same way you're linked to anyway you pay, but I think it wouldn't take too much time for the graphs to become too complex to try and trace.  Someone could write some software that would create N addresses and break the payment into N random pieces that flowed through the private graph until they hit their ultimate destination.  You could probably calculate an N that would be too complex for _most_ people to throw enough cpu at to solve.


Title: Re: Bypassing the blockchain
Post by: Meatpile on August 24, 2011, 09:45:32 PM
Bitbills are a great attempt, but a total failure. The only way to trust receiving one is if you look up the balance via the public address printed on it.

The ideia is that you just receive it. You don't look anything up.

If anyone just blindly accepts them then that means anyone can just counterfeit them. Holograms aren't that expensive. And with bitcoins/bitbills there is no government to throw you in jail for doing such a thing.


Title: Re: Bypassing the blockchain
Post by: dayfall on August 24, 2011, 10:06:56 PM
Using multiple computers to hide transactions is too cumbersome.  I simply with I could choose my "from" addresses and choose my "change" addresses.

Having a new change address is pointless without this feature.


Title: Re: Bypassing the blockchain
Post by: Rino on August 24, 2011, 11:23:11 PM
redirect all incoming transfers to one-time addresses in online service that keeps everything in its own wallets, for example mtgox or tradehill, as opposed to wallet or address per account.


Title: Re: Bypassing the blockchain
Post by: kjj on August 25, 2011, 01:59:13 PM
Just send some transactions back and forth between addresses that you control.  Use multiple wallets to reduce correlations.


Title: Re: Bypassing the blockchain
Post by: Spacy on August 25, 2011, 02:37:00 PM
1. Transfer your BTC to an exchange.
2. Buy Solidcoins
3. Transfer Solidcoins to another exchange
4. Buy Bitcoins
5. Transfer the Bitcoins back


If you don't want to "lose" the transaction fees, you can try wo send the coins around through different exchanges with different Deposit-Addresses, but that is not so secure, you have to check in the blockchain if the witdrawal comes from the same address as the deposit.


Title: Re: Bypassing the blockchain
Post by: Stephen Gornick on August 26, 2011, 03:43:27 AM
This might be worth viewing:
 - https://bitcointalk.org/index.php?topic=39255.0


Title: Re: Bypassing the blockchain
Post by: makomk on August 26, 2011, 09:55:13 AM
Configure computer B to add a transaction from the address in computer A, but not broadcast to the network
Once computer B mines a block, withhold the block and broadcast transaction
Release the block and put Computer B back to normal solo mining
The coins are now in a block subsidy
You don't actually have to broadcast the transaction at all - the block is still valid even if the transaction was never broadcast. In fact you don't want to broadcast it because that significantly increases the risk of something going wrong and you losing your bitcoins. Doesn't stop malicious attacks though.

Also: this scheme will stand out like a sore thumb to everyone watching Block Explorer and probably get mentioned on IRC.


Title: Re: Bypassing the blockchain
Post by: MoonShadow on August 26, 2011, 10:30:03 PM
Configure computer B to add a transaction from the address in computer A, but not broadcast to the network
Once computer B mines a block, withhold the block and broadcast transaction
Release the block and put Computer B back to normal solo mining
The coins are now in a block subsidy
You don't actually have to broadcast the transaction at all - the block is still valid even if the transaction was never broadcast. In fact you don't want to broadcast it because that significantly increases the risk of something going wrong and you losing your bitcoins. Doesn't stop malicious attacks though.

Also: this scheme will stand out like a sore thumb to everyone watching Block Explorer and probably get mentioned on IRC.

Some variation of this 'scheme' is inevitable.  When Wal-Mart is mining, they might reject fee paying transactions from known Target addresses; and withhold some of their own transactions to be included only in self generated blocks.  If Wal-Mart (or other large, international corporation) were to consolidate all of the small transactions they produce in a given day (that can be delayed) into a single, self-generated block, they might stand to save a fortune in fees.  This assumes that Wal-Mart has enough miners to reliablely generate at least one block each day (or week, month, whatever).  Once this is commonplace, it will become very difficult indeed to discern this kind of delayed transaction processing for economic reasons from delayed transaction processing for anonimity reasons.


Title: Re: Bypassing the blockchain
Post by: Meatpile on August 27, 2011, 12:56:03 AM
When walmart is mining we have far bigger troubles to worry about...


Title: Re: Bypassing the blockchain
Post by: MoonShadow on August 27, 2011, 01:31:16 PM
When walmart is mining we have far bigger troubles to worry about...

Such as?