decentralized-identity / confidential-storage

Confidential Storage Specification and Implementation
https://identity.foundation/confidential-storage/
Apache License 2.0
79 stars 23 forks source link

Collaboration with Datashards #61

Open emacsen opened 4 years ago

emacsen commented 4 years ago

At RWoT9 in Prague, SDS met with Datashards to discuss compatibility. We (Datashards) believe that Datashards could be the right choice as a fundamental storage primitive to build SDS on top of.

Datashards is currently opening for discussion as we begin to solidify the specification and believe thatt this would be the ideal time forour two groups to be working together.

Is there interest in collaborating?

dmitrizagidulin commented 4 years ago

Hi @emacsen, welcome! There is definitely interest in collaborating, and in fact, the Datashards paper and draft spec was one of the inputs that we studied in the original Encrypted Data Vault paper.

So yes, please, come join the discussion!

OR13 commented 4 years ago

Wondering if there is a way for us to design interfaces such that storage primitives are swappable.... I imagine that some solutions might apply to many layers, and that will proper abstraction and interface design, it should be possible to replace a given abstract interface / layer with a concrete implementation.

cwebber commented 4 years ago

To help a bit with conceptualizing how Datashards layering works, here's a diagram which I'll explain a bit better on a future call. MDSC stands for Mutable Datashards Capabilities, and IDSC stands for Immutable Datashards Capabilities.

.------------------------------------------------.
|                      MDSC                      |
|================================================|
|                    mdsc: uris                  |
|    [write-rv cap] [read-v cap] [verify cap]    |
|------------------------------------------------|
|                    client                      |
|------------------------------------------------|
|   client registry "object" |  server registry? |
'------------------------------------------------'
                        |
                        V
    .---------------------------------------.
    |                 IDSC                  |
    |=======================================|
    |               idsc:uri                |
    |---------------------------------------|
    |                client                 |
    |---------------------------------------|
    | client store "object" | server store? |
    '---------------------------------------'
msporny commented 4 years ago

Would it be possible to modify hashlinks so it supports all Datashards use cases? What is the definitive list of reasons that Datashards didn't use Hashlinks? Too much cryptographic agility? Anything else?

emacsen commented 4 years ago

@msporny I think it would be possible to convert Datashards isdc urn into hashlinks, with the understanding that the content is going to be encrypted.