Pages:
Author

Topic: What does a node do? - page 2. (Read 2663 times)

legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
December 22, 2015, 08:26:22 AM
#27
So do the SPV miners still get the transaction money even though they haven't verified? What happens when it becomes too difficult to find new blocks, will it be impossible to transfer Bitcoins?
As long as the previous block follows the network rules and it doesn't get orphaned. SPV mining deducts the time used for verifying. They assume that the longest chain is valid.*

*Mining pool runs a full node but due to how SPV works, they will continue to mine on invalid chain.

Does it verification use a lot of CPU power? I used to mine llitcoin with a very low end CPU and did not see any problem?
No. The proporgation of block and verification does take sometime. Those miners who SPV mines listens on the other pools for block changes. They then check the coinbase for conflicting transactions and use the hashes to generate a new block header to mine. This essentially means that the SPV miner does not verify the block and trust that the other miner follows the network rules(eg. Not putting a 10k BTC block reward). If the miner makes a mistake and mines a block which doesn't follow the network rules, the SPV miners will continue to build on that chain and thus lose all the block rewards since they are mined on the wrong fork.

SPV mining can reduce the chances of getting the block orphaned.
copper member
Activity: 1498
Merit: 1562
No I dont escrow anymore.
December 22, 2015, 08:20:35 AM
#26
So do the SPV miners still get the transaction money even though they haven't verified? What happens when it becomes too difficult to find new blocks, will it be impossible to transfer Bitcoins?
As long as the previous block follows the network rules and it doesn't get orphaned. SPV mining deducts the time used for verifying. They assume that the longest chain is valid.*

*Mining pool runs a full node but due to how SPV works, they will continue to mine on invalid chain.

Does it verification use a lot of CPU power? I used to mine llitcoin with a very low end CPU and did not see any problem?

No verification is usually not much work for the CPU. Again verification is not mining.
newbie
Activity: 16
Merit: 0
December 22, 2015, 07:12:47 AM
#25
So do the SPV miners still get the transaction money even though they haven't verified? What happens when it becomes too difficult to find new blocks, will it be impossible to transfer Bitcoins?
As long as the previous block follows the network rules and it doesn't get orphaned. SPV mining deducts the time used for verifying. They assume that the longest chain is valid.*

*Mining pool runs a full node but due to how SPV works, they will continue to mine on invalid chain.

Does it verification use a lot of CPU power? I used to mine llitcoin with a very low end CPU and did not see any problem?
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
December 22, 2015, 06:14:07 AM
#24
So do the SPV miners still get the transaction money even though they haven't verified? What happens when it becomes too difficult to find new blocks, will it be impossible to transfer Bitcoins?
As long as the previous block follows the network rules and it doesn't get orphaned. SPV mining deducts the time used for verifying. They assume that the longest chain is valid.*

Difficulty automatically adjusts to make the blocks to go to 10 minute intervals. If it's faster, it will increase and vice versa. However, if a large miner decides to shut down their farm, it can get affected. Only if 50% of the network shuts down, blocks would be twice as long for 2016 blocks. The transaction speed of Bitcoin is instant, confirmation is not.


*Mining pool runs a full node but due to how SPV works, they will continue to mine on invalid chain.
legendary
Activity: 2828
Merit: 2472
https://JetCash.com
December 22, 2015, 06:07:49 AM
#23
So do the SPV miners still get the transaction money even though they haven't verified? What happens when it becomes too difficult to find new blocks, will it be impossible to transfer Bitcoins?
copper member
Activity: 1498
Merit: 1562
No I dont escrow anymore.
December 22, 2015, 06:00:54 AM
#22
So a full node verifies all transactions and blocks, and a miner is rewarded for the additional task of building a new block.

Yes, with slight corrections in italic.

The transaction fee is related to a transaction, so why doesn't the first node to verify it get the fee?

Because the fee is by design for the miner. The verification does nothing "for" the transaction other than allowing it to be forwarded to other nodes.

Is it because they can't register their verification without building a new block?

A verification is not the same as a confirmation. A verification is just "yep, thats fine accoring to the network rules, I will tell my peers about it". A confirmation is "this transaction is now very unlikely to be ever reversed". Verifications are easy, confirmations are hard and expensive, because they require finding a block. They require "proof of work".

Would it not be fairer to reward the first node for verifying the transaction, and reward the miner for building the block?

Maybe it would be a good idea to reward full nodes, but keep in mind that finding a block is the important part. Its currently rewarded by 25 BTC on top of the fees, but this reward halfes every 4 years. So over time, the fees have to be the reward to find blocks at all. If there is no reward, less people would try and it would become easier. This would make bitcoin easier to attack.

