This month, we completed our transition from Web to Desktop – an industry first for the Eth2 staking landscape. With each product iteration we came closer to a key conclusion: a local Desktop application provides superior user flow and security when offering a truly non-custodial staking solution.
Blox Staking Product Fundamentals
When beginning to work on our staking platform, we produced the following basic guidelines to steer us through the early stages of our product development:
Non-custodial – There are no truly non-custodial Eth2 staking solutions in existence today. Most of the self-proclaimed ‘non-custodial’ services are holding user signing keys. Instead of holding our user’s signing key, we assist the user with setting up a cloud hosted ‘KeyVault’. In doing so, the user’s signing key is always online and completely segregated from Blox. This setup requires a slightly longer on boarding flow which we have been adjusting and optimizing. The end goal is making sure non-custodial staking is accessible for the average user while not compromising on privacy and security.
Visit KeyVault GitHub for a deeper dive into the open-source code.
Blox Staking User Experience
We created a staking environment that is not only secure, but easy to set up. By eliminating the need for long lines of code and commands, the Desktop app contains all a user will need to start their staking journey. From setting up their staking wallet and generating keys, to the creation of their Validator with our guided Wizard. The Desktop app also serves as a dashboard for monitoring Validators, APR reward performance and more to be added with every update.
Open Source And Secure – Zero compromises when it comes to security. Eth2 staking with Blox has to be as secure as DIY solutions, if not more.
Now that you have an understanding of our core fundamentals, it’s time to take you through our development journey. We encountered several successes but also failures, and each brought us closer to our final product: Blox Staking, fully on Desktop.
Blox Staking Pre Alpha Phase: Web AppStep 1 – Pre Alpha Phase: Web App
Our first product iteration was originally planned to be Web-based as that is the current industry standard. We quickly noted that a Web application would not be entirely user friendly for a non-technical user, as cloud environment setup would ultimately require manual command line input to be completed locally.
As such, the original flow included a written AWS setup guide to assist the user with this process. In order to complete cloud installation, the user would have to precisely follow the written setup guidelines and provide Blox with AWS keys.
Pre Alpha Flow Overview
This implementation proved to be cumbersome and confusing for our non-technical team members who tried it out.
Our intentions are to expedite the time to staking and hence we started to consider how a streamlined Desktop app could be developed for cloud installation to include less technical steps and deterrents for a non-technical user.
Key Insights from Pre Alpha:
- Cloud setup was not user friendly for non-technical users.
- Web flow was long and rigorous, technical obstacles presented as possible deterrents for users and could be simplified with a Desktop implementation.
Blox Staking Alpha Phase: Web + Desktop AppStep 2 – Alpha Phase: Web + Desktop
In our second iteration, we implemented a Desktop application that would set up the user’s cloud environment. This was intended to avoid user manual interaction with the command line.
Essentially, we divided the UI component of Blox Staking to be Web-based, and cloud setup to be run using a local CLI.
Alpha Flow Overview
The Alpha Desktop app included increased automation to speed-up cloud setup, but still required far too many complicated steps for the user. Creating the ideal cloud hosting environment for KeyVault turned out to be prone to user errors.
KeyVault holds the user’s signing key and its hosting environment must be set up perfectly to operate securely. Ultimately, Alpha included too many technical obstacles for a non-technical user to set up Blox Staking without the risk of introducing security vulnerabilities during cloud setup.
Key Insights from Alpha:
- User experience was awkward.
- 100% of Blox’s non-technical staff were able to run the Web app, but…
- A decent number of Blox’s non-technical staff were unable to run the Desktop app as they were handling command lines for the very first time. The Desktop app was ultimately hard to operate and error prone.
Blox Staking Beta: Desktop Staking AppStep 3 – Beta Phase: Full Transition to Desktop
Armed with more experience and insights from our Alpha Phases, we decided to try a completely unique approach. In Beta, we combine our Web app UI with the Alpha Desktop CLI to shift entirely to a Desktop application.
In doing so, we manage to significantly improve security, decentralization and user experience.
Beta Flow Overview
Key Insights from Beta:
- Combining our Web UI and Desktop CLI into a standalone Desktop application results in an ultra-secure staking environment, accessible to all users.
- The user no longer interacts with the command line, at all. – this removes the potential for setup errors and security vulnerabilities.
- Setup can be complete in record time!
Blox Beta is ComingPublic Beta is Coming
Blox Staking Beta is set to be released in September and we can’t wait to receive feedback and insights from the community. You will be an important contributor towards helping us shape the future of Blox Staking!
We are hard at work developing the following features:
- Multi-Validator Allowance – Users are currently restricted to one testnet Validator.
- CDT Contribution Smart Contract
- Improved Dashboard
We will keep you updated on our progress in future blog posts in this series. In the meantime, please join us on Discord to stay connected with the community.