Bitcoin Forum
January 19, 2020, 10:57:20 AM *
News: Latest Bitcoin Core release: 0.19.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Pros and Cons of Bitcoin Node types (Full node and Prune node)  (Read 181 times)
tranthidung
Hero Member
*****
Online Online

Activity: 700
Merit: 1130


Campaign manager. See profile page.


View Profile WWW
December 30, 2019, 06:12:58 AM
Last edit: December 31, 2019, 03:08:02 AM by tranthidung
Merited by Lauda (2), Heisenberg_Hunter (2), JayJuanGee (1), pooya87 (1), tim_kuff (1), Husna QA (1)
 #1

There are two types of bitcoin nodes: Full nodes and Prune nodes.

  • What are Full nodes & Prune nodes?
  • Which types of Pros and Cons of each node type?
  • Which node type you should use?
  • Which technical parameters you should know to make your decisions?
Now, let's get started with Full node

Full node
  • Fully have four functions of bitcoin nodes: routing, blockchain database, mining, and wallet services [1]
  • Stores the whole blockchain database so it requires significant large storage space (up to 284 GB * as of writing).
  • Help to secure network with your full node.
  • You don't have to resync your wallet when import any other wallet.dat files if you has already synced your wallet with the network (with your initial wallet.dat file). Because when you client fully synced with network, you already have a full copy of the bitcoin blockchain.
284 GB *
  • This figure requires by Bitcoin client when you install it today.
  • The real blockchain size for today is 255522 MB, according to [3]


Prune node
Pros:
  • Required about 5 GB by default (a little it more than 5 GB). [a]
  • You don't have store all blockchain database on your computer
  • You can run a prune node to get experience and pratice with Bitcoin core without significant pressure on your computer storage space.
[a]: In reality, you will prepare at least a little more than 5GB for your prune node with a minimum storage value for blocks (at 2 GB). They are included by:
  • Chainstate: 3.5 GB
  • Blocks: 2 GB
  • Initial setup: 52.1 MB (see the below image)

