Bitcoin Forum

Other => Beginners & Help => Topic started by: Jet Cash on December 21, 2015, 06:39:21 AM



Title: What does a node do?
Post by: Jet Cash on December 21, 2015, 06:39:21 AM
I gather that once I have downloaded the blockchain, I will be running as a node every time I start Bitcoin core. So what will my computer be doing? As I will be using public WiFi until I finish my project (and maybe for some time afterwards), I won't be contributing a lot to the community, so what can my computer do?

Will it be supplying blocks to other users downloading the blockchain?
Will I be part of the transaction verification process?
What other services will I be able to contribute?


Title: Re: What does a node do?
Post by: ranochigo on December 21, 2015, 06:47:24 AM
By running a full node, you are basically enforcing the network rules by making sure that blocks and transactions follow the rules that the client have set.  You will also be relaying transactions and blocks( when not running autoprune) to the peers, whether you open port 8333 or not. If you open port 8333, more users will be able to connect to you.

You will be part of the verification process. Each full node verifies the validity of the signature and the UXTO before relaying it.


Title: Re: What does a node do?
Post by: Jet Cash on December 21, 2015, 07:03:38 AM
Windows firewall says that Bitcoin core can use any port - should I change that to be port specific, or just leave it alone?


Title: Re: What does a node do?
Post by: Amph on December 21, 2015, 08:07:03 AM
Windows firewall says that Bitcoin core can use any port - should I change that to be port specific, or just leave it alone?

you need to change it to 8333 like it was said and allow outbounds connections, if you want to run a full node


Title: Re: What does a node do?
Post by: shorena on December 21, 2015, 08:08:18 AM
Windows firewall says that Bitcoin core can use any port - should I change that to be port specific, or just leave it alone?

That sounds alright for Windows, but in order to allow connections from the outside the WiFi router would have to point to your device. E.g. you sit at McD and get free WiFi from their router. Lets assume its just a simple SoHo device for simplicity sake. That router has a public IP on one side, this is the IP your computer uses to talk to others in the bitcoin network. On the other side is has internal IP addresses one for each of the devices in the store. If you establish the connection from the inside those from the outside can just answer. Like with a phone call[1] you already have an existing connection if you called the other party. They dont need to call you back or something like that to reply. You can just speak back and forth. In order for someone to estabish a connection to your specific machine, the public IP is not enough. The router must also know if someone asks for "bitcoin core on TCP port 8333" on their public IP that its your laptop and your laptop only that will answer this. Chances are you will not be able to confirgure this on a public WiFi, but it might happen. Bitcoin core has a setting called "Map port using UPnP" (Settings -> Options -> Network) that will try to open the port on the router for you.

Windows firewall says that Bitcoin core can use any port - should I change that to be port specific, or just leave it alone?

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.


Title: Re: What does a node do?
Post by: ironbit on December 21, 2015, 12:48:42 PM
A node is just a normal bitcoin client. it does exactly the same as your local installed bitcoin client.


Title: Re: What does a node do?
Post by: zodiac3011 on December 21, 2015, 02:28:27 PM
A node is just a normal bitcoin client. it does exactly the same as your local installed bitcoin client.
it has some different functions I think. A node is able to verify the block validity and help people sync blockchain. It's a bitcoin client but with advanced functions


Title: Re: What does a node do?
Post by: Amph on December 21, 2015, 03:39:27 PM
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


Title: Re: What does a node do?
Post by: ranochigo on December 21, 2015, 04:10:25 PM
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


Title: Re: What does a node do?
Post by: Amph on December 21, 2015, 05:38:29 PM
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?


Title: Re: What does a node do?
Post by: achow101 on December 21, 2015, 08:05:44 PM
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.


Title: Re: What does a node do?
Post by: Jet Cash on December 21, 2015, 08:25:49 PM
Is there any reward for verifying these transactions, or is it just the miners that get the rewards?


Title: Re: What does a node do?
Post by: achow101 on December 21, 2015, 08:32:33 PM
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.


Title: Re: What does a node do?
Post by: ranochigo on December 22, 2015, 06:58:22 AM
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.


