Engineering Update: Condenser Split, Key Backup, MIRA
Hello Steemians, welcome to our latest Steemit Engineering Update. You can view our last engineering update here.
The stand-alone Wallet application has now been live for over a week and is performing well. As we disclosed in our last update, that application now lives at steemitwallet.com. If you’d like to learn more about why we decided to go with steemitwallet.com check out the section "Why Steemitwallet.com" in our last update.
While we’ve been letting that release soak, we’ve been polishing off some minor PRs for the Social application and getting that ready to roll out. We are now very close to releasing the Social application! When that happens, steemit.com will no longer run a full version of Condenser. Instead it will run a stripped down version that will include just the social features of Steem which only require the use of one’s Posting Key. Because it’s a smaller application than the full Condenser, it will consume fewer resources on both our machines, and yours.
Password Backup PDF
These changes to Condenser will eventually enable us to prevent people from using their Master Password ever. We want to do that because your Master Password can be used to change all of your keys, which makes it very dangerous in the hands of a hacker. In addition, many of the people who create an account through our faucet only save their Master Password in browser, and never save their other keys. To help mitigate these issues in the short term, we have been working on a solution that renders a PDF containing all of a user’s Keys and their Master Password upon request, and strongly suggests that they print it out as a backup.
The main priorities governing the construction of this document are 1. ensuring that users have a backup of their keys and 2. beginning the process of educating users on what these keys do. There is no silver bullet to the issue of multiple keys.
If you’re going to have a token wallet (the crypto equivalent of a bank account) tied to your social media account, they will require separate keys. The solution is many lead bullets that gradually make the process easier and more intuitive over time. Education, user interface, and back end solutions will all play a roll. While this PDF might sound simple, we believe it is likely to mitigate a massive percentage of the issues people have with respect to losing access to their accounts.
We are in the process of integrating Coinzilla into steemit.com. Coinzilla is a crypto-focused ad network that enables us to generate more revenue through ads we display on steemit.com by having advertisers competitively bid for our ad space.
We have some exciting news about MIRA: it is now running in our dev environment without issue! We have a few minor tasks to perform before using MIRA in production, but once those are complete we should be able use MIRA in our production environment which will enable us to dramatically reduce the amount of RAM we are using in our nodes, which will significantly reduce the costs of running those nodes.
We’ve been focusing on improving the replay time for standard SSDs using MIRA. As of now the replay time is 2-5 times longer, however once synced the performance is excellent. We have concluded that we are reaching the performance limits of RocksDB, which is why we are working on a hybrid system that will allow us to reindex with the most expensive indices in memory using the current solution and then migrating to RocksDB on disk after the reindex is complete.
We’ve also put a lot of effort into configs which will make it easier for anyone to run MIRA. MIRA utilizes RocksDB which has many options that can be used to optimize performance for different hardware (e.g. SSD, HDD, NVMe). That means one size does not “fit all.” At Steemit we are currently using NVMe which is extremely fast, but also very expensive. Other people might want to run MIRA on more affordable hardware and for them our configuration may not work as well. We want to ensure that everyone can configure MIRA to run optimally on their specific hardware.
One of the great advantages of leveraging RocksDB is that it enables us to target any kind of storage medium. We could even get Steem running on spinning disk drives, however, at this point such drives are nearly obsolete and are not optimal for a blockchain with Steem’s speed. Instead, network attached SSD storage is a much more appropriate target, and MIRA puts that target directly in our sights.
Be sure to follow @steemitblog if you would like to see more engineering updates like these!
The Steemit Team