We have temporarily locked posting on AskLemmy until the CSAM posting stops.

  • FaceDeer@kbin.social
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    10 months ago

    Gladly. Though bear in mind that although I’m a professional programmer, I haven’t programmed anything for blockchains specifically before so my understanding is at the “very interested outsider” level. :)

    Regarding proof-of-stake:

    Early blockchains relied on proof-of-work as a way to ensure that the people validating them were being honest. They had proof-of-work algorithms where you had to do an enormous amount of computation to validate a block. Anyone who wanted to produce a fake block would have to do a similarly enormous amount of costly work, so you could be reasonably sure that the blockchain was secure on account of it costing way too much to break that security. This had the downside of wasting an enormous amount of electricity, though. Lots of people who hated cryptocurrency hated it because of that.

    A year and a half ago, though, Ethereum switched to an entirely different system called “proof of stake.” Under proof of stake you don’t have to prove that you spent a lot of resources to validate a block. Instead, you put up a bunch of money (in the form of Ether) and stake it on the validity of the blocks you produce. If you produce a block that isn’t valid, your staked money is taken away and destroyed. This reduced the energy usage of the Ethereum blockchain down to just the routine cost of running ordinary servers. Folks who haven’t been keeping up with cryptocurrency developments often aren’t aware of this, though (and Bitcoin is still running on proof-of-work, which doesn’t help. But Bitcoin has fallen way behind other modern cryptocurrencies in a lot of ways, IMO it’s surviving purely on name recognition at this point).

    • FaceDeer@kbin.social
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      10 months ago

      Regarding “layer 2”:

      Every blockchain from Bitcoin onward has faced something called the “blockchain trilemma.” Security, capacity, and decentralization: pick any two. Security means “how much can you trust the data that’s on the blockchain to be correct?” Capacity is “how many updates to that data can be done per second?” And decentralization is “how much can the blockchain’s management be spread out among independent users?”

      If you do something that increases one of those three aspects then it necessarily requires decreasing one or both of the other two; it’s impossible to increase all three of them. This trilemma is kind of like a law of physics in computing science, anyone who says they can break it should be treated a bit like someone claiming they’ve invented a perpetual motion machine.

      Since we’ve long had stuff that sacrificed decentralization for capacity (credit card companies, for example, processes thousands of transactions per second but it does so by running everything themselves) blockchains have focused on boosting security and decentralization. As a result, blockchains had a low transaction capacity - sometimes just a few transactions per second. When there’s a low supply of something then high demand means its price shoots up, so whenever a blockchain got popular its transaction fees would go through the roof and it would lose a lot of usefulness (other than market speculation on its price). Blockchains with low transaction fees were either not being used for much in the first place or were compromising on their security or decentralization to accomplish it.

      Ethereum has come up with a mechanism that doesn’t exactly break the trilemma, but sidesteps it. The main Ethereum blockchain remains devoted to having high levels of security and decentralization, but it’s been updated to support a new type of transaction called a “rollup.” You can think of a rollup as being a summary of a whole bunch of other transactions that happened on a parallel chain. If you and I were to be exchanging tokens back and forth between us a whole bunch, for example, we wouldn’t need to post all of those transactions directly onto the Ethereum blockchain. Every once in a while we could just post a rollup that tells the main blockchain “since the last update FaceDeer has given a net total of 0.1 FaceCoins to maegul and maegul has given a net total of 28 MaeGold to FaceDeer”. There’s a bunch of fancy cryptography going on with rollups that allows the main chain to validate that this is legit without having to know all the details of how it happened. The rollups “inherit” Ethereum’s security and decentralization through this mechanism. Since rollups are acting like a kind of secondary blockchain that’s sitting on top of the foundational blockchain, they’re referred to as “layer 2.”

      So that means that although Ethereum transactions are still expensive, you can cram an almost arbitrary amount of activity into each one. That can make rollup transactions cheap enough that an instance owner would only need a couple of dollars’ worth of Ether per month to support their instance’s use of the blockchain to record data, which would likely be a lot less than their electricity bill or bandwidth costs

      Ran out of characters in this response. Hope that was helpful/interesting. :)

    • maegul (he/they)@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      Thanks!

      FWIW, I was vaguely aware of ethereum’s movement to proof of stake. But not very aware! Thanks!!

      • FaceDeer@kbin.social
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        10 months ago

        No problem. I split my comment in two because I ran into the 5000 character limit, BTW, in case you didn’t see the other half.