IOHK | Ouroboros Genesis: A Provably Secure Proof-of-Stake Blockchain Protocol