Joystream / joystream

Joystream Monorepo
http://www.joystream.org
GNU General Public License v3.0
1.42k stars 115 forks source link

Design subscriptions pallet #4099

Open bedeho opened 2 years ago

bedeho commented 2 years ago

Background

Subscriptions are a key monetization primitive for creators, and it's power comes from the ability to generate revenue streams with greater levels of predictability than per content (ads, transactional) monetization, and also doing price discrimination. I have looked around a bit, and I actually not found anyone who have designed on-chain subscriptions in a scaleable way, without introducing trust in off-chain entities.

Challenge

Propose a design for an on-chain subscriptions pallet which

The key here is that the runtime cannot iterate over any of these sets, as they need to be unbounded. Payments are in the native asset ($JOY), so assume it can be minted and burned. A first best approach would not introduce any new complex cryptography, and not any trusted off-chain actors. Its probably a good idea to do a deeper review of what other people have tried, just to make sure I did not miss anything obvious.

Note: probably worth applying for W3F grant if a good design is prepared.

Resources

mochet commented 2 years ago

Not a substrate based project, but mirror.xyz just introduced its concept of Web3 subscriptions which is maybe of interest: https://dev.mirror.xyz/Jn62zF5n62BfowdaFgm3uIx3Fgp2vIR7b-HTSxKVXqk

bedeho commented 2 years ago

I saw it the other day, read the blog post, it did not say what it actually was or how it worked, I could not get to the bottom of it 🤯 .

bedeho commented 2 years ago

I think this really just means like people following something, like as in "becoming a subscriber to some publisher", not paid subscriptions, so not great naming.