Fortunately, you can set up storage space for your prune node, up to 99 GB (tested by minefarmbuy: https://bitcointalk.org/index.php?topic=5046359.msg46959793#msg46959793)
How to set up storage space?

1. Bitcoin.conf
Set up prune=X in your bitcoin.conf file. Remember that X is the storage amount in MB, so if you want your prune node stores up to last 99 GB of the network, you have to type : prune=99000.

2. Wallet options
You can more easily do it with Options > Main > Prune block storage to 99 GB.
Then you will see the red-message: "Client restart required to activate changes."

Cons:
  • You don't have a full blockchain database on your computer.
  • You have to resync your wallet with blockchain if you import a wallet.dat file that contains data synchronised outside the data stored in your prune node. This is very annoying, IMO.

Blockchain size over quarters (2010q3 to 2019q4) [2]
Details:
Code:
    +-------------------+
     | quarter     bs_gb |
     |-------------------|
  1. |  2010q3      .001 |
  2. |  2010q4       .01 |
  3. |  2011q1      .015 |
  4. |  2011q2      .188 |
  5. |  2011q3      .449 |
     |-------------------|
  6. |  2011q4      .631 |
  7. |  2012q1      .876 |
  8. |  2012q2     1.672 |
  9. |  2012q3     2.897 |
 10. |  2012q4     4.255 |
     |-------------------|
 11. |  2013q1     6.406 |
 12. |  2013q2     8.713 |
 13. |  2013q3    10.727 |
 14. |  2013q4    13.468 |
 15. |  2014q1    16.567 |
     |-------------------|
 16. |  2014q2    19.861 |
 17. |  2014q3     23.45 |
 18. |  2014q4    27.805 |
 19. |  2015q1    32.706 |
 20. |  2015q2    38.122 |
     |-------------------|
 21. |  2015q3    45.418 |
 22. |  2015q4    53.647 |
 23. |  2016q1    63.427 |
 24. |  2016q2    73.973 |
 25. |  2016q3    84.455 |
     |-------------------|
 26. |  2016q4    96.236 |
 27. |  2017q1   108.975 |
 28. |  2017q2   122.299 |
 29. |  2017q3   134.716 |
 30. |  2017q4   149.114 |
     |-------------------|
 31. |  2018q1   162.686 |
 32. |  2018q2   173.171 |
 33. |  2018q3   184.622 |
 34. |  2018q4   197.224 |
 35. |  2019q1   210.557 |
     |-------------------|
 36. |  2019q2   226.596 |
 37. |  2019q3   242.386 |
 38. |  2019q4       284 |
     +-------------------+


Suggestions:
  • Using Full node if you want to use Bitcoin Core wallet; and you have to prepare enough additional free storage for likely increases of data base next one or two years (about 50 GB annually - maybe more than 50 GB because it also depends upon how much data comes from Segwit). See the chart above.
  • Avoiding Prune node if you can buy a hard-disk up to 500 GB or 1 TB.
  • If you actually want to run a prune node, the best option for you is set up the storage space to 99 GB *. That amount of 99 GB is enough for you to retrieve data up to nearly the last two years. Generally, the network increases about 50 GB annually since 2015q4. You can make estimation of blockchain size next one or two years based on the average blockchain size [4], but I don't think you should make things complicated like that.
  • If you can not buy a good harddisk to run Bitcoin Core Full node, that requires less than 300 GB for now, let's turn to choose the other wallets. I recommend the Electrum wallet (Simplified Payment Verification - SPV). SPV wallets are light and don't require too much free storage space to run them on your computer.
  • Running Electrum wallet with Electrum personal server and connect it to your full node. See the guide

99 GB *: Where I get that figure?
From:


Sources:
[1]: Mastering Bitcoin (Andrea Antonopoulos)
[2]: https://www.statista.com/statistics/647523/worldwide-bitcoin-blockchain-size/
[3]: https://www.blockchain.com/charts/blocks-size
[4]: https://www.blockchain.com/charts/avg-block-size
https://bitzuma.com/posts/moving-the-bitcoin-core-data-directory/
https://bitcoin.org/en/full-node#what-is-a-full-node
Bitcoin Q&A: What is the role of nodes? (Andrea Antonopoulos)
https://medium.com/coinmonks/the-bitcoin-network-6713cb8713d




▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄                  ▄▄▄   ▄▄▄▄▄        ▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄
 ▀████████████████▄  ████                 █████   ▀████▄    ▄████▀  ▄██████████████   ████████████▀  ▄█████████████▀  ▄█████████████▄
              ▀████  ████               ▄███▀███▄   ▀████▄▄████▀               ████   ████                ████                   ▀████
   ▄▄▄▄▄▄▄▄▄▄▄█████  ████              ████   ████    ▀██████▀      ██████████████▄   ████████████▀       ████       ▄▄▄▄▄▄▄▄▄▄▄▄████▀
   ██████████████▀   ████            ▄███▀     ▀███▄    ████        ████        ████  ████                ████       ██████████████▀
   ████              ████████████▀  ████   ██████████   ████        ████████████████  █████████████▀      ████       ████      ▀████▄
   ▀▀▀▀              ▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀        ▀▀▀▀       ▀▀▀▀        ▀▀▀▀▀

#1 CRYPTO CASINO & SPORTSBOOK
  WELCOME
BONUS
.INSTANT & FAST.
.TRANSACTION.....
.PROVABLY FAIR.
......& SECURE......
.24/7 CUSTOMER.
............SUPPORT.
BTC      |      ETH      |      LTC      |      XRP      |      XMR      |      BNB      |     more
1579431440
Hero Member
*
Offline Offline

Posts: 1579431440

View Profile Personal Message (Offline)

Ignore
1579431440
Reply with quote  #2

1579431440
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1579431440
Hero Member
*
Offline Offline

Posts: 1579431440

View Profile Personal Message (Offline)

Ignore
1579431440
Reply with quote  #2

1579431440
Report to moderator
Lauda
Legendary
*
Offline Offline

Activity: 2464
Merit: 2269


Exchange Bitcoin quickly-https://blockchain.com.do


View Profile
December 30, 2019, 06:47:31 AM
 #2

"Routing Node"? What is this? Bitcoin nodes are not Onion Nodes; that is a term I haven't seen someone us to describe nodes.

Otherwise quite a good thread, but I wouldn't place it in this section. Good job.

████████████████████████████
████████▀▀ █▀ █▀ ▀██████████
█████████▄ ▄▄▄▄▄▄███████████
██████████▀     ▀  ▀████████
███████▀ ▀  ▄█▀▀▀█▀▀████████
██████▄      █▄  ▀▀  ▀██████
██████         ▄▄█▄ ▄ ▀█████
█████ ▄         ▀▀ ▄ ▀ █████
██████▌          █▀█▀ ▐█████
███████  ▄▌         ▄ ██████
████████▄█         ▄████████
█████████▀     ▄▄ ▄█████████
████████████████████████████
.JACKMATE'S...........
.
MAJESTIC..
████████████████████████
███████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
.
..WIN 1 BITCOIN ON EVERY PREMIER LEAGUE MATCHDAY..
████████████████████████████████
████████████▀█▀ ▀█▀█▀███████████
███████████▄ ▄▄▄▄▄▄▄████████████
███████████▀▀▄▄▄▄▄▄▄▄███████████
█████████▀▄ ██▀▄▄▄ ▀ ▄▀█████████
███████▀ ▀█████▄▄▄█▄▄▄██████████
███████▀▄████████▀  ▀█ █▐███████
███████ ▀█████████▄█▀▀██ ███████
████████ ███▀██████ ▄ ██ ███████
████████▌▐▀▄ ██████████ ▄███████
█████████▄██▌▐█████▀██ █████████
████████████▄▀▀▀▀▀▄ ▀▄██████████
████████████████████████████████
.
.JOIN US - IT'S FREE! .
tranthidung
Hero Member
*****
Online Online

Activity: 700
Merit: 1130


Campaign manager. See profile page.


View Profile WWW
December 30, 2019, 07:18:53 AM
 #3

"Routing Node"? What is this? Bitcoin nodes are not Onion Nodes; that is a term I haven't seen someone us to describe nodes.
That is what I got from Mastering Bitcoin - chapter 6 (A. Antonopoulos)
All nodes include the routing function to participate in the network and might include other functionality. All nodes validate and propagate transactions and blocks, and discover and maintain connections to peers. In the full-node example in Figure 6-1, the routing function is indicated by an orange circle named “Network Routing Node.”




▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄                  ▄▄▄   ▄▄▄▄▄        ▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄
 ▀████████████████▄  ████                 █████   ▀████▄    ▄████▀  ▄██████████████   ████████████▀  ▄█████████████▀  ▄█████████████▄
              ▀████  ████               ▄███▀███▄   ▀████▄▄████▀               ████   ████                ████                   ▀████
   ▄▄▄▄▄▄▄▄▄▄▄█████  ████              ████   ████    ▀██████▀      ██████████████▄   ████████████▀       ████       ▄▄▄▄▄▄▄▄▄▄▄▄████▀
   ██████████████▀   ████            ▄███▀     ▀███▄    ████        ████        ████  ████                ████       ██████████████▀
   ████              ████████████▀  ████   ██████████   ████        ████████████████  █████████████▀      ████       ████      ▀████▄
   ▀▀▀▀              ▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀        ▀▀▀▀       ▀▀▀▀        ▀▀▀▀▀

#1 CRYPTO CASINO & SPORTSBOOK
  WELCOME
BONUS
.INSTANT & FAST.
.TRANSACTION.....
.PROVABLY FAIR.
......& SECURE......
.24/7 CUSTOMER.
............SUPPORT.
BTC      |      ETH      |      LTC      |      XRP      |      XMR      |      BNB      |     more
Lauda
Legendary
*
Offline Offline

Activity: 2464
Merit: 2269


Exchange Bitcoin quickly-https://blockchain.com.do


View Profile
December 30, 2019, 07:25:47 AM
 #4

"Routing Node"? What is this? Bitcoin nodes are not Onion Nodes; that is a term I haven't seen someone use to describe nodes.
That is what I got from Mastering Bitcoin - chapter 6 (A. Antonopoulos)

All nodes include the routing function to participate in the network and might include other functionality. All nodes validate and propagate transactions and blocks, and discover and maintain connections to peers. In the full-node example in Figure 6-1, the routing function is indicated by an orange circle named “Network Routing Node.”
Ah alright, you got it off of his book. It's just very unusual to see it in say somebody's post. All good then.

Quote
Prune node
Pros:
    Required only 2 GB by default.
This is wrong though. With the chainstate I believe the minimum is between 5 to 10 GB, but you should verify if you want exact numbers.

████████████████████████████
████████▀▀ █▀ █▀ ▀██████████
█████████▄ ▄▄▄▄▄▄███████████
██████████▀     ▀  ▀████████
███████▀ ▀  ▄█▀▀▀█▀▀████████
██████▄      █▄  ▀▀  ▀██████
██████         ▄▄█▄ ▄ ▀█████
█████ ▄         ▀▀ ▄ ▀ █████
██████▌          █▀█▀ ▐█████
███████  ▄▌         ▄ ██████
████████▄█         ▄████████
█████████▀     ▄▄ ▄█████████
████████████████████████████
.JACKMATE'S...........
.
MAJESTIC..
████████████████████████
███████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
.
..WIN 1 BITCOIN ON EVERY PREMIER LEAGUE MATCHDAY..
████████████████████████████████
████████████▀█▀ ▀█▀█▀███████████
███████████▄ ▄▄▄▄▄▄▄████████████
███████████▀▀▄▄▄▄▄▄▄▄███████████
█████████▀▄ ██▀▄▄▄ ▀ ▄▀█████████
███████▀ ▀█████▄▄▄█▄▄▄██████████
███████▀▄████████▀  ▀█ █▐███████
███████ ▀█████████▄█▀▀██ ███████
████████ ███▀██████ ▄ ██ ███████
████████▌▐▀▄ ██████████ ▄███████
█████████▄██▌▐█████▀██ █████████
████████████▄▀▀▀▀▀▄ ▀▄██████████
████████████████████████████████
.
.JOIN US - IT'S FREE! .
tranthidung
Hero Member
*****
Online Online

Activity: 700
Merit: 1130


Campaign manager. See profile page.


View Profile WWW
December 30, 2019, 07:30:12 AM
 #5

Quote
Prune node
Pros:
    Required only 2 GB by default.
This is wrong though. With the chainstate I believe the minimum is between 5 to 10 GB, but you should verify if you want exact numbers.
That's it. They are required storage space for today: 284 GB for a full node, and 2 GB for a prune node.
2GB is the default value of storage space (for now), when you run a prune node.
As you see, when I want to modify and expand the storage space of my prune node, the default value shows 2GB. I guess 2GB is the minimum value for a prune node.




▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄                  ▄▄▄   ▄▄▄▄▄        ▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄
 ▀████████████████▄  ████                 █████   ▀████▄    ▄████▀  ▄██████████████   ████████████▀  ▄█████████████▀  ▄█████████████▄
              ▀████  ████               ▄███▀███▄   ▀████▄▄████▀               ████   ████                ████                   ▀████
   ▄▄▄▄▄▄▄▄▄▄▄█████  ████              ████   ████    ▀██████▀      ██████████████▄   ████████████▀       ████       ▄▄▄▄▄▄▄▄▄▄▄▄████▀
   ██████████████▀   ████            ▄███▀     ▀███▄    ████        ████        ████  ████                ████       ██████████████▀
   ████              ████████████▀  ████   ██████████   ████        ████████████████  █████████████▀      ████       ████      ▀████▄
   ▀▀▀▀              ▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀        ▀▀▀▀       ▀▀▀▀        ▀▀▀▀▀

#1 CRYPTO CASINO & SPORTSBOOK
  WELCOME
BONUS
.INSTANT & FAST.
.TRANSACTION.....
.PROVABLY FAIR.
......& SECURE......
.24/7 CUSTOMER.
............SUPPORT.
BTC      |      ETH      |      LTC      |      XRP      |      XMR      |      BNB      |     more
Lauda
Legendary
*
Offline Offline

Activity: 2464
Merit: 2269


Exchange Bitcoin quickly-https://blockchain.com.do


View Profile
December 30, 2019, 07:35:31 AM
Merited by ETFbitcoin (1), Heisenberg_Hunter (1)
 #6

Quote
Prune node
Pros:
    Required only 2 GB by default.
This is wrong though. With the chainstate I believe the minimum is between 5 to 10 GB, but you should verify if you want exact numbers.
That's it. They are required storage space for today: 284 GB for a full node, and 2 GB for a prune node.
It's not. That's the blocks dir (blocks only), you're forgetting the chainstate (which you need for a prune node too). It sits slightly over 3.5 GB for me on a full node now, thus you'd need at least 5 GB (3.5 GB chainstate + 2 GB blocks) of total storage for the pruned one.

████████████████████████████
████████▀▀ █▀ █▀ ▀██████████
█████████▄ ▄▄▄▄▄▄███████████
██████████▀     ▀  ▀████████
███████▀ ▀  ▄█▀▀▀█▀▀████████
██████▄      █▄  ▀▀  ▀██████
██████         ▄▄█▄ ▄ ▀█████
█████ ▄         ▀▀ ▄ ▀ █████
██████▌          █▀█▀ ▐█████
███████  ▄▌         ▄ ██████
████████▄█         ▄████████
█████████▀     ▄▄ ▄█████████
████████████████████████████
.JACKMATE'S...........
.
MAJESTIC..
████████████████████████
███████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
████████████████████████
.
..WIN 1 BITCOIN ON EVERY PREMIER LEAGUE MATCHDAY..
████████████████████████████████
████████████▀█▀ ▀█▀█▀███████████
███████████▄ ▄▄▄▄▄▄▄████████████
███████████▀▀▄▄▄▄▄▄▄▄███████████
█████████▀▄ ██▀▄▄▄ ▀ ▄▀█████████
███████▀ ▀█████▄▄▄█▄▄▄██████████
███████▀▄████████▀  ▀█ █▐███████
███████ ▀█████████▄█▀▀██ ███████
████████ ███▀██████ ▄ ██ ███████
████████▌▐▀▄ ██████████ ▄███████
█████████▄██▌▐█████▀██ █████████
████████████▄▀▀▀▀▀▄ ▀▄██████████
████████████████████████████████
.
.JOIN US - IT'S FREE! .
pooya87
Legendary
*
Offline Offline

Activity: 1890
Merit: 2245


Remember tonight for it's the beginning of forever


View Profile
December 30, 2019, 07:47:32 AM
Merited by ETFbitcoin (1), Heisenberg_Hunter (1)
 #7

it is a bit odd to categorize pruned node this way as if it is different from a full node. specially when most things you included in your definition of a full node are shared between them:

Full node
  • 1) Fully have four functions of bitcoin nodes: routing, blockchain database, mining, and wallet services [1]
  • 2) Stores the whole blockchain database so it requires significant large storage space (up to 284 GB as of writing).
  • 3) Help to secure network with your full node.
  • 4) You don't have to resync your wallet when import any other wallet.dat files if you has already synced your wallet with the network (with your initial wallet.dat file). Because when you client fully synced with network, you already have a full copy of the bitcoin blockchain.

