Hardfork 20 (“Velocity”) development update

in #steem6 years ago

Current Status

Significant progress is being made with hardfork 20, including some additional changes which will make the Steem blockchain even better. There is no official release date yet, but a release candidate is expected to be ready by the end of the year.

Improving Curation Incentives

Changes to 30-minute Curation Window

As of now, Steem account holders (including bot accounts) are disincentivized by the Steem blockchain from voting on a post within the first 30 minutes. The earlier a vote is made within the initial 30-minute window, the less curation rewards the voting account receives. This was originally introduced to even the playing field between human curators and bots. This was successful but with the rise of more short-form content on the platform (content that can be read or viewed in less than 30 minutes), the community and the witnesses have come to a consensus that the 30-minute rule is taking curation rewards away from human voters who are actively consuming content and voting on material they like. For this reason, HF20 will reduce this window from 30 to 15 minutes.

Eliminating self-voting rewards through curation

While the change to 15 minutes will even the playing field against bots, it doesn’t address the advantage self-voting gives to accounts with respect to curation rewards. If authors vote for themselves right away, they get their author rewards, 100% of the curation rewards from their vote, plus a portion of the curation rewards coming from everyone who votes for the post after them. Any other curator voting at the same time as the author would get 0% of the curation rewards. This gives the author an unfair advantage over other curators because the author can earn additional curation rewards through self-voting.

In order to eliminate this unfair advantage, the unused portion of the curation rewards will be returned to the rewards pool instead of being awarded to the author, thereby increasing the overall percentage of rewards that will be paid to curators. This will better serve the original mission of the curation rewards budget: to ensure that the Steem blockchain distributes rewards to the most valuable content.

“Dust” vote changes

Removal of vote dust threshold

The "vote dust threshold" is a rule that prevents the occurrence of extremely weak votes. Currently, accounts must possess about 1 SP in order for a 100% Voting Power vote to be successfully posted to the blockchain. If a vote is placed that is below the required threshold, it will be rejected by the blockchain. This can create a bad user experience for new users, as their votes can fail for seemingly no reason.

In hardfork 20, this “vote dust threshold” will be removed. After this change users with any amount of SP will be able to cast votes so long as they have sufficient bandwidth. Votes that are below the threshold will be posted to the blockchain but will have no impact on rewards. This will allow users to have a better user experience on all Steem-based applications by enabling them to vote whenever they want to (as long as they don’t exceed their generous bandwidth allocation), without adding to the computational load on the blockchain by requiring that it calculate the impact of effectively powerless votes on the rewards pool. This also mitigates an attack vector by ensuring that if a malicious actor wanted to overburden the Steem blockchain, making countless small votes would not be an effective strategy.

Application of shift to all votes

The switch to linear rewards in hardfork 19 has had a very positive effect on user experience. HF19 ensured that the impact of each user’s vote on the rewards pool is directly proportional to their Steem Power (i.e. their stake in the platform). Users now feel more empowered, and they can see the direct correlation between the amount of Steem Power they have and the strength of their vote.

However, the switch to a linear rewards curve meant that there was less of a disincentive for casting lots of inconsequential votes (“vote spamming”). While it is important for users to be able to earn rewards whenever stakeholders (even small ones) find value in their content, it is also important to disincentivize rewarding content with respect to which no other stakeholders see value.

After discussion with the witnesses, it was decided to apply the “vote dust” shift to all votes equally. Each vote that is cast will be shifted down by about 1.219 SP. This effectively establishes a “baseline” voting strength that applies to everyone, while still maintaining a linear rewards curve for votes above the baseline. This way even large Steem Power holders won’t be able to profit from casting countless inconsequential votes.

Proof-of-Work account mining via softfork

The changes required to add support for PoW mining for discounted accounts will be included in hardfork 20, but the actual PoW mining will be added later as a softfork on top of HF20.

Removal of Power Down Restriction

To prevent faucet abuse, accounts could not previously power down unless they had 10 times the account creation fee in Steem Power. Because account creation fees will now be burned with HF20, there will be less of a financial incentive to abuse faucets. After HF20, Steem account holders will have the freedom to power down their SP regardless of their account balance.

Update to witness price feed format

This change only affects the witnesses. A small change will be made to require the base to be SBD and the quote to be STEEM. Currently, both orders are allowed and can lead to undefined behavior in the price feed. Most witnesses are already supplying their price feeds in this format.

Additional Details

The full list of changes, as well as additional details not listed here, can be found in the GitHub Steem 0.20.0 project. More details can also be found in the original @steemitblog proposal: Proposing Hardfork 0.20.0 “Velocity”.

Conclusion

The changes that are coming in the Velocity hardfork are very exciting because they are establishing the foundation that will enable Steemit.com and apps built on top of Steem to onboard millions of new users while remaining economically scalable. With these changes and the additional improvements described above, the Steem platform will be better than ever!

Steem on,

Team Steemit

Sort:  
Loading...

[A]ccount creation fees will now be burned with HF20

Let the burn the fire!

RIP Account Creation Fee's!

The fire rises!

In order to eliminate this unfair advantage, the unused portion of the curation rewards will be returned to the rewards pool instead of being awarded to the author, thereby increasing the overall percentage of rewards that will be paid to curators.

This is clearly better than what we have today. I really love this brilliant idea.

I'm eager to see how it will pan out.

That being said I don't expect much of an effect on those who give themselves 100% of their votes. They will simply do it on comments after the 15 minutes marks.

its an amazing initiative indeed. at the very least, accounts with major SP that self upvote in the first 15 mins will have a good amount of reward as curation returning to the reward pool instead of themselves.

As for self voting comments, thats rather easy to catch, and cant self voters be ousted via pulling data from the blochchain?

I think someone does that.

Thank you for the update, it looks like some positive steps to me! and one quick question based on quote below.

"the unused portion of the curation rewards will be returned to the rewards pool instead of being awarded to the author"

Does the above mean that 25% of the self upvote would be returned to the reward pool if the "upvote post" box was checked when posting?

Does the above mean that 25% of the self upvote would be returned to the reward pool if the "upvote post" box was checked when posting?

Exactly. Users voting before the then 15 minute mark give up a share to the author. And if the author is responsible for that to happen, his part is returned to the pool. In my opinion a great change!

It would be perfect if that checkbox for self-upvoting vanished off the face of the steemit, IMHO. Would discourage self-voting at least a bit, I think.

I think it can go for comments, but for posts it has a valid reason. In the end it is a decision by steemit in that case.

Yeah, but if you're going to make changes to the system, it makes sense to make changes to the interface as well. The "upvote post" checkbox is just... unnecessary altogether and all around.

I don't get why this box was added to the comments in the first place. Didn't this happen very recently as well?

I actually think we should encourage upvotes for comments. Not necessarily self votes, but I think comments are underrated in their importance to the platform. They should be treated at least the same way posts are.

That is a good change @reggaemuffin and @techslut although I'm not sure I agree with dis-incentivising the use of many votes spread over different posts. It makes it harder for simple single photo posts to gain traction and yet photos can sometimes speak the most words. Photojournalism is part of where my interest lies and I believe this platform could compete with the likes of Instagram instead of focusing on the long form, this also provides incentive for newsbyte style articles instead of rewarding the longer posts the most. The reduced window to 15 minutes is a step in the right direction and I hope it continues to go that way. Love your work guys, keep it up and if any of you are in Australia I would love to meet up.

Well, if you post 40 photos a day that is not really something that should get traction. If your voters only give you really small votes, maybe that says something about the photo.

I don't think that this change negatively impacts photo posts. Only if you are a spammer or low effort poster.

I agree, if you're making 40 separate posts each with one photo a piece I don't think they should gain a bunch of traction.

his beautiful postings, stop by my account and upvote him

You forgot ONE very important thing: Reduce bandwidth! Witnesses will thank you! Because it is good to make account creation easier. It is good to have more fair rewards. It is great to discourage bots, but we already have a very busy blockchain. More bots will come, they'll create more SPAM transactions, we have to reduce bandwidth or set transaction fees AND nobody likes fees!

Valuable point.
I would suggest reducing voting power for transactions the same way as vote.

That's a good point! I have probably got a hundred spam transactions to my wallet of the last months, and it would be great if it was easier to prevent this.

The 30-minute curation window does nothing to stop bots.

The bots just make sure to jump in right at the 30-minute mark.

Changing the window to 15 minutes will not eliminate this problem. The window should be discarded entirely.

And redistributing the curation rewards that happen in said 15-minute window will penalize the average Steemian who makes sure to check their "Upvote Post" checkbox whenever they compose a new post.

Bad form, gentlemen.

15min is clearly more reasonable than 30min so humans can compete better with bots. It was discussed and many were of your opinion but it was easier to just change a parameter and has less risk of unintended consequences.

Even if it was to take 30min to read an article it usually doesn't take more than 15min to get a good feel of the value of a post.

Also given 10 votes a day as optimal voting frequency it's less likely anyone would actually spend 5 hours a day (30min*10) reviewing content than 2.5h.

