New to this platform but I just did a little test and it looks like I can upvote between accounts thus artificially inflating my own vote count - is there any mechanism to prevent this planned or otherwise?
This is a vulnerability.
One way is to change it so that upvotes don’t go to the OP - instead they’d go to the site.
Another is a 50/50 split between the OP and the site.
There’s a lot of variations on this theme.
Another is defenses trad sites use.
I’d love to have a brainstorm on it. I’m sure the community as a whole will come up with something better than I will.
reply
I think something creative that aligns incentives could be possible, and more interesting than simply "OP doesn't get paid".
Couple ideas...

Staking

What if you had to stake to post? What if community members could add to the stake? What if some kind of vote+comment signature had to materialize, else you and others lost the stake? So, if you staked 1000 sats, you would effectively be saying "I think this post is worthy AND if it turns out that SN thinks i'm trying to game the system, I lose my stake". If you posted, and then gamed it, upvoting your own post from say 3 other accounts with large amounts, then nobody else upvoted it with even small amounts, then stacker.news would detect the voting distribution as compromised and distribute to stakers on other posts who did prove to have organic voting signatures. This only works if there are common voting distributions (amount, count, users, and time) for organic upvoted content while compromised content would have flawed distributions.
Stakers could get their own sats back and either a portion of the upvotes or the sats from posts that were deemed compromised after say, one week.
A mechanism like that could turn curation into a profession.

Algorithm

Another idea is just do smarter math, that is harder to game.
  • Boost the weight of regular voters and posters with regular voting patterns.
  • Dampen the weight of one-off-votes or new accounts
  • Stacker.news keeps/ignores the sats from largest vote(s)
  • Stacker.news keeps/ignores the sats if you spend say, more than 50% of your balance on one upvote if it's spent inside of a month. ie, new user + yolo-ing-voting =
  • Figure out a penalty mechanism for votes from new users. Eg. vote_power = votes_from_seasoned_members / votes_from_new_users
basically...get creative with variables like these...
age_of_post age_of_op age_of_voter age_of_average_voter age_of_average_commenter voter_balance voter_average_vote_amount voter_total_vote_count voter_std_deviation_vote_ammount posts_comment_count posts_vote_count clicks_vs_vote_count clicks_vs_vote_amount
I could go on...
reply
I like the idea of staking. My main issues with it
  1. the UX is tricky - it's quite a cognitive load to wager 1000 sats on other people seeing and agreeing with you or waiting for mod to grant you the stack back. This perhaps makes sense as the community gets larger - it's worth risking the sats as you hope to get even more back.
  2. It could deter posting/commenting too much.
Messing with the ranking algorithm could work. HN and reddit do this I'm sure, but given that the source is open, the algorithm would need to account for that; e.g. age of account would easily be gamed, as could post and comment count. Also, most of these other tweaks prioritize seniority effectively, which is why HN IMO is hostile to Bitcoin in the first place. We'd have to be careful to not recreate their problem - 40 and 50 year olds running the site.
BTW, tips don't factor into ranking right now. Just upvotes which are capped at 1 sat/user. Every additional sat is not considered in ranking - they're just tips that go to the user.
Another angle: rank purely by the amount of sats paid to the site for a post. That way it always costs something real to rank higher and it's also straightforward in terms of cognitive load. But everyone other than the OP doesn't really have incentives to put sats into a post - unless those sats somehow get redistributed.
If you or anyone else has more ideas, please share them. I'll tip handsomely for simply more angles to consider.
reply
That's not a bad idea, and it could serve as a built in funding model for the site as well. It would negate the need for an entirely separate advertising network since advertisers would simply pay to upvote their own content, and always be in competition with the natural upvotes. The 50/50 ratio seems arbitrary though and would likely have to be adjusted to keep the self advertising in check.
reply
Another is a 50/50 split between the OP and the site.
This would be cool if Stacker News was designed to be federated kinda like Lemmy or something. As is, that would be a huge gain for just one person running this site xD
reply
It might be too early to tell but it seems like federations don’t work in practice - they fracture the network effect.
reply
simulating federation in that case could involve “subreddits” on this one site. they would contextualize some micro-economies and make it so not all “reward” goes to this site owner.
maybe subreddit owners get a reward for basically curating / moderating good spaces in that case. idk…
reply
But, doesn't this just mean you're giving yourself money? Since you're upvoting your own post, you're not gaining any extra cash for it.
You could do it to gain more visibility though, but I think that's a problem that even sites without sats as upvotes also face.
Ultimately, if your post isn't good enough, you're not getting extra sats.
The top proposals I've heard or thought of so far to combat this:
  1. do it the old fashioned way: use various measures of seniority to weight upvotes, provide downvotes, and moderate
    • pros: been done before and works for reddit, hn, etc. It's sort of proof of community work, which seems fair enough.
    • cons: creates a system of rulers, rent seekers, and mob rule which gets us to wanting alternatives in the first place
  2. one node = one vote: upvotes only really count if a user provides some proof that they are running a lightning node
    • pros: running a lightning node is work, especially if proof requires some measure of uptime and channel number (utxos)
    • cons: UX, I would guess half of our users don't run nodes, and on long time scales most users won't be node runners
  3. post prediction markets: sats toward a post are effectively a bet that other users will also bet on a post. Users make their sats back and more if the post does well and loses the sats if it doesn't.
    • pros: uses real proof of work ie sats to effect ranking, significantly differentiates SN from existing players, and could scale better
    • cons: hard to communicate, tricky to design and implement, regulatory risk, not democratic
reply
I think you got a good summary there. I'll add another, using your format.
  1. composable (vote power & payout) contracts: OP chooses the algorithm (maybe a default in their user settings w/ option to overide on posting); a sha or algo-label w/version info. It gets subtly displayed with each post. Optionally, contracts could be as simple as a link to a github gist with a dozen lines of python using standardized variables or could get a bit more complex if they were extensions sent as a PR.
    • pros: allows for maximum experimentation, Eg. a post's votes could go to charity and emit decaying vote power. Or fun stuff, like, cake-day vote power or local weather based vote power.
    • cons: a bit of a UI drag, but I think a few popular defaults would emerge.
reply
the above feels the most plebian if that's a word. Power to the pleb, because they get choice, kind of thing.
Might need a few guard rails.
You could also create moderation hooks with such a convention too. Users could maintain the moderator list and logic in the gist. You could even do, N of M logic with a set of mods, or mods could take shifts, or whatever...very very transparently.
reply
An extension of this idea (with a bit more work), would make it possible for the OP to for instance commit in advance to paying the top 1, or top 3, upvoted replies some fraction of the tipped sats.
reply
This would be cool. My main concern would be UX but I love the idea of giving users more choices.
reply
having figured this issue out, how might you design a system to prevent upvoting between accounts?
reply
you finally solved the stacker news paradox. congrats
reply
There's a lot to learn here from the Steem/Hive model