I keep hearing folks talk about running a node on their computers. From what I gather, nodes are basically the people who share the same info on the blockchain network, and this is similar to what miners do in a public ledger. I also get that the data from the first block leads to another block being created after about 10 minutes, and all the nodes share that info. But here’s my question: how does this whole thing work when you’re running a node on your PC? And why is running a node even important?
Why is it important to run a node?
10 replies 429 views
Node runners can be miners or mining pool but some node runners are not miners. Nodes helps in the decentralized network and in validation of blocks and transactions. Nodes are not involved in mining but in routing of necessary information to other nodes.
You mean block are mined every 10 minutes? It is on average of 10 minutes but the next block can be mined at any time. It can take less than 1, 2 or 3 minutes, I can take less than 5 minutes, it can take more than 40 minutes. But on average of 10 minutes.
All that you need is to run a node. Example is to download Bitcoin Core and use it to download the blockchain which will take over 500 gigabyte to download. You will have to always or most of the time connect online to receive and pass necessary information about bitcoin transaction from and to other nodes.
sam_walletFull Member
Posts: 104 · Reputation: 365
#3Dec 10, 2020, 06:31 AM
Nodes do not store the same amount of information, some keep data longer than others, some are full nodes and others are pruned nodes. They receive broadcasted transactions, validate it and add that to their mempool.
I'm not sure what your question is. A PC is the preferred device to run a node on.
You contribute to the decentralization of the network.
You help validated transactions,
You improve your privacy.
gwei_minerSenior Member
Posts: 197 · Reputation: 966
#4Dec 10, 2020, 12:18 PM
In a simple term, when you run a node you only help the bitcoin network get stronger. Stronger I mean here is, if eventually there is someone anywhere that wants to destroy or bring down bitcoin with you and I having the whole of information in the block, the said person will have to try to erase the information from my device or PC as you said and also erase yours. Which is basically impossible, hence it's now impossible to destroy bitcoin. I explained this in ELI5 hope you understand.
If you're not convinced enough you can read up here - https://learnmeabitcoin.com/technical/networking/node/
Bitcoin is essentially a piece of software.
Nodes are computers that run this software.
Without nodes, there can be no Bitcoin.
Nodes are responsible for:
1. transmitting the blockchain to other nodes, maintaining snapshots of the blockchain.
2. validating transactions, making sure they follow the same set of rules.
Running your own node helps because:
1. you can keep a copy of the blockchain for yourself. This is brilliant, because it gives you the opportunity to "know" the truth.
2. you can validate transactions & blocks without trusting the rules that other nodes use.
3. you can be private, not asking anyone about anything.
4. you help the network. One more node is always better.
Nodes keep the entire blockchain and also validate new transactions and blocks.
Edit: Nodes don't necessarily keep the entire blockchain. If a node is a pruned node, it keeps the UTXO set and the last x blocks. (x depends on the pruned node settings).
Thanks Charles-Tim for the correction.
What do you mean by "the information on the first block"?
Blocks are mined at the rate of 1 per ~ 10 minutes on average. It's not that we have a new block every 10 minutes.
With running you own node, you can protect your privacy and also help the network be more decentralized.
If you run your own node, you would have a copy of the blockchain (and unconfirmed transactions in your mempool) and you wouldn't have to use block explorers or SPV wallets for checking transactions. If you run your own node, you can also broadcast your transactions by yourself.
How about prune nodes? They are also nodes but they do not keep the entire blockchain. Although, prune nodes have significant disadvantage.
Thanks for the correction. I edited my post.
Pruned nodes prune old blocks. Pruned nodes keep the last blocks and the amount of the data kept by them depends on their settings. Pruned nodes also keep the UTXO set as they need it for validating new transactions.
All nodes, regardless if full or pruned, create and maintain the current UTXO set (saved in the chainstate directory, currently ~12GiB in size). This is the set of all unspent transaction outputs and these are the only coins that are allowed to be spent. To assemble this UTXO set even a pruned node has to download the whole blockchain at first, but it can disregard older blocks to maintain the desired prune size.
Transactions that a node receives are verified to only spend coins that are in the current UTXO set before such transactions are included in the node's mempool and passed on to the node's peers (I hope I'm correct with this, not 100% confident as I read about this a long time ago).
You are right.
Whether you are running a full node or a pruned node, you need the UTXO set, so that you can validate the new transactions you receive.
Without the UTXO set, it's not possible to know whether the transaction is spending an unspent output or is double-spending.
silentchainHero Member
Posts: 473 · Reputation: 2317
#11Dec 18, 2020, 06:52 AM
Running with one's own hand supported node on a PC allows to connect to this node the the personal wallet - the action that prevents 3rd parties servers ( which can be running by surveillance agencies) from get knowing you addresses and thus , relevant transactions. Thus, people, who are concerned of their privacy prefer to run node rather than to connect their wallets to public ones.
Related topics
- Got a free laptop, need help setting up Linux for a node 19
- Affordable quiet mini PC for running a Bitcoin node and blockchain explorer 19
- bitcoin-qt sync issues and slow speeds 6
- Recovering a Bitcoin wallet and address 8
- Creating a list of non-zero wallets and their balances using Python 4
- CipherSeed: A Comprehensive Guide to Super-Secure Crypto Wallet Backups 5