1) a pruned node downloads the entire blockchain but only stores a small portion of it (from the end).
a pruned node Can also relay new transactions and new blocks and the old blocks that it has to other nodes (routing?)
a pruned node can also be used as the backend for mining and can be used as a wallet.
2) this is the only difference.
3) a pruned node can also do it by verifying the entire blockchain and the new blocks and transactions while rejecting anything invalid and relaying valid ones to other nodes.
4) you have the chainstate and can always use bloom filters to get your history so i don't think you technically need to resync from scratch if you imported a new wallet. although i have never done it with bitcoin core to see what happens.

tranthidung
Hero Member
*****
Online Online

Activity: 700
Merit: 1130


Campaign manager. See profile page.


View Profile WWW
December 30, 2019, 07:52:14 AM
Last edit: December 30, 2019, 08:29:16 AM by tranthidung
 #8

It's not. That's the blocks dir (blocks only), you're forgetting the chainstate (which you need for a prune node too). It sits slightly over 3.5 GB for me on a full node now, thus you'd need at least 5 GB (3.5 GB chainstate + 2 GB blocks) of total storage for the pruned one.
Thank you.

To sum up, to run a prune node with minimum storage value (2GB), one need to have at least 3.5 GB - for chainstate + 2GB - for blocks + 52.1 MB for initial setup (image below).