Of course the miner would get any transaction fees if he was the first to verify them in his block, and there must be a high probability that miners will be the first on many transaction. This approach would reduce the rewards for SPV miners.

SPV Miners still get the 25 BTC block finding reward, even if they dont verify anything. Well the reward is taken back if it turns out that they build on top of an invalid block, but thats the risk they are willing to take.
legendary
Activity: 2828
Merit: 2472
https://JetCash.com
December 22, 2015, 05:49:27 AM
#21
So a full node verifies a transaction, and a miner is rewarded for the additional task of building a new block. The transaction fee is related to a transaction, so why doesn't the first node to verify it get the fee? Is it because they can't register their verification without building a new block? Would it not be fairer to reward the first node for verifying the transaction, and reward the miner for building the block? Of course the miner would get any transaction fees if he was the first to verify them in his block, and there must be a high probability that miners will be the first on many transaction. This approach would reduce the rewards for SPV miners.
copper member
Activity: 1498
Merit: 1562
No I dont escrow anymore.
December 22, 2015, 05:39:11 AM
#20
I've just read Satoshi's original paper, and I'm still not clear of the difference between a full node and a miner who is just verifying transactions.

A full node must not mine, but a miner must have a full node (or a pool that has one) to determine the current valid state of the blockchain. Miners verify the latest block and try to build a new block which should include unconfirmed and verified transactions. If a miner does not verify the data they can run into grave problems. If the miner does not verify an invalid transaction and they find a block with it, the block will be rejected by other miners when they try to verify it. Thus the block will be an orphan, discarded by the network and the miner will have wasted energy.

Some miners actually dont verify a block they get, assume its correct and continue to mine on top of it. This is dangerous for the network in general as it can lead to a split of the blockchain. The term that was coined for that is "SPV Mining" and you can read more about that here -> https://bitcointalksearch.org/topic/spv-mining-and-how-to-slow-it-down-if-you-care-to-1274066
legendary
Activity: 2828
Merit: 2472
https://JetCash.com
December 22, 2015, 05:11:09 AM
#19
I've just read Satoshi's original paper, and I'm still not clear of the difference between a full node and a miner who is just verifying transactions.
copper member
Activity: 1498
Merit: 1562
No I dont escrow anymore.
December 22, 2015, 05:00:39 AM
#18
I use the Core Client, is it a full node?

Yes.

From the above comment, I do not have to open port 8333 to be full node?

No. It will allow outbound connections if you do, which will let you hold more than 8 connections in total.

Does the full node require static IP?

No. You might need a static local IP if you forward the port 8333 via your router, but that depends on the router you use. Your external IP can change as it does with most home connections.
newbie
Activity: 68
Merit: 0
December 22, 2015, 04:47:04 AM
#17
I use the Core Client, is it a full node? From the above comment, I do not have to open port 8333 to be full node? Does the full node require static IP?
legendary
Activity: 3248
Merit: 1072
December 22, 2015, 02:53:10 AM
#16
well then everyone is running a full node, because we need to sync after all, but then why there are so few fullnode?

No, full nodes are nodes the store the blockchain and fully verify every single block and transaction they receive. Most people use SPV wallets which do not do that. They rely on full nodes to do the verification for them.

i know that, i was referring to those that are using core, if everyone of those people are opening core just for synching that they should be counted as a full node, but unless the usage of core is very restricted, it seems that the number of node is not reflecting this
legendary
Activity: 2828
Merit: 2472
https://JetCash.com
December 22, 2015, 02:44:22 AM
#15
The drive on this machine is 2TB, so I've got space for the blockchain. What I can't guarantee is that I will be online for more than 2 or 3 hours per day.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
December 22, 2015, 01:58:22 AM
#14
well then everyone is running a full node, because we need to sync after all, but then why there are so few fullnode?

Full nodes verifies transaction's validity and relay transactions. SPV clients do not. They trust that the client and miners are following the network rules. The main disadvantage of using a full node is due to the size. Not everyone(including me) is willing to shell out 58GB+ of space for the entire blockchain. Blockchain pruning disables the wallet which doesn't give the user a reason to use Bitcoin Core over SPV clients.
Is there any reward for verifying these transactions, or is it just the miners that get the rewards?
Full nodes do not get any incentives on protocol level. On the external side, [urlhttps://bitnodes.21.co/nodes/incentive/]bitnodes.21.co[/url] is offering a bit of incentives for running a stable full node.
staff
Activity: 3458
Merit: 6793
Just writing some code
December 21, 2015, 03:32:33 PM
#13
Is there any reward for verifying these transactions, or is it just the miners that get the rewards?
Only miners get transactions fees. Running a full node does not have a reward, which is mostly why people don't run full nodes.
legendary
Activity: 2828
Merit: 2472
https://JetCash.com
December 21, 2015, 03:25:49 PM
#12
Is there any reward for verifying these transactions, or is it just the miners that get the rewards?
staff
Activity: 3458
Merit: 6793
Just writing some code
December 21, 2015, 03:05:44 PM
#11
well then everyone is running a full node, because we need to sync after all, but then why there are so few fullnode?

No, full nodes are nodes the store the blockchain and fully verify every single block and transaction they receive. Most people use SPV wallets which do not do that. They rely on full nodes to do the verification for them.
legendary
Activity: 3248
Merit: 1072
December 21, 2015, 12:38:29 PM
#10
you need to change it to 8333 like it was said and allow outbounds connections, if you want to run a full node

Even if you dont accept outbound connections you are a full node. Even if you dont have the full blockchain available (pruned) you are a full node. A full node is any device on the network that enforces the network rules. A full node verifies all data it gets, checks if its according to the rules and relays it unless its considered nonStandard or invalid.

A pruned node can not help others to sync up to the latest block though.

A full node that is not accepting outside connections can not be used by other wallets (like multibit) to gather data about the current state of the network.


[1] TCP connections are only virtual fixed connections over paket based IP and dont actually have a fixed line reserved for them as phone lines would before VoIP.

i know that if you have only 8 connections going on you're not running a full node

i have only 8 connection here https://bitnodes.21.co/ it tell me that i'm unreachable

A full node is defined as a client which verifies and enforces network rules.[1]

Bitnodes.21.co connects to your client to check if anyone can connect to your node. Without changing any codes, you are allowed a maximum of 8 outgoing connections. By opening port 8333, you are allowing users to connect to your node. Opening TCP 8333 is definitely great but it's good enough if you just run it. Your peers will still be getting blocks and transactions from you.

[1] https://en.bitcoin.it/wiki/Full_node

well then everyone is running a full node, because we need to sync after all, but then why there are so few fullnode?
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
December 21, 2015, 11:10:25 AM
#9
you need to change it to 8333 like it was said and allow outbounds connections, if you want to run a full node

Even if you dont accept outbound connections you are a full node. Even if you dont have the full blockchain available (pruned) you are a full node. A full node is any device on the network that enforces the network rules. A full node verifies all data it gets, checks if its according to the rules and relays it unless its considered nonStandard or invalid.

A pruned node can not help others to sync up to the latest block though.

A full node that is not accepting outside connections can not be used by other wallets (like multibit) to gather data about the current state of the network.


[1] TCP connections are only virtual fixed connections over paket based IP and dont actually have a fixed line reserved for them as phone lines would before VoIP.

i know that if you have only 8 connections going on you're not running a full node

i have only 8 connection here https://bitnodes.21.co/ it tell me that i'm unreachable
A full node is defined as a client which verifies and enforces network rules.[1]

Bitnodes.21.co connects to your client to check if anyone can connect to your node. Without changing any codes, you are allowed a maximum of 8 outgoing connections. By opening port 8333, you are allowing users to connect to your node. Opening TCP 8333 is definitely great but it's good enough if you just run it. Your peers will still be getting blocks and transactions from you.

[1] https://en.bitcoin.it/wiki/Full_node
legendary
Activity: 3248
Merit: 1072
December 21, 2015, 10:39:27 AM
#8
you need to change it to 8333 like it was said and allow outbounds connections, if you want to run a full node

Even if you dont accept outbound connections you are a full node. Even if you dont have the full blockchain available (pruned) you are a full node. A full node is any device on the network that enforces the network rules. A full node verifies all data it gets, checks if its according to the rules and relays it unless its considered nonStandard or invalid.

A pruned node can not help others to sync up to the latest block though.

A full node that is not accepting outside connections can not be used by other wallets (like multibit) to gather data about the current state of the network.


[1] TCP connections are only virtual fixed connections over paket based IP and dont actually have a fixed line reserved for them as phone lines would before VoIP.
[/quote]

i know that if you have only 8 connections going on you're not running a full node

i have only 8 connection here https://bitnodes.21.co/ it tell me that i'm unreachable
Pages:
Jump to: