Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: gweedo on May 11, 2014, 11:39:51 PM



Title: A bitcoin full node FAQ
Post by: gweedo on May 11, 2014, 11:39:51 PM
During a lot of my day I see inaccurate information about bitcoin full nodes. I wanted to create a topic where people can ask questions and we can answer them. So there's 1000's of separate topics on this subject found in many different boards.

I think this could also help make newbies feel better as to why it is important to run a full node and it isn't that hard to get started.

Ask your questions here and I or the community will answer them.


Title: Re: A bitcoin full node FAQ
Post by: Vod on May 12, 2014, 02:04:10 AM
What is a "full node"?

(Seriously, that is a legit question!)


Title: Re: A bitcoin full node FAQ
Post by: Epiphany on May 12, 2014, 02:15:13 AM
Do you have to be mining to have a full node? Can I just open my wallet with the full blockchain and it is a full node while it is open? Or do I have to tweak some setting for that to happen? I assumed you had to mine to have a full node. Can you clarify?


Title: Re: A bitcoin full node FAQ
Post by: Epiphany on May 12, 2014, 02:24:18 AM
Do you have to be mining to have a full node? Can I just open my wallet with the full blockchain and it is a full node while it is open? Or do I have to tweak some setting for that to happen? I assumed you had to mine to have a full node. Can you clarify?

You don't have be mining to run a full node. You just have to have port 8333 open on your router or firewall. So peers can connect to you and download data. Default bitcoin is setup to do just this relay transactions.

A full node can just relay transactions to peers and help the network be connected.

Interesting, I didn't realize that.  :D How much bandwidth does that hog? I don't have a great internet connection but if it didn't use much, I'd leave mine running to help secure the network.


Title: Re: A bitcoin full node FAQ
Post by: gweedo on May 12, 2014, 02:30:49 AM
Do you have to be mining to have a full node? Can I just open my wallet with the full blockchain and it is a full node while it is open? Or do I have to tweak some setting for that to happen? I assumed you had to mine to have a full node. Can you clarify?

You don't have be mining to run a full node. You just have to have port 8333 open on your router or firewall. So peers can connect to you and download data. Default bitcoin is setup to do just this relay transactions.

A full node can just relay transactions to peers and help the network be connected.

Interesting, I didn't realize that.  :D How much bandwidth does that hog? I don't have a great internet connection but if it didn't use much, I'd leave mine running to help secure the network.

It is a lot of bandwidth it really depends on your hoster or ISP. I run a VPS that has 5tb bandwidth and I am not even close to that level and my mac mini has a node running and it is fine no complaints from my ISP.


Title: Re: A bitcoin full node FAQ
Post by: Greenleed on May 12, 2014, 02:41:15 AM
So,what is not "full node" or " half-full node "?  I use multibit wallet and sometimes it seems taking forever for syn the blockchain. Does that mean I am just in a bad luck by connecting to a "not full node" peer?


Title: Re: A bitcoin full node FAQ
Post by: DeathAndTaxes on May 12, 2014, 02:46:28 AM
So,what is not "full node" or " half-full node "?  I use multibit wallet and sometimes it seems taking forever for syn the blockchain. Does that mean I am just in a bad luck by connecting to a "not full node" peer?

No there are only full nodes and lite or SPV nodes.  You can't download the blockchain from lite nodes because they don't have it.  The "forever" may be due to your peers being slow or it may just be due to your system.  SSD and lots of memory help in the initial sync. 


Title: Re: A bitcoin full node FAQ
Post by: dree12 on May 12, 2014, 02:51:54 AM
So,what is not "full node" or " half-full node "?  I use multibit wallet and sometimes it seems taking forever for syn the blockchain. Does that mean I am just in a bad luck by connecting to a "not full node" peer?

No there are only full nodes and lite or SPV nodes.  You can't download the blockchain from lite nodes because they don't have it.  The "forever" may be due to your peers being slow or it may just be due to your system.  SSD and lots of memory help in the initial sync. 

There are also "leech nodes" that arise from people running "full nodes" behind an archaic UPnP-less router that blocks the port... They waste all the resources a full node does while providing none of the benefit.


Title: Re: A bitcoin full node FAQ
Post by: mailmansDOG on May 12, 2014, 02:56:14 AM
Ok I saw that one on reddit, does running a full bitcoin node in a casual home computer with a kind of slow connection really contribute to the network? Or could it even have a negative effect? 

Is the sacrifice of your bandwidth and hard drive space worth it? I think that if your connection is slow you won't get enough connections and therefore your client wont send information to other people trying to receive the blockchain. This way being a "leecher" of the p2p data without contributing.

Could this by any means be true?


Title: Re: A bitcoin full node FAQ
Post by: R2D221 on May 12, 2014, 02:57:40 AM
I want to run a full node, but I don't have any spare computer to leave it running 24/7. I'm planning to buy hosting. Is that a good idea? What specs should the hosting have?


Title: Re: A bitcoin full node FAQ
Post by: DeathAndTaxes on May 12, 2014, 03:05:05 AM
Ok I saw that one on reddit, does running a full bitcoin node in a casual home computer with a kind of slow connection really contribute to the network? Or could it even have a negative effect? 

Is the sacrifice of your bandwidth and hard drive space worth it? I think that if your connection is slow you won't get enough connections and therefore your client wont send information to other people trying to receive the blockchain. This way being a "leecher" of the p2p data without contributing.

Could this by any means be true?

It depends on what you mean by slow.  If you are on dialup then no you probably are not helping.  If you aren't accepting inbound connections then no you aren't helping.  However even with reasonable speed and a moderate number of connections (you can limit it based on your bandwidth) you are providing available connections to new nodes so you are helping.  Even a node with 8 inbound connections on a home cable or dsl line helps.


Title: Re: A bitcoin full node FAQ
Post by: gweedo on May 12, 2014, 03:05:18 AM
I want to run a full node, but I don't have any spare computer to leave it running 24/7. I'm planning to buy hosting. Is that a good idea? What specs should the hosting have?

1GB of ram, at least 50gb or more of HDD space, get SDD (solid state drive as hard drive type) unmetered or high bandwidth at least 1 tb.


Ok I saw that one on reddit, does running a full bitcoin node in a casual home computer with a kind of slow connection really contribute to the network? Or could it even have a negative effect?  

Is the sacrifice of your bandwidth and hard drive space worth it? I think that if your connection is slow you won't get enough connections and therefore your client wont send information to other people trying to receive the blockchain. This way being a "leecher" of the p2p data without contributing.

Could this by any means be true?

I would suggest if that is the case you aren't helping by having this slow peer, but instead invest in a VPS, that would worth more to the network.


Title: Re: A bitcoin full node FAQ
Post by: Foxpup on May 12, 2014, 04:11:09 AM
There are also "leech nodes" that arise from people running "full nodes" behind an archaic UPnP-less router that blocks the port... They waste all the resources a full node does while providing none of the benefit.
False.


Title: Re: A bitcoin full node FAQ
Post by: dree12 on May 12, 2014, 04:17:33 AM
There are also "leech nodes" that arise from people running "full nodes" behind an archaic UPnP-less router that blocks the port... They waste all the resources a full node does while providing none of the benefit.
False.

Please elaborate.


Title: Re: A bitcoin full node FAQ
Post by: Foxpup on May 12, 2014, 04:31:31 AM
There are also "leech nodes" that arise from people running "full nodes" behind an archaic UPnP-less router that blocks the port... They waste all the resources a full node does while providing none of the benefit.
False.

Please elaborate.
Nothing in your post is even remotely true. Therefore, it is false. If you have any reason for believing anything in your post to be true, please provide such reasons.


Title: Re: A bitcoin full node FAQ
Post by: dree12 on May 12, 2014, 05:01:00 AM
There are also "leech nodes" that arise from people running "full nodes" behind an archaic UPnP-less router that blocks the port... They waste all the resources a full node does while providing none of the benefit.
False.

Please elaborate.
Nothing in your post is even remotely true. Therefore, it is false. If you have any reason for believing anything in your post to be true, please provide such reasons.

How about an appeal to authority?

Quote from: Gavin Andreson
Most ordinary folks should NOT be running a full node. We need full nodes that are always on, have more than 8 connections (if you have only 8 then you are part of the problem, not part of the solution), and have a high-bandwidth connection to the Internet.

So: if you've got an extra virtual machine with enough memory in a data center, then yes, please, run a full node.


Title: Re: A bitcoin full node FAQ
Post by: phillipsjk on May 12, 2014, 05:08:54 AM
Please elaborate.

UPnP does firewall piercing so: that you don't have to, or, DRM/malware can do it without your consent.

Even with no inbound connections, you can help relay transactions if you happen to be the lowest latency route between two nodes. Edit: Bittorrent can work the same way: you can upload with outbound connections.

Currently my node uses less than 100GB per month with 16 Bitcoin and P2Pool connections (I wish I had better stats--have not gotten around to breaking bandwidth down by port).


