Pages:
Author

Topic: Running a Bitcoin Node (Read 5620 times)

legendary
Activity: 3472
Merit: 4801
February 21, 2014, 05:16:39 PM
#47
Quote
Yes.  I'd be very interested in any reasonably reliable source for a count of the number of active public nodes on the bitcoin network.

Can you code? I have an idea for estimating it from peers.dat but it requires some coding and I don't have time to do it.

Can I?  Absolutely.  Coding is what I do for a living.

Do I have time for hobby projects?  Not as much as I'd like.  Send me a message with your thoughts and if it's simple enough I might try to put it together.  If I don't think I'll have the time, then obviously it won't get done.
member
Activity: 98
Merit: 10
February 21, 2014, 05:04:45 PM
#46
i think the way i thought a block was formed may not be completly accurate, the way you discribe it actually does make more sence.

do you know of a site of a thread on this forum that explaines how this system actually works in some detail?

Maybe this will be a good place to start.

https://en.bitcoin.it/wiki/Blocks

thanks. its hard to find decent information that is actually understandable for people who have no background in these fields.

it usually either is explained as easy as possible so its understandable for any noob or 12 year old and because of that missing detailed information on how things actually work, or so extremely technical and filled with specialised terminology that i just cant grasp it anymore.

legendary
Activity: 2968
Merit: 1198
February 21, 2014, 04:47:14 PM
#45
Certainly, but "connected right now" doesn't mean they are "the only nodes running right now".  It is possible that blockchain.info is only connected to 0.01% of the active nodes at any given time.

By connected right now I meant connected to the network, not connected to blockchain.info. Since b.i only seems to connect to a few hundred nodes that's a useless estimate.

Quote
Yes.  I'd be very interested in any reasonably reliable source for a count of the number of active public nodes on the bitcoin network.

Can you code? I have an idea for estimating it from peers.dat but it requires some coding and I don't have time to do it.
legendary
Activity: 1120
Merit: 1012
February 21, 2014, 04:19:36 PM
#44
i think the way i thought a block was formed may not be completly accurate, the way you discribe it actually does make more sence.

do you know of a site of a thread on this forum that explaines how this system actually works in some detail?

Maybe this will be a good place to start.

https://en.bitcoin.it/wiki/Blocks
member
Activity: 98
Merit: 10
February 21, 2014, 04:18:19 PM
#43

This is not true. They normally have smaller returns, but less variance.

The reason everyone joins a big pool is that they are irrationally afraid of variance (often to the detriment of their bottom line).

do you have a source for that? or some comparisons done by people that proves that?
most people seem to think its the other way arround. at least judging from what i picked up here and there.

i didn`t do any testing so i really dont know.

but anyway it doesnt solve the security risk i mentioned

Most big pools have a fee. A smaller pool which doesn't have a fee is going to provide more income over time. It's pretty straight forward.

As I said, most hash rate providers have an irrational fear of variance. They seem to think that getting a steady flow of income is the same thing as getting more income, which simply isn't true.

I recommend P2Pool, which is basically solo mining while sharing the reward with other solo miners in order to reduce variance. A P2Pool miner can also merge mine similar chains.

Confirming the transaction happens when the transaction is included a block. Actual miners do get the fees that were paid on the transactions which they include in a block.

so all the fees go to the finder of the block, no matter how many transactions they where part of in that block?

What do you mean "transactions they were part of"? A miner chooses which transactions to include in a block which they find. If some of those included transactions have fees, the miner who finds that block will receive those fees. The only way to have a transaction "confirm" is to have it included in a block.

i think the way i thought a block was formed may not be completly accurate, the way you discribe it actually does make more sence.

do you know of a site or a thread on this forum that explaines how this system actually works in some detail?
legendary
Activity: 1120
Merit: 1012
February 21, 2014, 04:12:28 PM
#42

This is not true. They normally have smaller returns, but less variance.

The reason everyone joins a big pool is that they are irrationally afraid of variance (often to the detriment of their bottom line).

do you have a source for that? or some comparisons done by people that proves that?
most people seem to think its the other way arround. at least judging from what i picked up here and there.

i didn`t do any testing so i really dont know.

but anyway it doesnt solve the security risk i mentioned

Most big pools have a fee. A smaller pool which doesn't have a fee is going to provide more income over time. It's pretty straight forward.

As I said, most hash rate providers have an irrational fear of variance. They seem to think that getting a steady flow of income is the same thing as getting more income, which simply isn't true.

I recommend P2Pool, which is basically solo mining while sharing the reward with other solo miners in order to reduce variance. A P2Pool miner can also merge mine similar chains.

Confirming the transaction happens when the transaction is included a block. Actual miners do get the fees that were paid on the transactions which they include in a block.

so all the fees go to the finder of the block, no matter how many transactions they where part of in that block?

What do you mean "transactions they were part of"? A miner chooses which transactions to include in a block which they find. If some of those included transactions have fees, the miner who finds that block will receive those fees. The only way to have a transaction "confirm" is to have it included in a block.
member
Activity: 98
Merit: 10
February 21, 2014, 04:11:19 PM
#41


as i said i havent looked into this deeply, so i don`t really understand how it actually works yet, but i`m still learning more every day and find it all extremely interesting.

judging from your responce i guess i still have a lot of reading ahead of me, because i really don`t know how to answer most of your questions Wink
i thought i had a basic idea of how it all strung together.
i`ll come back when i actually am able to add something to the discussion,
legendary
Activity: 3472
Merit: 4801
February 21, 2014, 03:59:36 PM
#40
Interesting.  So my estimate of tens of thousands, seems accurate if we assume that "active" means "last connected within the most recent 24 hours". My thoughts that it's "more than 1%" seems to be off just a bit though.

I would agree according to that definition, although if you send a transaction and want it propagated through the network "within the last 24 hours" doesn't help. Connected right now is what you need.

Certainly, but "connected right now" doesn't mean they are "the only nodes running right now".  It is possible that blockchain.info is only connected to 0.01% of the active nodes at any given time.

It does seem that blockchain.info isn't connecting to that many nodes any more so they aren't useful for counting currently connected nodes. I don't know of a better source, although it might be possible to get a better estimate by processing peers.dat from a well-connected node.

Yes.  I'd be very interested in any reasonably reliable source for a count of the number of active public nodes on the bitcoin network.
legendary
Activity: 3472
Merit: 4801
February 21, 2014, 03:56:10 PM
#39

anyone running the bitcoin-qt client is a node. (users)
when doing transactions the fee goes to miners.
the miners or when solving a block get a standard reward (currently 25btc) and the total of the transaction fee's of all transactions in that block.
if your in a mining pool that reward and fee total gets spread out with all the miners in the pool shared fairly depending on the hashrate(speed) of the miner.

so if i understand corectly the reward and all the fees since the last block go to the lucky one finding the block?
is there a specific reason for that?

It provides an incentive so people will run the mining process.

it just seems a weird way to design it, maybe even unfair and dangerous.

Unfair?  Dangerous? I don't understand.

why isn`t the fee devided amongst the miners that actually confirmed the transaction?

This is what mining pools do.  The pool builds the blocks, then they send the blocks out to all the participating miners so the miners can do the hashing.  Once a miner succeeds in finding the appropriate hash, the mining pool gets paid. The mining pool then divides the block reward among all the miners that participate in the pool.

i`m asking because i was thinking about that the other day. i dont know if it is common practice for pools to devide the fees to the users, or that the pools admin keeps that revenue.

That depends on the pool.  Some pools keep the fees, some divide the fees among the participating miners.  Each pool can set their own rules, and miners can choose which pool they want to participate in.

anyway, if the fee is directly given to the miners who procesed the transaction wouldn`t that be a good incentive to get more people to solomine.

How would you make this work?  Right now, the creator of the block gets to choose where the block reward gets paid.  How would the creator of the block know which addresses to assign the reward to?

if you are still running some older hardware that  could still be some nice change, even if you dont find a block. and if your lucky and you do youre gonna be very happy;)

I don't think I understand what you mean by "process the transaction".  Other than building a block and solving it, what other processing are you talking about?

i think pools at the moment are just to big. its no problem as long as the owners only have the best intentions, but those pools still are a big target and much easier to compromise then a army of much smaller pools and solominers. if some entity in the future would want to compromise the network, taking controll of a pool as big as btcguild or something would be enough to cause massive disruption. and compromising pool owners is something terrorists or the cia or any organisations like that have absolutly no problem with.

So, start your own pool.  Convince others to join your pool.  Give them a good incentive.  The more people who do the same, the more pools there will be, and the smaller that the "big pools" will be.

the reason everybody joins a pool now is beacause if you solo mine for five years and you dont find a block you wont get anything for your efforts. and the bigger pools tend to have bigger returns, so the big ones get bigger, and the small ones get smaller.

Why would the bigger pools get bigger returns?  They might have less variability, but the returns shouldn't be bigger (unless the small pool operator is keeping too much of the reward for themselves).

maybe i`m missing something, i never really looked into this before , but to mee that seems to be a security flaw thats easily corrected.

