What are Smart Contracts and are Smart Contracts Halal?