This is a bi-weekly update of all things concerning the protocol design and
reference implementation of State Channels.
We’ve skipped a beat in regards to these updates, apologies for that, but are back in the mix again.
The SC team has met in the beginning of December as part of the Aeternity Core meetup in Sofia, Bulgaria. The time was used to discuss recent progress, introduce developers which work further up the stack to changes and dive into high-level work items for the next 3 month. In contrast to the usual format of these updates, this post focuses more on the high-level topics and outlook of the SC work. We’ll get back to the usual reports in January 2020.
Thanks to all the people who have involved themselves into State Channels by working on the implementation or being early users. An ambitious feature such as this draws a lot of inspiration and usefulness from user feedback, so everyone should feel free to ask even the most obvious of questions.
The previous report was Mid November 2019.
Protocol hardening through property-based testing
As described in previous reports the testing of the State Channels protocol was extended by using Quickcheck models for the on-chain transactions as well as the FSM itself. This work is in-progress. Nevertheless, we see great results with every addition to the model which is encouraging. We plan to continue this effort in 2020 by improving the model even further. This work is tricky though, as the FSM is a moving target which is subject to constant change, while the model needs to catch up slowly. Thus, achieving full coverage will take a lot of work down the road and be a constant work item going forward.
In mid 2019 an effort was started by @Aleksandar to create a stand-alone test suite which implements an SC client outside of the usual set of test tools which are used during SC development. One of the UAT’s goals is to be a prototyping tool for potential SC users as well, by providing an API to create use-case scenarios easily. The goal for 2020 is to make the UAT more accessible by cleaning up the API, creating good documentation and keeping it up-to-date with the latest changes in the State Channels.
A first stab at building an application on top of State Channels was done in preparation for AE One 2019. The application was meant to provide fast payments for on-conference drinks. It is currently being completed, [more info here][payment_app].
To make these kinds of use-cases easier a short-term focus will be on integrating State Channels into the AE Wallet. This integration will provide a useful user-flow and proper API integration to help developers to leverage State Channels without having to implement the entire flow from scratch.
Virtual State Channels
The design has been outlined in the State Channels Yellow Paper. Since then the SC team is implementing the required protocol support piece-by-piece. The plan is to have a first working version of Virtual State Channels ready in 2020. The progress is exciting, updates will be floated here in the forum as well to get the community involved as well once something usable is ready. Until then everyone should feel free to comment on the Yellow Paper.