Soft question: program result verification
I found out that this is called Verifiable computing:


  Verifiable computing (or verified computation or verified computing)
  is enabling a computer to offload the computation of some function, to
  other perhaps untrusted clients, while maintaining verifiable results.