I have a #BIP idea, hear me out.

Spammers pay the node runners for hosting.

Wanna upload monkey pictures? Every node runner gets one sat per whatever amount of data people agree on.

Is this idea stupid? Does anyone wanna share that "i just learnt about Bitcoin and I'm here to fix it" meme?

#asknostr

It's just a random idea, tear it to bits, explain why it wouldn't work.

#core30 #knots #Bitcoin

Instead of making node runners pay to be volunteer data hosters,

My proposal is pay them for it.

The people doing the most important job are volunteering.

Node runners invest their own time and money into hardware and maintaining an internet connection.

And I know this is a hard fork or whatever, but Bitcoin has been through that, the node runners can decide which chain to continue maintaining.

Maybe a hard fork is what Bitcoin actually needs? What if there's a longer term forking cycle nobody has noticed before because we're only repeating the cycle now for the second time?

Reply to this note

Please Login to reply.

Discussion

I meant repeating it for the first time, the second cycle, what if Bitcoin is meant to fork every x amount of years anyway and it's not actually a bad thing?

Just part of some natural cycle people don't understand yet?

I think of economics like ecosystems.

Where the companies institutions whatever other groups of people are like the organisms, and the money is like water.

Bitcoin forking could just be a way the ecosystem self regulates that nobody understands yet.

There are several problems with this proposal, but let's start with the most practical ones.

First, how will anyone know who to pay? Every node would somehow need to announce what Bitcoin address they should be paid at, and there would need to be a way to verify that the address is associated with a legitimate and separate node, not just someone announcing an address into the network without actually running a node. This is not an issue with mining rewards because the proof is in the data itself. They found a valid hash, so they get paid, and they put in the block that they created exactly how they get paid. Nodes don't do any PoW, though, so there is no way to verify whether an announced address really belongs to a node operator, or just some dude who wants some easy passive sats.

What happens when new nodes come on the network? They will need to store all the same data as existing nodes, so shouldn't they be paid by those who put that data on the network, too? Or should they only be paid for data that is added after they joined? If the latter is the case, then they are storing a lot of previous data that they aren't compensated for, but others were. What is their incentive to store that data?

The economics here is ridiculous. There are currently somewhere between 45,000–50,000 Bitcoin nodes. That number is not exact because it can't be. We don't know how many are running behind Tor or in other private networks, so the best we can do is estimate. Refer back to the first main issue with your proposal above. But let's just spitball some numbers here. If the proposal was something like 1 sat per KB per node, then a 1 KB piece of arbitrary data would cost 45k-50k sats with the current node count, plus the transaction fees for sending each of those transactions. Assuming this would be done using 1 input and 45,000 outputs on the low end, and best possible case scenario of 1 sat/vbyte transaction fee, the cost would be somewhere around 1,400,000 sats for the transaction fee alone, even with the lower estimate on how many nodes there are on the network. And node count would almost certainly go up, since this would be a direct financial incentive to run a node.

Things get more ridiculous from there, because 1 sat UTXOs are dust and unspendable. For a UTXO to be spendable, even in a low fee environment, it needs to exceed 546 sats, and practically, it needs to be more than 20k sats to be worth moving on-chain. And you HAVE to do this on-chain, because there is no way for Bitcoin to verify anything that takes place off-chain. If the node runners are paid via lightning, for instance, how will miners who select the transactions they put into a block know whether a particular transaction with arbitrary data included has paid the nodes to store that data or not? This means that even in the best-case scenario, each node must be paid a minimum of 546 sats for it to be above the dust limit, raising the cost to put arbitrary data on chain to a minimum of 24,570,000 sats for the 45,000 node runners to each get 546 sats, plus 1,400,000 in transaction fees, plus the transaction fee for the amount of data they are including in the transaction...

