Bitcoin Forum
March 19, 2024, 06:12:16 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Multiple BitCoin clients on same public IP (same household) questions  (Read 19044 times)
venom (OP)
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
June 08, 2010, 05:24:30 PM
 #1

As per subject, I'm wondering if the generation of bitcoins would be affected if I had multiple computers, each running their own BC client, all in one household and therefore sharing the same public IP address?  Would the BitCoin 'system' treat these clients almost as if they were a single node, thus distributing new bitcoin generation amongst the various computers in my household, or will each one be treated quite the same in this regard, regardless of the fact that they are all displaying the same public IP to the rest of the worldwide nodes?

Edit: So to be more specific, what I'm wondering is - if hypothetically it takes me one week with one computer to generate 100 bitcoins, would having 10 computers in my household (sharing the same public IP) generate a combined total of roughly 10 x 100 = 1000 bitcoins, or would the result be 100 bitcoins divided roughly equally amongst the 10 computers?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1710828736
Hero Member
*
Offline Offline

Posts: 1710828736

View Profile Personal Message (Offline)

Ignore
1710828736
Reply with quote  #2

1710828736
Report to moderator
1710828736
Hero Member
*
Offline Offline

Posts: 1710828736

View Profile Personal Message (Offline)

Ignore
1710828736
Reply with quote  #2

1710828736
Report to moderator
1710828736
Hero Member
*
Offline Offline

Posts: 1710828736

View Profile Personal Message (Offline)

Ignore
1710828736
Reply with quote  #2

1710828736
Report to moderator
laszlo
Full Member
***
Offline Offline

Activity: 199
Merit: 2072


View Profile
June 08, 2010, 05:51:30 PM
 #2

Having more computers will increase your chances of generating blocks regardless of your internet address.  As long as they're all able to connect to at least one node and stay connected you're all good - it doesn't matter if they all share the same internet address through a proxy/router.

BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5138
Merit: 12565


View Profile
June 08, 2010, 05:53:52 PM
 #3

Each hash your CPU computes gives you a very small chance of solving a block, which wins you 50 BitCoins. Better CPUs can compute more hashes per second. Doubling the number of CPUs you have generating will halve the average time it takes for you to win 50 coins if they all generate at the same speed. How these CPUs are connected to the network doesn't matter at all as long as they are connected.