1) a pruned node downloads the entire blockchain but only stores a small portion of it (from the end).
a pruned node Can also relay new transactions and new blocks and the old blocks that it has to other nodes (routing?)
a pruned node can also be used as the backend for mining and can be used as a wallet.
2) this is the only difference.
3) a pruned node can also do it by verifying the entire blockchain and the new blocks and transactions while rejecting anything invalid and relaying valid ones to other nodes.
4) you have the chainstate and can always use bloom filters to get your history so i don't think you technically need to resync from scratch if you imported a new wallet. although i have never done it with bitcoin core to see what happens.
Despite of there are some overlayed functionality between full node and prune node, they are different.

A full node means it has four functionalities at the same time: routing, complete blockchain database, mining, and wallet services.
Importantly, without the complete blockchain database, a prune node will never become a full node. But when someone set up the n parameter for prune node to the one of full node, it turns to be a full node, and no longer be a prune node. Unfortunately, it will become a full node shortly because when time goes longer, that n parameter will become less than the complete blockchain-size, and that node will be degraded to a prune node, again.

Prune node can be a mining node, I agree because a mining node theoritically comes from a full node (stores the complete blockchain) or a lightweight node (does not mandatorily store blockchain database, it depends on a pool server).




▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄                  ▄▄▄   ▄▄▄▄▄        ▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄
 ▀████████████████▄  ████                 █████   ▀████▄    ▄████▀  ▄██████████████   ████████████▀  ▄█████████████▀  ▄█████████████▄
              ▀████  ████               ▄███▀███▄   ▀████▄▄████▀               ████   ████                ████                   ▀████
   ▄▄▄▄▄▄▄▄▄▄▄█████  ████              ████   ████    ▀██████▀      ██████████████▄   ████████████▀       ████       ▄▄▄▄▄▄▄▄▄▄▄▄████▀
   ██████████████▀   ████            ▄███▀     ▀███▄    ████        ████        ████  ████                ████       ██████████████▀
   ████              ████████████▀  ████   ██████████   ████        ████████████████  █████████████▀      ████       ████      ▀████▄
   ▀▀▀▀              ▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀        ▀▀▀▀       ▀▀▀▀        ▀▀▀▀▀

#1 CRYPTO CASINO & SPORTSBOOK
  WELCOME
BONUS
.INSTANT & FAST.
.TRANSACTION.....
.PROVABLY FAIR.
......& SECURE......
.24/7 CUSTOMER.
............SUPPORT.
BTC      |      ETH      |      LTC      |      XRP      |      XMR      |      BNB      |     more
ETFbitcoin
Legendary
*
Offline Offline

Activity: 1890
Merit: 2159

Use SegWit and enjoy lower fees.


View Profile WWW
December 30, 2019, 10:06:01 AM
 #9

To sum up, to run a prune node with minimum storage value (2GB), one need to have at least 3.5 GB - for chainstate + 2GB - for blocks + 52.1 MB for initial setup (image below).

Storage for blockchain and Bitcoin Core itself may be fixed, but chainstate size most likely will grow over time due to UTXO growth.

Despite of there are some overlayed functionality between full node and prune node, they are different.

A full node means it has four functionalities at the same time: routing, complete blockchain database, mining, and wallet services.
Importantly, without the complete blockchain database, a prune node will never become a full node. But when someone set up the n parameter for prune node to the one of full node, it turns to be a full node, and no longer be a prune node. Unfortunately, it will become a full node shortly because when time goes longer, that n parameter will become less than the complete blockchain-size, and that node will be degraded to a prune node, again.