Title: Re: What does a node do?
Post by: Jet Cash on December 22, 2015, 07:44:22 AM
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.


Title: Re: What does a node do?
Post by: Amph on December 22, 2015, 07:53:10 AM
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


Title: Re: What does a node do?
Post by: Appuned on December 22, 2015, 09:47:04 AM
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?


Title: Re: What does a node do?
Post by: shorena on December 22, 2015, 10:00:39 AM
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.


Title: Re: What does a node do?
Post by: Jet Cash on December 22, 2015, 10:11:09 AM
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.


Title: Re: What does a node do?
Post by: shorena on December 22, 2015, 10:39:11 AM
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://bitcointalk.org/index.php?topic=1274066.0


Title: Re: What does a node do?
Post by: Jet Cash on December 22, 2015, 10:49:27 AM
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.


Title: Re: What does a node do?
Post by: shorena on December 22, 2015, 11:00:54 AM
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.


Title: Re: What does a node do?
Post by: Jet Cash on December 22, 2015, 11:07:49 AM
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?


Title: Re: What does a node do?
Post by: ranochigo on December 22, 2015, 11:14:07 AM
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.


Title: Re: What does a node do?
Post by: Dofnatues on December 22, 2015, 12:12:47 PM
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?


Title: Re: What does a node do?
Post by: shorena on December 22, 2015, 01:20:35 PM
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.


Title: Re: What does a node do?
Post by: ranochigo on December 22, 2015, 01:26:22 PM
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.


Title: Re: What does a node do?
Post by: shorena on December 22, 2015, 01:36:08 PM
-snip-
SPV mining can reduce the chances of getting the block orphaned.

While its true, the main problem is bad pool software AFAIK. SPV mining is meant for the time while the pool software verifies the last block and builds a new block with possible transactions to include. This takes time and during that time miners have no work to do. Since miners that have nothing to do are a waste of money, they mine on an unverified and empty block. The main issue for orphans is the time it takes for a block you found to reach other miners. If two pools find a block at the same time, the block that reaches 50% of the networks hashrate first will win the race.


Title: Re: What does a node do?
Post by: Jet Cash on December 22, 2015, 01:40:23 PM
This seems to be a vulnerability. If the Fed wanted to undermine the stability of the blockchain, then it seems there are techniques that they could use. Even if it just increases the difficulty in registering new blocks, it could discourage miners, and thus weaken the community.


Title: Re: What does a node do?
Post by: shorena on December 22, 2015, 01:44:01 PM
This seems to be a vulnerability. If the Fed wanted to undermine the stability of the blockchain, then it seems there are techniques that they could use. Even if it just increases the difficulty in registering new blocks, it could discourage miners, and thus weaken the community.

If you would buy mining hardware to find blocks they would increase bitcoins strength. Bitcoins security comes from the fact that its hard to find a block. If its easy to find a block its also easy to find a replacement for a block. If you can find a replacement for a block you have a chance to rewrite bitcoin history. That is commonly called a 51% attack, even though >50% would be more accurate.


Title: Re: What does a node do?
Post by: Blue_Panda73 on December 22, 2015, 01:51:45 PM
What is the main difference between a full node miner and a SPV miner? If the verification uses little CPU power, so little time, why does not the SPV miner verify the block?


Title: Re: What does a node do?
Post by: ranochigo on December 22, 2015, 01:58:33 PM
What is the main difference between a full node miner and a SPV miner? If the verification uses little CPU power, so little time, why does not the SPV miner verify the block?
A normal miner would verify the block completely to ensure that it follows the rules that the miner knows it should. SPV miners looks at the coinbase for conflicting transactions and use the hash for the next block.

In mining, every second of latency is important. The faster you mine a block and proporgate it, the lesser chance it have to be orphaned. SPV pool mining software should allow users to mine on unverified block while it verifies. If it doesn't follow the rule, the pool should ask the miners to abandon it.*

*CMIIW.


