tl;dr Your node becomes an economic node when you use it to accept payments in bitcoin. Also: hodlers have no special power to affect the outcome of a fork.
Running Bitcoin
You may have heard (possibly from me) that running a Bitcoin node enforces the rules of bitcoin and that it's what every good bitcoiner should do, right up there next to holding your own keys and telling fiat economists to have fun staying poor.
Nodes validate each block and transaction before adding them to the blockchain. Thus, they serve as the referees of the Bitcoin network, setting and enforcing the rules about which transactions and blocks are valid and which are invalid. -River, "Why Should I Run a Bitcoin Node?"
If there is ever a proposed fork—a change in the rules—with which you disagree, running a node enables you to resist the change and continue to support the existing rules. -Unchained, "7 reasons to run your own bitcoin node"
This sounds pretty great. You might be forgiven for thinking that having a Raspberry Pi humming away in your shoe closet turns you into a badass sovereign individual right out of the pages of Ayn Rand. But it's worth asking how this magical transformation takes place.
How do nodes "enforce" the rules?
How is it possible that the software you might be running on a computer in your closet or in the cloud somewhere forces anyone to do anything?
Running a node isn't a matter of telling other computers what to do. If I broadcast a transaction that other nodes think is invalid, they will simply discard it as if it never existed. I can't compel any other node to change their rules or accept my version of things.
Nor is running a node a "vote" for some particular set of consensus rules. If it was, disputes about Bitcoin consensus would simply be a battle to see who can spin up more virtual machines on AWS.
When it comes to enforcing the rules of Bitcoin, about the only things your node can do are:
-
refuse to add a transaction that doesn't follow the rules to its mempool.
-
refuse to add a block that contains invalid transactions to its database.
In the first case, your node acts as a dead end for transactions that violate the rules, but if there are even a relatively small number of nodes that consider such transactions valid, the transactions will likely make it to miners. And clearly, the software that you run on your node does not control what miners put into their templates. So this is a pretty soft form of rule enforcement (if it is any enforcement at all).1
In the second case, your node doesn't record the block and any wallet that queries your node for information about the utxo set won't see the outputs from the transaction you considered invalid. This means any wallet relying on your node won't accept coins that don't follow the rules as they are understood by your node. That is as far as the enforcement goes, and we're all hoping it goes far enough.
C.O.D. (Consensus on delivery)
If someone sends you bitcoin, your wallet does not update its balance until the node it's connected to tells it that the transaction is in a block (and most wallets will call the transaction "pending" until a number of blocks have been mined on top of that block). This is your node's big opportunity to enforce the rules.
Imagine you bought bitcoin on an exchange. When you withdraw the bitcoin to your wallet, your node tells your wallet when the transaction has made it into a block. Seeing it in a block means that the exchange is following the same consensus rules running on your node and is actually sending you bitcoin as you understand it. Everybody's happy.
If the bitcoin never shows up in your wallet, you might check to be sure the exchange initiated the withdrawal, and then you might check to see whether the exchange can reference a transaction id. If you can't find the transaction in a block on your node, you know that they didn't send you bitcoin. They may have sent you some other fork coins or they may have lied to you sent you nothing at all, but they didn't send you any bitcoin.
So, then you can yell and scream about it. That's where the real enforcement comes in. You can close your account and refuse to do business with them in the future and you can tell all your friends about this awful exchange that doesn't use real bitcoin. (You might even consider legal action against them, if you want to involve the state in the matter.) Now you are enforcing the rules of Bitcoin.
I used the example of buying bitcoin on an exchange because it's one of the most common ways people interact with bitcoin, but it isn't very clear. It's easier if we use a merchant as an example:
I sell posters for bitcoin. If someone wants one of my posters, I ask them to pay me in bitcoin and then mail the poster to them. If my node doesn't see their payment as a real transaction, I don't put the poster in the mail. That's enforcement. They can't compel me to accept whatever random fork coin they want to send to me. If it isn't following the consensus rules running on my node, the transaction is of no interest to me and they aren't getting the goods.
The idea here is that you enforce the rules of Bitcoin by saying "Yes, you paid me bitcoin and our trade is done" or "No, I don't accept this other coin as payment. I want bitcoin."
When you run the node you use to verify the bitcoin you receive, you are able to choose what rules the coins must follow in order to be your bitcoin. All bitcoin is sent C.O.D. (consensus on delivery).
I want bitcoin
In the above merchant example, I said enforcement occurs because someone wants my poster and I can refuse to give it to them if they haven't paid me. But this isn't quite accurate.
The rules of Bitcoin don't have very much to do with someone wanting my poster. If I won't take their fork coin, maybe they will try to offer me dollars or euros or something else. Maybe they will offer me 10 times my asking price in some other money. What matters for the rules of Bitcoin is me asking them to give me bitcoin.
The rules of Bitcoin have everything to do with people wanting bitcoin. The enforcement occurs when you express a desire for the coins that follow the rules you call Bitcoin.
And that is what brings us to the idea of an economic node. An economic node is someone who uses a Bitcoin node to express their desire for bitcoin.
The elusive economic node
Perhaps you have heard someone say: Ackshually, running a node doesn't do Bitcoin any good at all. It's running an economic node that matters.2
When people talk about an economic node they mean this: a Bitcoin node that is used to verify payment (and the implication is that the node is the only way its operator can truly know when a coin they receive is following the rules). When I receive a payment for a poster with my node, it becomes an economic node -- albeit of small consequence because economic nodes have more say when they receive more bitcoin.
Hang on! you might say. That sounds suspiciously like whoever has the most bitcoin gets to decide the rules of Bitcoin. Blackrock can take their fork coin and fuck off! Who cares how big their economic node is?!?
When you first turn on a node, it downloads and verifies all the transactions in the chain and this is how you know there hasn't been any inflation or breaking of the rules. But verifying isn't enough. Nobody cares if your computer has done some math. You have to be willing to trade something for the coins that follow the rules, too.
Your expression of the rules is only as strong as your demand for the coin that follows those rules. This is why my little economic node that I run to sell posters doesn't exert very much force on the rules of Bitcoin. I may want bitcoin that follows my rules very badly, but as long as all I'm willing to offer is a few posters, nobody is aware of my burning demand.
Holding bitcoin isn't enough to enforce the rules. You have to demand bitcoin that follows the rules. And the only way you can express this demand is by trading other stuff to people in large enough quantities that they are willing to give you bitcoin.
Hodlers do not enforce consensus rules
This leads to another thing you hear people say (also probably me): if there's a fork I'll support Bitcoin by dumping the fork I don't like. At first blush it sounds like it makes sense. Supply and demand and all that. But if you really think about it, it's about as logical as saying I'm going to support veganism by selling cheap hamburgers.
Let's imagine you are a person of great insight and moral fortitude who began mining bitcoin in 2010 and managed to hold on to most of your block rewards. Perhaps you accumulated several thousand bitcoin, but as mining became more difficult you decided it wasn't worth the trouble anymore. Let's further pretend that despite the recent price action, you are marvelously free from that FOMO feeling of not having enough bitcoin that plagues the rest of us. So you aren't mining any and you aren't buying any either.
Along come these people who fork Bitcoin. They think it's time for bigger blocks or tail emissions or quantum resistance or some such other hard fork and they are tired of waiting. What can you and your thousands of bitcoin do to affect the outcome of this fork?
Since you are not mining, you cannot choose which side of the fork to add blocks to. Since you aren't buying, you can't reject any coins sent to you from the side of the fork you don't like.
Okay, fine. The common belief is that you can still sell the forked version of the thousands of coins you already have; you can dump the fork coin and wreck its price and that is how you "fight the fork" (and support the side you like).
In the most simple example, you might try to trade your fork coins to someone (presumably a believer in the new fork) for their original btc coins at a 1 to 1 basis. But if you are successful in this endeavor, you are no more dumping the fork coin than they are dumping btc. The price of the coins is by definition exactly the same. You are both expressing a desire for something you do want (coins on your preferred side of the fork). Who's to say whose desire is fighting harder?
Clearly, whoever offers a higher price for their desired coin is fighting harder. So if the forkers are willing to trade 100 btc for 1 bc2, we might expect the price of bc2 to be greater than that of btc. In fact, if they offer anything more than a 1 to 1 trade, we can expect the price of fork coin to be higher.
Fine. But then you could say the hodlers will overwhelm them by offering so much fork coin that the forkers cannot keep paying their high price for it. The forkers will have to keep paying 100 btc for each bc2 and as soon as they aren't willing to do that anymore the price will drop.
Aha! There it is! The hodlers dumped on the fork coin and wrecked the price!
Well, not really. In this analogy, the fork coin is about 100 times as valuable as the hodlers' coin.
Very well, let's try again. This time the hodlers will dump their fork coins at a really low price. Let's say you decide to sell your bc2 at a rate of 100 bc2 for 1 btc. Now the price of btc is 100 times greater than that of bc2. But that price will only exist so long as you and your hodling friends refuse to accept more btc for your bc2. What would you do if someone offered you 2 btc for 100 bc2? It would be very tempting. What if their offer was 10 btc for 100 fork coins? If you take the offer, have the forkers succeeded in crashing the price of btc?3
In this new scenario, you can only keep the price of the fork coin down if you refuse to take more of the coin you want. How could refusing real, actual btc support its price or enforce its rules in any way? Now we see that this is just silly. It is not the amount of fork coin you offer for sale that determines the price, but rather the level of demand that exists for the fork coin (how much people are willing to pay for it). Your ability to dump a fork is predicated on others being unwilling to demand the fork coin.
And the winner is...the real Bitcoin
So this gets us back to the importance of economic nodes. In the event of a hard fork, it's not just which rules you choose to run on your node that matter -- it's which rules you use when you trade for bitcoin. The more that people are willing to trade to get their hands on bitcoin that follows certain rules, the more the bitcoin that follows those rules is worth.
And at the end of the day, the fork that wins is the fork that ends up being worth the most. Miners have real world costs. Whichever chain is worth more is able to pay for more hashrate.4 How would you like to hold the coin that has only a small fraction of the hashrate of its competitor?
You use your node to enforce the rules of Bitcoin by using it to verify the coins that you receive are following those rules. And the more you are willing to offer for such coins, the stronger the incentive you provide for others to value them.
So if you want to run an economic node, do this:
-
Do everything you can to get people to send bitcoin to you.
Now when the fork comes to town, you are prepared to give the market a real signal about what the rules of Bitcoin should be.
Footnotes
-
This doesn't mean relaying transactions is of no importance. The same dynamic that makes it difficult for you to play a role in preventing transactions you don't agree with from making it to miners also works in your favor in the event of a censor trying to prevent the relay of perfectly valid transactions: your node actively relaying otherwise censored transactions really can make a difference. ↩
-
These people are right. I don't mean to make them sound pedantic. If you really want a crash course in thinking through all of this, have a look at Eric Voskuil's Twitter account. Particularly start with this tweet and his responses to people. You can also have a look at his Cryptoeconomics chapter on the Dumping Fallacy and the chapter on the Qualitative Security Model. If this still doesn't convince you, see the following: "Don't just run a full node, USE one." --Pieter Wuille / "Running two nodes is NOT better than one. The network doesn't need more connections or bandwidth, it needs YOU to control YOUR coins through YOUR full node." --Ruben Somsen / "It is not the will of the nodes that determines the future of Bitcoin, but the will of the economic majority of nodes." --Jameson Lopp / "This matters because the only way to express the rules of bitcoin is to actively enforce them. A node with nothing to verify has no economic influence, nothing to enforce." --John Carvalho and finally Wuille once again: "If you don't use your node for personal transactions, it has effectively no impact on the network." ↩
-
Obviously, if both forks start from the same chain, they start with the same amount of coins. And at a rate of 100 fork coin to 1 btc, the hodlers will quickly run out of fork coin. They will necessarily have to offer less to continue to buy btc. If they offer less, the price of the fork coin will have gone up, not down. If they cease to offer it altogether, they aren't dumping anymore and we might imagine that their effect on the price of the fork coin is exhausted. ↩
-
Fuck the hashrate! What if the US Gov't gets their hands on a bunch of ASICs? Are we just going to say that they control Bitcoin because they have more hash? Sadly, it doesn't matter what we say, if they have more hash than is hashing on your fork, they can 51% attack you and prevent new blocks from being mined on your fork. ↩