Prune node can be a mining node, I agree because a mining node theoritically comes from a full node (stores the complete blockchain) or a lightweight node (does not mandatorily store blockchain database, it depends on a pool server).

While i agree pruned node shouldn't be categorized as full nodes, the community think pruned node is qualified to be full node.

AverageGlabella
Hero Member
*****
Offline Offline

Activity: 483
Merit: 643



View Profile
December 31, 2019, 01:51:56 AM
 #10

While i agree pruned node shouldn't be categorized as full nodes, the community think pruned node is qualified to be full node.
It depends on your definition of "full" and from my point of view a full node is something which stores the entire Blockchain including all past UTXOs as well as the complete database including mempool and past blocks. That is my definition of a full node because without help from others nodes it can return data from the current Blockchain and data from before the node was created. A prune node can gather information from other nodes about past block data but is not doing itself and relies on full nodes and its for that reason that full nodes are required to be run.

If you can afford the storage requirements of a full node the network will appreciate as many full nodes on the network as possible but a pruned node will still be beneficial to most of the network because it can still verify past transactions without storing them by using other nodes on the network and because it has all the UTXOs.

Pruning nodes do advertise to the rest of the network that they are just pruning nodes and don't have a full copy of the Blockchain which means theres no delays if you require a full blockchain. Every pruning node is different and the node operator is the one that is in charge of how much data is pruned which means that a pruned node could store up to 75% of the Blockchain if it wanted. So if you are limited for space but want to maximize the usage of your node by the network it is worth storing as much as possible.
tranthidung
Hero Member
*****
Online Online