Title: Re: What does a node do?
Post by: legendster on December 22, 2015, 02:27:18 PM
I gather that once I have downloaded the blockchain, I will be running as a node every time I start Bitcoin core. So what will my computer be doing? As I will be using public WiFi until I finish my project (and maybe for some time afterwards), I won't be contributing a lot to the community, so what can my computer do?

Will it be supplying blocks to other users downloading the blockchain?
Will I be part of the transaction verification process?
What other services will I be able to contribute?

Whenever you run a node or download the BTC core data you are basically downloading the complete registry of bitcoin and yes you will become a part of the Bitcoin network, think of it much like the Skynet from the terminator movies.


Title: Re: What does a node do?
Post by: number2 on December 24, 2015, 10:43:07 PM
I understand what this all means, but are there risks of running a node in which someone could use a false code in order to get into your system so that they could steal your information or even your Bitcoin?  I was thinking of this when I seen an opportunity to test out as a node, but I was concerned about these things.


Title: Re: What does a node do?
Post by: achow101 on December 24, 2015, 10:44:23 PM
I understand what this all means, but are there risks of running a node in which someone could use a false code in order to get into your system so that they could steal your information or even your Bitcoin?  I was thinking of this when I seen an opportunity to test out as a node, but I was concerned about these things.
No. Unless there is a 0-day in the way that Bitcoin Core handles messages, this is not possible.


Title: Re: What does a node do?
Post by: RealBitcoin on December 28, 2015, 04:51:49 AM
A node is an online bitcoin core client. It downloads and uploads the blockchain to the other nodes. (like a torrent client would do)

It's esentially 1 unit of the network. Every miner is a node, but not every node is a miner.


Title: Re: What does a node do?
Post by: Blue_Panda73 on December 31, 2015, 11:38:20 AM
A node is an online bitcoin core client. It downloads and uploads the blockchain to the other nodes. (like a torrent client would do)

It's esentially 1 unit of the network. Every miner is a node, but not every node is a miner.

If it is such a simple configuration, why are there so fewer nodes in the network? I remember there are only 6000 full nodes.


Title: Re: What does a node do?
Post by: Jet Cash on December 31, 2015, 02:50:51 PM

If it is such a simple configuration, why are there so fewer nodes in the network? I remember there are only 6000 full nodes.

6001 now :)

I guess people don't want to pay the overhead in running a full node, when they don't get any reward. I only start the core for a while when I want to check for coins reeceived, and to keep the blockchain up to date.


Title: Re: What does a node do?
Post by: ranochigo on December 31, 2015, 03:02:42 PM

If it is such a simple configuration, why are there so fewer nodes in the network? I remember there are only 6000 full nodes.

6001 now :)

I guess people don't want to pay the overhead in running a full node, when they don't get any reward. I only start the core for a while when I want to check for coins reeceived, and to keep the blockchain up to date.
There's currently 5667 reachable nodes*, it has decreased drastically. Unless you're a developers or want extra security, a SPV node would often suffice. The main problem of Bitcoin Core is disk space and bandwidth, that's pretty much all why Bitcoin users do not want to run it. Why run Core when you can run SPV clients right?

*Only nodes that enabled port 8333 and allowed connection from bitnodes.


Title: Re: What does a node do?
Post by: Jet Cash on December 31, 2015, 04:23:00 PM
I understood that you could improve security by running a full node, but I haven't had a chance to investigate that yet. I need to understand more about the operation of Bitcoin and the blockchain first. Disk space isn't a problem these days, but bandwidth is if you are running Windows 10 (it's probably a massive security risk as well).


Title: Re: What does a node do?
Post by: naidray on December 31, 2015, 04:30:13 PM
Many useful information on running a bitcoin core wallet.
I heard some 3rd party provides incentive for running a node for bitcoin network. Not sure whether still providing or not.


Title: Re: What does a node do?
Post by: BlueStackz on December 31, 2015, 05:03:01 PM
So, does it mean, there are only 6000 people are running bitcoin core and doing mining.
If we assume, 50% are bitcoin core wallets means, only 3000 individual miners?


Title: Re: What does a node do?
Post by: achow101 on December 31, 2015, 05:16:45 PM
So, does it mean, there are only 6000 people are running bitcoin core and doing mining.
No. This means that there are ~6000 people running a full node software. It could be Bitcoin Core, Bitcoin XT, btcd, etc. There are many out there but mostly Bitcoin Core is used. You can see the actual distribution of node software used on https://bitnodes.21.co/nodes/

If we assume, 50% are bitcoin core wallets means, only 3000 individual miners?
No. Most miners mine at a mining pool, so they do not need to run any type of node software. The pool runs the software. Some of them run Bitcoin Core others run their own custom implementation so they can customize it as they see fit. Even so, running Bitcoin Core (or any full node) does not mean that you are mining. However you can mine using Bitcoin Core or by pointing a miner at Bitcoin Core which will give all of the necessary data required to mine blocks.


Title: Re: What does a node do?
Post by: Blue_Panda73 on January 01, 2016, 08:29:40 PM

If it is such a simple configuration, why are there so fewer nodes in the network? I remember there are only 6000 full nodes.

6001 now :)

