Bitcoin Forum
June 21, 2024, 07:55:24 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: Running a Bitcoin Node  (Read 5576 times)
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 06:38:59 PM
 #21

If you want to guarantee that the miners and your intended recipient all receive the transaction, you'll need to pay a fee to EVERY single node on the network.  If there are 10 million users all running full nodes, that would mean you'd have to pay a minimum fee of at least 0.00000001 BTC X 10 million = 0.1 BTC just for "relay fees".  Then you'd have to pay a mining fee in addition to that.

It could be done in bulk, say one fee for every 1000 or 10000 transactions (or a probabilistic equivalent).

So because I run a node I'd get a satoshi per 1k or 10k transactions. Wow, the new wealthy elite! Sign me up! Smiley

Danny's example was entirely hypothetical. There are not 10 million full nodes (I think there are a few thousand). In some hypothetical future where a satoshi is worth a penny and there are thousands or even millions of transactions per second...


DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 06:49:25 PM
 #22

It could be done in bulk, say one fee for every 1000 or 10000 transactions (or a probabilistic equivalent).

How would all the peers know if I previously paid the transaction relay fee for a transaction that I'm sending now?

But the real answer is that no one has quite figured out how to build a p2p network that pays for bandwidth.

Exactly.  Nobody has figured out a cost effective way to pay peers for relaying transactions.  Until such a solution is discovered (if ever), I don't think there is any reason to discuss the idea that nodes "should" get paid to relay transactions.  It feels a bit like discussing how humans "should" be able to breathe in a complete vacuum.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 06:51:28 PM
 #23

It could be done in bulk, say one fee for every 1000 or 10000 transactions (or a probabilistic equivalent).

How would all the peers know if I previously paid the transaction relay fee for a transaction that I'm sending now?

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.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 06:51:34 PM
 #24

Danny's example was entirely hypothetical.

Clearly.

There are not 10 million full nodes

Perhaps not yet.  I'm not sure how we would know.

(I think there are a few thousand).

I think there are much more than that.  I'd expect at least a few tens of thousands, and a few hundred thousand wouldn't surprise me.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 06:52:35 PM
 #25

There are not 10 million full nodes

Perhaps not yet.  I'm not sure how we would know.

"Full nodes" are available by public IP, otherwise they are private nodes. Public IPs can be collected from the network and counted. I think somebody (blockchain.info maybe?) publishes an approximate count. Last year the popularity of lightweight clients reduced the number of full nodes, although it may be on the way back up now. It's still pretty low.






DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 06:53:17 PM
 #26

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.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 06:55:40 PM
 #27

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.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 06: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?
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 06: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.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 07: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).



DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 07: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.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 07: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
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 07: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.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 07: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.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 08: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%.
nlsupernova
Member
**
Offline Offline

Activity: 98
Merit: 10


View Profile
February 21, 2014, 08: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.

Holliday
Legendary
*
Offline Offline

Activity: 1120
Merit: 1010



View Profile
February 21, 2014, 08: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).

If you aren't the sole controller of your private keys, you don't have any bitcoins.
smooth
Legendary
*
Offline Offline

Activity: 2968
Merit: 1198



View Profile
February 21, 2014, 08: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.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 08: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.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4669



View Profile
February 21, 2014, 08: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.
Pages: « 1 [2] 3 »  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!