Proposing Hardfork 0.20.0 “Velocity”

in #steemit5 years ago

HF19 Success!

In Monday’s @steemitblog post we announced the impending adoption of Hardfork 0.19.0 by the Witnesses. We are happy to announce that this transition occurred successfully and all Steem users are now posting to the new-and-improved Steem Blockchain! All Steem rewards are now being distributed to content creators based directly on how much Steem Power they have (i.e. a linear relationship). It is no longer the case that a user’s influence is exponentially related to the amount of Steem Power they hold, making the Steemiverse a more fair and equal place.

Another Successful Hardfork

HF19 marks our 18th successful hardfork. While we have a deep respect for all the great projects in the blockchain sector, we are proud of the unique attributes of the Steem Blockchain which enable us to upgrade its features, and make it more valuable, so rapidly and safely. As far as we know, we are the only project to intentionally and successfully navigate a hardfork without creating an additional blockchain, let alone 18 hardforks! Thanks again to all the Witnesses who helped make that happen. Now that we’ve successfully implemented HF19, it’s time to propose the next Hardfork, codenamed “VELOCITY.”

Proposing Steem Velocity 0.20.0 as the Next Fork

In our 2017 Growth Plan posted 2 months ago we listed our 3 priorities: Communities, Effortless Onboarding, and a Mobile Application. We are extremely happy with our progress on all fronts. Our team of world-class developers have been working around the clock on all of these features and so we are excited to begin revealing the fruits of their labor with 0.20.0. The focus of this hardfork is on improving the process of account creation and reducing the friction involved in onboarding millions of new users.

This proposal addresses some on-chain issues to support signup improvements on and other sites to bring more users into the Steem ecosystem. As with the proposal for Steem Equality, these changes go together. Please view the proposal as a whole rather than individual parts. This is a complete rework of how account creation currently works on Steem, designed to help streamline the onboarding process for all Steem developers and improve the scalability of the Steem Ecosystem.

Burning STEEM for Account Creation to Prevent Abuse

A significant practical problem we have experienced with account creation is automated abuse of the signup process to yield free STEEM to attackers. This increases the average cost of legitimate account creation, making the Steem Protocol more expensive and less attractive to developers and potential partners. Presently, each new account is required to be funded by the account creator with initial Steem Power. The original reason for this was to give each account the requisite minimum Steem Power needed to transact on the blockchain. However, a side effect is that when a user fully powers down, they are temporarily locked out of their account. People need to be able to cash out without being at risk of losing access to their account.

The current system also incentivizes attackers creating multiple accounts in order to acquire free STEEM, which again increases the overall cost of maintaining the protocol. To solve this problem, we propose a new method of burning STEEM (i.e. destroying the tokens and removing them from the token supply) on each account creation and crediting the account with permanent minimum bandwidth instead of providing Steem Power to the new account. This will reduce incentives to abuse the signup system and will prevent users from temporarily preventing themselves from transacting after powering down in full.

Discounted Account Creation

One of the key areas limiting growth of Steem is the cost of creating accounts. We want to grow Steem to at least to size of Reddit, hopefully larger. Reddit currently has 234 million unique users a month. Let's assume that if they have a 50% retention rate (quite generous), then they would have signed up 468 million accounts. If we wanted to do the same then it would cost 93.6 million STEEM ($187.2 million at the current price) and 13.5 billion Steem Power in delegations. The current STEEM supply is only 250 million STEEM. With the stake that Steemit has, it would take nearly 12 years for us to create those accounts and undelegate Steem Power continuously to reach those numbers. Simply put, it does not scale and if we want to grow to become the disruptive technology that we all know Steem is, we need to remove this barrier.

We want to add a daily quota of discounted accounts. These accounts can be paid for with a combination of STEEM, bandwidth, and mining. Yes, mining. We believe that the ability to mine an account into creation was a fantastic feature of our hybrid proof of work system that was lost when we removed proof of work. Mining will use Litecoin's scrypt algorithm as it is battle tested. This will only be used for creating accounts through the discount system and not for block production.

The level of discount will be dynamic based on current demand to prevent all of the accounts from being created instantly. Witnesses will vote on the daily quota so that we can scale this system alongside our growth. This system will run in parallel to existing account creation.

Remove Account Creation with Delegated Steem Power

The original intent of this feature was to allow bulk account creation without account creators spending a lot of STEEM. Discounted account creation solves this in other ways and does it better, it makes sense to remove this feature. Accounts will still be able to delegate Steem Power to others, just not as an integrated part of account creation.

Remove Vote Dust Threshold

The vote dust threshold was added last summer as a countermeasure to automated spam of extremely small votes. While it served an important purpose at the time, the feature interferes with the ability for new Steem users to participate in the community and build a following. The dust votes did not impact rewards significantly, but were taking up valuable space in the blockchain. The true issue was in the bandwidth algorithm, which has been updated to prevent this attack. Because accounts will now be created with 0 SP, their initial votes will not be worth anything. Removing this threshold will allow those accounts to interact with others on the blockchain while they establish themselves in our community.

End User Impact

We understand that this change is nuanced and has many moving parts, but we believe the end implementation will be simple to use. As mentioned previously, end users will not need to fully understand this system to use Steem and only those interested in creating accounts will be affected. Below is an example of what creating an account would look like under this system.

We expect the majority of accounts to be created by Steemit and our partners cheaply using stake. The account creation process will appear similar to what it is today with a fee and proof of work field. To create an account via stake, all the creator needs to do is not include a fee or a proof of work. If the creating account does not have enough stake they will need to include an adequate proof of work or STEEM fee to cover the difference. We will provide APIs and tools to calculate how much of a fee is necessary. To create an account without a creator, no creator will be specified in the operation and will include a proof of work adequate to cover the entire fee. If the dynamic cost is too high, regular account creation will be an option. To end users, this will appear identical to what it is today and only affects developers wishing to sign up new users.


Steem Velocity is going to be key to bringing millions of users to the Steem ecosystem. Communities and our mobile application are on their way. Development is proceeding well and 0.20.0 will be paramount to getting us prepared for those launches and opening the floodgates for the millions of new users that will get to experience Steem in the next year. We are as devoted as ever to the vision of Steem and are excited that we can continue to partner with you, the community, to make Steem as great as it can be.

Thank you for reading and Steem On!

  • Team Steemit

Technical Notes

Out of all the feedback from the Steem Equality proposal, technical details was one of the most common themes. Below are some technical details for the features proposed above for those that are interested.

Dynamic Fee Algorithm

The fee algorithm is just a supply curve. It simulates an active market by setting a price depending on the supply of an asset. In this case, those assets are account creation tokens and resource credits. Account creation tokens will be a consensus construct to track the supply of accounts that can be created at a discount. Resource credits will represent stake days that can be spent on account creation and are non-transferrable. Resource credits accrue for everybody at a stake-weighted rate and are non-consensus. Account creation tokens are tracked as consensus state and are printed at a rate specified by the witnesses. They are only bought when an account is created and are destroyed on use. They can pool up to two days worth of the quota to allow for burst account creation.

The supply curve we will use for the fee algorithm is a rational function in the form f_x k over x.png. k.png defines a known point on the curve.

We define the account creation credit supply curve using the following curve:

array 1.png

  • is the current supply of account creation tokens.
  • is the daily rate that account creation tokens are created. This will be witness votable.
  • is the maximum number of resource credits allocatable due to stake.
  • is a resource credit overprovision ratio. is 10% overprovisioned. This defines what the maximum size of the burst supply can be. We propose a value of 0.1.

Using these values the price of an account creation credit when there are one day's worth of credits available () will be of the burst resource credit pool. We will cap the supply of to which will create a lower bound of the price at .

The supply curve for the burst resource credits is defined using the following curve:

  • is the current supply of burst resource credits. will be capped at .
  • is the base fee to create one account with pure STEEM. This is defined by the witnesses using the existing account creation fee.

As a sanity check we can calculate the price of one account when and .

And because we know the minimum price of an account in resource credits we know that the minimum price in STEEM will be .

For the proof of work dynamic fee we will define the price in hashes. The value of each work is the expected number of hashes to achieve a work with specific difficulty. The equation becomes the same as the resource credits for STEEM except that becomes the base number of hashes for an account, which will be defined by a witness vote.

Per Satoshi Pricing

Having an instantaneous price for a specific supply is good, but we actually have a continuous supply as tokens are bought. Each satoshi is listed in the market at a different price as defined by the supply curve and needs to be bought at the respective price. We can calculate this using a definite integral, however the solution to our supply curves contains a natural logarithm, which is difficult to compute using integer math. Instead, we will use the following approximation.

This is a trapezoidal approximation of the integral. Because our supply curve is concave up this approximation always overestimates, which reduces risk of exploitation. The change in supply should be small enough per transaction that the error is minimal.

Fee As Softfork

We want to keep all of the dynamic fees and resource credits as non-consensus logic in the witness plugin. This necessitates that the meeting of a fee is non-consensus. Having the funds in an account must continue to be consensus. As a countermeasure, the account creation token supply will be consensus. This way, in the worst case scenario, if a witness is compromised, the number of accounts that can be created will be limited to the supply of account creation credits.

Non-production Soft Fork

Currently in Steem, soft forks can only occur when a block is being produced. Once a transaction has been included in a block, it is in. Unless others disagree with the block on a consensus level, it cannot be revoked. Usually, this only deals with soft rejecting of transactions and it cannot be known which transactions were rejected for this reason. We have an algorithm to extend this premise and secure the blockchain further. Normally, blocks are a binary accept or reject. We want to introduce the concept of subjective reject. This is a block that a node wants to reject, but would not be rejected based on consensus. When given an opportunity to produce, the witness will produce on the last accepted block, but it willing to switch to fork containing a subjectively rejected block. So long as all witnesses are using the same soft fork rules, these forks will never occur. They exist to protect the blockchain against a misbehaving witness, as misbehaving will cause your block to be dropped and the block reward to be forfeited. There is nothing preventing witnesses from doing this today. This will simply formalize this logic in our release that will help protect the blockchain from misbehaving witnesses. This change is the most intrusive to the core blockchain logic as it changes the fork resolution rules. Due to this fact, we will not ship this change in 0.20.0, but in a later release.


Sounds good. I'll have to go through the math more carefully later. But all those details are "soft-fork" parameters and formulas (other than the account creation tokens state which by itself doesn't mean much) and thus can be easily changed later by witness consensus without a hardfork.

And while on that topic...

This way, in the worst case scenario, if a witness is compromised, the number of accounts that can be created will be limited to the supply of account creation credits.

We want to introduce the concept of subjective reject.
This change is the most intrusive to the core blockchain logic as it changes the fork resolution rules. Due to this fact, we will not ship this change in 0.20.0, but in a later release.

While that subjective reject solution is likely the best one and the most general one (not just for abuse of account creation by bad witnesses but for general abuse over things that have soft-fork protections), it may be useful to have further restrictions for this specific new account creation feature, especially since it won't be ready by HF20. One mechanism, for example, that may be useful in further limiting the damage of abuse is to only allow at most some fixed fraction of the daily account creation token rate to be consumed per block; so even if there was demand to create the entire daily limit of accounts instantaneously, the blockchain would still force it to be spread out over let's say a round, thus delaying the account creation by at most 1 minute but also ensuring that a single bad scheduled backup witness could only create accounts equal in number to 1/21th of the daily account creation rate (other trade-offs in time delays and limits to damage by single bad witnesses may make more sense). This consensus rule is easy enough to implement and provides useful protection against abuse with very minimal drawbacks during the time after HF20 is activated but the code for the "subjective reject" solution is not yet ready (and it still remains a useful additional protection against account creation abuse even after "subjective reject" is deployed).

