# Verifying execution of code in trustless environment

Let us assume I have a Program P running on remote computer generating output O. Without trusting the remote environment and not having to verify the output O, is there is a way to validate that Program P has indeed been executed and resulted in output O ?

Let me know if the question is too vague. I will clarify.

• What exactly is your goal? Is P known to the verifier, and he wants to be convinced that the "remote environment" is in the possession of $O$, the output of $P$? – Ariel Aug 18 '17 at 9:57
• Yes. P is know to the verifier. Verifier (V) wants to be sure that execution of P resulted in O. Trustless node T might cheat by submitting random O. V wants to ensure that what ever O might be, it is indeed generated by execution of P. – ivymike Aug 18 '17 at 12:58
• Cross-posted: cstheory.stackexchange.com/q/38837/5038, cs.stackexchange.com/q/80169/755. Please do not post the same question on multiple sites. Each community should have an honest shot at answering without anybody's time being wasted. – D.W. Aug 23 '17 at 23:40