Thinking out loud: A possible path towards the "crab bucket" concept?

in Suggestions Clubyesterday (edited)

If you have read the Steem Whitepaper, then you're familiar with the story of the crab bucket.

A man was walking along the beach and saw another man fishing in the surf with a bait bucket beside him. As he drew closer, he saw that the bait bucket had no lid and had live crabs inside.

"Why don't you cover your bait bucket so the crabs won't escape?", he said.

"You don't understand.", the man replied, "If there is one crab in the bucket it would surely crawl out very quickly. However, when there are many crabs in the bucket, if one tries to crawl up the side, the others grab hold of it and pull it back down so that it will share the same fate as the rest of them."

So it is with people. If one tries to do something different, get better grades, improve herself, escape her environment, or dream big dreams, other people will try to drag her back down to share their fate.

The idea was that a lot of small accounts on the Steem blockchain could use this concept to curtail abuse by larger accounts.

It was a nice idea, but it never really worked out that way. (For the record, I can tell you from personal experience with a beach-house full of escaped crabs that it also doesn't work that way in the real world😉.)

If you've been around for long enough, you may also remember this article - If you want Steem's minnows to use their downvotes, protect them with quorum sensing? I wrote that article five years ago. (holy cow, five? Ouch.)


Image by AI

Just because the idea was stalled doesn't mean that I've forgotten about it. Here was the main idea:

Consider - What if the potential minnow and dolphin down-voters pattern their behavior after bacterial quorum sensing? Step 1, they signal their intent to down-vote a post with a certain strength, step 2 - they wait for allies; and step 3 - if enough minnows and dolphins signal their intent, they all down-vote at the same time, in a single wave; or also step 3 - if a small number of minnows and dolphins signal their intent, nothing happens and no one else ever knows about it.

If you want to learn more about quorum sensing, this ted talk is highly recommended.



Unfortunately, at the time, I had no idea how to implement this idea in a decentralized way or without incurring potentially large costs for web hosting. After my recent work with background scripts in browser extensions, though, and with inspiration from the STEEM WATCHERs, I'm getting closer to imagining a path forward. It's still not fully baked, but let me write down my current thoughts so that I (or someone else) can build on them later.

Here's the basic framework:

  1. The solution would be written into one or more Open Source browser extensions (or other standalone programs) that anyone could install and configure with their own computing equipment. Let's call this the moderation node.
  2. These programs would implement a quorum sensing protocol using custom_json and voting transactions on the Steem blockchain.
  3. As-is done by the STEEM WATCHER community, it would be recommended to configure the moderation node with an anonymous alternate account, in order to protect against retaliation.
  4. When someone sees an overvalued post that should be downvoted, they do not downvote it. Instead, they use the moderation node to broadcast their desire to downvote in a custom_json transaction.
    4.1 Optionally, signaling the desire to downvote could be done by posting the hash value of the post's permlink on the blockchain, not the link to the post, itself.
    4.2 Optionally, this could also be used to signal an upvote desire for an undervalued post in order to allocate votes efficiently and collectively boost undervalued posts.
  5. The moderation node would also keep track of broadcasts from other participating accounts.
  6. When enough broadcast transactions are observed for a particular post, then all of the participating moderation nodes send their downvotes (or upvotes) at the same time. If enough broadcasts don't happen, then nobody votes.
  7. Top-tier stakeholders could then look for these coordinated downvotes and decide whether to follow with their own votes in order to direct rewards to the pool for distribution to a more deserving post.

In theory, all of the technical pieces are there (it's actually not all that complicated), and the use of anonymous alt accounts makes retaliation difficult or impossible. It's not truly the crab bucket concept because it still depends on backing from top-tier voters. The simple fact of the matter is that the combination of all smaller stakeholders doesn't have enough stake at present to regulate the larger stakeholders. But, it does create a new sort of consensus mechanism for focusing votes on the most deserving posts. Thus, it's a step closer to the crab bucket.

What remains is just a development challenge, a bootstrapping problem, and voting support from enough larger stakeholders who are tired of seeing the contents of their wallets steadily devalued by the relentless overvaluation of vacuous content.

Thoughts?


Thank you for your time and attention.

As a general rule, I up-vote comments that demonstrate "proof of reading".




Steve Palmer is an IT professional with three decades of professional experience in data communications and information systems. He holds a bachelor's degree in mathematics, a master's degree in computer science, and a master's degree in information systems and technology management. He has been awarded 3 US patents.


image.png

Pixabay license, source

Reminder


Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.

Sort:  

Hmm, I never liked the crab story, same goes for downvotes.

Of course there are overrated posts, but I doubt whether downvotes are the right way to go in this area. In this context, we had previously talked about an investor account, which seems to be difficult to implement. Perhaps an investor community would be a way forward; posts in this special community could be hidden at front-end level, at least in trending.

 yesterday 

Hmm, I never liked the crab story, same goes for downvotes.

I've never been a fan of downvotes, either. But it's the only regulatory mechanism that's designed into the blockchain. Over the years, I have reluctantly concluded that they are necessary under the current rewards algorithms.

When we're seeing almost 40% of SP delegated to teams that have near-0 ownership stake in the chain, that's not a healthy dynamic either. Since those delegators are motivated to post daily, I suspect that the percentage of daily posts/rewards is substantially higher than 40%. IMO, the blockchain would be better served using those rewards to recruit legitimate authors. To me, at this point downvoting the worst of the worst is the lesser of two evils - at least in the short term.

In this context, we had previously talked about an investor account, which seems to be difficult to implement. Perhaps an investor community would be a way forward; posts in this special community could be hidden at front-end level, at least in trending.

Right, something like the investor account could actually be implemented just by turning on SBD interest at a high enough level, but there's probably not much appetite for that unless the price stays stable above the haircut threshold. If we can't eliminate the 0-effort posting, I'd also support hiding it, but that doesn't solve the underlying problem of misdirected social-media rewards.

Longer term, I have always thought we could find a rewards algorithm that would mitigate the need for downvotes, and I still think that's the ideal solution.

all of the participating moderation nodes send their downvotes (or upvotes) at the same time.

If the only votes that would really matter are from the big stakeholders, is this part even necessary?

an anonymous alternate account

I was trying to think if there was a way to avoid this element, but I'm not sure there is. But might it not be the case that there would be few enough genuine humans participating that a vengeance-minded person could just mass-retaliate against all of them even if they couldn't find the particular person who blew the whistle?

What remains is just ... support from enough larger stakeholders

Yes, the perennial problem.

 yesterday 

If the only votes that would really matter are from the big stakeholders, is this part even necessary?

Strictly speaking, I guess not, but I think there are three reasons why you'd want them to. (i.) skin in the game. The need to expend voting power and resource credits would impose some restraint on the signaling; (ii) the moderation node could track whether participants actually followed through with their votes and ignore signaling from accounts with unreliable follow-through; and (iii) ideally, at some time in the future, the program could have an influence without backing from a top-tier "sponsor". Also, if this were adapted to fund itself using upvotes, then the participants would need to vote to collect curation rewards.

I was trying to think if there was a way to avoid this element, but I'm not sure there is.

Yeah, I don't see any way around it.

But might it not be the case that there would be few enough genuine humans participating that a vengeance-minded person could just mass-retaliate against all of them even if they couldn't find the particular person who blew the whistle?

It might, but that just sends the rewards back to the rewards pool for redistribution, so I'm not sure how much damage a broad-based retaliation would actually do. OTOH, they could just randomly scapegoat individual accounts, one at a time, so I guess there would need to be some sort of mitigation plan for dealing with those contingencies.

Yes, the perennial problem.

Right. And the only tool that we have to address it is persuasion.

Required Algorithm on Fork

  1. Downvotes are tracked
  2. Sorting to determine organized down voting
  3. prevention mechanism, such as person downvoted
 yesterday 

I think I understand the first point, but not the second two. Can you clarify?

I would love to reply but somehow, I shrunk the reply box and...never had that happen before:

  1. Sorting mechanism, votes gathered against a poster, repetitive? A one time thing?
    A) Accidentally downvote: I have big fingers and on a phone those are small buttons and close together. When that happens, I then go back and change my vote. It also happens that sometimes the amount voted switches to one percent or some other number I didn't want to vote and so I go back in there and revote.
if(downvote == true)
{
   string_or_ratio_of_up_down_votes = First_sort_returns_ratio_of_up_to_down_votes(string_or_id_of_down_voter);(Or writes in db)
}

Was going to do more but the reply box is still only four lines through it shrunk to two.