Additional thoughts:

we propose a new method of burning STEEM (i.e. destroying the tokens and removing them from the token supply) on each account creation and crediting the account with permanent minimum bandwidth instead of providing Steem Power to the new account

Would the system log the VESTS amount corresponding to the burned STEEM (or equivalent STEEM value of the PoW or stake used) at the time of account creation and continue using that for the rest of the account's existence to determine its share of this permanent minimum bandwidth? Or would each account always maintain the exact same share of permanent minimum bandwidth regardless of what was the STEEM amount they had to burn (or its USD value) at the time of account creation? Or something else entirely?

Because accounts will now be created with 0 SP, their initial votes will not be worth anything. Removing this threshold will allow those accounts to interact with others on the blockchain while they establish themselves in our community.

Perhaps this should be the time to separate out reactions from upvotes/downvotes in the UI. At a blockchain level, truly dust level upvotes (not the threshold that exists today but a much lower threshold determined by computed curation weights being so small that they might as well round down to 0) would add to the net_rshares of the post but would not create a consensus-level vote object (nevermind, it has to track it at least minimally as part of consensus if net_rshares is to be modified, otherwise it can be abused; insertions in this paragraph are italicized) be rejected. Nevertheless, the upvote would still be captured at the middleware level along with any additional the UI could submit to the blockchain the reaction information provided with custom_json operations to reflect the user's opinion of the post, so that it could be properly reflected in the UI.

By the way, while we are at it could this hardfork also get rid of the annoying time limitations on creating posts/comments. First of all, the consensus memory usage argument does not justify a longer time limit on top-level posts (currently 5 minutes, which is ridiculously long especially for use cases like Zappl) than comments (currently 20 seconds, which is still too much for active post authors responding to comments much less for useful bots). At the very least both time limits should be the same and should be lowered to a more sensible time limit like 3 seconds. But I am not convinced that any time limit is necessary. Perhaps the bandwidth rate-limiting on new comment_operations should be adjusted to have a sufficient fixed amount (to justify the fixed cost of creating a new comment_object in low memory nodes) plus the variable amount that scales with the size of the transaction (to pay for the bandwidth utilization).

Also, on a more technical level, if this account creation redesign requires creating a new operation for account creation to replace the existing account_create_operation, please do not forget to add extensions_type extensions;. This was (correctly) done for account_create_with_delegation_operation but apparently that operation is going to be retired with HF20. The extensions field is useful so that later hardforks can more easily add optional parameters with account creation. My favorite example of such an optional parameter that could be implemented in the future is one that overrides the initial recovery account to be something other than the creator of the account, so that the newly created account can have their intended recovery partner from the very beginning (even when a registrar different than their recovery partner is paying to create their account, or with HF20 if they are mining a discounted account) rather than needing to wait 30 days before the change can be activated.

What would happen if you upvoted my post arhag?

With a 100% upvote? Right now, it would probably reward you with over $500 worth of value.

But I am guessing that was a rhetorical question.

That was still worth the price of admission!


5 SMAKERS!!!!!

That can pay for a monthly car lease...

Unless you had a more reasonable mode of transportation, then it would be one car payment and 250 worth of steem!

ROLF just have to...

hahahahaha I love this, ba.hahahahah.

I am also in the same state, in which the lady is.

These equations described above is moving around my mind, without any clue what they all about.

Lol !!!!!

I like the part about separating out the reactions from votes. There are no down votes but I like the idea because I want to encourage without using all my voting power.

I think the way how Steemit accounts are created, managed and used is probably one of the biggest obstacle of expanding of Steem world!

Wow... You could have just written your own Post with all that information...

Hi arhag,

A little off topic. Last month I powered up thinking steem was still decreasing 100% reading revent posts from people explaining steem and steem power. Then I found out today that a fork in 2016 already changed all of that to 9.5%.
The whitepaper I heard has not been updated only the FAQ.

You seem to know a lot about the intricacies of Steemit.
If someone asks you why should I power up versus just investing in steem what would your answer be.

Or could you point me to the right directions so I can figure out exactly how steem works now after all the forks after the whitepaper?

This is big one. Not just a parameters change, but a lot of development was done. Is is remarkable that active development still happening after @dan left. This means that platform is matured and could be trusted. STEEM is trully decentralized.

To be fair, Dan wasn't actively coding for months before he left. It was clear that Steem was in good hands. Indeed, we have star developers on Steem beyond the Steemit Inc team.

Yea. Dan himself acknowlage this. He sad that success of STEEM is more dependent on quality of frontend than blockchain part.

Naaaaaaah I dont think its decentralized. It think it just improved its representation, maybe just in time. I am impressed with this latest fork in the road. This may calm the dead fish and minnow ranks somewhat. Yea popularism!

Here is my alternative proposal:

TLDR: Let's replace SBD with SAT (Steem Account Token) which is backed by steem that will be used to give SP for a new user when a new account is created. SAT gives a right to create one account, and it can be earned as a reward insted of SBD.

OPOW-mining is environmentally destructive and it will cause the value to flow outside of Steem ecosystem, so it shouldn't be used.

I read through your proposal. I appreciate the thought that you and community put into responses and the creativity that we have at our disposal. A couple of quick notes.

