• DaleGribble88@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 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
      ·
      10 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
        ·
        10 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.”