Distributed Key Generation: Writing Smart Contracts and Combating Bad Actors