Especially removing the dust vote threshold seems dangerous. If automated spam was a bad thing earlier, isn't it still bad? The intention is good, to give new users a chance to interact with the blockchain always, but it also means that spammers will have the same chance.

The spam was problem earlier because of some bugs in the bandwidth calculations that have since been fixed. Users acting in this manner will be rate limited whereas they were not before. It was a problem because of another bug that we did not know about at the time. Rather than keep an archaic rule in place that is causing users today headache, we want to get rid of it.

Your idea regarding tradable account creation tokens is actually one that we were entertaining. But it does not solve an important problem that was outlined in the proposal. Cost over time. There is simply not enough STEEM to sign up the users we need to at current prices. And we don't want an expensive price. Scarcity is good. It creates competition. But in the case of Steem, we want the competition to be for the rewards and not for the ability to get an account. Most of us here understand the value of Steem and would gladly pay for accounts, but that isn't going to work for mass adoption. People would not have started using Facebook in the beginning if they had to pay $5. Maybe they would now because of market share. But we don't have that level of influence yet.

We don't expect mining to be used often for account creation, but there are still many individuals in the crypto space that are not using Steemit who place a high value on their privacy. Verifying a phone number or email address is a non-starter for them.

As for some of your other concerns. Just because they are not mentioned in a proposal does not mean we are ignoring them. We are trying to make these releases as targeted and small as possible. There are many things we want to get around to and will in time.


What if we used BOINC instead of existing proof of work mining algorithms? Would that be possible? (I left a more detailed comment below.)

I like this idea, Ripple did something similar when they first started giving out tokens. Unless they are just converting scrypt coins to cover the account creation fee. It would be nice to have mining support science

I guess @samupaha raises a very valid point in this post against the above proposal.

If I am allowed to use my Steem Power to direct part of the reward pool to this very comment (which I just did), then why on earth am I not allowed to direct the same reward pool to fund a new account for my friend?

Surely, a new user (in most cases) is worth much more to the ecosystem than my stupid comment. Yet I can waste our common funds on rewarding myself but not for bringing a new user.

Something seems to be very wrong in the incentive scheme.

You are very correct. One of the most significant problems with the current vote weighting scheme on Steemit is that it is so prone to financial manipulation, rather than simply being useful to promote valuable content.

The white paper makes this very clear "...algorithms must be designed in such a manner
that they are resistant to intentional manipulation for profit."

HF19 reduced the incentive to manipulate curation for financial purposes by making VP weighting by SP linear, rather than exponential, but this isn't a fix, merely mitigation. HF19 also increased the rate at which VP decays by 400%, and this has resulted in an explosion of self voting - almost solely due to financial manipulation.

I acknowledge that devs are human with limitations on their time and ability to build Steemit, so hope my comment doesn't imply I think they need to fix everything I think is wrong right now. I do want, as you have, to keep these issues in the conversation, so that while the devs are furthering Steemit's journey down their roadmap, these problems that need fixing can be addressed soon.

To end users, this will appear identical to what it is today and only affects developers wishing to sign up new users.

So still a few days delay to register?

Been trying to reach you but can't find your chat. I have same username in chats

I only have one question. How many kitchenware we have to go through before getting a U.I from this century? :)

All kitchenware :)

There will be better frontends off in no time, I am (not) afraid. ChainBB, Zappl, Busy, ... More will certainly be coming along.

good job by HF19, and I think you need to update the white paper, huge changes since the beginning

That's in progress too!

glad to hear that :)

The reason why steemit experiences exponential growth in it's userbase.

HF 0.20 already in the cards, that's fast!

We are planning them in a pipelined fashion, so development of the next proposal is happening simultaneously with the previous fork. Steem on!

Great job, i'm a new user and like Steem(it) very much!

I also just read the 2017 growth plan, which I totaly support!

Kudos, this is how it should be done!

This process is showing some serious maturation as the hardforks go by.

While this will reduce the incentive for people to create extra accounts at Steemit Inc's expense, attacks will still happen just to burn down your stake. You will still need to rely on a costly verification process to avoid that, and you can't onboard millions of people with a time consuming process.

Are there any plans to incentivize other participants in the network to carry the cost burden of creating new accounts?

We can detect abuse just fine—that isn't our issue. (That is why we have the signup approval process in place at the moment. Very few fraudulent accounts are getting through, but the UX is suboptimal.)

I have an email list of over 20K people, and was planning to bring them over to Steemit, but the approval time takes way to long, and I am affraid they will get discouraged. @sneak @steemitblog


Seems like Cats approve of Hardforks ;)

Lots of ups and downs with this HF. Removing dust vote threshold a +ve sign for zero steem users.
All the best.
A small request to the steemit, #Why can't we have an android and ios apps from steemit (official)?
That makes more ease to interact and also gains lot of popularity.

Is it official steemit app ? Coz it had only 5k downloads. I hope it's not and correct me if I am wrong

Its not an official app but it does everything you can do on steemit. I use it when I'm away from home to answer people replies and read new blog posts as well, it can give you notifications, it works great.

That's great.. will give a try
Thank you

is it safe? it's asking for master key, can't use posting key

@ned is providing statistics on it, i'd say its a defacto app for steem.

thanks! I didn't know about Esteem.

We're developing those now at full speed - I was just alpha testing the Android one yesterday. :D


Some teaser screengrabs? I had to try :)

We 100% agree with you. We're working on this as fast as we possibly can. Be excited. :)

Wow thanks for all the details in pretty good layman's terms! I really appreciate it!

I like the idea of Burning STEEM for Account Creation to Prevent Abuse.

Great information! I really think hardfork 0.20.0 will get Steemit to the masses. It's already growing at an exponential rate and this will only push it further :)

Thank you, sharing information like this really boosts my confidence in the development going forward and is good for the public confidence.
Just a couple of questions, when will we be coming out of beta, are we still a few hardforks away? And then when it's out of beta will you start a big marketing campaign? Thanks

I've been thinking about this post throughout the day. I don't currently have the math skills to know if there are real concerns here, but on the surface it makes sense what you're trying to do, and I really appreciate the example as far as letting us know how expensive it would really be to reach the goals we want to reach. Tentatively, these changes seem to make a lot of sense to me.

I am happy to see the second team is working on these issues. I have thought the long term growth of steem would be inhibited by some of the issues you hope to solve.

There is alot here for me to take in. I will need to over the post again to absorb it all.

Its so exciting to see all of the developments going on.

Our developer and witnesses are world class.

Exciting times ahead.

Thanks again.

Great job on HF 19 and we're looking forward to the changes that will be possible with HF 20!

"We want to grow Steem to at least the size of Reddit, hopefully larger. "

Communities, onboarding, and mobile will get it done. This thing is growing naturally by the day and we haven't even started to promote it seriously yet. Onwards and upwards!

Better UI/UX before communities please!

That certainly needs to be part of the equation.

I think community feature will create better UX. It's needed to make the signal-to-noice ratio better. Currently there is way too much noise and no tools to filter it.

To infinity and beyond!

That is interesting, I had wondered where the initial SteemPower in my account came from when I joined last week. I transferred some Ether I had over to my account to powerup a bit on my own, I didn't want to freeload off the system. My intention was to give that back to the Steemit community in some way, once I started earning my author rewards. Thanks for the update.

A stupid question - somebody has to ask it so why not me :)

Why do you have to pay for an account to be created?

Can't a new account be free? And, to prevent abuse, there is something else as a barrier / safeguard. I don't know, activity, rewards, ...

I am asking this because I would very much like that the sign-up process is as hassle free as possible. If I have to pay with something I've never used, don't have access to and don't know how to get it ... then I'll turn away and forget about it.

Not a mass adoption friendly, I'm afraid.

HMM.. let's get settled with HF19 we barely got the code compiled...

"Burning STEEM for Account Creation to Prevent Abuse " indeed a very good idea!

Registration Sponsor Feature.

@steemitblog Why not have a feature were you can sponsor a new user account? For example if I wanted my friend Jhon to join I could just donate the Steem power needed to activate Jhon's account. Just an idea.

I think this is a great idea!

My question is...

How will this affect the price of Steam in general?

Will this affect the price increase or cheaper?

It's a really bad idea to allow more people onto the platform when the protocol is basically still in alpha stage (STEEM is the first experiment of it's kind).

There are huge problems with the curation incentive (self-voting is more profitable) and curation quality that need to be resolved first. From my experience not even 10% of the content is curated anywhere close to fair.

I could not agree more! The Steemit white paper says "...algorithms must be designed in such a manner that they are resistant to intentional manipulation for profit." Unfortunately, financial manipulation seems to be a feature of SP weighting of VP, which decreasing the number of votes necessary to fully extract the maximum of rewards from the pool of new Steem created each day has made worse.

VP decay has become a bigger disincentive to curate than even exponential weighting of votes by SP.

It has decreased my ability to curate dramatically, and I am very discouraged by it.

Furthermore, bots curating debases the importance of Steemit as a platform for human content creators. AI can have my job (srsly! please...) but if Steemit isn't going to defend human sovereignty against bots, then let me be the first to welcome our robot overlords.

This chart exemplifies the problems with curation:


It dates to just prior to HF19 and shows that almost all author rewards were captured by a handful of accounts. @aggroed (from whom I got the chart) provided figures: 99% of author rewards were being captured by 1% of accounts. He also estimated that HF19 would improve things to where only 93% of rewards would be captured by about 7% of accounts - an over 500% improvement, but still far short of the 90% to ~33% of accounts envisioned in the white paper.

I suspect @aggroed didn't reckon on the explosion of self voting that the 400% increase in VP decay HF19 brought.

This problem should be addressed before a massive influx of new users is disillusioned by the obvious financial manipulation. Steemit, like people, only gets one chance to make a first impression, and once those users reject Steemit, they'll be unlikely to come back later, even if the problems are fixed and they hear about it.

"Any widespread abuse of the scoring system could cause community members to lose faith in the perceived fairness of the economic system.", from the white paper. Fairness is really important to people, and even other species. It's even more important than money.

Well said :)

Does this raise inflation rate? If not would the mining od steem reduce the overall vote power monitary amount? Thx if answered in advance!

Amazing proposal for HF20 already!

I am happy it was successful. I am very much excited for the upcoming HF Velocity. Awesome!

This all sounds very good.

I also would like to make a small note about the new user signup page.. it's not just the way it works on the blockchain that should be changed. I believe we needed a more optimized sign up page that's easy to use to attract more users.

Heck, why not have multiple landing page and just make them available for anyone who's interested in promoting Steemit?

Like for instance, I'm currently running a Facebook Advertising Campaign with @timcliff and it would be awesome to have an optimized landing page to use, with basic descriptive text and some call-to-action buttons.

The whole thing needs to be re-worked.. so I hope you'll consider other things once 0.20.0 is up and running.

Good luck guys

Being a new member, I would like to say thank you for the great work that was done on the last hardfork.

Keep up the good work guys..

Why can't you guys add an option on account creation where you can select to skip waiting period, but you won't be granted any free Steempower.

This way new users can get accounts quicker.

To stop abuse on these accounts either:

  1. Block posting and voting privileges till you have a minimum amount of Steempower. This can then be donated to you by a friend or you can acquired it by buying with crypto from an exchange or from the market.

  2. Or disable withdrawals for a certain amount of time.

Just some ideas not sure it's this had been brought up before.

