Designing Trustless Systems for Trusted Outcomes