Skip Navigation

You're viewing a single thread.

53 comments
  • How does blockchain make karma more secure and useful? Isn't it just a count of upvotes stored in a database? Or is community points something different?

    • Why do worthless internet points need to be made more secure anyway?

    • By putting them on the blockchain it would at least make them a public database, where you'd be able to see if Reddit admins tried to do any tampering.

      • Except that if you control the majority of computers that said blockchain is stored on, you can just edit the chain. And now that's the "official" story.

        • No, you can't just "edit the chain." You'd need to fork it with new rules to have it accept whatever arbitrary transaction you wanted to insert. Furthermore, even if the blockchain was set up in such a way as to make that easy, it would be obvious to everyone what had happened. The blockchain is a public database. Reddit's back end is currently a private database. If Reddit changes a karma score or whatever over on their current private database, how can you tell? How can you prove it? If they try to do something like that with a blockchain everyone will see it.

          Assuming it even works - you speak of "controlling the majority of computers" as if it's something that's easy to do. Reddit's "Community Points" tokens are on the Ethereum blockchain. Under its current consensus algorithm you'd need to control 66% of the stake. The current amount staked is 21921671 Ether, which at current prices is 41.4 billion US dollars. You would have to buy on the order of 50 million Ether to overcome the existing stake, and there simply isn't that much available for sale so the price is literally incalculable. They've made it a very hard blockchain to break.

          • You can edit a blockchain without introducing new rules. The most obvious way would be to already have rules that allow you to edit it. If someone made a comment containing illegal content, Reddit would need to edit that previous block, they can't just mark it as deleted in a new block since they would still be hosting illegal content in that case. Another way is a blockchain re-org. If you keep all signed transactions, you can rebuild the blockchain while excluding unwanted transactions. That's what a 51% attack is essentially used for.

            Blockchains don't have to be public any more than any other databases have to be public. Git repositories are technically blockchains, and are often private.

            If reddit made their traditional database public, it would be just as possible to tell any changes they made by comparing it to the previous state. A blockchain would make it a lot easier, but not any more possible.

            I think he was talking about reddit keeping karma scores and comments on a blockchain, not about the community points. Just from a practical standpoint, Ethereum would not be able to handle the volume of reddits data even if 100% capacity was dedicated to reddit.

            But coming back to the community points, I can nearly guarantee even without looking that it's a token on ethereum blockchain. Tokens are custom coded, they can and often do have functions for admins such as issuing tokens, removing tokens, freezing addresses and pausing all token transactions. They also very often include an "upgrade" mechanism where the token code can be essentially rewritten.

            • If you don't want the blockchain you use to have those features then don't use a blockchain with those features in it. Ethereum doesn't. Token contracts or rollups don't have to have those features, and when they do have them they can be locked behind conditions that prevent unilateral changes. IIRC community points are on an Arbitrum rollup, which is currently in beta but which will be removing its own update functionality once it is mature.

              I doubt anyone is seriously proposing to store the actual contents of posts or comments on the blockchain directly, blockchain space is far too expensive and inefficient for that. This is just about storing karma or community points, a simple numeric value for each user.

          • $41 billion actually seems alarmingly low. A rich enough billionaire could easily stake enough to manipulate the market then, no?

            • No, I went into a bit more detail in the next sentence. If we were to assume a billionaire with nigh-infinite wealth he would probably still have quite a challenge ahead of him if he wanted to manipulate the Ethereum blockchain.

              For starters you can't simply go up to the existing stakers, hand them a big stack of cash, and tell them "your Ether is mine now." The Ether that is staked is not for sale. It can be put up for sale, if the staker desires, but given that it's currently staked and not on an exchange somewhere that means that the stakers don't currently want to sell it.

              So Mr. Moneybags is going to have to buy Ether from external exchanges and put that up as a stake such that they will have 2/3 of the stake while accounting for the fact that he doesn't own the 20 million Ether that's already staked. So he's going to need about 40 million Ether (40/(40+20) = 2/3). At current market prices, 40 million Ether will cost $75.5 billion.

              But there's yet another hurdle. There isn't actually 40 million Ether for sale on the exchanges right now, either. There's only 120 million Ether in existence, and much of that is bound up in various contracts (staking, stabletokens, layer-2 rollups, etc). So if he goes to the exchanges and just starts buying whatever is available the market is going to see that there's an insatiable demand for Ether. The price of Ether will rise. If it rises enough people will start prying their Ether out of wherever they've stashed it, because now they can cash in and make bank off of Mr. Moneybags who's making it rain over on the exchanges. It's going to cost way more than a mere $75 billion dollars. Elon Musk is currently worth $238 billion, I wouldn't be surprised if his entire net worth wouldn't be enough to accomplish this.

              Let's say that Elon and Bezos and a bunch of others pool their money to do this. This is economic activity without historical precedent, a vast transfer of wealth from the pockets of the rich and powerful to... a whole bunch of random cryptocurrency holders around the planet. This will be very notable, I'm sure, and I suspect that there'll be major governments very curious about where all this money is going and why. They'll want their cut, or they'll reflexively go "don't understand this so better ban it", or assume it's a big money laundering thing, or something. Yet more obstacles to overcome. It's possible to overcome them but not easy on this scale.

              continued next comment, for the first time I've exceeded the comment size limit

              • So we'll assume that's all magically resolved. A vast fortune has been spent and the Meddlers' Conglomerate now has 40 million Ether. Just need to stake it and the blockchain's theirs now! Except there's another problem; Ethereum's staking contract has a rate limit on how fast Ether can enter or exit it. This was built into the system to smooth out any sudden shifts like this. The rate is 57600 Ether per day, so it'll take 694 days to finish moving those 40 million Ether into the staking contract. Almost 2 years.

                Alright, it's been 2 years and now the Meddler's Conglomerate has moved their vast fortune into the staking contract. The whole world has been watching with bated breath, because there's no way that you could do anything like this secretly - the blockchain is an open book. Maybe somehow they've managed to keep their real-world identity secret (though people are perhaps wondering about the coincidence that Elon Musk, Jeff Bezos, and a couple of others are now drawing welfare cheques) but the pattern of activity on the staking contract is in the clear so everyone knows which staking accounts belong to this giant whale of a staker. Let's see what they do!

                So they're rejecting certain transactions relating to the Reddit community point rollup. Note that there are ways you can write a rollup contract that would prevent the base layer from having any say in what goes on inside it, but let's assume that Reddit wrote it stupid and they're able to have some sort of impact. The rest of Ethereum's userbase nods, saying "aha, I figured they were probably up to no good." At which point they roll out a User-Activated Soft Fork for Ethereum that locks those 40 million Ether. There is nothing that stakers can do to prevent a user-activated soft fork from going into effect provided basically all the users want it to go into effect. It's a nuclear option, but the Meddler's Conglomerate started the nuclear war first and this will finish it. The Meddler's Conglomerate now owns zero Ether. They are broke. They probably didn't even manage to disrupt the blockchain much in the process, aside from making a bunch of cryptocurrency speculators insanely wealthy.

                This scenario, "what if someone with infinite money wants to do something nefarious?", has been war-gamed and planned for in excruciating detail for nigh on a decade now. Ethereum's built a lot of very robust mechanisms to prevent it. And whenever a token or rollup spins up that's "on the Ethereum blockchain" they inherit all of that security.

                So yeah, for all Reddit's faults and all that people might pooh-pooh "cryptobros", this actually is one of the better ideas they've had in a long time. It's more secure and more open than running it on their own in-house private database.

        • You'd have to own all of the ledgers.

    • Community points are different. They are only used within a community, mainly in crypto communities.

      The idea is that instead or in addition to worthless upvotes, you can send users a sort of tip for their comments and posts. The tip is a digital coin, and the recipient can give it to other users or sell it for real money (presumably to another user who will use it to give someone a tip).

      Obviously if real money is involved then blockchain is preferable to trusting reddit admins. And the idea isn't totally stupid, IIRC there is/was a similar internet currency that you could use to "buy a coffee" for your favorite content creators in the pre-Patreon days. But I have no idea if the reddit version is implemented sensibly.

53 comments