Let's talk about Dust, and a Bunny, and briefly mention Kittens - I want your Feedback

in #dustbunny6 years ago

dust_2.jpg

So much Dust!

Just 5 months ago, I had no idea about the definition of "dust" on this blockchain, and I've been here for over two years now! Maybe you also haven't heard about it yet, so let's get that out of the way first...

What is Dust?

The short answer: If the total rewards on any piece of content are less than $0.020 - that's called dust. And it will be gone with the wind on payday. Dust-rewards are not being paid out

I'm not going to argue about the reasoning behind those dust-rules or go into any more details here. I've already had my rant back when I first discovered this pesky detail about these rules and I've gone into much more detail in that post. So, if you need the long answer, you can find it over there. For now: It is what it is, and it still sucks!

It's getting worse.

It probably took myself so long to learn about dust, because back then you could give votes well above the dust limit with less than a hundred SP.

Today, you'll need 350SP just to fill the dust limit with a single vote at 100%.

And then, if the reward pool fluctuates or the markets move against your favour, it's still quite likely that those rewards could fall below the threshold again by the end of the week. So in reality, unless you've acquired several hundred SP under your name, you'll never properly be able to give comments which you appreciated more than a symbolic upvote.

I think there is a real problem here! Engagement in the comments is essential to building connections on this platform. Being able to share rewards adds a quality to the social interactions here and provides a gratifying experience that goes way beyond the monetary value of some digital tokens. In my view, that's really what's making this place actually unique!

My Kittens are starving!

Well, not really, but if you read this post headline by headline it provides for a funny build-up, try it! And before we move on over into the solution oriented section of this post, I'll have to mention my kitten-bots.

Quite a while ago I released these stray kittens that give cuddles to generous strangers they meet on steem. They want to be your friend and if you're nice to them (and not too selfish in general), they will keep coming back to you.

These kittens have just 120SP each, and you know what that means... DUST!

I certainly don't have enough STEEM to run several kittens with 350+SP for each, and while I enjoy using a chunk of my stake just to spread virtual cuddles around, I'm not quite ready to go to such an extend. So, as things were, the kittens were wasting 80% of their cuddles producing nothing but dust and most of the love they received was dust, too.

I almost considered putting two of them to rest and allocating their power to the remaining survivor... but how was I going to explain that to all their friends, and which one would be allowed to live... I just couldn't bring myself to do that.

In hindsight it's so obvious, but it took me a while to realise that if I just made a single additional bot with enough SP, then I could have that one track my kittens and fluff up their dusty votes when it's needed.

A Bunny to the rescue.

Those clumps of fluff under the sofa are called "dust-mice" [Staubmäuse] in my language. That would have obviously been a perfect fit for the kittens and I really hoped it would actually translate like that into English. Well, you might have guessed by now, it doesn't. They're called "dust-bunnies".

Luckily bunnies are at least equally as cute and probably even much more universally loved by everyone, because I can think of a lot of people who actually do not like rodents but I've never seen anyone grossed out by a bunny!

I quickly registered a new account, collected some filth from behind the sofa, put some #GooglyEyes on it... and @dustbunny was born:

dustbunny_04.jpg

The Bunny is for Everyone

It didn't initially occur to me to turn this into a bigger thing. I just wanted to bring some value back to those dusty kitten-cuddles. I had set up a small bot-script to track the kittens and the googly accounts for dust and do what's necessary, but this new bot with 350SP could actually handle a bit more than just that.

I started adding some friends and the real human commenters that came by the bunny's introduction post to the watchlist to find out how far I could go with the SP at hand... and there was still excess capacity left. I started offering more slots in some discord communities and everyone seemed really excited about it and I quickly had over thirty accounts being watched by the bunny.

It dawned on me that this might actually have the potential to be turned into something bigger. The bunny was already watching over some accounts that I didn't even personally know and I had started to implement some rudimentary prioritisation and anti-abuse features anyway, so, why not simply offer it as a service to the wider public?!

I made another post for the bunny, describing in detail how things worked, offering it's service to anyone coming by and suggested humble voluntary delegation support in return.

Equipped with Rocket Boosters

The resonance caught me by surprise, several users made small delegations almost immediatly, my friends were eager to chip in for the cause and everyone loved it. And then, suddenly, someone delegated a whopping 1500 SP to the bunny. Apparently @mathowl had sent a link to @justtryme90 and he must have obviously liked the idea a lot.

