Raiden Development Update Apr/18
The Raiden team recently got together to refine and work on the plan for the Raiden Network development. Specifically, the goals were to:
- Formalize a specification for all the components of the Raiden core protocol.
- Streamline and revise how the team sees the “big picture” of the Raiden Network in the future.
- Revise the roadmap and the requirements for bringing a secure version of the Raiden Network to the Ethereum mainnet.
Above points led to some engaging and challenging sessions that covered both hard and soft topics.
One of the main goals of getting together was to agree on the outline of a formal specification of the core protocol of the Raiden Network. Additionally, the third party services such as pathfinding and monitoring were specified.
The specification is meant to support outside contributors looking into the Raiden protocol, as well as guide new contributors to the Raiden Network, who want to get familiar with the codebase and understand the inner workings of the protocol. Furthermore, having such a specification allows anyone to start implementing the Raiden Network protocols in any programming language.
While the team is still working on finalizing and polishing the specification, you can take a look at the current status here.
The future of the Raiden Network
While the general plan stayed the same, the team focused on speccing out the protocol in more detail, while also making sure economic incentives are correctly aligned within the system.
There is a planned roadmap of successive milestones comprising of features that the Raiden team considers necessary for a viable version of the Raiden Network and also of features that increase usability and are planned as later additions. The work after these milestones will be guided by our vision statement:
The vision and goal is that the Raiden Network will be the underlying piece of infrastructure that allows any person holding ERC20 tokens to pick up their phone, install a Raiden Network compatible wallet and immediately start to interact with peers through payment channels without ever having to be exposed to the complex technology making this possible.
At the time of writing there are still some challenges that need to be addressed, before a viable version of the Raiden Network is ready. Below is a list of problems that the team believes must be solved.
Smart contract refactoring
The smart contracts will be refactored to require less gas and to be easier to read and understand. The biggest change will be that all channels for a given token will be managed by a single contract. This contract is written with simplicity in mind which makes it safer and easier to understand and extend.
The current transport layer has problems reliably sending messages to their target. As there currently is no scalable low-latency whisper protocol it was decided to use a Matrix federated transport infrastructure as an intermediary solution.
The Raiden Network currently requires nodes to always be online in order to be able to react to channel closings from counterparties. To improve usability and to allow light clients in the future, there will be a federation of monitoring services that handle channel settlement for offline nodes.
It is a challenge to compute the best route of a payment through the Raiden Network towards the receiver. Every node only knows the status of channels it has opened with other nodes.
Ideally a decentralized routing approach is used, in which only the local knowledge of each node is used for pathfinding. The team has done extensive research, but does not have a solution that is ready for prime time yet.
In order to get to a viable Raiden Network as soon as possible, a federation of pathfinding services that provide nodes with the best payment routes will be used.
For additional safety, audits of the smart contracts and the core protocol should be performed.
For a more in depth overview of the problems that remain to be solved, please see Lefteris’ talk at EthCC.
Based on the remaining open issues identified when writing the specification, the team created a roadmap outlining the milestones needed to bring the Raiden Network to what we consider a usable state.
Red Eyes milestone
This milestone will include some drastic changes to the codebase. It will include a crash-resilient Raiden Network client as well as refactored smart contracts, an updated core protocol and a new transport layer.
This milestone will integrate the Raiden Monitoring and Pathfinding services into the Raiden Network. It will include security audited smart contracts as well as an audited core protocol.
The Raiden Network project is progressing very well. If you are planning on using the Raiden Network, please have a look at the current testnet version as well as the current codebase and specification. Feel free to join the Raiden Network gitter to ask questions or provide feedback on the specification and missing or desired features.
The Raiden team is always looking for talented developers to work on the problem of Ethereum scalability. Please have a look at our open positions. Finally, if you want to contribute to our codebase, patches are welcome. We maintain list of beginner friendly issues called “low-hanging-fruit”.
The Raiden Network community is an important source of motivation and inspiration for the team. To make some technical details more accessible for everybody interested in the Raiden Network, the team will start a series of blog posts on technical details of various Raiden modules soon. If you are interested in how certain problems are solved or why we chose certain trade-offs, let us know in the gitter channel and we will consider your input when choosing topics to write about.
The Raiden project is led by brainbot labs Est.