Another private data problem!
I would like to store some data in a Smart Contract, encrypted so nobody can see it upon some specific condition (time, or whatever).
For instance, after one year, this data could be decrypted and revelead, by the contract. One way to do it is to use an Oracle (I have a functioning version using Oraclize.it) where the data is encrypted using Oraclize.it public key, and decrypted by the contract by a call to the Oracle. The partial security is that only the smart contract call call the Oracle with this data, but the weakness is now Oraclize.it, the service....
There is one discussion here: Is there a strategy for keeping data "private" and then releasing it programmatically but as I said, the issue is that Oraclize.it might not be secure enough (it's a single point of failure)
What are alternative to achieve the same goal? Is there a way to store encrypted data somewhere that can be only decrypted by a smart contract? It seems that IPFS can not restrict the access of file to a single smart contract