To be honest, it was almost a bit too much to handle. Even though there were quite a bunch of new users that had applied to be enrolled with the bunny, I still had to go out, frantically searching for more and more users that seemed genuine and engaged, just in order to fill the bunny's suddenly quadrupled capacity. Many of these people might not even know about their luck, yet. I guess eventually they'll be pleasantly surprised and wonder about that bunny and why it's following them around.

Testing the Limits

The bunny is now watching 114 accounts for incoming and outgoing dust that needs to be fluffed up. This comes up to 1.611 comments or posts with rewards below the dust limit in the bunny's memory right now. 209 of those are already within the last 36-12 hours window before payout and are being considered to receive the next available upvote from the bunny.

To fill this workload, the bunny has 2.320 SP available. It's a tight squeeze and as of today the bunny has actually started to miss some dust due to capacity shortages. But that's actually a good thing!

While the bunny ran with constant surplus capacity, it was actually really easy to just create excess amounts of dust and have the bunny fill it all up. Without competition and with plenty available voting power there was never any reason to stop supporting such intense use (let's not call it abuse right away), the rudimentary balancing mechanisms I had implemented stayed mostly unused.

Improving for Scale

I've chosen to tackle prioritisation and balancing through sorting the queue of tasks by "urgency", "user prioritization" and "user quota". Simplified as far as possible, it looks like this:

task urgency + user priority - quota penalty = task priority

The "task urgency" is derived from the time an item has left until payout. The "user priority" is a bonus given to users for supporting the bunny with delegations or donations. The "quota penalty" gets applied based on how much dust-support a user has already received. While "task urgency" and "user priority" are pretty straight forward , the "quota penalty" is a bit more complex.

Initially I had the quota penalty structured very simple, too. The bunny was simply tracking how many outgoing votes and how many incoming rewards it had fluffed up in the name of each individual user and applied a penalty score based on how high the user's quota was.

This all works quite well to some extend. Delegating users get to enjoy their bonus priority and receive support first, while the rest of the users are served next, taking turns as their individual usage quotas increase. This sounds fine in theory, but with lots of absolute margins set in code by myself and very superficial metrics it's not really precise or reliable at all... and it's honestly still quite easy to game the system.

So, I've already made a bunch of improvements over the past days. The "quota-penalty" now consists of multiple dimensions including different time-spans and measuring actually delivered voting power instead of just counting the number of items. Absolute margins that I had just pulled out of a hat have been replaced with proportionally scaling factors and the bunny has started recording new metrics for the system to have more data available to work with in future improvements.

Fairness, Transparency, Solidarity

I'm trying to create a system that ultimately relies on the user's solidarity, for that it needs to be as fair and as transparent as possible. Things are running very smoothly so far, but I believe there's a lot that needs to be improved and some crucial things are completely missing still.

More Fairness

I'm pretty confident in the basic prioritisation queue, it's akin to "max-min fairness" models that are used in similar distribution problems were weighed demand allocation happens over time, but I am not sure if there's additional factors that should need to be considered.

What do you think needs to be considered to keep this fair?

I have some opinions, but opinions aren't usually fair before you get a lot of them and so I'd really like to hear from you.

More Transparency

The bunny needs to report on it's activity so that supporters can get a picture of where their support is going. It's great when you can trust someone, but it's better when you don't have to. But I do not want to make another one of those bots that just keeps repeating status reports. Maybe a discord would be great for this? Maybe bunny-users can summon a personalised report with a comment? I haven't really thought about that at all, but it would help if you could tell me:

What kind of statistics would you want to now?

More Solidarity

The project is currently running with 65% of the funds coming from a single source, and that's not going to be there forever. In the long run it needs more users willing to make small or decent contributions. I believe it is possible to reach strength in numbers here. Currently I estimate an average SP demand of ~25-30 per user, but it's a bit early to tell.

Getting your incoming and outgoing dust covered more reliably just for lending out a delegation sounds like a pretty sweet deal to me, knowing that this will also contribute to helping others, especially small users, sounds even more attractive to me... but maybe I'm delusional?

Do you think this is doomed to fail or do you believe this is destined for greatness?

Please give me your critical thoughts in the comments!

 

P.S.: I read somewhere that red arrows in thumbnails work like visual clickbait. So I included two of them in the title image just to be sure I have your attention. Did it work?


fraenk avatar
@fraenk loves you!

Sort:  

I would like to see a way to automatically get registered. Do it like steem-ua and give people automatic perks after different levels. Like:
Delegate 25 SP and your dust will be fluffed
Delegate 50SP and you get priority dust fluffing
Delegate 100SP and your dust gets in front of the line
Delegate 500SP and your name is mentioned in announcement posts as a sponsor
Delegate 1000SP and generated reports also have your name

Stuff like that :)

