Demystifying Smart Contracts