GAIA Decentralisation

I would like to ask how can we say gaia storage is decentralized as right now we are saving data into our own drives or on gaia which is on AWS where we put files, AWS itself centralized then how can we say gaia is decentralized? If I consider gaia storage store our own data into our own centralized servers instead of others then how can other get that data in terms of node like in blockchain concept or bitcoin?
Any help will be appreciated.
Thanks in advance.

Users can choose where their data is stored. Each user can store their data in a different location. Data is controlled by each user instead of the app developer.

We decentralize data storage with relationship to trusted 3rd parties - remove control from app developers, cloud storage providers, etc and give it to users.

Users should have centralized control over their own data. We don’t want a world where user control over their own data is decentralized - that’s just a roundabout way of saying all of their data is public, accessible by anyone at anytime without permission.


user control sure, but data certainly can!
as app developer this sounds like a formula for disaster!
my app will behave differently based on which user select which storage!

It’s correct that you don’t now which storage method your users take, but the Gaia make look everything look the same.
You get a unified interface for reading/writing data. The magic happens within the library (which will hopefully just work without needing you to take care of the inner workings :wink: ).

yes, but not ACT the same !
speed, latency and security are too wild!
meaning degraded UX !
will see …

Don’t need to care what happens internal is also the advantage at the same time I guess. Currently you cannot implement special handlers for different storage techniques. But it’s the best we have right now :slight_smile:

Anyway, I could imagine a library where you could take care of these things. E.g. you can implement a Dropbox storage handler that handles how things will go if the user chose Dropbox as storage, etc. But that’s a thing for future work.

To elaborate further on what @vsund said, the best way to implement application-specific storage logic today is to deploy your own Gaia hub and write a custom driver that can inspect a GET or POST and then decide how to handle it according to your specifications. This would let you do things like:

  • Store data for different applications in different jurisdictions
  • Store data for public consumption into a storage system like BitTorrent, IPFS, or the Web archive
  • Deploy multiple instances of your Gaia hub in different clouds, and then use a DNS load-balancer to direct GETs to the “closest” instance.
  • Require authorization to read sensitive data, in addition to encrypting it.

Once deployed, you will need to send a NAME_UPDATE transaction to point your Blockstack ID to your new Gaia hub (assuming you want other people to be able to read your app-specific data).

1 Like