I personally would love to see a list of what is currently in the queue. Maybe a website that shows the schedule somewhat live? And maybe some form of report over what dust I personally would have lost otherwise.

Maybe, you could track the dust of others too, just don't vote it. And then display users who are loosing a lot of dust, with a gifting mechanism that allows one to give them a dustbunny share.

Woah, awesome, that's like 3 brainstorming sessions worth of ideas.

The perk levels are pretty much already in place, just that it's not exactly "levels" but more of a perk slider that works through a proportional priority increase for users according to the size of their delegations/donations. I totally see how wrapping that into packages helps advertising the idea, though, and I probably need to work on "selling" the benefits in more attractive ways...

Making a "live" view for the queue the bunny is handling to visualise how it works exactly while it does sounds like a great idea, but that's definitely a feature for the long list and I don't see that happen very soon, I'll probably open a discord and would want to show some live stats and reporting there in the meantime though.

Tracking unregistered users is a bit out of scope I think, but thinking about that... it might make a lot of sense to make the bunny notify users on it's list that are actually losing dust because of their usage quotas and/or because they don't support the bunny themselves...

Thanks for all the constructive ideas, definitely helps to see more options and think along some new avenues for future development!!

I'd love to have this work without "advertising" it and "selling" it's benefits to the user-base, but that's definitely delusional. It's important for me though to not turn this into a "paid service" but continue to run this as a "communal support system", for lack of a better word.

I would want the service to always remain available free of charge to the smallest of users, but maybe I'll have to think about minimum contributions for users with sufficient stake to make that feasible also...

Heh, thanks, yeah of course! The kittens actually used it for quite a while to collect some of their dust rewards, but finding a solution for backing up their outgoing votes, too, was what really got this started. I don't think there's any other service that will do that?!

I am not sure what stats I would be interested in, just a post every now and then is fine by me. I have been trying very hard to not vote under the two cents on comments, or post that are under dust payout at the time I vote. So most of my recent voting even though it is a little less than it was, (not much though), 50% to Post that are already above the dust threshold, and 100 % to those that are not. (at the time of my voting). For comments I use @steemchiller's steemworld and adjust the slider to see where my two cent mark is before voting on a comment so most comment votes have been at the 55%-75% level. Like everyone I am hoping the prices go up, because I currently have about 675 usable SP to vote with and it is only worth $0.039 cents. But the price does fluctuate so some comment votes get hurt. there are rare occasions that I only at 30%, but that is when I am down close to 85% vote power, and then I only vote on payable content. I do hope to be able in a month to increase my SP to the bunny, I have been re-working my delegations slowly.

Yeah, the SP requirements for breaking the dust limit are really a bit crazy these days, but I also don't expect that to change for the better in the near future.

Steemworld.org is an amazing tool, one of the best, especially when dealing with things like the dust limit, it's one of the very few interfaces that allows customizing the number of decimals in the settings and see the voting values conveniently and without rounding errors!!

You're a supporting user of the bunny, so please don't hesitate giving the occasional dustvote when you're short on SP, the bunny definitely treats you with enough priority so that you should get it fluffed up reliably, at as long as there's not too many of those coming in a short sequence!

P.S.: I read somewhere that red arrows in thumbnails work like visual clickbait. So I included two of them in the title image just to be sure I have your attention. Did it work?

Actually I was looking for the arrows after I read your closing comment! I initially thought they were in text and had to search to discover them on top. Maybe they would have worked better if they were places as images somewhere in text?

It would also be great if you would include all useful links to the project at the end of your post!

All in all, great initiative, I have just delegated 50 SP and I wish you the best!

chuckles ... well... it obviously didn't work on you then :P

red arrows in thumbnails [...] included two of them in the title image

I initially thought they were in text

Apparently YouTubers do that arrow thing with their thumbnails to make the videos stand out visually in their subscribers' feeds. That aside, I agree that some more visual aid in highlighting important text could have helped a lot. Some more "further reading" at the end of the post is always nice, too... I just don't have too much of a reading list ready for this and the few important "further link" are already in-line in the relevant sections.

Anyways, thanks for the constructive review and a ton for your support!! I'm sure you've met the bunny a few times already. As a #steemSTEM honor member and with a personal recommendation by reaggae you've been on the list since almost the very beginning.

Great initiative, @fraenk! I love your little kittens that I have seen on @marty-art's page. The bunny sounds so useful and cute :)