Title: Re: A bitcoin full node FAQ
Post by: dree12 on May 12, 2014, 05:12:31 AM
Please elaborate.

UPnP does firewall piercing so: that you don't have to, or, DRM/malware can do it without your consent.

I am talking about UPnP-less (or UPnP-disabled) routers that some people still hide behind, deliberately or not.

Even with no inbound connections, you can help relay transactions if you happen to be the lowest latency route between two nodes.

Say the node A sends something to you (B) and you relay it to C. Well, if your node wasn't leeching in the first place, A would have had room for another connection: directly to C.


Title: Re: A bitcoin full node FAQ
Post by: jc01480 on May 12, 2014, 05:14:38 AM
Hat's off to the OP.  +1 for a legitimate subject finally.  

Second, can I run a full node on Linux Backtrack?  Planning to install on a computer with a failed drive I plan to replace with SSD.  I have full node now but it is a business computer and I want my wallets off of it.

Are there any benefits to a full node other than relating information?  Can you mine with it.  If my node is a full one and is passing transactions, why do I not get fees for doing so?  Just some thoughts you may hear many times over.

And again, nice topic, OP.


Title: Re: A bitcoin full node FAQ
Post by: phillipsjk on May 12, 2014, 05:22:04 AM

I am talking about UPnP-less (or UPnP-disabled) routers that some people still hide behind, deliberately or not.
My router has UPnP disabled with the port manually forwarded.


Quote
Say the node A sends something to you (B) and you relay it to C. Well, if your node wasn't leeching in the first place, A would have had room for another connection: directly to C.

There is a possibility that (B) would relay the information to more than one host. The odds get smaller with fewer connections though.


Title: Re: A bitcoin full node FAQ
Post by: Foxpup on May 12, 2014, 05:35:22 AM
Say the node A sends something to you (B) and you relay it to C. Well, if your node wasn't leeching in the first place, A would have had room for another connection: directly to C.
Implying A actually can connect directly to C, which is not always (or even usually) the case. A and C might only be online at different times; C might be a hidden service and A can't use Tor; an evil government firewall might block connections between A and C; or any number of other scenarios may prevent A and C from connecting directly. It is simply not true that any node can always connect to any other node at any time.


Title: Re: A bitcoin full node FAQ
Post by: Josepht on May 12, 2014, 05:39:14 AM
Is one full node in theory enough for the whole network?


Title: Re: A bitcoin full node FAQ
Post by: Phinnaeus Gage on May 12, 2014, 05:41:06 AM
Let's say, for example purposes only, there's hidden illegal data embedded in the full node. Could I be arrested for having illegal data, i.e. child porn on my computer even though it was unbeknownst to me?

I know my question may be far-fetched, but humor me with an answer. BTW, in case anybody's wondering, there's a reason I'm asking.


Title: Re: A bitcoin full node FAQ
Post by: phillipsjk on May 12, 2014, 05:47:09 AM
Let's say, for example purposes only, there's hidden illegal data embedded in the full node. Could I be arrested for having illegal data, i.e. child porn on my computer even though it was unbeknownst to me?

Well, it depends which country you are in. If you are in the US, you can be liable for merely linking to infringing content. In Canada, the Supreme Court ruled that linking is not the same as hosting (in a libel case).

Is one full node in theory enough for the whole network?

Having only one full node starts to break the security assumptions of the protocol. Cheating is prevented by "proof-of-work". However, if there is only one node, you have a situation where that node can rewrite the entire block-chain history. To avoid this situation, you probably need at least 3 nodes for an active Bitcoin network.


Title: Re: A bitcoin full node FAQ
Post by: Phinnaeus Gage on May 12, 2014, 07:31:56 AM
Let's say, for example purposes only, there's hidden illegal data embedded in the full node. Could I be arrested for having illegal data, i.e. child porn on my computer even though it was unbeknownst to me?

Well, it depends which country you are in. If you are in the US, you can be liable for merely linking to infringing content. In Canada, the Supreme Court ruled that linking is not the same as hosting (in a libel case).

Is one full node in theory enough for the whole network?

Having only one full node starts to break the security assumptions of the protocol. Cheating is prevented by "proof-of-work". However, if there is only one node, you have a situation where that node can rewrite the entire block-chain history. To avoid this situation, you probably need at least 3 nodes for an active Bitcoin network.


Okay, so I'm in the US and am hosting the full node on my computer. The full node is encrypted with all kinds of nasty stuff like child porn and terrorist plots, to name a couple, but only accessible to those with passwords who know it's there. Can a person be in serious trouble for having said on his computer even though they don't access it?


