One challenge of writing verifiable programs on-chain is that the limitations of the chain (contract size, language constraints, etc.) make it hard to write complex programs. One solution is to write ...