I'm looking for a way for my contract to release a secret once some condition has been met (e.g. someone provided the right input). The question is where the secret could be stored in the meantime. Obviously the contract and its storage are public. And encrypting the data only moves the issue to storing the private key somewhere only the contract could access. Anyone here that has solved this chicken-egg-like problem?