Applications of Smart Contracts