• Tolookah
    link
    fedilink
    arrow-up
    4
    ·
    2 months ago

    Everyone throws a number at the same time, the result is the checksum/sum of the throws. Server throws first publicly, keeps the device Numbers secret until the last throw. It’s not perfect, but it’ll do.

    • xmunk@sh.itjust.works
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      2 months ago

      Your scenario assumes a trustworthy server that won’t manipulate the secretly held ledger of throws - it also doesn’t seem resilient to even a single bad actor client as there isn’t a clear way for the server to choose a result (though maybe your imagining everyone submitting a 1 or 0, summing those numbers and then mod 2ing the result?)

      Edit, actually to that point OP - it’d help to know what lack of trust we’re optimizing for - the comment above (assuming the mod2 approach) would work for a very large untrusted pool of servers as long as you fully trust one arbitrator server - while other concensus based approaches would work better for a network of servers that are mostly trust worthy but contain a proportion of untrustworthy servers.

      • Tolookah
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        But the hosting/tabulating server could publish the data afterwards, make it all public.

        • xmunk@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          Let’s break out some scenarios, I’ll assume we are always an honest actor…

          Scenario 1, the data is all collated and published - you look at the ledger and see the value you reported is accurately recorded in the ledger… you poll other servers and they all also report that the inputs were accurate, you also take the ledger and re-evaluate the result and it matches what the server reported. What action should be taken? How many bad actors exist? Is the server a bad actor?

          Scenario 2, the server collects and reports the data, the ledger looks right to you, but one server reports that their value was manipulated. The ledger does match the computed value though and it’s currently 1, should it be 0 instead? What action should be taken? How many bad actors exist? Is the server a bad actor?

          Scenario 3, the server collects and reports the data… 70% of clients report manipulation, the ledger is consistent, though. What action should be taken? How many bad actors exist? Is the server bad actor?

    • AndrasKrigare@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      Specifically one of the imperfections is that the server and players are not trusted. If a player doesn’t like the result, they could claim the server lied about what number they had picked, or the server could actually lie. The remaining players wouldn’t know which one is telling the truth.