FaceDeer

joined 1 year ago
[–] [email protected] 25 points 9 months ago* (last edited 9 months ago)

If your fingers are crossed when you check the "I Agree" box on their TOS then the terms are legally reversed and you control Meta's content rather than the other way around. It's in the Magna Carta.

[–] [email protected] 32 points 9 months ago (3 children)

Those adorable baby photos you posted for your friends and family? Sorry, they’re Meta’s now.

You literally gave them to Meta. You uploaded them to Meta after agreeing to Meta's terms of service, which essentially say "we can do what we want with the stuff you give us." Big Bad Meta isn't sneaking into your houses and stealing photos off of your nightstand, they're not "seizing" anything.

Also, Meta's AI "pipe dream" has so far been very successful. Their open-source libraries and LLaMA models have become industry standards. Their future work is likely to be productive.

[–] [email protected] 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.

[–] [email protected] -1 points 9 months ago

Yes, my point is that that sort of thing is exactly what blockchains are for. They handle all of that already. So there's no need for Fediverse servers to reinvent all of that, they can just use existing blockchains for it.

[–] [email protected] 0 points 9 months ago

To the first, there are a vast number of legal applications for blockchains.

To the second, it's not the same tech as it was 14 years ago. There have been a lot of advancements over that period.

If you trace ActivityPub's lineage back to its origin, it's 14 years old too - it started as OpenMicroBlogging in 2009. It then became OStatus, which became standardized as ActivityPub. It's barely the same thing any more. The same thing has happened with blockchains, the version of Bitcoin that launched in 2009 is nothing like the cutting-edge stuff like Ethereum is these days.

[–] [email protected] 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. :)

[–] [email protected] 3 points 9 months ago (4 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).

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

Fundamentally, blockchain solves the problem that there is no central source of trust, but in the Fediverse people necesarily trust the instance that they sign up

This specific situation isn't about the users trusting their instance, though. This is about your instance trusting what other instances are saying. If I wanted to run a community that had a rule prohibiting accounts that were less than 30 days old from posting, and someone with an account on another instance posts there, who do I check with to find out how old that account is? The instance the account belongs to could be lying.

Having a shared database that everyone's keeping a copy of and broadcasting updates to could solve that, but there's going to be a bunch of fiddly problems you'll need to solve. If you discover that your database has differences from some other instance's database, who's "authoritative?" How do you stop it from being spammed, forcing every instance owner to maintain gigabytes of useless fake records? Once you've solved all those problems I think you'll discover that you've ended up building something that's essentially your own blockchain, since this is exactly the sort of thing that blockchains were created for in the first place. So might as well use an existing one that's done all the hard work for you. Not to mention that the more people that are using the same blockchain the more secure against tampering it gets, everybody using it contributes to its security.

More generally, there are some situations where it would be nice if you didn't have to trust your own instance either that using a blockchain to record account information would allow for. For example, you could generate and attach a public/private key pair to your account. Someone else could then look it up and use it to send you a private message that's end-to-end encrypted in a way that even the admins of your instance wouldn't be able to read or tamper with. As far as I'm aware the Fediverse doesn't have a private messaging protocol built into it at all, let alone one that's end-to-end secure. Or if your instance abruptly shuts down you could use that key to add a note pointing to your new account on some other instance, without needing the old instance runner to do anything. This sort of thing would require support to be built into Fediverse clients, it's not simple, but if the clients are well written the user doesn't need to worry about any of that complexity themselves.

[–] [email protected] 1 points 9 months ago

It may be counterintuitive, but stakers don't actually have influence over the consensus mechanism. It's actually the other way around. Consider it this way; the stake that a staker puts up is a hostage that the staker is providing to the blockchain. If I stake a million dollars worth of Ether, I'm basically telling the blockchain's users "you can trust me to process blocks correctly because if I fail to do so you can destroy my million dollar stake." I have a million dollars riding on me following the blockchain's rules. That's literally why it's called a "stake."

The people who are actually "in charge" of which consensus rules are in use are the userbase as a whole, the ones who pay transaction fees and give Ether value by purchasing it from the validators. If some validators were to go rogue and create a fork that was to their liking but not to the liking of the userbase, the rogue validators would be holding worthless tokens on a blockchain that nobody is using. You can see the effects of this by the way the blockchain is continuing to update in ways that are good for the general userbase but not necessarily for the validators - MEV-burn, for example, is a proposal that would reduce the amount of money that validators could make but there's no concern that I've seen about the validators somehow "rejecting" it. If the userbase wants it the validators can't reject it without losing much more than they could hope to gain.

Ironically, proof-of-work is more vulnerable to this kind of thing. If a proof-of-work chain were to fork and a substantial majority of the validators didn't agree with the fork then they could attack it with 51% attacks. The forked chain would need to change its PoW algorithm to stop the attacks, and that would destroy all the "friendly" miners along with the attackers.

Validators in a PoS blockchain could also launch attacks at a contentious fork, but they'd burn their stake in the process whereas the validators that did what the userbase wanted would keep theirs. So there's a powerful incentive to just go along with the userbase's desires.

[–] [email protected] 3 points 9 months ago (7 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.

[–] [email protected] 1 points 9 months ago (2 children)

I've elaborated in some of the subsequent comments. I guess I wanted to "test the waters" a bit, if I got a strong negative reaction for simply mentioning a blockchain-based solution I would have sighed and moved on.

Proof-of-stake doesn't benefit larger stakeholders any more than it benefits smaller stakeholders, the common "rich-get-richer" objection is based on a misunderstanding of how the economics of staking actually operates. Since every staker gets rewarded in exact proportion to the size of their stake the large stakers and small stakers grow at the same relative rates. It's actually proof-of-work that has an inherent centralization pressure due to the economies of scale that come from running large mining farms.

view more: ‹ prev next ›