The final practical issue I will address is the fact that there is no way to prevent miners from including transactions that don't pay nodes a single sat. This is part of the basic game-theory that Bitcoin is built on. Miners select what transactions they will include in a block based on their own priorities, and since there are enough miners with different priorities, most transactions will eventually find their way into a block. Most miners operate on economic incentives, selecting the transactions that will result in them receiving the most fee income, but not always. If someone who really wants to put data onto the blockchain includes a high enough fee to the miners, without any payment to nodes whatsoever, some miner WILL pick up that transaction and include it in a block. The nodes could reject that block, but this would require a concrete consensus rule as the basis for doing so. A node couldn't just reject it because it contained a transaction with arbitrary data that did not also include a payment to the node's Bitcoin address to store that data. This would result in the nodes falling out of consensus with one another whenever there was a transaction that didn't pay absolutely every node on the network. But it couldn't be as simple as rejecting any block containing a transaction with arbitrary data that didn't pay any nodes, either. Otherwise the system could be too easily gamed, paying only one node, but all nodes then need to store the transaction forever. So it would need to be set to some standard of at least 90% of nodes. This would require each node to store a database of nodes and their Bitcoin addresses, so they could verify that the correct threshold had been paid, and this would become a new attack vector for breaking Bitcoin's consensus.

So, with all of the above practical issues, plus almost certainly a host of technical issues that would be above my head, and the social issue that such a change would be incredibly controversial, I think I can confidently say this idea is dead in the water.

I have already spent a lot of time to reload this topic back to my brain so I can answer you because you have interesting bio, so hear me out :D.

This topic is bot extremely difficult for newcomers and not so difficult/boring for old timers. That's why most of serious people maybe say something once and then move on.

There are also several people who have built their influencer status on pushing this topic especially to "left curve" bitcoiners and newcomers.

This makes it super annoying to people trying to do something in Bitcoin hence the toxicity of some people on "core side".

The facts in no particular order:

1. We already have spam mitigation, it is block size and fee market. If monetary transactions can't out price spam in long term, Bitcoin is useless. Nothing more to discuss. (There are some real concerns here like rich US boys paying ridiculous fees for their rare monkey pushing global south to tether on tron, but rare monkeys are temporary and already dead)

2. There is no way to define and filter spam of people willing to pay for it in decentralized way. It is literally impossible based on information theory. There are mamy ways to put arbitrary data to Bitcoin blocks and there is no way to know if transaction contains some data. There are some mitigations that can be done but there are always ways around those mitigations.

3. I personally find knots talking points disingenuous and misleading. They started this war because of OP_RETURN policy change.

a) it was always possible to use big OP_RETURN because it is consensus valid since always.

b) nobody is even using OP_RETURN for spam because there is much more fee-efficient ways to put MUCH larger jpegs to Bitcoin - there is a block with just one 4MB jpeg of some stupid wizard! It is done by ordinals inscriptions which put data into witeness part of block thus paying 75% less fees.

c) the "change" was just different default value in config file. Any node runner could change it before and can change it now.

d) all they were saying was "we don't want Bitcoin to change" but now they proposed hard fork - I suspect it was the plan all along

4. Knots argument is that we have to fight spam and it has to be our highest priority. We have to sacrifice everything in order to fight spam.

5. Core .. You should just listen to "Bitcoin explained" podcast episode 98 - Return of OP_RETURN , but tldr: there are technical/efficiency reasons to remove OP_RETURN limit.

6. There are hundreds of hours of podcasts you can listen to regarding this and other much more important topics, but you should not listen to some pleb slop on yt but to good stuff like:

- What Bitcoin did (Easy listening)

- Bitcoin explained (quite technical)

- nostr:nprofile1qqs2dg3dtrdkwz0gr3t3wenahm3dmwkzy3y9whdtlyh5kvxxacgjnugpzamhxue69uhky6t5vdhkjmn9wgh8xmmrd9skctcpz4mhxue69uhk2er9dchxummnw3ezumrpdejqz9nhwden5te0v4jx2m3wdehhxarj9ekxzmny9uv9aj7n (I don't know what's going on there, but recommended)

- rabbit hole recap (the OG podcast)

- nostr:nprofile1qqs8spcgqfgzxkcnerak0t40xs8jfsecgkeywrnam3lvp4qvqp5zv3gpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcpr9mhxue69uhhyetvv9ujuumwdae8gtnnda3kjctv9uq3uamnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46z7s4n9p6 (also good one)

- The reorg (amazing economics)

...

7. Fun fact is that Luke - the guy behind Knots - is legendary OG Bitcoin core dev that everyone hates, but everyone acknowledges he is genious and he contributed a lot to Bitcoin .. He is the one who found the way to upgrade to segwit without hardfork (and won block size wars) which introduced witness discount and also enabled taproot upgrade which (together with witness discount) enabled ordinals and inscriptions which flooded Bitcoin with spam jpegs which he now is on crusade against ..

8. No we don't want hard fork. Hard fork is how altcoins are created ..