In the model you describe, someone would then register every username possible in minutes.

Ah, ok that is also a possibility. I did not actually think about that because of the telephone verification step, but I guess there are ways to get around that as well.

Well I trust the devs will eventually find the best possible solution.

The trick is that namespace is a valuable resource in itself... think if Steem has millions of users, what's the value of owning @cocacola? @Rodneysmith? And so on an so forth. Namespaces must be carefully guarded as the future 'land' that they are.

"Block posting and voting privileges..." If a user cannot post, comment, and vote, they essentially don't have any existence on Steemit. What's the point of making ghosts?

Absent the ability to get paid to post and curate, new accounts (like me) would be unable to generate any rewards, and thus have no way to later fund their account. Delegation of SP has worked, but is prohibitively expensive, and dependent on folks giving up the rewards they can generate with their SP.

While sponsorship of some kind is necessary to fund new accounts (and new accounts are valued across industry at a minimum of $300), in order for growth to be less unwieldy, there needs to be a better method.

I don't understand the algorithms but I do understand the importance of the work you do. The fairer this platform the more influence it will have on many people's​ lives. Fairer is ALWAYS is for the better! well done guys. Proud to be on Steemit!

I think it would be nice to be able to create additional accounts by mining. I know I would like to have at least one more account so I can post on different topics. It also would be nice to see a delegation option in the web interface so normal users can delegate if they go on vacation, etc.

temporary delegation is a great idea! What about a market for leasing time limited delegations? Some accounts are leasing delegated SP, and bots like @randowhale are selling it (through selling votes).

Why does the post say 'payout declined'

The author doesn't want to receive any money for their post.

Why is no one addressing the massive abuse of malicious whales?
You can't tell me, with those big brains of yours, that you don't see it. The scheme. The fraud. You know, when powerful whales (like @craig-grant, for example) upvote newcomers with a small % of upvoting power. And then, when these newcomers start attracting attention and earning higher rewards they flag said content with mid to high voting power FLAGS to return all those potential rewards we gave to said posts back to the rewards pool. Then to top it off (the kill shot) they habitually and consistently upvove their own content with high to 100% voting power.
If an owner of a web hosting company and his lawyer wife can see this potentially criminal fraud not only built into the system yet supported (and enhanced with these new forks) then I am sure you must be doing it intentionally, maliciously.
Can someone answer this for me, why are you not addressing the built in and encouraged fraud being taken advantage of by so many older accounts?
You know, somewhere Craig Grant is enjoying fireworks he bought with ill gotten funds. Meanwhile, some poor mother or father is explaining to their children there won't be any fireworks tonight because they put all their money into a website and couldn't figure out the game, losing it all.
Have you no compassion? FIX IT FFS !!!

While I am personally concerned about exactly the problems you mention, I am also hesitant to claim it is intentionally caused by the code. There are clearly accounts that are abusing the code for financial gain, but in my conversations with devs and other users, I have seen that there seems to be either widespread dissembling regarding the issue (which is possible, but I feel unlikely, as I see those same people doing things intended to help new accounts, even donating their own SP for that purpose, as well as much work creating communities such as minnowsupportproject, bots like @randowhale (admittedly a for profit concern), and various other initiatives.), or simply a capitalist/libertarian worldview that isn't capable of integrating the failure of SP weighting of VP to promote curation of quality content, as opposed to being used as a means of extracting profit from the rewards pool.

Regardless of the reason for the problem(s), it needs to be fixed to make Steemit work as the devs claimed in the white paper they intended it to. They clearly understood that obvious financial manipulation would cause a crisis of confidence. This has demonstrably been ongoing.

Unfortunately, other problems weren't foreseen, such as pandering to whales in the hope of getting their votes.

Steemit is still in beta for a reason. An enormous variety and depth of attempts to mitigate the problems SP weighting of VP causes has been undertaken, and this has bloated the code, while all the attempts at mitigation tend to cause additional unforeseen problems.

I think it's time to excise all that bloat, load on servers, and discouraging effect of unfairness so blatant, and try either equally weighted votes, or votes weighted only by reputation, and to implement a reasonable VP decay curve (10 votes?!? Who thinks only 10 votes is a reasonable rate of interaction on Steemit?) that still discourages bots from replacing human curation.

You have obviously put a lot of thought into the issue, a good thing to see indeed.
I would be inclined to agree with you on the Devs defence, except I find it too hard to believe they couldn't or didn't see allowing a self-upvoting system where the value of the upvote increases with the value of the account giving the upvote would be abused. It screams "you mean I can give myself free money (like, a lot of free money now with the recent HF19 changes)!" It makes no sense to me even coding in self-upvotes for profit and absolutely no defences against bots.
Yet I do see many working to fix it, a lot of users and a few Devs. And I hope it's a movement that continues to grow.
Newcomers should not be viewed or treated as "slaves" to use if they don't understand beyond the basics what is going on here.... even if allowed and one is "free" to do it.

Well, if you grant that devs believe in a sort of agorist philosophy, and that they personally also desire to be beneficial to their community (which is strongly supported by their individual efforts to help new users, for example), then it is possible to understand how they are in denial about malicious profiteering on their platform.

I'm not saying that they didn't intend for the wealthy to profit from SP weighted votes, but rather that they thought that would be the best way of promoting content, because they reckon wealth indicates intelligence, based on their personal experience.

The white paper indicates they expected 90% of rewards to inure to ~33% of accounts, and I believe that seeing 99% of rewards going to 1% of accounts may well have surprised - and dismayed - them.

Their world view has kept them in denial that this result is an experiment that demonstrates their world view is faulty. Their human reliance on their own anecdotal experience is overly weighted by their hubris and exceptionalism. Finally, people are biologically designed to receive a dopamine reward when they deny factual information in opposition to their chosen in group, and, as they are just human, they are as susceptible to this as is anyone.