To make the best use of network resources (yours and other peers'), one computer should be connected to the Internet and have port 8333 forwarded to it. All other computers on that IP address should be started with "-connect x.x.x.x" to connect only to that one computer.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
venom (OP)
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
June 08, 2010, 06:00:45 PM
 #4


To make the best use of network resources (yours and other peers'), one computer should be connected to the Internet and have port 8333 forwarded to it. All other computers on that IP address should be started with "-connect x.x.x.x" to connect only to that one computer.

when you say all the other computers should be started with that command, where do I put that connect command exactly?
second question - For Joe SixPack who doesn't know how to set up port-forwarding in his router, will not having port 8333 completely disable his ability to generate bitcoins... ? Or does it just mean he'll have less chances?
lachesis
Full Member
***
Offline Offline

Activity: 210
Merit: 104


View Profile
June 08, 2010, 06:57:03 PM
Last edit: July 12, 2010, 09:32:35 PM by lachesis
 #5

Chances to generate bitcoins shouldn't depend on network connectivity above a certain base level. If you can receive blocks in a timely manner (somewhat low latency and a decently low packet loss), generating should only depend upon CPU speed (and maybe some other internal specs like memory speed).

Forwarding ports helps the network since more people can connect to you, but I'm running on a university network so I can't forward any ports and it works fine for me.

-connect is a command line option. Right click on your shortcut for Bitcoin, go to properties, and add "-connect=192.168.0.100" (no quotes, and replace the IP with the right one for you) to the end of the path.

July 12th: Edited to fix my command line.

Bitcoin Calculator | Scallion | GPG Key | WoT Rating | 1QGacAtYA7E8V3BAiM7sgvLg7PZHk5WnYc
venom (OP)
Newbie
*
Offline Offline

Activity: 39
Merit: 0


View Profile
June 09, 2010, 11:21:39 AM
 #6

http://img718.imageshack.us/img718/4028/clipboard01yc.jpg

Something like this?
lachesis
Full Member
***
Offline Offline

Activity: 210
Merit: 104


View Profile
June 09, 2010, 01:13:50 PM
 #7

That's it.

Bitcoin Calculator | Scallion | GPG Key | WoT Rating | 1QGacAtYA7E8V3BAiM7sgvLg7PZHk5WnYc
knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 256



View Profile WWW
July 12, 2010, 04:56:04 PM
 #8

Chances to generate bitcoins shouldn't depend on network connectivity above a certain base level. If you can receive blocks in a timely manner (somewhat low latency and a decently low packet loss), generating should only depend upon CPU speed (and maybe some other internal specs like memory speed).

Forwarding ports helps the network since more people can connect to you, but I'm running on a university network so I can't forward any ports and it works fine for me.

-connect is a command line option. Right click on your shortcut for Bitcoin, go to properties, and add "-connect 192.168.0.100" (no quotes, and replace the IP with the right one for you) to the end of the path.
Took me a while to figure this out, the command line is wrong (had to dig into the source for this)

It's

-connect=192.168.0.100


You forgot the equal sign  Wink

Otherwise, it doesn't work for either Windows or Linux

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
Strofcon
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
July 12, 2010, 05:12:14 PM
 #9

I have a quick question about the connect=x.x.x.x option - what exactly does it do? I understand that it "points" a certain bitcoin client to another PC on the LAN, but what does this mean for the bitcoin application itself? Does all coin generation funnel to the wallet that is held on the target PC? Or does a client that is pointed to another local PC just funnel its connections through port 8333 on that PC, and still manage its own wallet?

Just curious.  Smiley
knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 256



View Profile WWW
July 12, 2010, 05:48:57 PM
 #10

I have a quick question about the connect=x.x.x.x option - what exactly does it do? I understand that it "points" a certain bitcoin client to another PC on the LAN, but what does this mean for the bitcoin application itself? Does all coin generation funnel to the wallet that is held on the target PC? Or does a client that is pointed to another local PC just funnel its connections through port 8333 on that PC, and still manage its own wallet?

Just curious.  Smiley
It acts as a bridge for the other computers.  When you only have one IP address, you can technically only forward your connection to a single computer (on port 8333) so the other computers on your network that are running BitCoin won't be able to accept inbound connections from others.

From what I've seen, you have one computer that kind of acts like a server. The other computers on your network connect to it and thus can download all the blocks more quickly to begin processing. The difference is, instead of one computer acting alone to generate coins or process blocks, you now have *other* computers doing part of the work for it and report the results back to it.

I haven't run this long enough to see what effect is has, I'll report back here when I do. My guess is that all the coin generation is funneled back to the "main" computer that all the clients connect to. So, while each client may not get a piece of coin generation, there is no reason why you can't transfer coin around to the clients after they are generated at the main computer (since you have control/access to all of them anyway).

It may take a while, but when I do see some results, I'll post it here because I'm curious myself.  Wink

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
thufir
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
July 12, 2010, 06:00:00 PM
 #11

That is right that it acts as a bridge for the nodes that -connect to it, however, it does not get their funds. All the nodes are still independent.

All that -connect does is this: instructs the bitcoin client to connect to that peer as the one and only peer it connects to. Otherwise, it operates as normal, just as if that had been the only other peer in the world other than you and you didn't use -connect.
Strofcon
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
July 12, 2010, 06:12:24 PM
 #12

Gotcha! Thanks knightmb and thufir for the info. I was mostly curious because of the exact situation knightmb mentioned - one can only forward a port at the router level to a single NAT'd host, so I wanted to see the best way to use all of my PCs and still manage to accumulate funds under a single "account". Based on thufir's confirmation, it looks like the best way to do so will be to routinely transfer funds from my "workhorse" PCs to my central PC that will house my "primary wallet," for lack of a better description. Smiley

Thanks again!
knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 256



View Profile WWW
July 12, 2010, 09:02:33 PM
 #13

That is right that it acts as a bridge for the nodes that -connect to it, however, it does not get their funds. All the nodes are still independent.

All that -connect does is this: instructs the bitcoin client to connect to that peer as the one and only peer it connects to. Otherwise, it operates as normal, just as if that had been the only other peer in the world other than you and you didn't use -connect.
Thanks for clearing that up, I wasn't sure. Actually kind of glad too, keeps it from having the "all the eggs in one basket" so to speak.  Cheesy

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
lachesis
Full Member
***
Offline Offline

Activity: 210
Merit: 104


View Profile
July 12, 2010, 09:31:54 PM
 #14

Chances to generate bitcoins shouldn't depend on network connectivity above a certain base level. If you can receive blocks in a timely manner (somewhat low latency and a decently low packet loss), generating should only depend upon CPU speed (and maybe some other internal specs like memory speed).

Forwarding ports helps the network since more people can connect to you, but I'm running on a university network so I can't forward any ports and it works fine for me.

-connect is a command line option. Right click on your shortcut for Bitcoin, go to properties, and add "-connect 192.168.0.100" (no quotes, and replace the IP with the right one for you) to the end of the path.
Took me a while to figure this out, the command line is wrong (had to dig into the source for this)

It's

-connect=192.168.0.100


You forgot the equal sign  Wink

Otherwise, it doesn't work for either Windows or Linux
Damn, yeah I noticed that reading back through this topic. I get burned by that so often! Thanks, I'll edit my post.

Gotcha! Thanks knightmb and thufir for the info. I was mostly curious because of the exact situation knightmb mentioned - one can only forward a port at the router level to a single NAT'd host, so I wanted to see the best way to use all of my PCs and still manage to accumulate funds under a single "account". Based on thufir's confirmation, it looks like the best way to do so will be to routinely transfer funds from my "workhorse" PCs to my central PC that will house my "primary wallet," for lack of a better description. Smiley

Thanks again!
You can easily automate that task. I made a Python script to do just that. I'll upload the updated version to my site and post back here later tonight.

Bitcoin Calculator | Scallion | GPG Key | WoT Rating | 1QGacAtYA7E8V3BAiM7sgvLg7PZHk5WnYc
knightmb
Sr. Member
****
Offline Offline

Activity: 308
Merit: 256



View Profile WWW
July 12, 2010, 09:40:01 PM
 #15

I wonder if you can point multiple clients to the same file over the network? I'm guessing it that might not work well if multiple clients are trying to modify/update the same database at the same time?

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
lachesis
Full Member
***
Offline Offline

Activity: 210
Merit: 104


View Profile
July 12, 2010, 10:49:03 PM
 #16

I wonder if you can point multiple clients to the same file over the network? I'm guessing it that might not work well if multiple clients are trying to modify/update the same database at the same time?
Yeah, you're right. BerkleyDB doesn't support more than one process accessing a file at once.

Bitcoin Calculator | Scallion | GPG Key | WoT Rating | 1QGacAtYA7E8V3BAiM7sgvLg7PZHk5WnYc
Strofcon
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
July 13, 2010, 12:26:37 PM
 #17

You can easily automate that task. I made a Python script to do just that. I'll upload the updated version to my site and post back here later tonight.

That's actually exactly what I was planning to do, after I read thufir's explanation. I'd definitely like to see your script. It seemed like an easy enough task to take care of, but hey... reuse over reinvention. Smiley
lachesis
Full Member
***
Offline Offline

Activity: 210
Merit: 104


View Profile
July 13, 2010, 05:45:30 PM
 #18

Here's the code. It requires JSONRPC from here: http://json-rpc.org/wiki/python-json-rpc

Code:
#!/usr/bin/python
import jsonrpc
BCAddress = "Put Your Master Computer's Bitcoin Address Here"

bitcoin = jsonrpc.ServiceProxy('http://localhost:8332')

bal = float(bitcoin.getbalance())

if bal > 0.01:
    print "We have a balance of {0:.2f}BC. Sending...".format(bal)
    bitcoin.sendtoaddress(BCAddress,bal)

else:
    print "No coins here."

Bitcoin Calculator | Scallion | GPG Key | WoT Rating | 1QGacAtYA7E8V3BAiM7sgvLg7PZHk5WnYc
laszlo
Full Member
***
Offline Offline

Activity: 199
Merit: 2072


View Profile
July 13, 2010, 05:59:35 PM
 #19

Here is a similar script written for bash that I use, in case someone else finds it useful.  It will also start bitcoind for me in case it is terminated or if the computer is rebooted.

(replace /home/solar with the dir where you keep your home directory: $HOME)

Code:
#!/bin/bash

NICE=/usr/bin/nice
BITCOIN=/home/solar/bitcoin/bitcoind

ADDR=149iLTM499LvvktTSbub77dJYvZ7YVGtXo
NODE=192.75.207.66

date

${BITCOIN} getbalance 2>&1 | while read balance;
do
  if [ "${balance}" == "0.000000000000000" ];
  then
    echo "zero balance";
  elif [ "${balance}" == "error: couldn't connect to server" ];
  then
    echo "server not running, starting...";
    ${NICE} -n 19 ${BITCOIN} -daemon -addnode=${NODE}
  else
    echo "sending ${balance} BTC to ${ADDR}"
    ${BITCOIN} sendtoaddress ${ADDR} ${balance};
  fi
done

I invoke it from crontab like this
Code:
0 * * * * /home/solar/bitcoin/sendbalance.sh >> /home/solar/bitcoin/sendbalance.log 2>&1


BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
fresno
Member
**
Offline Offline

Activity: 94
Merit: 10


View Profile
July 21, 2010, 03:43:57 PM
 #20

Can I assume that not doing anything, allowing multiple independent clients behind a defaulted firewall/router, will work? Just not optimally?
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!