This repo outlines the Jupiter Chain proposal for the storage of data in account-based blockchains for the purpose of data and consent management. Jupiter Chain use cases have three main considerations (refer to the whitepaper at https://jupiterchain.tech for more information):
- Identity and tracking of accounts
- Consent and permissioning of access to data
- Computation of data assessment algorithms
As such the proposed data model has the following goals:
- Registration of allowed owner addresses and data permissions
- Definition of data schema with functional relationships between data sets
- Storage and retrieval of data through standard data methods
- Optimal deployment, upgrade and removal of data set smart contracts and registry contracts without the risk of losing associated data
- Definition of data through a standard set of data attributes that describes the data
The data model will have the following characteristics:
- Standard functions and signatures
- Data schema that describes the data set properties and their relationships
- Facilitation of data normalization and data joins
- A list that records owner addresses for data permission
- Loosely coupled data set smart contracts and registry contracts resembling a factory pattern
- Isolated data set smart contract and registry contract deployment
- Data Attributes and non-personal data in Ethereum based blockchains are stored onchain
- Personal data are stored in secure offchain storage
- Onchain data are stored on user addresses
- Files are stored offchain
Based on the Jupiter Chain use case enterprise architecture we propose a data model for the Jupiter Chain and suggest an implementation using smart contracts. The repo is organised as follows:
- Andrew - @andrewtud
- Ernie - @ErnieTeo-JEDTrade