• Alberat@lemmy.world
    link
    fedilink
    English
    arrow-up
    36
    arrow-down
    1
    ·
    4 days ago

    announcer: it seems that Russia has randomly selected their 3 time gold medal athlete again to compete! how lucky!

    • explodicle@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      4 days ago

      No problem, we can just put all birth certificates, death certificates, and government-issued ID (front and back) on the blockchain to ensure randomness.

      • klay1@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        3 days ago

        How would that work? I mean the blockchain part, not the personal information of 8 billion people in the hands of few people part.

        • Alberat@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          edit-2
          3 days ago

          you base the random dice roll on the proof of work of the block chain. proofs of work generate randomness because (proof by contradiction) if they didn’t it would be easy to find the next block and make a bunch of money.

          EDIT: more concretely, in a blockchain, “miners” compute a “hash” of the chain up to the latest block, with an extra random “nonce”. they then check if this hash has a certain distinguishing feature (eg 5 leading zeros). if it doesn’t have this feature, the recompute the hash with a new nonce. the rest of the bits in the hash thus become random. thus, if you commit to using a future hash to determine your lottery, it can be guaranteed to be random (or prove you have enough money to manipulate the block chain which is very difficult)

          • klay1@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 day ago

            does this need to be done 8 billion times or just for the number of olympic participants? I guess this is a resource question.

            • Alberat@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              just for the number of participants. and there’s a construction (a pseudorandom generator) thatll let you do it with one block