Outsourcing Smart Contracts