Easily?  Have you looked at the protocol?  How exactly would you implement what youa re suggesting.  Just because it's easy to say that you want miners to get paid without solving a block doesn't mean that it's actually easy to do.
legendary
Activity: 2968
Merit: 1198
February 21, 2014, 03:55:11 PM
#38
Interesting.  So my estimate of tens of thousands, seems accurate if we assume that "active" means "last connected within the most recent 24 hours". My thoughts that it's "more than 1%" seems to be off just a bit though.

I would agree according to that definition, although if you send a transaction and want it propagated through the network "within the last 24 hours" doesn't help. Connected right now is what you need.

It does seem that blockchain.info isn't connecting to that many nodes any more so they aren't useful for counting currently connected nodes. I don't know of a better source, although it might be possible to get a better estimate by processing peers.dat from a well-connected node.
legendary
Activity: 1120
Merit: 1012
February 21, 2014, 03:51:33 PM
#37
why isn`t the fee devided amongst the miners that actually confirmed the transaction?

Confirming the transaction happens when the transaction is included a block. Actual miners do get the fees that were paid on the transactions which they include in a block.

Hashing power providers work for a pool and get whatever the pool operator (the actual miner) decides to give them.

and the bigger pools tend to have bigger returns

This is not true. They normally have smaller returns, but less variance.

The reason everyone joins a big pool is that they are irrationally afraid of variance (often to the detriment of their bottom line).
member
Activity: 98
Merit: 10
February 21, 2014, 03:45:29 PM
#36

anyone running the bitcoin-qt client is a node. (users)
when doing transactions the fee goes to miners.
the miners or when solving a block get a standard reward (currently 25btc) and the total of the transaction fee's of all transactions in that block.
if your in a mining pool that reward and fee total gets spread out with all the miners in the pool shared fairly depending on the hashrate(speed) of the miner.

so if i understand corectly the reward and all the fees since the last block go to the lucky one finding the block?
is there a specific reason for that? it just seems a weird way to design it, maybe even unfair and dangerous.

why isn`t the fee devided amongst the miners that actually confirmed the transaction?

i`m asking because i was thinking about that the other day. i dont know if it is common practice for pools to devide the fees to the users, or that the pools admin keeps that revenue. i cant remember reading anything about this anywhere on any pools website.

anyway, if the fee is directly given to the miners who procesed the transaction wouldn`t that be a good incentive to get more people to solomine.
if you are still running some older hardware that could still provide some nice change especially if using bitcoin to buy things becomes more popular, even if you dont find a block you make some coins. and if your lucky and you do find one youre gonna be a very happy camper;)

i think pools at the moment are just to big. its no problem as long as the owners have the best intentions, but those pools still are a big target and much easier to compromise then a army of much smaller pools and solominers. if some entity in the future would want to compromise the network, taking controll of a pool as big as btcguild or something would be enough to cause massive disruption.
Compromising pool owners is something terrorists, the cia or any organisation like that have absolutly no problem with.

the reason everybody joins a pool now is beacause if you solo mine for five years and you dont find a block you wont get anything for your efforts. The bigger pools aso tend to have bigger returns, wich atracts even more people. so the big pools get bigger, and the small ones get smaller.

