Current content payment platforms for subscriptions for content producers have 2 main pitfalls:
- They rely on trust that payments will be made on time each month.
- If the platform of choice disappears overnight, the revenue stream for those content producers expires.
- These platforms have control over what does and does not get monotonised.
By decentralizing these 3 aspects of content payment, the control is put into the hands of the producers to determine how and when they get paid for their work. It also protects them against the payment network itself going down, as the smart contract itself
-
Content Producers (Producers) People who produce content and have address associated with the patrecoin smart contact. Subscribers will subscribe to these parties in order to support their continued work
-
Subscribers These people will subscribe to content producers on the patreon smart contract and pay them on a regular basis on order for them to continue their work.
-
Miners These people will get a reward for executing a "charge" contract once per month. -
Maintainer These people will get a cut of the monthly payments for upkeep of the DApp.
-
Front End: Simple React or Angular Web Front end for producers and subscribers to manage all their accounts and data.
-
Backend: NodeJS, MongoDB application which can store customer metadata and execute the "charge" smart contract.
-
Data Storage: We will use a combination of on-chain and off-chain data storage. On Chain we store only data vital to the payments of all members of the system. Off Chain we can store metadata about producers and subscribers in order to provide a more fluid user experience.
For an MVP, the Patrecoin DApp should have the following functionality
- Allow producers to publish their address to the smart contract
- Allow subscribers to subscribe to the address of their favourite producers
Allow miners to execute a contract (which can only be executed once per month), in return for a small cut of the overall system payments. Allow producers to call a contract once a week to collect their payments- Allow users to deposit ETH to the smart contract address
- Maintainer, recieves a small cut of the overall system payments
- Request payments into smart contract a week before the charge is applied in order to make sure that all producers will be paid
- Provide democracised content regulation which puts control into the hands of subscribers in order to fine producers of inappropriate content
- Provide a token which could be used to incentavise people to use the system.
- Allow the charge model to be more flexible, allowing producers to collect payment whenever they like, calculating payment via calculation:
time since last payment in seconds * charge per second
, while still retaining the restriction of charging no less than once a week. This would eliminate risk of collecting payment any one week.
- Design, build and test smart contracts.
- Design and build front end application to interact with contracts.
- Design method for executing "Charge" contract on a monthly basis.
- Design and build CRUD services for maintaining system metadata.