Introduction
Introduction
Imagine to have Google Drive, where files are stored safely online, but instead to have files on Google server, where Google can see and read your data, the files are store on the blockchain, encrypted, where no ones apart from you can read them.
TRH aims to be a tool able to store your private data and to share data across people without the need to rely on any provider.
TRH removes the middleman from the cloud storage.
How it works
Your files are stored on the blockchain into a serie of transaction originated from the same private key and encrypted with a password.
Key and password can be generated with a passphrase or can be provided indipendently, this gives you the freedom to use your own key and password without rely on the ones generated by TRH.
Once stored the files can be downloaded from everywhere, you just need a copy of TRH and your passphrase/address-password, in fact to download data the key is not needed, you only need the address.
This allow a simple way of sharing data across people because you need to share only the pubblic address and the password.
It is possible to have a single key and to upload files with many different passwords, this allows to share different files with different people.
The key must contains enough funds to pay the fees to the miners to mine the transactions generated during the uploading. TRH uses only the strictly needed miners fee, and the amount depends on the size of the file. TRH allow to calculate the amount needed before to properly upload the file.
To retrieve a stored file from the blockchain you need to know the address of the transactions and the password to decrypt the content, so what is needed is one of
- passphrase (optionally a password)
- key + password
- address + password
From the version 0.1.0 TRH has an internal cache that reduce the amount of times a transactions has to be requested. Data in cache are the same available publicly on the blockchain, nothing is stored unencrypted and there’s no way to save passwords or keys.
Future plan
TRH is a CLI application but I perfectly know that the command line is a thing that scares the most of people so I will develop a way to make TRH accessible via a graphic interface. I don’t want to make TRH to become a website. TRH will remain a program that everyone can download and run. The only central point will remain the blockchain, nothing else.
The code
The code is not availabe poen source right now because I’m in active development with tests with private keys but my plan is to release it open source when it will have reached an acceptable level of maturity. There’s nothing hidden, TRH needs an Internet connection to connect to TAAL API to send transactions and to WhatsOnChain API to retrieve UTXO and transactions. No other connections are done, there’s no tracking of anything.
Licence (MIT)
Copyright 2021 ejfhp
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contacts
For issues or questions please DM on Twitter @ejfhp or send me a mail: ejfhp5 on Gmail.