I agree with you that the rule is not helpful and should be even shorter or removed altogether. However, there isn't consensus including the stakeholders and dev team to do that. While the reduction to 15 minutes isn't my ideal choice here, I do feel it is a clear improvement.

While you are right it does little about bots other than cause them to make a small recalibration, it does penalize humans less, even when voting before 15 minutes. For example, under the 30 minute rule, voting after 10 minutes would reduce curation rewards by 66% while now it will only reduce them by 33%,

This window is not an ideal solution by any means.
But we have no better option still.

I disagree. The window allows more fair play. I could make a bot that votes all posts of successful authors in the first second. Or i could build a bot that makes a tradeoff between voting early or late and the incentive is already not there anymore.

And the self vote change means that the author can't take curation rewards into his own pocket, a change that will hurt mostly whales. And honestly, you should never expect to get that 25% curation as an author in the first place.

I could make a bot that votes all posts of successful authors in the first second

You can't because there are more than 10 successful authors posting daily, and besides you will be competing with other bots for a share (likely small) of those authors if you're all voting on the same ones. It rapidly becomes diminshishing returns and a waste of your vote power.

Or i could build a bot that makes a tradeoff between voting early or late

That's exactly what happens now under the 30 minute (or 15 minute rule). Bots are able to time things exactly and make calculated vote timing, while humans are disadvantaged unless they stare at a clock and act like a bot.

What I wanted to say was: The issue shifts from speed (be the first) to math (have the best formula) and for me personally, making a fast bot is easy, deriving a formula is not that easy.

Sure it still is gameable, but not as much. I agree wtih you that the window is not great, but unless we have a better alternative, is it better than no window in my opinion.

Currently Steemvoter is way out with its auto-votes due to congestion and 'peak times'.

I can see this becoming worse(better) with this change and throwing the advantage back to the human who is willing to sit and wait for 15 minutes to tick over.

Mass bots like steemvoter will always be behind the fast self coded ones. So you will have a few with fast bots frontrunning steemvoter.

Thanks for the clarification here. This may be of interest to whales who source their main income from curation.

The 30-minute curation window does nothing to stop bots.
The bots just make sure to jump in right at the 30-minute mark.

What if after 30 min window the post was already heavy upvoted and the curation reward for the bot will be minimal? That's the whole idea, without the 15 min windows bots will just upvote in the first second. Than the curation rewards for humans will be very low. We want the opposite.

Exactly!

What we want is curation rewards for actual, significant curation to be higher. Camping for the top posters and waiting to vote (whether after 5-10 minutes or immediately) is not the quality curation that we want to reward humans for doing. I'm perfectly happy letting bots get that (relatively small) portion of the pool and letting humans go elsewhere to curate harder-to-find content.

This situation was very different in the early days with less content, fewer voters, and n^2 rewards. In that environment, the vast majority of the rewards (both posting and curation) went to just a tiny handful of posts from a tiny handful of authors. That's no longer the case.

I understand but without the window the bots can instantly upvote everything with small vote power.

The bots come in anywhere from 15-30 from what I see on my posts.

I suspect many will opt now to change this down to 15 minutes. Hopefully this will increase congestion even further and the manual voter will win.

Here is by far my favorite part of this ( or any other announcement):

"establishing the foundation that will enable Steemit.com and apps built on top of Steem to onboard millions of new users"

Yes please.

Nice! I love to read this :)

Could you please tell me if the code cleanups and the api changes (e.g return and args objects) are already included in HF 20?

By the way: As a third party / api wrapper dev I have to say thank you for the good communication .. it has been improved a lot over the last year 😍

Each vote that is cast will be shifted down by about 1.219 SP. This effectively establishes a “baseline” voting strength that applies to everyone, while still maintaining a linear rewards curve for votes above the baseline. This way even large Steem Power holders won’t be able to profit from casting countless inconsequential votes.

I am not sure I understand that. Can anyone clarify?

it looks like if i have around 100 SP and vote you with 100% weight, my vote towrds you goes as if i had voted with 98.781 SP. Why? Not 100% sure, but seems like people could spam ultratiny votes

This means that if you have 100 SP and you do a vote, you effectively vtoe with 98.8 SP. That means one 100% vote is better than two 50% votes, reducing the reward on 0.01% votes spammed. I don't think that that one SP will make a lot of a difference but the general idea sounds good.

I like that it create a larger incentive for smaller stake holder to own more Steem.

I find 1.219 SP to be quite an odd number.

I find 1.219 SP to be quite an odd number.

The actual number is the rshares of the previous dust limit, I think something like 50000. 1.219 is an estimate of the amount of SP you would have to have for your vote to add that number of rshares.

