Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Coding Enthusiast on August 10, 2016, 06:14:19 AM



Title: why are people trying to hide their IP?
Post by: Coding Enthusiast on August 10, 2016, 06:14:19 AM
i have been seeing a couple of users asking about using TOR with their client and using google i found more people looking for hiding their real IP when sending bitcoin transactions.
so i started reading some technical stuff and this is what i found out correct me if i am wrong

reading the technical information about a transaction (https://bitcoin.org/en/developer-guide#transactions) i understand that transactions and blockchain is not recording any IP.

so continuing reading broadcasting a transaction (https://bitcoin.org/en/developer-guide#transaction-broadcasting) and mempool (https://bitcoin.org/en/developer-guide#memory-pool) with this paragraph about IP log (https://bitcoin.org/en/protect-your-privacy#iplog) it says "finding the source is hard" but i can not understand how it can even be possible to find the source unless the person who wants to log IPs is either connected to you and watching you or connected to every single Full Node to log all IPs when first sees the transaction being broadcast from a source which i don't think is even possible.

besides a normal client is connected to max 8 peers (https://github.com/bitcoin/bitcoin/blob/master/src/net.cpp#L62) (right?) so when broadcasting the transaction those 8 will see the source IP and the rest will see 9 different IPs (8 peers+source) and then it grows so unless one of those 8 are logging IP i don't see any other way.

edit: changed the link for MAX_OUTBOUND_CONNECTIONS (https://github.com/bitcoin/bitcoin/blob/fc5d85c4bbb5fd5964117d4faf698ef2bf4ec634/src/net.cpp#L40)


Title: Re: why are people trying to hide their IP?
Post by: merelcoin on August 10, 2016, 06:17:17 AM
I don't see a flaw in your logic, only the maximum 8 connections could be changed by using maxconnections= in your config file (at least, that's how i understand it).

As far as i understand, it's even a bad idear to use bitcoin and tor: https://arxiv.org/pdf/1410.6079.pdf
I've only read the abstract, but it seems plausible

the TL;DR version is basically: If an attacker does following steps:

Quote
• Inject a number of Bitcoin peers to the network.
Note that though Bitcoin allows only one peer per
IP address, it does not require high bandwidth. IP
addresses can be obtained relatively cheap and on perhour
basis.
• Periodically advertise the newly injected peers in the
network so that they are included into the maximum
possible number of buckets at the client side.
• Inject some number of meduim-bandwidth Tor Exit
relays. Even a small fraction of the Exit bandwidth
would be enough for the attacker as will be shown
later.
• Make non-attacker’s Bitcoin peers ban non-attacker’s
Tor Exit nodes.

he can achieve following things
Quote
1) they are exposed to attacks in which
an attacker controls which Bitcoin blocks and transactions the
users is aware of; 2) they do not get the expected level of
anonymity.


Title: Re: why are people trying to hide their IP?
Post by: DannyHamilton on August 10, 2016, 12:41:43 PM
transactions and blockchain is not recording any IP.

Correct.

"finding the source is hard"

Correct.

i can not understand how it can even be possible to find the source

It is possible in some situations. It depends on who you are trying to hide from and what they are capable of monitoring.

unless the person who wants to log IPs is either connected to you and watching you or connected to every single Full Node to log all IPs when first sees the transaction being broadcast from a source which i don't think is even possible.

And that is why it is hard.

If the person that wants to track you can isolate your peer by preventing it from connecting to any other nodes, and then connects to your node directly themselves, then they will see (and can log) every transaction that you send before they relay it to the rest of the network.

If the person that wants to track you can connect to a very VERY large number of nodes (including you), then every time that you are the first node to send them a transaction, they will know that there is a good chance that you created that transaction.

If the person that wants to track you can monitor all traffic both to and from your IP without actually connecting to your node, then they can see every time you send a transaction without first receiving it.

besides a normal client is connected to max 8 peers (https://github.com/bitcoin/bitcoin/blob/master/src/net.cpp#L62) (right?)

No.

That is the default maximum number of outgoing connections that your node will establish.  As long as your node isn't inaccessible from the internet, it will accept additional incoming connections from other nodes.


Title: Re: why are people trying to hide their IP?
Post by: Coding Enthusiast on August 10, 2016, 01:16:18 PM
thanks for the explanation

If the person that wants to track you can monitor all traffic both to and from your IP without actually connecting to your node, then they can see every time you send a transaction without first receiving it.

i always thought the traffic between the nodes is also encrypted! is there any particular reason for not using a simple SSL encryption for this?

this may be a little far fetched but isn't there a possibility of a man in the middle attack? i don't know what an attacker can gain from doing this except messing with one node but that is the first thing that comes to my mind with an un-encrypted communication.


Title: Re: why are people trying to hide their IP?
Post by: achow101 on August 10, 2016, 01:41:52 PM
thanks for the explanation

If the person that wants to track you can monitor all traffic both to and from your IP without actually connecting to your node, then they can see every time you send a transaction without first receiving it.

i always thought the traffic between the nodes is also encrypted! is there any particular reason for not using a simple SSL encryption for this?
No the traffic is not encrypted (yet). There is a BIP for encrypting this traffic, but it has not yet been implemented. As for why SSL isn't used, I don't know.

this may be a little far fetched but isn't there a possibility of a man in the middle attack? i don't know what an attacker can gain from doing this except messing with one node but that is the first thing that comes to my mind with an un-encrypted communication.
No. Because of the signatures in a transaction, a man-in-the-middle attack can't do much. The attacker can't do much and can't change anything in transactions or blocks.


Title: Re: why are people trying to hide their IP?
Post by: DannyHamilton on August 10, 2016, 01:43:39 PM
i always thought the traffic between the nodes is also encrypted!

Perhaps someone else will stop by and confirm for us, but I'm pretty sure it isn't.

is there any particular reason for not using a simple SSL encryption for this?

Extra load on the node with minimal benefit?

this may be a little far fetched but isn't there a possibility of a man in the middle attack?

That depends on what you mean by "man in the middle attack".  it is a decentralized peer-to-peer network.  You only ever connect directly to peers, and if someone were to try to get "in the middle" that would just mean that they are yet another peer.  Your node doesn't trust ANYTHING that it receives from any peer.  It verifies everything.  Since every peer that you connect to is connected to other peers besides you, they are ALL essentially "in the middle" between you and the rest of the network.  Anything that any node could do with the unencrypted data, they could also do with encrypted data (since it would be data that they could necessarily decrypt).

There are, however, isolation attacks.  This would be possible regardless of whether the communications between you and your connected peers were encrypted.  In an isolation attack, an attacker would make sure that they are running ALL of the nodes that your peer connects to.  Then your ONLY view of the network is what they allow you to see.  In this situation, they could send you one transaction directly (making you think you got paid with a valid unconfirmed transaction) and send a completely different transaction to the rest of the network (one that pays themselves instead of you).  If they have enough hash power, they might even be able to solve a block or two to convince you that the transaction they sent you is confirming (while the rest of the network creates many more blocks without your transaction).


i don't know what an attacker can gain from doing this except messing with one node but that is the first thing that comes to my mind with an un-encrypted communication.

Like I said, since your node is communicating directly with the attacker's node, anything they could do with un-encrypted communication they could also do with encrypted communication.


Title: Re: why are people trying to hide their IP?
Post by: Quickseller on August 10, 2016, 04:58:23 PM
From what I can tell using SSL will use a very small (http://stackoverflow.com/questions/548029/how-much-overhead-does-ssl-impose) amount of additional resources (several other stack threads with similar info were found) to connect to a peer for the first time, to transfer data between your peer, and to reestablish a connection to a known peer. If you multiply this neglible effect times 100 connections that a full node might have, the effects would be greater (obviously).

Even though the resources required is very low, running a full node generally will not generate any revenue (at least not running a full node alone), so costs of running a full node need to be kept as low as possible without having any unnecessary costs.

As pointed out above, SSL will really not protect your node from any kind of attack, and your full node will give whatever information that is encrypted to any node that asks provided that your node has an available "spot" for an additional connection.


Title: Re: why are people trying to hide their IP?
Post by: Coin-Keeper on August 10, 2016, 07:27:21 PM
I would like to add my reasoning and therefore answer the OP's original post in this thread from my perspective.  Firstly, I understand the posts above this on this thread.  I am not a connectivity newbie, just new to posting here.  I am one of those that rely upon maintaining some anonymity.  I am a privacy buff and I really don't want folks to know that my "real name" collects and uses BTC.  In some parts of the world BTC raises red flags, which causes some concerns.  No, its not illegal where I am, but still it draws attention.  Over time I expect that to change, but until then I keep things on the private side.  I do spend coins on things where I can maintain privacy, e.g. vpns, etc...  I am also in a position where I can acquire coins somewhat anonymously, which I do.  If coins become tainted I take care of that too.  Regarding TOR its ultimate security if its 100% hidden service nodes like Electrum or others offer.  You don't have to worry as much over being "picked off" in route by not ever using an exit node.  To me this perspective makes great sense and provides a measure of personal security for as an example early adopters with considerable wallets.  The reverse of this would be my name is "John Smith" (obvious example) and I own 5000 bitcoins.  That would be a dangerous revelation where I live.  This is my personal answer to the OP, while many here may differ you are free to do so.


Title: Re: why are people trying to hide their IP?
Post by: gmaxwell on August 10, 2016, 10:05:16 PM
There are several companies performing sybil attacks on the network.  They connect to every node they can reach (the 8 limit is for _outbound_ connections) and also listening to connections, running many fake nodes so that it is likely that you will connect to them. They also monitor the timing of addr messages to attempt to infer which addresses are connected to the nodes they are connected to.

By monitoring the timing of transaction announcements they can learn a lot about transaction origins, especially if addresses are reused.


As far as i understand, it's even a bad idear to use bitcoin and tor:
This is highly misleading. The claim is that attackers can DOS attack tor exits, causing a tor using Bitcoin user to potentially need to stop using Tor during a DOS attack.

This is untrue because normally with tor Bitcoin nodes are connecting to other bitcoin nodes as hidden services, no exit is involved... and not very relevant because, "maybe tor gets DOS attacked and you need to either wait or switch it off" is in no way worse than never using tor in the first place.


Title: Re: why are people trying to hide their IP?
Post by: Shiroslullaby on August 10, 2016, 10:11:44 PM
There are several companies performing sybil attacks on the network.  

Companies or government agencies?
Do you have any sources for this? This is really scary and interesting at the same time.
What would these people have to gain from this? Learning the IP address a BTC transaction is coming from?


Title: Re: why are people trying to hide their IP?
Post by: Frank Alister on August 11, 2016, 03:03:28 PM
I recently read on RT that TOR is no longer safe since CIA was able to bribe one of the developers. I never used it to be honest but that must be nasty  :-\


Title: Re: why are people trying to hide their IP?
Post by: piotr_n on August 11, 2016, 04:10:29 PM
I recently read on RT that TOR is no longer safe since CIA was able to bribe one of the developers. I never used it to be honest but that must be nasty  :-\
Well, then all the dark markets must be run by CIA. :)

@Coding Enthusiast, hiding the IP is mostly about hiding the origin of txs and/or new blocks (if you're a miner).
Less commonly, you might want to hide just the fact that you use bitcoin at all.


Title: Re: why are people trying to hide their IP?
Post by: Frodomaga on August 11, 2016, 04:50:54 PM
I think most of the internet users have no idea about what IP is!                                                                                                                                                   


Title: Re: why are people trying to hide their IP?
Post by: lewis.jr on August 11, 2016, 08:10:45 PM
I think most of the internet users have no idea about what IP is!

IP is a new coin  ;D


Title: Re: why are people trying to hide their IP?
Post by: mishra1994u on August 11, 2016, 08:26:18 PM
I think most of the internet users have no idea about what IP is!

Thats not true IP is one of the most common thing in the internet world and most of the people who use internet would definetily know about what IP is.Specially nowdays users are not that dumb that they dont know even about the IP.If they dont know about IP then probably they also dont know how to use internet.


Title: Re: why are people trying to hide their IP?
Post by: Milkduds on August 11, 2016, 08:34:02 PM
I think most of the internet users have no idea about what IP is!

Thats not true IP is one of the most common thing in the internet world and most of the people who use internet would definetily know about what IP is.Specially nowdays users are not that dumb that they dont know even about the IP.If they dont know about IP then probably they also dont know how to use internet.

Most people have some one come link up their internet and explain the basics of how to get on. After that most people do not look any farther into connection.


Title: Re: why are people trying to hide their IP?
Post by: mindrust on August 11, 2016, 08:47:52 PM
They want privacy. It is not that hard to understand i think. Everything you do on the internet have an information about you. 3rd party companies or governments can collect those informations and they can use it against you when the time comes. They can collect data about your sexual preferrings, which type of porns you like, which movies/programs you pirate, which political views you have etc etc. Why would i make myself a target?


Title: Re: why are people trying to hide their IP?
Post by: Coin-Keeper on August 11, 2016, 09:08:59 PM
I recently read on RT that TOR is no longer safe since CIA was able to bribe one of the developers. I never used it to be honest but that must be nasty  :-\
Well, then all the dark markets must be run by CIA. :)

@Coding Enthusiast, hiding the IP is mostly about hiding the origin of txs and/or new blocks (if you're a miner).
Less commonly, you might want to hide just the fact that you use bitcoin at all.


In addition to concealing IP's as I stated a few posts above this, there is substantial security to running 100% TOR.  Lacking exit nodes, an evil node at the end doesn't exist.  Further; using Electrum as an "example provider" of several full TOR access blockchain servers, you can gain some confidence that integrity exists in the destination.  I realize many internet users are clueless, but then again those active in the BTC environment should/could be advanced in computer literacy.  This investment/hobby can be fully safe, and if you are moving substantial coin volume how could you not take the time to learn this stuff?  I have written a small "paper" that I will be sending to SatoshiLabs describing why I would like to see them configure a full TOR hidden server to protect Trezor users, without relying upon third party software.  "Third party" requires continual tweaking to accommodate some Trezor firmware updates.  Hidden server (even if the actual location is physically known) technology removes an incredible amount of risk.  It virtually takes a "state level actor" to interfere with such traffic.  Granted, TOR is not end all be all.  A reasonable partition of trust may include vpn chains prior to the TOR channels.


Title: Re: why are people trying to hide their IP?
Post by: Coding Enthusiast on August 12, 2016, 05:37:40 AM
I recently read on RT that TOR is no longer safe since CIA was able to bribe one of the developers. I never used it to be honest but that must be nasty  :-\

the way TOR works is that you go through a series of nodes and your communication encrypts another time on each jump until you reach your destination. so unless CIA or any other agency is controlling all or majority of the TOR exit nodes i don't see how they can control it!

besides there are much easier techniques to find you real IP address without needing to do any of the above stuff.

p.s. my question here was a mere curiosity to learn more about bitcoin and find out what information i am broadcasting when sending a tx.

I think most of the internet users have no idea about what IP is!

lol, that's true. and also too lazy to google.


Title: Re: why are people trying to hide their IP?
Post by: Mark02 on August 12, 2016, 11:46:18 AM
I recently read on RT that TOR is no longer safe since CIA was able to bribe one of the developers. I never used it to be honest but that must be nasty  :-\

the way TOR works is that you go through a series of nodes and your communication encrypts another time on each jump until you reach your destination. so unless CIA or any other agency is controlling all or majority of the TOR exit nodes i don't see how they can control it!

besides there are much easier techniques to find you real IP address without needing to do any of the above stuff.

p.s. my question here was a mere curiosity to learn more about bitcoin and find out what information i am broadcasting when sending a tx.

I think most of the internet users have no idea about what IP is!

lol, that's true. and also too lazy to google.

Hmf? Yeah, the reason is that they are making like illegal transactions that they need to hide their IP by using softwares or TOR to hie their IP. While some uses it to avoid hacking. Especially if you have lots of BTC stored in your wallet and you are not careful with your transactions. They may turn into bubbles in an instant, so it is recommended to hide your IP if your are suspecting that your transactee is not trusted.


Title: Re: why are people trying to hide their IP?
Post by: roby25 on August 12, 2016, 12:40:35 PM
they hiding their ip i think they doing illegal things or maybe they doing something or tricks to earn faster.