I guess people don't want to pay the overhead in running a full node, when they don't get any reward. I only start the core for a while when I want to check for coins reeceived, and to keep the blockchain up to date.
There's currently 5667 reachable nodes*, it has decreased drastically. Unless you're a developers or want extra security, a SPV node would often suffice. The main problem of Bitcoin Core is disk space and bandwidth, that's pretty much all why Bitcoin users do not want to run it. Why run Core when you can run SPV clients right?

*Only nodes that enabled port 8333 and allowed connection from bitnodes.

Is it possible to DDos those 5667 nodes and take down bitcoin network? 5667 nodes is no a large number.


Title: Re: What does a node do?
Post by: achow101 on January 01, 2016, 08:32:59 PM

If it is such a simple configuration, why are there so fewer nodes in the network? I remember there are only 6000 full nodes.

6001 now :)

I guess people don't want to pay the overhead in running a full node, when they don't get any reward. I only start the core for a while when I want to check for coins reeceived, and to keep the blockchain up to date.
There's currently 5667 reachable nodes*, it has decreased drastically. Unless you're a developers or want extra security, a SPV node would often suffice. The main problem of Bitcoin Core is disk space and bandwidth, that's pretty much all why Bitcoin users do not want to run it. Why run Core when you can run SPV clients right?

*Only nodes that enabled port 8333 and allowed connection from bitnodes.

Is it possible to DDos those 5667 nodes and take down bitcoin network? 5667 nodes is no a large number.
Maybe. Bitcoin Core only allows a maximum of 125 connections to it. It has DoS protection built in so any node that is sending bad messages to it will get blocked and the connection will be dropped, so it may be hard to do.


Title: Re: What does a node do?
Post by: Blue_Panda73 on January 02, 2016, 08:39:15 AM

If it is such a simple configuration, why are there so fewer nodes in the network? I remember there are only 6000 full nodes.

6001 now :)

I guess people don't want to pay the overhead in running a full node, when they don't get any reward. I only start the core for a while when I want to check for coins reeceived, and to keep the blockchain up to date.
There's currently 5667 reachable nodes*, it has decreased drastically. Unless you're a developers or want extra security, a SPV node would often suffice. The main problem of Bitcoin Core is disk space and bandwidth, that's pretty much all why Bitcoin users do not want to run it. Why run Core when you can run SPV clients right?

*Only nodes that enabled port 8333 and allowed connection from bitnodes.

Is it possible to DDos those 5667 nodes and take down bitcoin network? 5667 nodes is no a large number.
Maybe. Bitcoin Core only allows a maximum of 125 connections to it. It has DoS protection built in so any node that is sending bad messages to it will get blocked and the connection will be dropped, so it may be hard to do.

But if the node receives a lot of request, how does it know which connection to drop, or which one is from attacker?


Title: Re: What does a node do?
Post by: shorena on January 02, 2016, 11:59:11 AM
-snip-
But if the node receives a lot of request, how does it know which connection to drop, or which one is from attacker?

Its a TCP connection, you know the sender. If the sender fills you with nonsense you end the connection and refuse to accept it again for some time.