Our solution is to research and prototype a reusable and programmable state channel interface for dAPPs requiring interprocess communication in a fast and secure fashion including:
- Documentation on how to use the state channel
- State channel Structure
- API Interfaces and JSON attributes
- Highly Available Distributed Application Backend
The reusable Application backend will be used by developers for the purposes below:
- state channel
- Database
- Authentication
- caching
- Message queue / decentralized background-jobs
- Multi-user coordination
In future iterations of this project, we might work on such details as:
- A dashboard presenting usage, status, and purchase options
- API keys generation
- Tokenizing usage
Motivation
To enable dApps on Cardano to have the best user experiences, enabling another class of low-latency apps such as music-collaboration, online interaction, card games, and video games.
- Studies at Google demonstrate significant dropoffs in user engagement with even 100ms of additional latency
- Usability studies demonstrate that <1s response time is needed for people to feel that their technology is actually reliable (faster is always better)
- Some protocols need to wait for chain-based confirmation, but many interactions in dAPPs benefit from lower-latency solutions. Multi-user cases especially.
Build Versus Buy:
- When suitable, off-the-shelf solutions can provide major cost savings in engineering projects. Do we really need to re-invent the wheel?
- Redis is the premier in-memory database, with ready-to-use clustering capabilities for high availability. Its distributed data-management technology provides near-zero maintenance for operators.
- Not a magic solution, but a high-value technical element for dApps
- One of our key research goals on this project: enable Redis to be used for true decentralization for dApps in Cardano (and beyond?)
dAPPs on blockchains exchange information with the underlying blockchain when a transaction between the parties occur. Using a state channel can reduce the number of transactions and allow internal transfers between the parties until it is required to save the final state to the blockchain. State channels dramatically reduce the execution time and fees.
The project aims to research and produce an alternative, low latency state channel solution for Cardano. This is exactly in line with the challenge. As the challenge states “Proposers should consider new novel ideas or research”. This is a previously unexplored area of research with the potential to produce a decentralized network of low latency state channels.
Information security for these state channels is our top recognized risk. Working with encryption and other cryptographic techniques, we will be carefully addressing these considerations so that application developers can maintain privacy within their scope of the state channels.
- A compromise on the backend servers may reveal sensitive data. One approach we can use to address this: peer-to-peer encryption keys may be generated inside an HSM device.
- The risk is that state channels may not be reliable when less than 3 active dAPPs using the system. We will seek to design for the intended reliability.
- REDIS Servers are accessible to the Internet and reachable via DNS resolution. The situation creates DDoS risk and potential flaws on the REDIS server may create a threat. We will mitigate through the use of proxy services, firewall rules, and data-replication relays.
- We will find new risks and design considerations during our project. We will course-correct and report on those considerations as part of our plan, whether we resolve them or not