Blockchain Technology and Smart Contracts