Title: Re: A bitcoin full node FAQ
Post by: Phinnaeus Gage on May 12, 2014, 08:48:15 AM
Quote
You are protected by safe harbor regulations, if you remove the offending software you will be fine. Safe harbor is usually used to protected web sites against it's users harming it, but it could also work in a p2p network situation. I would rather a legal expert comment on it and not my monday morning armchair legal knowledge.

I'm not talking about software, but child porn, i.e., embedded in the blockchain but only in certain blocks.

http://www.dailydot.com/business/bitcoin-child-porn-transaction-code/

http://money.cnn.com/2013/05/02/technology/security/bitcoin-porn/index.html


Title: Re: A bitcoin full node FAQ
Post by: titan86 on May 12, 2014, 09:06:28 AM
Reading the title I expected to see already posted a bitcoin full node FAQ, not format ask/get the answer


Title: Re: A bitcoin full node FAQ
Post by: isidore on May 12, 2014, 09:27:46 AM
The full node is encrypted with all kinds of nasty stuff like child porn and terrorist plots, to name a couple, but only accessible to those with passwords who know it's there.

What do you mean by "accessible to those with passwords who know it's there"? If you are running a full node then it could be sharing the chain with any other nodes on the network.


Title: Re: A bitcoin full node FAQ
Post by: chek2fire on May 12, 2014, 12:51:28 PM
I like to ask some questions to setup i home full node. I have decide first to setup a cloud node with this instructions

https://bitcointalk.org/index.php?topic=582817.0

but i like to setup and in my home a full node.
I have an atom netbook that is open 24/7 and is the center of my mining rig. I like to add there and a bitcoin full node to run parallel with cgminer. I have ask in irc and they say to me that an upload of 1mbps is ok( my line has 2.5mbps unlimited upload). But they say that i have to setup the node to "nolisten". What is the nolisten and what is the difference with a full node server?


Title: Re: A bitcoin full node FAQ
Post by: italeffect on May 12, 2014, 01:32:20 PM
It's fairly easy to run your own node in a VPS if you can follow directions and copy paste.

See here: http://www.reddit.com/r/Bitcoin/comments/1se3zd/how_to_create_a_full_bitcoin_node_in_a_5_ubuntu/

Note: The $5 plan no longer is enough HD space to hold the blockchain, you'll need more then 20 GB.

Also FYI: https://bithost.io (They resell DigitalOcean VPS for Bitcoin, with a markup of course)

and text version of steps here: http://pastebin.com/MGu1iBkH


This is my node, based on the above but with some additional modifications.  (running on a DigitalOcean droplet)

http://107.170.201.94/

Click on VNStat link to get a sense of the bandwidth it's using. My understanding is reducing the number of connections and/or some throttling in Ubuntu can be done to reduce the bandwidth usage, if needed.

As a non-programer, I'm perfectly fine kicking $10 back a month to contribute to the Bitcoin network.

Edit: I just spun up a 2nd one in Amsterdam: http://188.226.248.233


Title: Re: A bitcoin full node FAQ
Post by: BitCoinDream on May 12, 2014, 02:37:58 PM
Can I run a full node on a shared hosting ? I have 250 GB+ BW excess per month. Space is not a problem too...


Title: Re: A bitcoin full node FAQ
Post by: Littleshop on May 12, 2014, 04:24:38 PM


You are protected by safe harbor regulations, if you remove the offending software you will be fine. Safe harbor is usually used to protected web sites against it's users harming it, but it could also work in a p2p network situation. I would rather a legal expert comment on it and not my monday morning armchair legal knowledge.

IANAL

No, safe harbor does not apply here.  Safe harbor is for internet service providers and webhosts.  And you would need an easily available contact address for takedown notices.  A Bitcoin node has no such thing. 

Because data in the blockchain is not directly stored and cannot be just any data directly, it is unlikely that there will be anything in it that is illegal AS IT STANDS in the blockchain stored on your computer. 


Title: Re: A bitcoin full node FAQ
Post by: Meuh6879 on May 12, 2014, 04:38:59 PM
Interesting, I didn't realize that.  :D How much bandwidth does that hog?

4 connexions = less than 4ko/s
6 connexions = 5-8ko/s
8 connexions = 8-10ko/s
10-15 connexions = 12-40ko/s

UPLOAD bandwidth.


