Skip to content

Add Storacha UCAN Delegation / custom OrbitDBAccessController to replication demo #14

Description

@NiKrause
  1. Alice has access to a Storacha Space via either Storacha UCAN or Storacha credential (key+proof)
  2. Alice and Bob are NOT sharing a todo db - both have separate todo db's with custom UCANOrbitDBAccessController
  3. Alice adds a todo to her db and assigns it to BoB's DID
    • while same time adding his DID to her UCANOrbitDBAccessController (so Bob can write to it)
    • while same time delegating her Storacha space access rights to Bob by storing the UCAN with the UCANOrbitDBAccessController
  4. Bob is opening Alice db' finishes the todo (writes to her db) - Alice receives the updated todo item via replication
  5. Bob makes a backup to Storacha with his UCAN delegation from Alice
  6. Alice drops her db - creates a new one and restores the db from her Storacha space - containing finished todo

Remarks:
a) When Alice grants Bob db access, she creates a UCAN for him also allowing him to store theoretically EVERYTHING into her Storacha space - if Storacha would support OrbitDB we could extend the capabilities to allow Bob to store only db data related to a certain db (to Alice DB!)

b) When Alice grants Bob db access, she creates a UCAN delegation for her space right now with a 24h access, this might be ok for demo purposes but should be possible to be entered in the UI.

c) Alice needs a view where she can see whe else and how long she granted access too and should be able to revoke the access Question: When revoking access from a UCAN who get's informed about it? Storacha?

d) As Alice creates a UCAN for 24h we could just use the Storacha write capability as indicator flag if Bob can write to her db , that way the permission would be possible to be limited in time
e) we need to revoke the UCAN via Storacha API, when OrbitDBAccess is revoked.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions