Oddbean new post about | logout
 A couple of things here to clarify the importance of full nodes:


First
----------------------------------
The concept and purpose of running a node is very much like the idea that everyone should be able to own a gun to defend liberty. 
- It doesn't mean everyone will. 
- It doesn't mean individuals can "fight off the government goons" with a handgun.
- It doesn't mean the state isn't more powerful than one person with their gun.
- It DOES mean that to conquer an entire nation of determined, gun owning people who want their liberty requires *active* and *direct* attack, because collectively enough people are armed that popular resistance actually stands a chance against tyrannical governments (who are naturally cowards)

The logic for anyone and everyone running a node who is capable is shockingly similar here.


Second:
----------------------------------
"Have we ever retroactively fixed a 5 year old "error" in the chain? No. Will we ever, no. Do you ever think, I wonder if that transaction from 2016 is still valid, I had better check?"

It isn't really about knowing that every transaction that other people are conducting is valid, it's about ensuring that *the #bitcoin you own* are REAL bitcoin. Bitcoins are created, are defined, and exist entirely and *solely* by a set of rules being followed for how they are created and how they are validly transferred. HALF of the supply of bitcoins was created prior to 2013. If you aren't confirming that the blocks that mined your coins into existence followed the rules, then you don't know if you are following an honest network. 
--- The prime example here is Bitcoin Dark, which forked off and created 300K extra coins in the "privacy pool balance," then waited almost a year and a half to withdraw the from the privacy pool and since almost no one ran a full node, it went unnoticed except for a bitcoiner who actually ran full nodes for tons of forks out of curiosity and publicly posted when his node saw the bizarre transaction. 
--- You could easily argue that no one needed to care about what happened 15 months ago on the chain... and every one of them was getting scammed specifically because they didn't.

IF we don't have the chain & valid link that traces all the way back to when your coins are created, you have abandoned the triple entry accounting breakthrough.

Third
----------------------------------
It isn't about simply making sure people can keep up with the chain when it comes to cost. It's also about ensuring *real* consensus is maintained (again requiring proof that the bitcoins being transferred are also real) across all borders, against any and all attackers, through any firewalls, on public and private networks, AND can recover after a disaster or massive failure on the network or in the software. Even if cheap SDDs are 50TB, if it takes 6 months to sync the chain, and there is either a direct attack, or a major bug that corrupts the data and forces a reset and sync-from-beginning on 60% of the nodes, that threatens the security and decentralization of the entire global monetary foundation for half a year *at best,* while what may be more likely is that having only 40% of the nodes, just becomes the new normal, and we never go back to the security we once had.

Last
----------------------------------
This is about securing the *trend* of decentralization indefinitely into the future. 
It will require constant and deliberate attention and work to ensure it. We will have constant and recurring layers and degrees of centralization in the market, in the technology and hardware around it, in service provision, in some layer on top of Bitcoin that we become overly dependent on, AND on the base layer as costs rise and incentives to run nodes are low. But when an attack arises, when this centralization threatens the censorship resistance, or permission-less nature of the network, we will suddenly and aggressively remember how important it is to run nodes - and it will always be a part of any attempt at defending and repairing those critical re-centralization trends to run a full node, verify everything, and ensure the broadcast layer cannot be squeezed out of existence. That it can be reached to any and all participants no matter where they are in the world.

So the real question is: 
Will this get *easier* to secure and protect in 5 years, or will it be *harder*? Because if it is harder, we have a problem, because how much security and decentralization do we lose exactly? 10%? 20%? What happens when we compound that every 5 years for another 50? If we have set it up to become more centralized in an irreparable way, slowly and incrementally, then that's the surest way to guarantee we end up on a system that only a handful of people run and who can dictate or defraud the whole world as to what is a "real" bitcoin and what isn't.


----------------------------------

There are a number of other nuances here because running (and communicating) a full node history isn't merely a problem of hard drive space, in fact, that's the least of the problems and the one that scales the best... while it is still a problem despite. The bigger problems are the computation, the RAM requirements, the speed of data indexing/recall/verification, the bandwidth to download and broadcast the information that is coming to-and-from the base layer, AND of course to then do all of the computation and verification of the *numerous* layers on top of it that we will have to use. Remember that layers themselves are just another trade off, and it's not as if they cost nothing to run. It is merely that they cost *less* to run than scaling on the base layer. 

So in short,
you can't really make this short, so read the whole thing.

------------------------------------
Also, I actually kind of like your final argument and position on the "you don't even vote in your own republic" is pretty good, but I think it works *in support* of the full node argument, it doesn't replace it.


nostr:note1v6gsv74asffdtv027m7gxhrtq8c8dfta0xff2ypgz7t0zdjqrg3qw6fzta  
 I am running two full nodes 
 it's just not that hard. bought a used laptop. I was going to put lightning on there too but I haven't gotten around to it because it looks hard and unprofitable 

the other node's just my work machine.  never even know it's running 
 We need more eyes on the hash based accumulator approach, deployed by Utreexo. 

Perform your initial block download, as normal, and snapshot the UTXO state, at any time, saving it into a QR code or similar.

Bootstrap a new node instnatly, using this QR code, in the event of disaster.

Be an uncle Jim and allow others who trust you to bootstrap their own nodes, in a similar fashion. 

As with all scaling there may be tradeoffs. But if it provides a means to stand up a consensus enforcing node in essentially no time, perhaps it's good enough to avoid the race condition that may occur, should a large portion of nodes become unreachable, for whatever reason....

nostr:note1ds5gtr6v9hze6pvfxfapy0f33wafza480ykvj2nqjmc55jw98qusevdhd8  
 Is a pruned node a full node? 
 No 
 Why not? 
 For the same reason a 6inch sub is not a footlong 
 A pruned node still downloaded the whole history from genesis, but just stores a certain amount on your computer.
You can’t stuff all the ingredients in a 6inch 
 In the context of your own security, yes. You have essentially proven that a recent state is verifiably the valid state with all real bitcoin, and then you've deleted everything upp to that point because you no longer heed it.

The only difference is that other full nodes can no longer request that info from you. But in regards to your own security, you've validated everything same as a full node. 
 Thanks for clarification. 
 Well said. It's Also worth keeping in mind that liberty is always the goal. Bitcoin is just another tool to help attain that goal. As with any other means to secure liberty, it's never as easy as many people think at first. Freedom isn't free. 
 Nailed it!

What I worry about is not so much that it will be more difficult to run a node due to hardware limitations, though that is definitely a concern, too. Rather, I worry that people will grow apathetic to the need to run their own node, because they won't be interacting with Bitcoin on the base layer at all, so they won't have a vested interest in verifying that any on-chain transfer to them is real Bitcoin, because they simply won't be receiving on-chain.

I care to run a full node because I transact on-chain, both for receiving to my cold-storage and for opening/closing channels on my Lightning Node. But if I never interact with Bitcoin's base chain, what is my motivation for running a node other than to "support the network"? Is a full node sitting on my shelf that I never actually interact with for my own use really helpful in that regard?

Most folks seem to recognize that the vast majority of people in the world will never do a transaction on the base blockchain, but will instead be transacting entirely on 2nd and 3rd layer payment rails. So what use will they ever have for a full node? The reality is that if you don't personally have a need for a node, you probably won't ever have the motivation to run one. 
 Based and Guy Pilled. 
 🎯🎯Freedoms and rights are vitally important even if we don’t exercise all of them all of the time. Their mere existence is valuable.