maybe i`m missing something. i never really looked into this before so im not sure, but to me that seems to be a security flaw thats easily corrected.
legendary
Activity: 3472
Merit: 4801
February 21, 2014, 03:07:17 PM
#35
Here's their log of nodes ever seen. I guess looking at some recent subset might be meaningful, but I don't know.

http://blockchain.info/ip-log

Acorrding to that link:

Total Unique Ip Addresses: 3,207,595

Can't tell what percentage of those can be considered "active".  I still suspect that the number is more than 1%.  If you include "private" nodes, then I suspect that the number is more like 10% of that.

Its cumulative and historic. If there are 50 nodes on a page. If you go down to page 1000 (50k nodes into it, so ~1.5%) those nodes haven't been seen in 3 days.

Interesting.  So my estimate of tens of thousands, seems accurate if we assume that "active" means "last connected within the most recent 24 hours". My thoughts that it's "more than 1%" seems to be off just a bit though.

From what I can see at the moment, the node last seen 24 hours ago is on page 600 (600 X 50 = 30,000).

30,000 certainly qualifies as "a few tens of thousands", but at 0.94% it falls a bit short of 1% of the "Total Unique Ip Addresses".

If they are only maintaining connections to 300 nodes at any given moment in time, then many nodes are likely running that haven't been connected to in the past 24 hours (since they would only attempt to connect to a new node if one of the 300 current nodes disconnects).  That would certainly move the number above 1% and has potential to move it much closer to 10%.
legendary
Activity: 2968
Merit: 1198
February 21, 2014, 02:57:22 PM
#34
Here's their log of nodes ever seen. I guess looking at some recent subset might be meaningful, but I don't know.

http://blockchain.info/ip-log

Acorrding to that link:

Total Unique Ip Addresses: 3,207,595

Can't tell what percentage of those can be considered "active".  I still suspect that the number is more than 1%.  If you include "private" nodes, then I suspect that the number is more like 10% of that.

Its cumulative and historic. If there are 50 nodes on a page. If you go down to page 1000 (50k nodes into it, so ~1.5%) those nodes haven't been seen in 3 days.
legendary
Activity: 3472
Merit: 4801
February 21, 2014, 02:50:29 PM
#33
Here's their log of nodes ever seen. I guess looking at some recent subset might be meaningful, but I don't know.

http://blockchain.info/ip-log

Acorrding to that link:

Total Unique Ip Addresses: 3,207,595

Can't tell what percentage of those can be considered "active".  I still suspect that the number is more than 1%.  If you include "private" nodes, then I suspect that the number is more like 10% of that.
legendary
Activity: 2968
Merit: 1198
February 21, 2014, 02:19:02 PM
#32
I think their list is pretty accurate.

I can't find their list. Link?

The current list seems to be here:

http://blockchain.info/connected-nodes

Oddly, they are only connected to 144 nodes. The last time I looked into this (when I realized my IP was being tracked) they had thousands of connections. Maybe they responded to the criticism they were hogging connections.

Here's their log of nodes ever seen. I guess looking at some recent subset might be meaningful, but I don't know.

http://blockchain.info/ip-log
legendary
Activity: 3472
Merit: 4801
February 21, 2014, 02:09:54 PM
#31
I think their list is pretty accurate.

I can't find their list. Link?

I also don't think that many end users run full nodes any more. Most people I meet seem to be using Electrum or Multibit (or a web wallet).

I still encounter a lot of people that run Bitcoin-Qt or bitcoind.
legendary
Activity: 2968
Merit: 1198
February 21, 2014, 02:06:30 PM
#30
Is there a reliable list of "public" full nodes?

Reliable in what sense?  Nodes come and go, so it is probably impossible for the list to be completely accurate at any instance in time.

Blockchain.info tries to connect directly to as many nodes as they can, and seems to often succeed. The fact that they often seemed to report the correct IP address on my transactions even across different networks, coffee shop wifis, etc. was what encouraged me to stop using bitcoind without tor.

I think their list is pretty accurate. I also don't think that many end users run full nodes any more. Most people I meet seem to be using Electrum or Multibit (or a web wallet).



legendary
Activity: 3472
Merit: 4801
February 21, 2014, 01:59:50 PM
#29
Hypothetically you could pay a peer in advance for the next 1000 transactions. The peer keeps a counter and stops relaying once the 1000 is up. Of course, in a p2p network you have to prevent cheating, etc. We agree this is unsolved.
Hypothetically, in the vacuum of space you could open your mouth and suck in a nice fresh breath of oxygen and nitrogen.  Of course, you'd have to find a way around the laws of physics as we currently understand them.  We agree this is unsolved.

I provided a link to a project at least working on p2p payment for bandwidth. Unless you can provide a link to a project working on humans breathing oxygen from space these are pretty different.

I'll take a look at the link and see what (if any) significant progress they've made.

Otherwise, the fact that enough people want to do something that they are talking to each other about it doesn't convince me that they are any closer to a solution to their problem than I am to mine.
legendary
Activity: 3472
Merit: 4801
February 21, 2014, 01:58:09 PM
#28
"Full nodes" are available by public IP, otherwise they are private nodes. Public IPs can be collected from the network and counted.

We are not using the same definition for "full node".

In terms of being paid to relay transactions, I was assuming that a node was "full" if they maintained a complete copy of the blockchain, validated the transactions and blocks that they received, and relayed those transactions and blocks to any peers they were connected to.

I suppose if you are only counting "public" nodes, the total number is significantly less.  Is there a reliable list of "public" full nodes?
Pages:
Jump to: