storacha-network / specs

🏅 Technical specifications for the w3up protocol stack
17 stars 0 forks source link

"platform protocol": what happens when an added storage provider with a storage limit 'fills up' and someone wants to store more? #9

Closed gobengo closed 1 year ago

gobengo commented 1 year ago

Scenario:

  1. I create a space zSpace
  2. I add a storage provider to the space provider: "did:dns:free.web3.storage"
    • note that this 'free' provider will only provide up to 5GiB of storage
  3. I store 5 GiB of data in the space
  4. I attempt to store 100MiB more data in the space. Ostensibly I am blocked because my storage provider doesn't allow this. It only allows up to 5GiB.
  5. I decide I am willing to pay for a storage provider that will store more than 5GiB

What happens?

Gozala commented 1 year ago

In this scenario you just add basic plan provider which replaces the free plan provider.

Providers will have a way to describe terms and how they compose so when you add it we can show them and get user consent including communicate these things

Gozala commented 1 year ago

In the future we’ll add support for providers that coexist as opposed to replace one another & a store field in store/* capabilities so you could specify which provider to store with.

In the meantime all our providers just replace / amend each other so we don’t have to deal with it in the initial version.

gobengo commented 1 year ago

ok I'm hearing that changing storage provider will be able to have some kind of 'this new storage provider replaces that old one', which provides semantics that help with my concern that a 'remove storage provider, then add a new one' process leaves some ambiguity around how the underlying data is maintained across storage providers.

It seems like a corollary of that is that if you try to replace a 10GiB storage provider with a 5GiB one, and you're storing 6GiB of data, we should either block that replacement, or at least issue a big warning that some of the stored data will no longer be guaranteed to be stored.

Gozala commented 1 year ago

It seems like a corollary of that is that if you try to replace a 10GiB storage provider with a 5GiB one, and you're storing 6GiB of data, we should either block that replacement, or at least issue a big warning that some of the stored data will no longer be guaranteed to be stored.

Our current plans are effectively unlimited, downgrading plan just will charge you more for extra storage you use.

We will have to prevent going from payed plan to free if you’re storing more than what free plan gives you. Or perhaps send you a warning of sorts, telling you that you either have to pay for extra storage or risk loosing it. We could e.g archive but stop providing after some time.

This is a good question however, probably for @dchoi27 and @jchris. At the protocol level I don’t think we have to specify that much detail, I would hand weave here, saying it’s part of terms of service that provider imposes, out of bound right now & perhaps through protocol in the future