• DaleGribble88@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 months ago

      Sure! So some students of mine were working on a multiplayer video game that was started by a different group of students the previous semester. The first group of students made a design choice that, to over-simplify, basically tracked achievements and milestones on the client side and then synchronized those achievements to the server. Players could cheat the system by sending malicious packets of achievements to the server. Some achievements could only be completed by a single person in the game, so this was a big problem for the 2nd group of students to overcome. Faced with the choice of rearchitecting the game to be more authoritative on the server and less resilient to frequent disconnections, which affected some aspects of the game, or creating a logical and verifiable sequence of in-game events on the server side. The students went with the latter, and implemented a Lamport clock using a blockchain to verify the authenticity of the events, and prevent a rogue student from updating the game later to give themself a bonus. Basically, along with needing an authoritative sequence of events that is protected from user interference, it also needed to be protected from developer interference.

      It was kinda similar to that situation a few years back of the EVE online developers playing the game and giving their guild members certain bonuses and special in-game items. The solution there was to fire the malicious developers, but I can’t exactly fire an entire class of students from an educational project.

      • hemmes@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        6 months ago

        To your edit; it was a great example, but if you say anything positive about blockchain (or Apple, or capitalism, etc) you’ll likely be heavily downvoted on Lemmy.

        • DaleGribble88@programming.dev
          link
          fedilink
          English
          arrow-up
          0
          ·
          6 months ago

          Yeah, I think that seems to be the case here. It just feels to weird me to have a politicized data structure.

          “Remember kids, only coke-fiends and meth-heads use Binomial Heaps.”