A Concurrent Perspective on Smart Contracts