this post was submitted on 04 Feb 2024
237 points (99.2% liked)

Ask Lemmy

26875 readers
2064 users here now

A Fediverse community for open-ended, thought provoking questions

Please don't post about US Politics. If you need to do this, try !politicaldiscussion@lemmy.world


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 1 year ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] FaceDeer@kbin.social 3 points 9 months ago (1 children)

I could try explaining in more accessible terms, if you like. I actually enjoy discussing this stuff but I don't want to derail the thread or sound like I'm evangelizing.

I think solutions like this are best handled entirely on the back end, the general user wouldn't even need to know a blockchain was involved. The blockchain would just be a data provider that the instance software is using behind the scenes to track stuff. Just like how a general user has no need to understand how the HTTPS protocol actually operates, they just point their web browser at an address and the technical details are handled behind the scenes.

[–] maegul@lemmy.ml 2 points 9 months ago (2 children)

If you wanna explain stuff ... go ahead! I'll read it! You may find yourself writing something that belongs in its own post (perhaps just in a technology community) which you can then link to here.

[–] FaceDeer@kbin.social 3 points 9 months ago (2 children)

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 4 points 9 months ago (1 children)

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@lemmy.ml 1 points 9 months ago
[–] maegul@lemmy.ml 1 points 9 months ago (1 children)

Thanks!

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

[–] FaceDeer@kbin.social 1 points 9 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.