I have a question, please. Do the dust votes add up for people? Eg: if I adjust my slider to give a vote of say $0.01 and I give that vote to someone who has already received three other votes of $0.01, does Steemit add them up and give a tiny payout?

Yes, the payout is based on all the votes received prior to payout, so as long as all the votes add up to at least $0.020 on payout day the votes are all covered.

thank you :)

Heh... exactly! Luckily so, because if that wasn't the case, then the bunny's basic idea wouldn't even work out and I'd be wasting my time here... chuckles

This is interesting @fraenk... I'm personally very fond of both @cuddlekitten and @steemeow both of which I see around the community. It has always worried me a little that they don't get upvoted more than they do... I may have suggested a @dustsweeper subscription before; either way, this sounds like you have a better answer here.

I'm going to have to go read some of @dustbunny's posts, but I really like the fact that this is an initiative that supports the smaller accounts trying to get somewhere.

=^..^=

Hehe, yeah, the last time I checked the kittens thought of you very fondly, too, And I think I've seen you cuddling each other quite a few times already ;)

I actually had @dustsweeper subscriptions running for the kittens, but it felt a bit lame to continue to keep paying just to save only their own rewards while having them giving out mostly dust themselves... but, still, @dustsweeper is an incredibly useful service, especially for small account holders, to reliable protect their own incoming dust-rewards and I think anyone with a few extra pennies should build up a small balance with them to protect their possible dust-losses.

I need to chew on this a bit but should be able to create a simple function leveraging get_account_history method of the Beem account class to provide users their votes via a markdown table if that would help.

I have been working on something similar for downvotes and can filter by author quite easily.

Plan on delegating a a bit tomorrow. Sounds helpful for us low SP folk.

Hey Anthony, thanks for suggesting! There's no issues with pulling the data, the bunny uses get_account_history already and keeps a detailed log about what it has done for whom tracking rshares/author/permlink/etc...

The data is easily available and it's more about how and where to present that data in an accessible yet spam-free manner.

In the near future I'm thinking about setting up a discord and simply sending a copy of the bunny-log into a channel there... but I think some sort of transparency also needs to be available on-chain and I'm trying to get a sense of the extend this should have. I'm not a fan of these bots that keep pushing out way too frequent repetitive status updates that are of little value to anyone... I see how hat could help a lot with funding, but i definitely want to avoid going down that alley.

I don't understand most of how all the bells
and whistles work, learned about dust a few months
back. Just yesterday day reached 200 SP of my own
which is still below throwing a nondust vote even at
100%. Wow need 350 SP, this will take awhile lol
It is totally awesome what you are doing to help this
dust deal be cleaner!

Awe 🐱 didn't know you had kittens!
And I did notice those ➡ arrows! :-)
I imagine some folks don't have discord, like myself.
Curious if we can say nominate someone for the
bunny to visit? Have a great evening!

Yeah, there's never not something new to understand about steem. And when you think you finally have the full picture, there's probably a Fork coming to make things interesting again... chuckles

You absolutely can nominate anyone to be on the bunny's list... I still want to keep this a "basically free" service, and especially for users with smaller accounts! So nominate away! I am keeping enrolment a manual process for now while things are still under work in progress, so just leave a comment under one of the bunny's future posts or reply to me directly here and I'll add them as soon as it's convenient after checking their account stats.

I'm aware many users don't have and don't want to use discord, though I'd recommend it to anyone on steemit as that seems to be where most active communities meet "off-chain".

You haven't met the kittens yet?! Oh my! Well, we just recently met through the bunny ourselves, so yeah... check out the kittens: @steemkitten (it all started with her) and her siblings born from a design contest: @cuddlekitten and @steemeow.

greatness :) Ich finde es eine gute Idee und werde im Dezember eine Delegation schicken. Fuer November brauche ich alles was ich habe um gute upvotes fuer die NaNoWriMo freewriters zu machen :)

Hey @mariannewest, vielen Dank fuer die netten Worte!

"NaNoWriMo" das klingt wunderschoen weird! Ich werde mal schaun was es damit auf sich hat.

Hier ist die post die ich von meinem Freewrite House profile geschrieben habe.
NaNoWriMo is kurz fuer National Novel Writing Month und wurde von ein paar Leuten in San Franzisco angefangen. Jetzt ist es eine grosse Sache. Wir benutzen die NaNo Infrasturktur (ist das ein Deutsches Wort?) zum worte zaehlen und haben dann unsere eigene Pary im Discord und an Steem.
Es is hard durchzuhalten 🤓

