Vault

A Portex Vault is a smart contract that authenticates data provenance, provides persistent storage, and enables data to be exchanged.

Vaults enable sellers to always have their data available for sale, even when they're offline. In the first version of Portex, vaults store data offered by data sellers via call data.

All interactions with the Vault are governed via a set of contract functions that can only be called by authorized addresses as defined by the user. Users deploy and own their Vault contracts and can specify how it is used by managing access to these functions, which are described below.

  • storeData stores an abstraction of the data by passing encrypted data points as call data.

  • commitData provides a commitment that can be used to authenticate and list data in the marketplace.

  • transmitData creates a connection between the data buyer and seller to atomically tranfer the underlying data after a sale has been made.

  • purgeData enables users to delete their data by resetting the storage variables associated with that data point.

Vaults can be connected to any API via data adaptors, which handle fetching and authentication via API keys or OAuth. Adaptors also provide public identifiers for similar datasets so that data with the same provenance can be identified. These identifiers are passed as parameters when calling the storeData function.

We are evaluating multiple proxy re-encryption schemes and hope to share more about Vaults soon.

More details on Portex Vaults are coming soon.

Last updated