After creating a small proof of concept and being accepted in the Nest program, we started our work on the Datastore and Drive App in August.
If you are not familiar with our projects, the Datastore is a distributed storage library based on Aragon and Drive is a Dropbox-like app specifically designed for DAOs. You can learn more about us and our projects here or on our GitHub repositories. Here is what we have been working on during the last two months.
Several settings in the Datastore can be modified to customize its behavior, such as the choice of storage provider, the provider’s server information, the encryption algorithms, etc. But up until now, those settings were hardcoded and not actually saved anywhere. It was therefore a priority for the team to store them in the smart contract so users could benefit from them. With this new component in place, it was possible to add this new configuration section to the Drive App.
We have completely redesigned the user interface for the permission panel. This new panel allows the user to set multiple permissions on multiple entities in one transaction. Not only does this save on overall gas consumption but it is also now easier and more straightforward to add, remove and modify existing permissions. You can view a small demo of the panel here.
Security is of paramount importance when managing files that may contain sensitive information. And one of the first lines of defense to prevent and reduce the risk of attack vectors is to have well structured, documented and fully tested code.
Another goal for our first milestone was to leverage the Access Control List on aragonOS to manage the Datastore permissions. We have experienced a few obstacles for this task regarding the higher transaction gas cost and the greater complexity to implement some of the features we had initially planned. And though we have a working implementation, we are still evaluating the best option to choose in order to achieve the most desirable user experience.
For the next quarter, the team will focus on the encryption mechanisms that will be used to securely store private files. We will also optimize the smart contracts to reduce gas usage and total bytecode of the app. Finally, we will start testing Keep as well as other decentralized privacy layers like Enigma.