Activity: 700
Merit: 1130


Campaign manager. See profile page.


View Profile WWW
December 31, 2019, 02:13:14 AM
Last edit: December 31, 2019, 02:24:50 AM by tranthidung
 #11

It depends on your definition of "full" and from my point of view a full node is something which stores the entire Blockchain including all past UTXOs as well as the complete database including mempool and past blocks.
I could be wrong but I totally agree with you on this.

SPV wallets, ie. do not store the full blockchain, instead they only store block headers (not the block transactions). Consequently, as you said, they don't have fully details on UTXOs, and there are risks of double spend with SPV wallets. To overcome such attacks, they have to connect to the other nodes, and should be honest nodes on the network in order to avoid terrible connections to fake nodes or wrong blockchains, not real blockchain of bitcoin.

In the other words, nodes are called as Full nodes (from my understandings) if they store the full blockchain, and therefore they have complete history of blockchain transactions (includes all UTXOs, as you said).

Prune nodes, despite of the fact that they download and sync with all blockchain database, but such nodes automatically truncate their database over time. The level of database truncation on prune nodes depends on the N parameter setup by users. The smaller N parameter, the more severity of database truncation.

Maybe someone will argue that prune node actually download the full blockchain, but the thing is download, sync, and store the full blockchain is very different. Full nodes always store the full blockchain at the last time point it synchronises with the network, whilst prune node always store the small part of the blockchain.




▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄                  ▄▄▄   ▄▄▄▄▄        ▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄
 ▀████████████████▄  ████                 █████   ▀████▄    ▄████▀  ▄██████████████   ████████████▀  ▄█████████████▀  ▄█████████████▄
              ▀████  ████               ▄███▀███▄   ▀████▄▄████▀               ████   ████                ████                   ▀████
   ▄▄▄▄▄▄▄▄▄▄▄█████  ████              ████   ████    ▀██████▀      ██████████████▄   ████████████▀       ████       ▄▄▄▄▄▄▄▄▄▄▄▄████▀
   ██████████████▀   ████            ▄███▀     ▀███▄    ████        ████        ████  ████                ████       ██████████████▀
   ████              ████████████▀  ████   ██████████   ████        ████████████████  █████████████▀      ████       ████      ▀████▄
   ▀▀▀▀              ▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀        ▀▀▀▀       ▀▀▀▀        ▀▀▀▀▀

#1 CRYPTO CASINO & SPORTSBOOK
  WELCOME
BONUS
.INSTANT & FAST.
.TRANSACTION.....
.PROVABLY FAIR.
......& SECURE......
.24/7 CUSTOMER.
............SUPPORT.
BTC      |      ETH      |      LTC      |      XRP      |      XMR      |      BNB      |     more
pooya87
Legendary
*
Offline Offline

Activity: 1890
Merit: 2245


Remember tonight for it's the beginning of forever


View Profile
December 31, 2019, 06:07:09 AM
Merited by ETFbitcoin (1)
 #12

While i agree pruned node shouldn't be categorized as full nodes, the community think pruned node is qualified to be full node.
It depends on your definition of "full" and from my point of view a full node is something which stores the entire Blockchain including all past UTXOs as well as the complete database including mempool and past blocks. That is my definition of a full node because without help from others nodes it can return data from the current Blockchain and data from before the node was created. A prune node can gather information from other nodes about past block data but is not doing itself and relies on full nodes and its for that reason that full nodes are required to be run.

some definitions in bitcoin aren't mature enough in my opinion and need more clarification or maybe even new terms to describe them.
one of them is full node. usually full node is also referred to as full verification node which refers to a node that fully verifies everything from the beginning and stores the UTXO set (there is no mention of storing blockchain). with that definition you can categorize a pruned node as a full node too since it also verifies everything and stores UTXO set.

eg. definition on https://en.bitcoin.it/wiki/Full_node doesn't even mention storage
"Any computer that connects to the Bitcoin network is called a node. Nodes that fully verify all of the rules of Bitcoin are called full nodes."

then it defines a new term "Archival Nodes" which are nodes that store and also broadcast old blocks.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!