Storage Updates & Future Plans

After many discussions with the Storj team and their community we have decided not to use them for our multimedia storage. They have told us that their systems are just not production ready yet and should be used with caution.

Instead, we have decided to run with our own decentralised storage solution utilising our already existing decentralised database that we built in-house. Here is a breakdown of how it will work:

Image is sent from the client (website) up to our server.

Image is renamed, encrypted and sent to the cloud for resizing and decryption keys are stored inside of our decentralised database solution.

Micro-service picks up queued image, decrypts it, resizes to 3 different sizes (if possible), encrypts the content again and stores in a permanent store location. We resize the image to multiple different sizes for different display scenarios on the website.

The encrypted images are stored in the cloud. Since they are encrypted, the cloud cannot access the raw data.

When the client (website) requests an image, the encrypted data is retrieved from the server, decrypted on our end via the stored decryption keys, and delivered to the client.

We are using the above as a temporary solution as it is not an ideal solution for a blockchain based application. We are currently in talks with a new project that has a proof-of-concept working with IPFS. They have agreed to help us set up a few small APIs so that we can test out their functionality, speed and integrations. If we believe it is a solid solution and a good way forward, we will merge over our current functionality.

IPFS is the Distributed Web: A peer-to-peer hypermedia protocol to make the web faster, safer, and more open.

Their flow is a true blockchain decentralised storage solution. This would mean that every single multimedia upload (images, and hopefully eventually videos and audio) will exist on the blockchain and will utilise IPFS as the protocol for uploading and storing. They state that their speed is comparable to industry standards, such as S3.

We can not state the third party that we will be using as it is not yet final. We hope to announce something in the coming weeks after a PoC is ready and we are happy with the code and speed.

As they are still performing tests before launching live, we hope to have something ready by around mid year if all goes well. For now, utilising our own decentralised solution is a very good start.