Ok, wacky idea time. Maybe this is just rehashing what has been proposed more eloquently by others before, but I haven't read everything everywhere so I don't mind putting it on the table again.
Problem
We all heard the stories of Bitcoin Cash infrastructure being in need of improvement, and because much of it is run by volunteers, who pay out of their own pockets, lack of funding is a problem and so on.
Some of those stories are definitely true!
BCH could use better infrastructure! Which blockchain doesn't? We want to make sure we deliver a satisfying global p2p cash and DeFi experience! So we already did the first step, we acknowledged there are problems. Problems that can be solved.
Suggestion
We - the crowd - incentivize the running of up-to-date infrastructure, rewarding those who run servers that perform well and stay up.
How can we do it?
A queryable funding data record
We could enable infrastructure server software support some API method that hands back a well-defined data record which includes a Bitcoin Cash address to which the crowd can send funds.
It would be up to each server software to determine exactly via what endpoint they want to offer that API, and whether it will hand a statically configured address or changing addresses generated from some extended public key.
Node software might implement a common p2p protocol method. Sites which crawl the network, like https://cashnodes.bitcoinunlimited.info , could try to discover and display funding addresses of nodes.
These interfaces should be queryable as simply as possible, and as "standardly" as we can manage to achieve, so that it's easy to build crawling software which can:
Aggregate infrastructure & publish
Once server software supports interfaces, we can build a monitoring site which tracks the servers of fundable services, and presents the data in ways that let users find out which servers have a good track record of
long uptime
keeping up to date with consensus (ie. not just running, but running recent enough software versions)
These "upstanding citizens" of the network infrastructure can then be crowdfunded quite easily.
The aggregation site could let anybody download the most recent dataset of known servers and their stats, including payment addresses.
It could also provide multi-output transaction lists that are suitable for pasting into wallets like Electron Cash, to fire off a quick transaction e.g. to send a few dollars to all the full nodes which are up-to-date and have good uptimes.
One could imagine something like a Humble Bundle interface as well, which lets visitors select which services to fund, and in which proportion, and then presents the user with an address to which they can send an arbitrary amount and the site could generate a transaction paying to the recipient infrastructure servers, or in future, even a smart contract (on SmartBCH) that could persist and be re-used to pay out in the specified proportions.
Such a website could also, for fun, have a feature to relay funds to some randomly selected server(s) in the database (similar to how r/random visits a random subreddit).
This is only for mainnet?
No, test network infrastructure could piggy-back on the same funding mechanism.
Of course, they might want to get funded both in real BCH and testnet coins (e.g. faucets), so maybe the "funding address" data that a server can put out should accomodate separate sections for mainnet / testnet / scalenet etc.
Why so complicated?
Well, I suppose you can always keep track of the addresses of people who run infrastructure that you use, and do scheduled payments to them yourself.
It's what I already do in some cases.
But it doesn't scale easily.
So if we want the infrastructure to grow, and for people to be mildly incentivized in the short term to run servers and recoup costs, this could be a way.
We can definitely do a little better than the status quo!
Of course, this still assumes that successful businesses will eventually run their own infrastructure. I think this will happen naturally... but there's no harm in helping it along a bit, is there?
If you liked this article, you might enjoy the next one in this series:
Thank you for reading!
Image credits:
Lead image: via https://imgflip.com/memegenerator
Cat image: adapted from photo by Marko Blažević on Unsplash
Smiley: photo by chaitanya pillala on Unsplash
You got your point of views, it's amazed me