So can you confirm that the fee is a flat rshares fee? That would be a great change in my opinion.

Yes what is done now is to subtract STEEM_VOTE_DUST_THRESHOLD (an rshares quantity) from each vote.

Great! That sounds like a good plan.

@smooth and @reggaemuffin is there somewhere that you can point me to that explains all the backend language? I'm trying to understand a bit more about it so I can help out.

It is a lot, so there are many posts on it but not one that explains everything. It would be too long and too complicated.

@inquiringtimes has a contest that is looking for topics that are lacking information. And if you ask around, people will help :) the more specific, the better.

Nice comment sir

😊👍 @smooth
And great post by @reggaemuffin

I like that it create a larger incentive for smaller stake holder to own more Steem.

Definitely! And it has the potential to discourage vote spam, which I very much like. It is just a really small number and so I have no idea if we even notice the change...

I find 1.219 SP to be quite an odd number.

It is probably one of the calculated limits? Maybe 1 SP added to 0.2 STEEM creation fee or something like that. I'll check the code in a bit to see if there is a reason for that number.

Edit:

https://github.com/steemit/steem/issues/1764#issuecomment-350313957

Seems that is where that number comes from.

I tend to vote a lot but at low percentages. Wouldn't this change encourage people to be "stingy" with smaller votes? If I am making more off 100% posts, then why should I give 10% to 100 posts if I can get more by giving 100% to 10 posts? Or am I getting the math very wrong (again)?

It agree. It would also bet better for the website overall since people would view much more content

It seems that if I understand it correctly, on a 100% vote you have 1.2SP less, on a 1% vote you have 120SP less. Which is maybe a cent or so? Not much.

Preciously small votes were bigger than big votes, maybe that will now change a bit.

:scratches head:

I am going to keep giving out 5% and 10% votes like I have been doing. I might be losing money, but I rather encourage more people to post and comment. Also, I will always suck at math.

You have about 3000 SP, so a 10% vote from you is using 300 SP. That is, the difference of the 1.219 SP deduction is a reduction in the power of that vote by about 0.3%, so you won't even notice it.

Gotcha! I actually have a delegation from a kind shy whale so I can curate like a madwoman (which I do), so my voting SP is around 40,000 SP. In other words - I really won't notice.

Thank you for the explanation! <3

We will see how that new thing plays out and if it has an impact at all :)

I completely agree. I think this change will discourage whales or dolphins to distribute their big upvote to many minnows or newcomers.

This is also a death to the voting bot for minnows, who cannot afford to spend much SBDs on high percentage votes.
That will be interesting to see how it works out in the prod environment.

Voting bots need to die anyway. All of them. There isn't a single one that operates in the way Steemit is supposed to distribute rewards.

Minnowbooster will probably be affected, as we vote with 1 cent votes if wanted. We will try it out and report if it makes any issues. I am currently not worried.

You have 3200 SP. This means that if you vote with .0375% power, the vote will be logged in the blockchain but will have no impact on the reward pool. The practical impact of this change is that the tiny minority of extremely weak votes will have no impact on the rewards pool. There is no reason to take this into account when you are being active on the platform. All of the changes we do are always designed to ensure that the vast majority of users can just use the site intuitively. This change has no practical effect on anyone who isn't intentionally voting with insanely weak votes. Since the deduction of 1.2 SP per votes is applied across the board, everyone is effected equally, therefore there is no reason to adjust your behaviors, again assuming you aren't one of the people vote spamming.

Since all my votes are manual (no longer trailing anyone), I never vote below 1% anyways cause there's no such option in the interface. It only goes down to 1%. I vote on about 100 posts a day so I guess you could call it vote-spamming if you really wanted to. Or an addiction. Or both.

:)

This means that if you have 100 SP and you do a vote, you effectively vtoe with 98.8 SP

Each vote that is cast will be shifted down by about 1.219 SP.

Your explanation (per user) semantically contradicts with the blog post above (per vote). Awaiting clarification.

I don't understand the distinction. A single user can only have one vote on a post/comment right?

I think this is a case of and, per user per vote. I am only interpreting the words of steemit and when all votes are shiftet down by some amount, it would be as if you are missing some SP. I am guessing that this actually affects the rshares issued without regard for the voting power. That would mean that low votes are with a bigger penalty than big votes. Or it could be a flat reduction and it will just be as if we all are one SP short. Time will tell :)

Hope the updates will make steemit better than before & bring a lot of new users

Coin Marketplace

STEEM 0.30
TRX 0.11
JST 0.033
BTC 64320.07
ETH 3154.23
USDT 1.00
SBD 4.34