To simplify matters, phase 1 should not have a solidity smart contract validating running the rules.
Thoughts:
- The rules should be published to IPFS (and pin accordingly)
- The rules should be ran by both the user (if interacting directly using Ethereum), Front End and Backend (for extra validation).
- The rule set (IPFS address(es)) should be stored in the smart contract.