Please describe your proposed solution
The Cardano After Dark team already delivered DRED: a secure, real-time communication infrastructure used by interactive applications.
DRED is currently used to run the CPoker dApp, facilitating seamless communication between decentralized players of the game. You can check the video at the bottom of this proposal to see an example of how we currently use it for secure communications in a poker dApp.
With this proposal, we will bring our tokenized real-time communications infrastructure on-chain so dApp creators can easily access these decentralized services and optionally monetize through DRED.
This is what a dApp creator should do with DRED:
- Register their dApp as a DRED Neighborhood
- Register and operate one or more DRED nodes, or incentivize others to operate DRED nodes within their neighborhood (this establishes capacity for the communications network)
- Add DRED Client library to their application to connect to their DRED neighborhood, create channels when/where needed, and subscribe to those communications channels. The Cardano After Dark team can help dApp developers formulate their real-time communications approach to fit their application needs
- Optionally integrate with end-user wallets to collect fees for monetizing their communication-channels or application
When dApp developers complete this setup, their players, users, and customers will be able to seamlessly collaborate in realtime. These services will become available to any dApp developer through simple on-chain registration activities, so they can get started easily without having to create their own infrastructure for operating their dApp's communications.
Below, you see a detailed breakdown of this proposal, which will enhance DRED and add these functionalities:
- (M1) Create on-chain smart contracts for node operators to register their decentralized nodes that serve one or more dApps (each in their own DRED Neighborhood)
- (M2) Create on-chain smart contracts for dApp developers to create and maintain their DRED Neighborhood (including monetary policies for node operators and end-user monetization)
- (M2) Refine node-to-node replication capabilities to ensure smooth dApp operation even when some nodes may not always be online
- (M3) Provide a docker-based package for running a DRED Neighborhood node
- (M3) Begin allowing dApp developers to configure incentives and costs for users to access their communication infrastructure, and for node operators to be incentivized through this monetization approach
- (M4/Closeout) Develop documentation and video tutorials on how to initialize and use the infrastructure for your dApp.
Our aim is to provide builders on Cardano with ready-to-use capabilities to enhance their applications with communications and monetization so they can focus on their products.
In the video below, you can understand the team's overall effort in building real-time interactive dApp, and a specific example of how the DRED comms infrastructure is used.
<https://www.youtube.com/watch?v=ERWI-xHvXE0>