pull down to refresh

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:
  1. refuse to add a transaction that doesn't follow the rules to its mempool.
  2. 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:
  1. 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

  1. 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.
  2. 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."
  3. 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.
  4. 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.
Your expression of the rules is only as strong as your demand for the coin that follows those rules. [...] 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.
I really like this phrasing. Makes me think differently about the value of lightning routing nodes, in particular, and the leverage they exert on the network, mediating all the transactional demand.
reply
The Lighting Network definitely makes it harder for me to think about.
For instance if we use a big LSP as an example (like Phoenix): They do a lot of payments, but their bitcoin node only sees these payments in aggregate when they open or close a channel. I'm not an expert on LN, but it feels like the tx that really matters is the open (because in a channel close, the two parties aren't introducing any new coins, but rather deciding where to apportion the sats that are already in the channel). So, it makes sense that Phoenix exerts influence over bitcoin consensus rules every time they someone opens a channel with them. But if we think about a long standing channel they have with some other major LSP, perhaps that doesn't exert very much influence? Then again, if there is a fork, the LN network would split based on which LN nodes were on which side. That's the part I find difficult to think about.
reply
The LN would split based on which nodes were on which side
Its also likely that many LN nodes would support both sides of the fork. At least at first...
reply
OOOooooooOOHHhh I totally get it. The game theory of the node is still attached to practical economic principles. Right?
reply
Well, I feel better about running a node now...
reply
I probably should have emphasized this more, but the influence you wield over what the Bitcoin consensus rules are is directly proportional to the amount of payments you receive with your node. So you should feel better about running your node if you are doing things to get more bitcoin (and you are using your node to verify it).
reply
Getting more bitcoin is all I do. 😎
reply
the reason you dump the shitcoin fork is not necessarily to immediately dump the price of the shitcoin, but because it is a counterfeit bitcoin which does not have the same pristine monetary assurances. Which means it will trend to zero over time against real and actual bitcoin.
reply
Sure, but the holder's decision to sell the side of the fork they don't like doesn't do anything to affect which fork ends up attracting more hashrate.
reply
0 sats \ 12 replies \ @000w2 22h
It does if they do it in a futures market before the fork actually happens.
Also, price does affect how much hash rate is attracted (I don't get why it wouldn't).
reply
Deciding to sell doesn't decrease price. This is the point of about half the OP.
Futures for forks are kinda interesting though: I mean if you sell it before the fork, what happens if no one goes through with the fork and the fork coin never exists?
reply
0 sats \ 0 replies \ @000w2 21h
Then the people who have the futures for it get nothing
reply
0 sats \ 9 replies \ @000w2 21h
Prices are determined by supply and demand. So if there is more supply than there otherwise would have been it does affect price - to what extent and for how long is up for debate.
reply
Supply in this context = a holders' decision to trade one coin for another.
But there is another person who is on the other end of the trade.
If I "dump" fork coin to get btc, why isn't it just as true that the other side of the trade is dumping btc yo get fork coin?
reply
115 sats \ 7 replies \ @000w2 19h
It's a question of whether you buy or sell at market (changing the "price") Vs setting limit orders and changing the market structure.
Dumping implies selling into limit orders which changes the market price, i.e. the midpoint between bids and asks.
reply
In the case of a trader who is willing to sell their coins for less than others are willing to pay, what stops a nonideological trader from buying such cheap coins and reselling those coins at market rate?
Obviously, the nonideological trader can continue to do this until the market refuses to buy them or the dumper stops dumping.
As long as there are buyers willing to pay more for the coins than the dumper is asking, the dumper is simply transferring value to an arbitrager. And the price will remain at the highest level people are willing to pay.
Example:
Someone has a limit order to buy 1 btc at $80k. Along comes a whale who wants to "dump" on the market and crash the price. They fill that limit order, offering the buyer some cheap sats.
The buyer could just ride off into the sunset, happy as a clam, or they could say: "Wow, look at this: I can sell this 1btc for $95k (the price that people other than the dumpers are willing to pay) and make a cool $15k!"
And further, if the whale is still dumping, the buyer can say, "Huh, if I do this again, I can buy $15k worth of bitcoin from this guy who is selling at $80k and go sell it for $18.75k! And I can keep doing this until the whale stops selling cheap sats!" ...OR until no one is willing to pay more for bitcoin than the whale is offering.
All the dumper achieves is subsidize the trader who is willing to trade at market rate. They aren't moving the price unless you assume no one would act on the arbitrage opportunity.
As long as there are people willing to trade $95k for bitcoin, the price will be at least $95k. If the price is lower, it means that no one demanded bitcoin enough to trade $85k for it.
Put differently: the only way "dumping" can lower a price is if no one is willing to pay more than the price at which the coin is being dumped. But then, that's not really dumping. That's just selling at the market rate.
17 sats \ 1 reply \ @fishious 9h
BitcoinMechanic recently posted on youtube discussing exactly this and echoes a lot of what @Scoresby talks about in this post and both argue why sovereign permissionless medium of exchange is what ultimately defines bitcoin's properties as hard money. It's an hour long, but the key points are made after 46:36.
He talks about gold and how even though gold isn't really used as a medium of exchange, it still has scarcity and store of value properties due to its molecular properties being enforced by the laws of physics.
But because bitcoin is digital, it's scarcity of 21 million and SoV properties is only maintained when people are actively using it and enforcing the rules embedded in code with each interaction/exchange. And if an overwhelming majority of bitcoin's economic activity is through third parties who then get to define the rules, then bitcoin's hard moneyness is vulnerable to capture.
Key Quote: "Bitcoin is not hard money unless it's used actively by people who are asking permission from no one. That's the only way it maintains it and I mean that with regards to storing it, taking custody of it themselves, and using it as a permissionless medium of exchange. If they don't do the latter... and the trend is away from using as a medium of exchange, then ultimately 21 million is not going to mean anything."
reply
This sounds like an interesting listen. I'll check it out.
reply
This concept of economic nodes was proven out over a decade ago:
You can see the moment at which there was no further debate as to what to do:
23:45 DBordello What chain is Mt. Gox on 23:45 gavinandresen Eleuthria: if you can cleanly get us back on the 0.7 chain, ACK from here, too 23:45 MagicalTux DBordello: we stopped import before the fork 23:45 Eleuthria alright
Which is further evidence that it is economic nodes and not miners who control Bitcoin. In this case, there was mt. Gox with like 80% (educated guess) of the economic activity of Bitcoin at the time. So a miner (pool) switches to follow the will of the economic nodes (i.e., whichever side Mt. Gox was on), even when that one pool alone had majority hashrate (both sides combined).
Original post: (Note: Link above edited as the original link used is now dead) #473011
reply
115 sats \ 2 replies \ @kepford 17h
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.
Great example.
reply
17 sats \ 1 reply \ @fishious 8h
But then the customer gets frustrated and from now on decides to buy posters from a different merchant who accepts the forked coin, so now more economic activity ends up happening on the forked coin. So in anticipation of that, you are incentivized to sell your posters at enough of a discount, so that the customer is more willing to make an effort to figure out how to send you bitcoin that your node accepts instead of leaving for another merchant. Offering a discount is in a way paying to enforce your node's rules, or is that too far-fetched?
reply
Sure, I that happens. But what we are saying in the case of offering a discount is "bitcoin is worth more to me than that other coin."
What matters is your desire for bitcoin and your ability to actually verify that whatever someone sends you is bitcoin as far as you understand it.
reply
115 sats \ 2 replies \ @OT 17h
It might make sense to keep both coins and just to use the side you believe in for transacting in. When there's a clear winner after a few years you can proceed to dump the loser. That may mean dumping the chain you had been using too.
reply
Does this mean you are using and buying bitcoin (currently) just beacuse it has the highest price in fiat terms?
reply
Certainly more people are currently willing to pay more for bitcoin today than they were a year ago.
reply
Nice piece. Can you please elaborate on why selling forked coin for other goods besides the original coin (such as fiat) wouldn't crash the forked price?
reply
When you sell something, it only affects price if there is a buyer and an actual trade occurs. Otherwise prices are just pretend.
If you sell fork coin for fiat it doesn't lower the price of the fork coin because someone is expressing a demand for the fork coin.
The price of the fork coin is less than btc if the buyer isn't willing to spend as much fiat on the fork coin as others are willing to spend on btc.
A low price of the fork coin is evidence that people do not value the coin as much as they value btc. Why would your decision to sell the fork coin affect how other people feel about it?
If I am willing to buy $10k worth of fork coin, I'll just get more if you sell it to me for less. I'll still buy $10k worth. I'll still express my demand.
reply
Why would your decision to sell the fork coin affect how other people feel about it?
Because there's quite a bit of psychology involved in these trades. It's not just about the decision to sell fork coin, but also what I'm selling it for. I'm expressing some degree of demand for the original over the fork, or in the case the buyer has run out of the original, I'm expressing that I prefer some quantity of their fiat. I might sell 5 fork coins for $100 today, and tomorrow, because I'm desperate to get rid of that shit, I might sell 10 at that price. Other people see that drop and want to dump theirs as well.
reply
Won't the other people also see that someone was willing to pay $100 or whatever you sell for and think they ought to hang on to their fork coin...you know just in case it catches on? It seems to me that this analogy only takes into account the psychology of the seller, but not the buyer.
reply
I guess it comes down to demand vs. supply. I'm going to lower my price the longer it takes to sell them/the more people I see selling fork coin. Otherwise I'll raise my price if I see there's very few offers on the market. Buyers look at what's available on the market as well, so they also set their bids accordingly.
reply
Yes, but for selling to crash the price there has to be a lack of demand.
It is the level of demand that determines the price in this situation, not how many coins people are willing to sell.
For you to sell the coin, there must be a buyer. The buyer is expressing at least as much demand for the coin as is equal to the price you are asking.
Should very many people be willing to buy the coin at a higher price, the coins will be resold until they are trading at a price that is near the highest buyers are willing to pay.
For selling to crash the price, we have to imagine that there is very little willingness to pay more for the coins. Demand is what sets the price.
reply
Thanks! helps me better understand what I can do with Alby Hub.
reply
You've again made it sound like how sexy a thing Node can be. ;)
Not running a node. I always ask the same question.
Is it necessary for everyone to run a node?
reply
253 sats \ 1 reply \ @Scoresby OP 22h
If you don't run a node, you have to trust someone else to tell you if the bitcoin you receive is actually real.
You can trust others, but it raises the question: why not just trust them to hold your keys too?
I guess it comes down to why you want bitcoin in the first place. If you want it because you want freedom money, money you can send to anyone anywhere anytime and because you think it is the hardest money on earth...I'd say it's probably necessary to run a node, at least whenever you receive new bitcoin. If you just want to make some money because of ngu...don't worry about it.
But I see your question is about whether everyone needs to run a node. It is certainly true that bitcoin has a better chance of resisting government control when many more people are running nodes and using them to verify coins they receive in payment for goods or services. Bigger circular economy (where participants do their own verification of coins) means stronger censorship resistance.
reply
Bigger circular economy (where participants do their own verification of coins) means stronger censorship resistance.
Got my answer. Thank you so much.
reply
You surely don’t pull your punches, do you? 😏
Congrats on an excellent write-up!
reply
@Scoresby this post, like your posters, fills me with joy. Thank you.
Would you mind sharing a bit about the setup you use to accept btc via https://shop.bitcoinscoresby.com? I'd like to connect my own Wordpress/WooCommerce site to SatoshiNakanodo using BTCPay Server and am in search of a good tutorial. Have you already done a write up on this?
(btw, I'm getting an Content Security Policy (CSP) warning from your site. Not sure if it's user error or some JS issue on your end.)
reply
Great write up. Thanks.
reply