Understanding Full Nodes vs Miners How Do They Secure Bitcoin?

17 replies 184 views
3r1c777Full Member
Posts: 177 · Reputation: 674
#1Sep 1, 2019, 02:27 PM
So, one of the first things I read after signing up here was this challenge by NotATether about "Running A Bitcoin Node". I haven’t tried it yet since I want to see how others do it first. Honestly, I’m still kinda lost about the whole thing. When we talk about nodes in the context of Bitcoin, it’s a super important concept for understanding how the network functions. Basically, a node is a powerful computer that smoothly runs Bitcoin software. Common devices that act as nodes include personal computers and laptops. I’m not sure if the Bitcoin software can run on mobile devices, so I guess they’re not really included in the mix. I stumbled upon the distinction between full nodes and miner nodes but wasn’t quite clear on what sets them apart. So, I did a bit of digging to figure it all out. A full node is pretty much what I just described earlier. It’s a computer that downloads and stores the entire blockchain data. Any new nodes that come online need to download all the past data before they can access the latest transactions. Full nodes are responsible for validating and broadcasting transactions to all the other nodes connected to the network. Miner nodes, in contrast, utilize the proof of work system. They gather unconfirmed transactions from the mempool and...
4 Reply Quote Share
alexaltFull Member
Posts: 183 · Reputation: 528
#2Sep 1, 2019, 05:48 PM
Both of them are very important in bitcoin network security. The full node picks up transactions, verify and validate them and keep the full update on the blockchain. Full node prevents 51% attack. Miners node is use to verify transactions and add them into the blockchain for a new block to be mined by computation prowess. It is the mining node that builds up new block on the blockchain and provides rewards for miners when they have successfully add a new block to the blockchain. https://cointelegraph.com/learn/bitcoin-nodes-vs-miners
1 Reply Quote Share
pixel2014Hero Member
Posts: 857 · Reputation: 4132
#3Sep 1, 2019, 08:57 PM
There are ways that it is possible. Also you can run full node on Raspberry Pi 4. Not the more secure the network. It is the more decentralized the network. Mining nodes. Generating bitcoin mining hashrates and how they are generated by miners in a way no one among them is generating almost or more than half hash rate compared to the rest prevents 51% attack. So miners prevent 51% attack and not the nodes. The more the hashrates the miners are generating, the more secure the bitcoin network. There are some mining nodes that does not verify transactions at all. Solo miners and pool operators are full nodes.
4 Reply Quote Share
im_apeHero Member
Posts: 629 · Reputation: 3824
#4Sep 1, 2019, 10:01 PM
That's not the definition of a node. A node is a software on a computer that enforces the Bitcoin consensus rules. To do that it has to be able to communicate with the rest of the nodes in the peer-to-peer network so that it can download and verify every single transaction from block 1 to the tip. That's the reason why I said your definition is wrong. We don't define node based on how smoothly it is being run. You can run a full node on a smart phone or the least efficient hardware out there and it still be a full node as long as it can download and verify everything. We don't really categorize them as "full nodes" and "miner nodes". A node is a peer in the P2P network so the concepts we have are only "full nodes" and "miners". A full node is what I explained above (a peer downloading and verifying blocks and has a mempool) and a miner is someone who uses a full node to construct a candid block from its mempool to mine (compute hashes over and over until the desired hash is found). The way Bitcoin is designed as a whole and the way the rules are ensures that. Bitcoin is a combination of miners, nodes, market, developers, etc. For example the blockchain is immutable because the rules that are enforced by the nodes dictate that we follow the chain with the most work and it all works based on the assumption that the majority of the network is honest. So if a minority of miners decides to change history (make chain mutable) they'd fail because they can not produce more work than the rest of the network combined.
5 Reply Quote Share
LuckyCoinLegendary
Posts: 832 · Reputation: 4795
#5Sep 1, 2019, 11:20 PM
Miners are not nodes. There is no such thing as "miner nodes". All miners run a full node, because that is the only way to submit mined blocks to the blockchain, but the mining software themselves are not mining nodes that are connected to the network, because all that needs to be done is fetch the current difficulty level and generate a hash that is less than that.
1 Reply Quote Share
3r1c777Full Member
Posts: 177 · Reputation: 674
#6Sep 2, 2019, 04:37 AM
Noted. What about the "Running a Bitcoin node" challenge that you organized? The nodes that are been runned in the contest, is it a full node ?.
0 Reply Quote Share
gwei_minerSenior Member
Posts: 197 · Reputation: 966
#7Sep 2, 2019, 12:38 PM
Not all are full nodes. 95% are pruned nodes. infact maybe only a very few are full nodes because downloading the full block requires a lots of disk space, so most of the people in the challenge choose pruned nodes, in order to manage their storage capacity. block size is around 849,412 blocks which is about 660.39 GB. This means you are required about 2 TB disk space to run the full nodes and a good number of rams in order not to encounter issues.
1 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#8Sep 2, 2019, 06:35 PM
There are ways to run full node on mobile devices, such as using ABCore or UserLAnd (where you need to install Linux and Bitcoin Core). But usually it's deemed impractical due to making the device very hot or require decent device to operate smoothly. Please stop using cointelegraph as reference. It usually provide inaccurate details or lack of detail. Full node cannot stop 51% attack and all node supposed to verify all transaction.
4 Reply Quote Share
im_apeHero Member
Posts: 629 · Reputation: 3824
#9Sep 2, 2019, 09:22 PM
The verification is important and the fact that all full nodes (both full archival nodes or full pruned nodes) perform verification, construct their own chainstate and can verify and relay any new transaction or blocks that are sent their way. BTW do you have a reference for 95%, I'm just curious?
2 Reply Quote Share
Posts: 43 · Reputation: 203
#10Sep 2, 2019, 11:08 PM
and hash of previous block
3 Reply Quote Share
gwei_minerSenior Member
Posts: 197 · Reputation: 966
#11Sep 3, 2019, 01:36 AM
Perhaps you might be getting it all wrong mate! Below is the question op asked, looking [CHALLENGE] Run A Bitcoin Node: 14 Days To 14 Merits, looking at the complaint of participants you can tell a good number are only running the pruned node and not a full node. 95% might not be accurate but it's closer than you can think, it's just a 14 days challenge and for merits, downloading the full nodes will surely be a challenge as it might seem too much for people, maybe digaran said such in that thread. NotATether also included a guide for the pruned node which means slots of people requested runing a pruned node.
5 Reply Quote Share
HyperCipherFull Member
Posts: 220 · Reputation: 780
#12Sep 3, 2019, 07:34 AM
OP, nodes are nodes no matter who is running them. Because from the point of view of the network, each and every full node validates. It doesn't matter if it's a user from South Africa or if a miner actually ran his own node in China. They all validate and enforce the consensus rules. All of them from the network's perspective.
6 Reply Quote Share
im_apeHero Member
Posts: 629 · Reputation: 3824
#13Sep 3, 2019, 12:39 PM
To be honest I have no idea about what percentage are running pruned nodes which is why I asked. I even tried checking bitnodes.io[1] but that chart doesn't make sense because AFAIK full pruned nodes advertise NODE_NETWORK_LIMITED and NODE_NETWORK together and non-pruned nodes advertise NODE_NETWORK alone so unless I'm wrong there should be more NODE_NETWORK count than NODE_NETWORK_LIMITED service but it is the opposite! [1] https://bitnodes.io/dashboard/#services
2 Reply Quote Share
3r1c777Full Member
Posts: 177 · Reputation: 674
#14Sep 3, 2019, 04:02 PM
Thanks for pointing this out. This is why asking questions is very important, because it's obvious I have read the wrong and process the wrong concept from a wrong source. I recently layed my hands on the mastering Bitcoin material, which i think some of the replies in the comment section correlate with what is been written there. Understood. Now I get the entire definition concept. Wait!!, If I understood this right, is it that the miners uses same node as the ones used by regular users like me that decides to a run node?, But they further use some machines that aid them creating Blocks?. So can we practically say that miners are a major attributite to Bitcoin security level?. Is there a thread that has been created on the forum, that explains how this can be done. I have a mobile device just to try it out. So, about this pruned nodes, can a new user specify the exact blocks he wants to start downloading from ?, Or the whole thing performs the calculation manually thereby selecting random blocks to start from?.
2 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#15Sep 3, 2019, 10:17 PM
Yes and yes. Although to be more accurate, mining pool is the one who run the full node along with additional software which create block template and send mining work to the miner. Miner usually only connect to the pool to get the mining work. Check [ANN] Smartino - Android Bitcoin Core Full Node. It use Androidx rather than UserLAnd, but the principle is similar. ABCode also have it's own announcement thread on [ANN] ABCore - the first Bitcoin Core running on Android - Support Thread, but has little description.
2 Reply Quote Share
im_apeHero Member
Posts: 629 · Reputation: 3824
#16Sep 4, 2019, 12:33 AM
Yes, they run pretty much the same thing although there are definitely some modifications to have "extra options". For example take ViaBTC pool. Their software has to have extra code that reserves a fixed number of places for the transactions they accept in their mempool regardless of how much fees they each pay. That's not an option that already exists in a Full Node software like bitcoin core, they have to had added this. The rest that involves consensus rules, the P2P protocol, etc has to be the same. They can't modify those. Yes.
1 Reply Quote Share
HyperCipherFull Member
Posts: 220 · Reputation: 780
#17Sep 4, 2019, 05:43 AM
Perhaps the best way to make OP understand is that it doesn't matter which implementation of Bitcoin anyone uses - Bitcoin Core, Bitcoin Knots, BTCD, or another full node implementations. What matters is the nodes follow the consensus rules. If it does that, then it's part of the network, validating transactions/blocks, and propagating them to the rest of the network. Plus pruned nodes = still full nodes.
3 Reply Quote Share
w0lf404Hero Member
Posts: 801 · Reputation: 2381
#18Sep 5, 2019, 02:49 AM
Even if you run a pruned node, you have to start from the first block and download the entire blockchain. Take note that the purpose of running a pruned node is to reduce the required storage size. It's not that you run a full node to download less data.
3 Reply Quote Share

Related topics