Woah... 50k Worte in einem Monat!

viel Erfolg und gutes Durchhalten!!

I gave dusty upvotes for such a long time, took delegations away again couple of days ago and voila, my vote doesn't pulverize. Going to read the bunny post now.

awesome... glad to have you aboard :D

keep in mind, the dust limit applies to "combined" rewards... not sure if that's all clear from the OP above. As long as there are other votes on the content and their total combined rewards reach 0.020 all is fine, which is exactly how the bunny works, by adding it's own vote to the dust it finds.

Yes, I understand - happy to chip in though :)

Awesome stuff , I had no idea dustbunny was growing into such a strong little bot.
Sounds like dustbunny may be around for a long time doing good deeds.happy to delegate a little from my tiny pool of sp too :)
Not sure about the clickbait personally by the way :D

Hahaha... dude... I had no idea myself... lol

Yeah, that funding boost is pushing me to make it "a thing" now. And every little bit helps!

I'm not so sure about the effectiveness of my clickbait either, but it does have quite a good presence on the feed page! Really, I actually just wanted to spice up that image I had used in my last dust-post 5 months ago because I don't like using the same thing twice...

One thing to consider for sure. Don't fluff the accounts like cheneats that are here purely to game the curation system. They give 0 value votes to gain more then 100% on curation vote after vote. Start building a list of accounts like this one that are on your blacklist of not to upvote if and only if it's a stand alone vote.

Yes, the bunny has been fluffing a few of those already... In a way it's nice for the receivers of these votes when the bunny get's triggered by them, but as they don't express anything at all, I was also thinking those votes should definitely be ignored.

Now I did implement a blacklist for fluff-up-receivers from the get go, but I hadn't initially considered at all to also filter for certain incoming voters until I saw a bunch of these random(?) zilch-votes drawing the bunny's attention.

I'm trying to think of possible reasons that would require a separate list for that or whether I should just apply the same blacklist for both "ends"... Yeah, that's definitely something that's already at the top of my to-do list.

The 0 value upvotes from these curation snipers also are probably the largest drain vs typical dust votes which will vary more in total value averaging a much higher rate. Finding a good way to ignore them should allow more votes to be cast.

Maybe when comments will have to be ignored give preference to those which need the least assistance. Better to save 20 comments at .01 vs 10 with 0 value votes IMO. It save much more dust as the dust saved had value and you can save more of them.

I think the vote value of the usual suspects like penghuren or cheneats is actually roughly comparable with what a new plankton account would be able to produce in terms of rshares... So filtering by a min-impact level or something like that doesn't sound like a good option to me.

So, for now I'm going with the blacklist filtering specific account. I've already added the the names of the two mentioned above. Do you know of any other accounts like those from the top of your head?!

In terms of prefering dust that needs less fluff to maximize the number of items overall... I see what you mean there, that would turn the prioritisation mechanics into a knappsack problem and put more focus on optimizing momentary capacity. But as the "capacity" here also has a time vector given by the recharging VP, I think of it more like a multiplexing issue, so I've chosen to go by a demand-centric weighed max-min fairness distribution.

This is just another reason we need to be able to downvote the voter not the content creator. The content creator has no control over who votes in most cases. I myself would like to kick the freeload voters (those with a 0 value vote) off my content. So many people voting at 1% and zero value. I did not understand that for them they get a curation reward in return, a surprise to me. They fixed self upvote but not here have nothing but give me something in return people. I was wondering why I was getting so many of those. Also it invalidates @steemchiller's CSI attempt I mean really: Voting CSI 11,135.8 ( 0.00 % self, 7872 upvotes, 2004 accounts, last 7d ) there is just no way to look through and see if they have ever given a valuable vote at all

Yeah... I think it's a bit of an ethical grey zone... it's not like they actually do much damage. They basically just collect a tiny bit of the curation rewards created by those voting after them... But it's certainly a "smart" way to maximize curation returns without actually partaking in any "proof-of-brain"...

Much rather have the bunny save that VP to be able to fluff up more genuine dust.

I'm totally with you, there's a big problem regarding engagement with users if they cannot vote comments. There are more issues with minnows and RC, they aren't allowed to post,comment and vote in a fair way.
My lack of time prevents me from taking enough time to get involved more deeply but I can see the problems and put my bit.
Thanks so much for taking the time to try and help solve the issues on our loved ecosystem and allways for you support to all of us.
Hugs

Yeah, I am not a big fan of the RC system and how it was introduced either. It's a pity that new and small users are getting such a hard time around here lately!