Title: Re: A bitcoin full node FAQ
Post by: phillipsjk on May 12, 2014, 05:54:46 PM
Okay, so I'm in the US and am hosting the full node on my computer. The full node is encrypted with all kinds of nasty stuff like child porn and terrorist plots, to name a couple, but only accessible to those with passwords who know it's there. Can a person be in serious trouble for having said on his computer even though they don't access it?

As I suspect you know, this has come up before (https://bitcointalk.org/index.php?topic=191039.0).

The bitcoin protocol makes it awkard/expensive to store more than just simple links.

One of my favorite articles (http://ansuz.sooke.bc.ca/lawpoli/colour/2004061001.php) (What colour are your bits?) touches on this:
Quote from: Matt
I think Colour is what the designers of Monolith (http://monolith.sourceforge.net/) are trying to challenge, although I'm afraid I think their understanding of the issues is superficial on both the legal and computer-science sides.  The idea of Monolith is that it will mathematically combine two files with the exclusive-or operation.  You take a file to which someone claims copyright, mix it up with a public file, and then the result, which is mixed-up garbage supposedly containing no information, is supposedly free of copyright claims even though someone else can later undo the mixing operation and produce a copy of the copyright-encumbered file you started with.  Oh, happy day!  The lawyers will just have to all go away now, because we've demonstrated the absurdity of intellectual property!

The take-away is that somebody can encrypt illegal data with a one-time pad. There would be no way to verify the data is illegal without said one-time pad. The implication of Monolith is that you don't even need a one-time pad to store data: you can XOR a well known version of the Bible with your illegal content and store the result in the block-chain. Edit: you could even use bootstrap.dat as the not-quite-one-time pad (non-random or re-used one-time pads are insecure).

I am not a lawyer, but after some amount of scrambling, I don't think anybody will care (other than the unprunable outputs wasting space).

Note for those that may not be aware: ko/s stands for "kilo-octets per second", more commonly referred to as kilobytes per second, but the former is more precise. Bytes can be 7, 8, or 16 bits.


Title: Re: A bitcoin full node FAQ
Post by: ChuckBuck on May 12, 2014, 06:06:41 PM
Is running Bitcoin Core wallet on a laptop fully synced to the network considered running a full node?


Title: Re: A bitcoin full node FAQ
Post by: DeathAndTaxes on May 12, 2014, 06:10:20 PM
Is running Bitcoin Core wallet on a laptop fully synced to the network considered running a full node?

Yes.  The Bitcoin Core running on any hardware and synced with the network is running a full node.   If due to routing or firewall issues your node doesn't (or is unable to) accept inbound connections then you are not materially supporting the network. 


Title: Re: A bitcoin full node FAQ
Post by: jonald_fyookball on May 14, 2014, 04:38:23 AM
What happens if I run a node but it's not persistent ...(say I turn off my PC at night)

Will it be any benefit? Will it get delisted as a node?



Title: Re: A bitcoin full node FAQ
Post by: jonald_fyookball on May 14, 2014, 04:46:21 AM
What happens if I run a node but it's not persistent ...(say I turn off my PC at night)

Will it be any benefit? Will it get delisted as a node?

You will just relay transactions when it is on, and you can't delisted as a node, because once you connect to a node, your node's ip is relayed to other nodes to connect to you.

What if I connect once and never return.  How long are those nodes gonna try to ping me before I fall off their list?


Title: Re: A bitcoin full node FAQ
Post by: gweedo on May 14, 2014, 05:08:29 AM
What happens if I run a node but it's not persistent ...(say I turn off my PC at night)

Will it be any benefit? Will it get delisted as a node?

You will just relay transactions when it is on, and you can't delisted as a node, because once you connect to a node, your node's ip is relayed to other nodes to connect to you.

What if I connect once and never return.  How long are those nodes gonna try to ping me before I fall off their list?

Well once those nodes that have your ip can't connect to you, they will not relay your ip. Remember your ip is only relayed if you relay transactions so if you have a firewall blocking that or you have

Code:
listen=0

in your bitcoin.conf. Then you can only connect to clients, your ip will not be relayed.


Title: Re: A bitcoin full node FAQ
Post by: jonald_fyookball on May 14, 2014, 05:09:50 AM
So then, a node can come and go as he pleases and still contribute to the network?


Title: Re: A bitcoin full node FAQ
Post by: rme on May 14, 2014, 05:25:35 AM
I already own a 24/7 bitcoin node with <100 connections to the network. With the same machine I seed the bootstrap.dat torrent.
There is something I could do to help even more?

I mean, I have so much spare bandwith, if I could I would run 2 nodes in the same machine.