trustbloc / edv

Encrypted data vault implementation in Golang - https://identity.foundation/edv-spec/
Apache License 2.0
16 stars 17 forks source link

Figure out better way to manage encrypted indexes than using the tag mapping documents #218

Closed DRK3 closed 2 years ago

DRK3 commented 3 years ago

When the EDV server is asked to write an encrypted document with encrypted indexes, we create some mapping documents that allow us to query for it later via our storage implementations. This was originally done in order to work around a limitation with CouchDB, which was that we couldn't index on an array. Our implementation also supports in-memory and MongoDB as backing stores, neither of which has this limitation, so we could get more efficient performance if we custom tailor our storage implementations to the capabilities of each one.

Right now the storage is abstracted away via the aries storage interface we import in, which wouldn't allow us to achieve this easily. May need to make a custom implementation in this repo.

DRK3 commented 2 years ago

237 Improves this by removing the mapping documents, but a custom implementation (or expanded storage interface) could improve this further.