I’m planing hosting an instance, and I think that in the end I’ll have to let the users pay for subscription. But just when I was imagining how I should design the subscription, I found there’s a dilemma arose from the nature of fediverse:

(assume that people really like my instance for some reason)

  1. If I charge my users, they may simply register on another instance and keep interacting with my instance to avoid paying the fees.
  2. I can limit activities of the users who don’t register on my instance to force them to subscribe my instance, but such action is obviously destructive to the fediverse.

I think this is not only my own problem. I think every instances with some scale faces the issue of costs, and relying on donation forever may not be a long term solution. So here’s the question: how to let the owners of the instances get paid without violating the values of fediverse, i.e. decentralization and federation? Moreover, the solution should let the instances with higher popularity earn more money, so that’ll encourage people to host high-quality instances. And I just figured out a (possibly very rough) solution by integrating blockchain to fediverse.

First, there will be a blockchain. There will be these cryptocurrencies:

  1. the universal currency, let’s say “fedicoin”. Fedicoin can be traded on trading platforms like normal cryptocurrencies.
  2. the currency of every single instance, e.g. lemmy.world coin for lemmy.world, lemmy.ee coin for lemmy.ee. The instance-specific coins are only used for federation between instances.

and the blockchain holds these data:

  1. how many fedicoins and instance-specific coins each instances owns.
  2. how many fedicoins each non-instance users owns, if any. I guess it would be better that only the instances can own instance-specific coins.

For operating the blockchain, there should be nodes to hold the data and process the transactions. The nodes can be either served by the instances or the non-instance machines. The nodes earn fedicoins.

When instances are federating with each other, every “demand” requires paying some instance-specific coins. The price of each type of demand will be predefined in the federation APIs. For example, if a user on lemmy.ee want to post on lemmy.world, then lemmy.ee have to pay 10 lemmy.world coin to lemmy.world, and vise versa.

To earn instance-specific coins to pay for the demands, all the instances will “trade” automatically with other instances, and the “exchange rate” will be determined by some algorithm, possibly based on the amount of demands between each two instances. For example, if on average the demand from lemmy.ee to lemmy.world is 5 times more than the demand from lemmy.world to lemmy.ee, than in a trade, lemmy.ee may get 1000 lemmy.world coin, while lemmy.world may get 5000 lemmy.ee coin.

There will be an upper limit for every instance to own other instances’ coins. For example, when lemmy.world owns 100,500 lemmy.ee coins, which exceeds the limit 100,000, then lemmy.world will refuse to trade with lemmy.ee by lemmy.ee coins. Under such condition, lemmy.ee have to trade with lemmy.world by the fedicoin. The owners of lemmy.ee will have to purchase fedicoin to let lemmy.ee trade with lemmy.world to maintain the fedaration.

Currently I think that the exchange rate between fedicoin and an instance-specific coin should be controlled by the owners of each instance, because each instance may have different costs for machines and moderation.

Finally, (hopefully) we’ll have a fediverse like this:

  1. The highly-demanded instances earn fedicoins, which can be exchanged to real-world currencies. Such mechanism also encourages hosting high-quality instances and more open federation.
  2. The instances can simply charging their users normally by real-world currencies, so the users don’t have to bother about cryptocurrencies.

Other side notes: Defining the prices of the demands may be tricky? For example, if my understanding is correct, there’s no actual action like “read” when instances are communicating with APIs.

For the automatic trades between instances, of course there should be some controllable configuration, e.g. “don’t buy coins over some price from some instances”.

I’m just interested in the fediverse, and I hope my ideas can be helpful for its development. Any comments or crossposting are welcome and thank you for your reading.

  • 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍@midwest.social
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    3
    ·
    8 hours ago

    Yeah, despite the strong anti-crypto sentiment on Lemmy, this is exactly the problem that projects like Nostr is trying to solve by integrating Lighting as a first-class payment system in the ecosystem.

    Services get paid for by one of four ways:

    • Harvesting and reselling of user data. Which is wildly unpopular, and why a lot of people are on Lemmy and not Reddit or Facebook.
    • Ads. Which is also unpopular and again why people come to services like Lemmy
    • Pay-for-service, which is what you’re suggesting, only via crypto, which is easier than accepting credit card transactions, and safer for users.
    • The hosted paying for it out of the goodness of their hearts. So, charity. Sometimes there’s corporate charity, and that’s nice, except for the potential for money coming with strings attached, now or eventually.

    Someone always pays; its expensive to host a popular instance. People suggesting you should host for free are selfish freeloaders, so know that some people understand that hosting costs, and sympathize with with your desire to offset that cost.

    I like the volunteer micro-transaction model. Those who can afford to pay some amount for good service, and hopefully this provides welfare for those who can’t afford to pay. But the cryptocurrency space is a mess at the moment, and an economical currency (probably proof-of-stake rather than proof-of-work) needs to gain some traction, and overcome a lot of ignorant bigotry.