I am a scientist, not a coder. I am trained to look at the evidence and objectively assess whether it supports a particular hypothesis, while most folks aren't. The constant attempts to mitigate the problems indicate to me a state of denial that wealthy speech isn't more valuable speech, and this verdant growth of mitigations is actually worsening the problems Steemit is facing.

tl;dr I don't think they're malicious, merely humans that, as we all do, think their anecdotal evidence of exceptionalism is true, and that they are in denial of evidence contradicting this.

trufax.... before the Internet, before most of the people on this platform even knew the white noise static of changing a channel on a tv with an actual dial on it, people used to bully others for their lunch money. And in this action the biggest profit for the bully did not reside in the money confiscated as much as in the pride felt & the pats-on-the-back from peers.
I like your way of thinking.

If you think about, why are we allowed to up vote our on posts? That's like owning a store, pulling a dollar out of the cash drawer, buying something for that dollar, putting the dollar back into the cash register, closing it, saying an incantation, opening it, and voila, suddenly there is $1.10 in the drawer.
Do that enough times and you end up with a drawer full of money. But it doesn't help the overall economy any. No movement of "money" between participants for this magic money drawer increase.
It's almost like being a counterfeiter if you think about it.

I tried to upvote your incredibly clever and accurate reply, but steemit's upvote just sits and spins without registering (like this website can do, sit and spin on a big fat ____). I even refreshed 3 times, opened comment in new tab twice.

smh lmao.

@sornprar - I've had the same thing happen to me on occasion. Most likely it is due to the age of my comment, there is a 12 hour window before the 7 day ends that up votes aren't permitted. (It would be nice if it would indicate such on a failed vote, but it doesn't).

Can't understand over half this stuff in this Post. But the parts I do...well it sound like we're on the right track ;)

Awesome job, guys :)

Thank you for the thorough update, and for including the type of formulas that remind me just how much math I've forgotten.

Hard fork ... coming right up.

yeah you should really make account creation easier, currently I dont know how you can create accounts, and my Kenyans friends say its difficult or doesnt work.

I am a new user and I want to wish the team good luck. It seems to me that you are moving in the right direction. And we will follow you!=)))

Steemit is poised for explosive growth. I think that the implementation of Hardfork 19 was a genius move that increases both the amount and quality of interaction on the platform. One of my biggest concerns before the implementation of HF-19 was how activity on the platform had somewhat strayed from the constructive ideals I know you had when you made this platform.

Voting had turned into an increasingly automated process and a competition of sorts where people and bots "competed." To me voting made little sense. But now, bot activity has reduced, and a vote is worth considerably more than before; excessive and pointless voting will lead to depletion of voting power. This effectively decreases the amount of invalid votes in the ecosystem manual voting which I think is beneficial. Congratulations on that! You've effectively fixed curation and adjusted the balance of power among the two fundamental activities that hold this platform together.

I was expecting you to address the friction currently associated with creating new accounts and I'm glad that you've just done that. HF-20 could not have come at a better time! Steemit is about to go viral. With organic word-of-mouth growth, and the wonderful and creative marketing campaigns being run by many Steemit users, one can only expect a mind-blowing influx of new users coming to the platform going forward.

Steem as a cryptocurrency is unique because it is linked to a social media platform, effectively making it a social cryptocurrency. I personally see this as a premise for rapid growth and adoption because whether or not people are interested in cryptocurrency, they will still use Steem if they want to use Steemit. And that will eventually lead to curiosity which leads to eventual adoption. Steem as a social currency is going to be big.

Steemit is penetrating homes, social circles, information markets and entertainment markets. It has the potential to be everywhere!

Keep up the good work! :)

I am curious as to why you feel that my personal votes are 'meaningless, excessive, and pointless'. Do you feel having only 10 votes a day is all anyone could ever use in a meaningful way?

I personally read, comment on, and would vote on, over a hundred posts a day, in, I feel, a substantive and responsible way. Many other people do too.

I completely agree that bots doing that is meaningless, pointless, and ought to be eliminated. Was your comment meant to apply only to bots, or do you feel that people aren't capable of making rational and valuable curation actions more than 10 times a day?

Upvote if you're also wondering why $1009 is not showing right!

I would like to try Android application. I have sent email about 1 weeks ago but no reply. Thx

Thank for sharing this information..

Good job 👍

Still catching my breath from HF19

Great job bro keep up
Thank you

Glad was able to join after a few days after Hardfork19 and got some friends who told me about steemit to help me through steemconnect. Really like this site because was waiting for a week or so. Now I know why was waiting for a week because you written it up in this article. Thank you for keeping intact steemians value and for cryptopreneurs, too.

Interesting. Its a great idea!

Hi @steemitblog,

please read this article of mine.

I like the direction we're heading. Great work Steemit, Inc!

lool sup bcp lol bitcoin private

"All Steem rewards are now being distributed to content creators based directly on how much Steem Power they have (i.e. a linear relationship)."

Who is "they" the "Voter" or the "Content creator" aka the one receiving the vote. Which is to say if you have more SP you get a bigger payout from your post?

Also what is going on with 3 days now it has been down?

The Steemit white paper discusses how rewards are distributed in more detail, and if you can understand this post, you can understand the white paper, so it's not too hard to understand.

Vote Power (VP) is based on SP, so 'they' is the curator, or voter. However, as people have long been voting so as to maximize their financial rewards, cliques voting up each other's posts among those with significant SP has long been occurring. Therefore, in practice, authors with substantial holdings of SP are those that receive substantial votes, as they can reciprocate with substantial votes in turn.

