Standard Grant: Tiri Vault

Introduction

Project name

Tiri Vault (ARC data wallet)

Name of the organization or individual submitting the proposal:

Registered Legal Entity: BELA SUPERNOVA, sistemske rešitve d.o.o.

Registered Address: Tabor 5a, 1380 Cerknica, Slovenia

Describe your project

Bela Supernova has developed a simple browser extension – the Tiri Vault – an easy to use SIA network data wallet with features for managing files stored in the SIA network. The Tiri Vault data wallet is a light client-end solution enabling private users to use the SIA storage network independently through a browser extension without a need to download and sync the SIA local node.

A demo video of the basic features of Tiri Vault you can see in this video.

A test operation of the dAapp has shown that it is a simple and convenient method for retail use of the SIA decentralized storage. However, user feedback clearly indicates that it is necessary to develop the Tiri Vault application towards a desktop background app so that users could work with files directly in the local file system.

This task partially addresses the RFP “renterd iSCSI/NFS integration.” However, since we are working on a personal application, integration with a file folder on the local disk seems more applicable in this case, rather than emulating a network disk. Moreover, such functionality can be developed using JavaScript, which will allow us to leverage the existing JS code of the Tiri backend.

Who benefits from your project?

With the increasing reliance on cloud storage solutions for managing digital assets, individuals often find themselves grappling with the challenges of managing files across multiple cloud providers. Furthermore, concerns about data privacy and security have prompted users to seek alternative solutions to safeguard their sensitive information. In response to these challenges, third-party data management applications have emerged as a viable solution, offering users the convenience of managing files from different cloud storages within a single interface while bolstering data privacy through client-end encryption mechanisms. This convenience and increased privacy cost users an extra price, usually comparable to the cost of the storage itself.

The Tiri Vault concept is to bring crypto wallets use case to a files storage workflow to provide private users with the highest level of privacy by leveraging the blockchain technology and client-end encryption with the convenience of common web2 era storage services – all that for a reasonable price in crypto.

How does the project serve the Foundation’s mission of user-owned data?

Personal files are considered as crypto assets and managed alike in a non-custodial manner. Only the user holds the keys, not a solution provider. Considering the implementation of the SIA network, Tiri Vault acts as a gateway for multi-user access to the storage network, but users’ files are encrypted on the client side with the user’s wallet key, so Tiri does not have access to anz of the user’s files or other data. Tiri Vault is an open source project and uses common SIA wallets for authorization and encryption.

Grant Specifics

The project will be supported by a group of 2 developers, 1 QA + PO and a UI/UX designer.

The total budget for the MVP development is estimated at $ 50.400 including: team’s salary (estimated FTE for this proposal is 8,4). The team is better to be paid on a monthly basis, but we can also split the work in 3 milestones to be paid upon delivery, but with the first milestone prepaid.

The timeline for the Tiri Vault local daemon MVP development is considered to be four months. As a result of this project we will deliver a working Windows app that supports files synchronization between a local file folder and the SIA blockchain using user’s wallet credentials for access and encryption/decryption.

We plan to execute the work in three milestones/steps:

  • Disk change Tracking and Synchronization (17.600 USD; 1,5 months);
  • WebSocket Server and Storage Change Tracking (17.600 USD; 1,5 months);
  • Application UI/UX (15.200 USD; 1 month).

Risks

We see several risks both from a business and technical points:

  • synchronization issues: e.g. a user works from different devices and being offline corrected a file on several of them. Then the user get’s online and both devices start synchronization. The logical way is to check correction time and upload the latest, but there could be different situatuions and we will have to test different algorithms.
  • the local node is a problem itself, as we have to add an intermediary server to process user’s files. If the workload will be high (a lot of users with huge synchronizations) it could cost a lot to provide appropriate resources for this work. We will need to optimize intermediary storage algorithms, but after we meet these constraints.
  • also I see one risk in the future - due to lack of smart contracts in the SIA network we can meet some intricacies in providing product features. For example, we can provide file sharing mechanism by changing a smart contract (in our PoC in FVM) for a server feature and the entire access list will be stored as an encrypted file in the user’s SIA storage, but this method could have processing speed issues and will require a user, receiving access, to get the file through the server as well. This type of tasks should be reviewed and solved on the later stages of the project.

Development Information

Will all of your project’s code be open-source?
Yes. All code will be opensource and delivered under the Apache 2.0 license.

Leave a link where code will be accessible for review.
The code will be available in our GitHub.

Do you agree to submit monthly progress reports?
We agree to submit monthly progress reports here in the forum. Additionally, all milestones will be delivered with a video demonstration of the results (in case UI demonstration won’t be available as a result of a milestone, we will show code execution).

  1. Disk Change Tracking and Synchronization (1,5 months)

Deliverables:

  • implement recursive downloading of all folders and files and saving them to a local disk;
  • develop a mechanism for tracking changes on the disk like adding/deleting/modifying folders and files. These changes will trigger synchronization with the SIA storage. Files will be encrypted with the user’s key and sent to the network using the Tiri Vault node/server. Before sending, all files will be split into chunks.
  1. WebSocket Server and SIA Storage Change Tracking (1,5 months)

Deliverables:

  • create a WebSocket server to receive information about changes in folders/files in the SIA storage;
  • implement changes tracking in the SIA storage disk like adding/deleting/modifying folders and files. Changes in the SIA storage will be synchronized with the local app using the WebSocket server. Received data will be decrypted with the user’s key and saved to the local disk to the appropriate folder. This will enable users to work across multiple devices, with changes synchronized between them.
  1. Application UI/UX (1 month)

Deliverables:

  • develop a Windows application with various settings, including: user authorization with a wallet key, setting a local password that encrypts the user’s secret key for file encryption and stores it encrypted on the local disk, managing tariffs, managing synchronization settings, managing local folders for synchronization;
  • the app should work in the background when.

Future plans:

We see the development of the Tiri Vault as two complementary products: the entire Tiri Vault and the Tiri Collaboration Suite.

The Tiri Vault should consist of a personal file storage wallet developed for use in all desktop and mobile environments and a Secret Notebook for storing short text credentials like passwords, credit cards data and etc. that will be stored in a separate encrypted file in a user’s SIA storage and uploaded by a user’s browser to be safely used in online forms on web sites.

The second product is the Tiri Collaboration Suite, that includes safe files sharing functionality: a dedicated ACL file encrypted and stored in a user’s personal SIA storage:

Currently we are developing the Tiri Vault whitepaper and a financial model for the product presentation and funding acquisition.

Contact info

Email: [email protected]

Telegram: @dsrdrk11a

Thanks for the updates to your proposal! The committee is pleased with your updates but after review is requesting one further piece of information.

  • Your proposal lists no risks, which is a required section of the proposal. Please update your proposal with any potential risks that could affect your project.

We’ll keep your proposal in the Proposed section of the forums. Thanks!

@frances thank for your comment. I’ve just added the “risks” part to the application.

Thanks for the requested updates to your latest proposal. The committee felt your identified risks were reasonable and after review has approved this grant!

We’ll reach out to the provided email address to get you onboarded for this new work. Since you’ve previously received funding from us it should be a fairly quick process. Congrats and speak soon!

1 Like

Wow, thanks for the support! Looking forward to deliver!

October Progress Report

What progress was made on your grant this month?

We have developed a base Tiri desktop application and implemented in it Tiri browser extension features - now you can log in with your existing SIA wallet or make a new wallet. When logged into the application you can see a “sync” menu where you can choose a directory on your local disk that will be synced with your private SIA storage.

Summarize any problems that you ran into this month and how you’ll be solving them.

The main task for now is to refactor the interaction with sia-worker for file handling. This is necessary because the Tiri browser includes a web-extension worker, but now it’s becoming a regular one. We have already implemented this in the authorization code, and now file handling is in process.

Links to repos worked on this month:
Tiri desktop
The current version of the executable file (for Windows) is here

What will you be working on next?

Our plan for next two weeks is to finish with files uploading from the chosen local folger to the SIA storage (including encryption).

Sorry, the link to the exe file is not working and I can’t correct my post. So, if you don’t want to build it yourself, here’s the correct link.

Hello @dsrdrk11a

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee