Test Performance Analysis and Future Milestones
We want to thank everyone who participated in this test! The additional rewards will be assigned in the ISPO calculator next week. We gathered enough data to have an insight into the problems that need resolving before we move forward.
Before we dive into details, here are some general stats:
- Several hundred different wallets participated in the test.
- We received 150+ feedback form responses; 75% of users would recommend us to their friends.
- Our relay server constructed and submitted about 1000 transactions during the test.
Technical findings
Let us discuss now discuss the key issues we experienced during the test. The most apparent problem pointed out by many users: when something takes a long time or goes wrong, the app does not give enough information to the user. The final version will provide the user with significantly more detailed information about every step in the deposit and withdrawal processes.
Deposit function. The success rate for the deposit function was in the 75–80% range. The most common reasons for failure: transaction expires before being accepted by the network, two users submitting deposits simultaneously, and a PAB bug. The first one is easily fixed. We expect the Cardano Wallet Backend Core library, once it is released, will provide the necessary functionality to solve the deposit concurrency issue (for now, we had to use some crutches here).
Withdraw function. Here the success rate was significantly lower, only about 40%. The time it takes to complete withdrawal is also something that could be improved. Our main takeaway is that querying the chain index for the UTXO data at a script address with more than a few hundred UTXOs could be very time-consuming. So, our solution is to keep the cache of the required on-chain data and query only for the newly added data. In addition, we will implement asynchronous loading of the on-chain data into the web client, which will eliminate the need for the “Find Deposit” button and speed up the process 2–3 times. The main reason for a low success rate here, though, was due to a PAB bug. This bug affected both deposits and withdrawals and manifested in the sudden termination of the active smart contract without any error message. We have a pretty good idea about the circumstances when this happens, though we will yet to verify our findings. Hopefully, the team at IOHK working on the PAB will fix this and some other issues with it in the near future. There are, of course, some workarounds that we may apply, but more stability of the PAB would be appreciated.
Future Milestones
Here is our pre-launch roadmap.
- Implement performance and UI fixes to the app mentioned above.
- Implement relayer verification: a key missing component that will make the app actually decentralized.
- Release the source code and a guide on setting up a relay server.
- Prepare for the second test and the smart contract code audit.
- Prepare for the Trusted Setup Ceremony, mint and distribute MIX tokens, and release the dApp on the mainnet.
Thanks for your support, and stay tuned!