This has created a 'glass ceiling' that has concentrated author rewards in just a handful of accounts, as indicated in this chart:


HF19 was intended to reduce this concentration, I believe, but the 400% increase in VP decay that came along with it has caused an even worse problem, as the number of posts has increased ten fold since HF19 was first discussed, and this has made it even easier and quicker to seize the maximum possible rewards from the rewards pool.

Since there are so many more posts now, all those new accounts are being ignored in droves, and this is very discouraging to new users.

Related to proof of work for creating new accounts, would it ever be possible to use BOINC? I'm just now exploring gridcoin, and I really like the idea of "work" actually being something useful to the world.

Would it be possible for Steemit to create a project team which would give credit to useful work, like gridcoin does? I know that may be asking a lot and potentially over-complicating some things, but if it were possible that anyone who wanted to do proof of work calculations in order to create steemit accounts would have to contribute to a meaningful project like World Community Grid... well wouldn't that be awesome?

This is obviously a better alternative than scrypt, but I'd rather keep the Steem blockchain independent and not tie it in any way to other projects.

Understood. Thanks for your reply.

looks like great news for an expanding user base - i am now following you -David

Thank you for all the hard work, @steemitblog . I really like the direction Steemit is going towards.

What is the best way to communicate suggestions to the Steemit team? As a web developer, every once in a while I see something that can be improved in the platform - mostly minor things, some bigger ones.

Really, hardfork 0.20? ....i had not known the 0.19 had taken place though it was trending on the number of hours to it since i was new here and couldn't understand how it works. But ok now, hope for the best.

We need to be beyond Reddit within 5 years time.

  • Regarding "Vote Dust Threshold", it seems as if it could be useful though to have some sort of minimum threshold of say 50-100SP before allowing an account to downvote posts.

  • Also, for the UI, given the HF19 changes, it would also seem to make sense to offer users a slider once they have at least 100SP instead of 500SP. I'm pretty sure this is a UI issue versus a blockchain issue, but I'm not totally sure. Perhaps someone can confirm that either way.

  • Besides that, it does sound like an interesting potential solution to handle at least some of the onboarding issues, especially by reintroducing the mining aspect, which may also serve to partially mitigate potential abuse by granting accounts permanent minimum bandwidth.

Also, while "account creation tokens" may be non-transferable, they will still have potential value that can purchased by other account holders (ie. think randowhale or similar). Not saying that's a bad thing, just something to keep in mind.

The tokens are an accounting measure and never held by accounts. They are purchased and immediately consumed to create an account. No hoarding.

I don't understand most of this, but I appreciate being informed of it. I joined a year ago and so am unaware of what it takes to become a member now. Is there a post that explains that? I have a few friends that I'm trying to convince to join, but not sure what to tell them...

Just receiving an SMS and waiting a day or two will do at this time.

What a lot of information Thanks bit over my head but good to know sure by next year this time i will know a lot more ...

Thanks for keeping us in the loop and all your hardwork!!! It's super exciting to be here right now. I do have a question...can you speak more about the mining? Can anyone mine just to make steem or is it only for creating accounts? Do you imagine new users mining themselves into the system??? Or are there third parties that offer it? Just curious because it seems like most non crypto people would be completely put off by mining due to complexity / comprehension.

Mining used to be possible, but has been discontinued at present.

Yes, mining. We believe that the ability to mine an account into creation was a fantastic feature of our hybrid proof of work system that was lost when we removed proof of work.

That is encouraging. But like @anyx mentioned we should pick up another algorithm more cpu friendly, something that has more potential for decentralization...

What about the option to power down only a part of your SP?

It is - friendly said - strange that you can only go all or nothing.

Removing the account creation barrier will allow for millions of users to be able to register without much hassle and explode the platform popularity.

When I am seeing this I am crying I didn't came to steem earlier. Guys don't think at half of redit. Let's say half of twitter.

I think making user onboarding easier and faster is the way forward and I think it is a great idea to burn tokens, that way current users will also be rewardaded through deflation.

Looking forward to it.

a very very trivial reminder - cite your image source.

thanks for the info

I have a suggestion: Adding sub-accounts, which you control from the main account.

The reason for this: I for example write in both English and Turkish. I would love to have a subaccount in which I could only post in one language. So that my English speaking followers wouldn't be like 'what is this gibrish'

Suggested method: Sub account starts with 0 vest in it. However you can transfer power from main account to power it up.

This isn't a bad idea. Thanks!

Has a tentative fork date been announced yet?

man, you people are smart. you blow my mind with every update.

You lost But I would have given you an
Upvote if my Voting Power wasn't so low...

Ah! You are feeling HF19. I feel your pain.

I decided, instead of giving upvotes, I'd turn people onto the increased buying power of Common Coinage when the Old Dollars crash, it will take 100 old dollars to get one New Dollar... The good news is that it will take 100 Cents to get the same New Dollar, so hold onto all your Pocket Change...

Don't forget about documentation. This is a major problem across most blockchains and is massively holding back development. You need up to date, step by step guides for "dummies" on how to interact with the blockchain.

The last part got too mathematical for me... lol :)

wow, all you guys must be some pretty fast readers, I have a few comments, but I'm still only half-through reading! lol

That Math's Just give me a Mini Heart attack

giphy (2).gif

Is there more information about the release (0.20) and the Phone application release? Is there any way to follow the status? Maybe on Github? I must said im no pro, so im not understand about the status. But it's get announced 5 months ago, so it suppose it will come soon?

Wonder if there will be a quick intro of how to mine yourself a steemit creation account. Wonder how some of our friends will take this in either sign up or mine up ;} Cause that's gonna be very cool to see that:

We believe that the ability to mine an account
into creation was a fantastic feature of our hybrid