  Delegation of cryptographic signing rights has found many application in the
literature and the real world. However, despite very advanced functionalities
and specific use cases, existing solutions share the natural limitation that
the number of usages of these signing rights cannot be efficiently limited, but
users can at most be disincentivized to abuse their rights.
  In this paper, we suggest a solution to this problem based on blockchains. We
let a user define a smart contract defining delegated signing rights, which
needs to be triggered to successfully sign a message. By leveraging the
immutability of the blockchain, our construction can now guarantee that a
user-defined threshold of signature invocations cannot be exceeded, thereby
circumventing the need for dedicated hardware or similar assistance in existing
constructions for one-time programs.
  We discuss different constructions supporting different features, and provide
concrete implementations in the Solidity language of the Ethereum blockchain,
proving the real-world efficiency and feasibility of our construction.
