I plan to make an app utilising Ethereum that will store private data about a user. Eventually, I want this data to be accessible by selected users.
I have seen conflicting answers & discussions on various threads on SE, reddit, and, other articles about the best way to approach this. Though here are some options I have been considering:
I could encrypt with a key, and add to the blockchain, but, isn't this the equivalent of a database being hacked? The data is, of course, encrypted but it is available to the public (Vitalik suggests it is low-tech Could someone suggest why this is not a good method?). In addition, this could get expensive with a lot of transactions.
Use Quorum, not 100% sure if it's suitable for my use case.
Zcash may offer a private data solution (haven't fully looked into it), though I would rather keep to Ethereum if possible, may have a longer life.
I could Take a similar route as lemon email: message transaction data on ethereum, encrypted data on IPFS, frontend on IPFS.
I feel that 4 (lemon email) is the best option, though, kind of feels like cheating because the data isn't then on the blockchain.
Are there any other options I should consider? Is there a better way to implement this?