Velocity Hardfork Account Creation Guidelines
In a recent post we summarized the changes coming in the Velocity Hardfork, including a section on how new accounts will be created on the blockchain level. Internally, we have been preparing to transition our account creation services over to the new system which will be based on discounted account creation tokens as soon as the hardfork takes place. In today’s post, we want to share our technical notes with the community so that other parties who are interested in creating accounts after the Velocity Hardfork will know how to best use the new system.
Background
On September 25th, pending a supermajority vote of the Steem witnesses, the Steem protocol will receive an upgrade we are referring to as Hardfork 20 and which has the codename: Velocity. That upgrade will include fundamental changes in how new accounts get created—in how we enable people to gain their initial stake and become Steemians. While what is included below is mostly important for developers and technically sophisticated users who are interested in creating accounts for other people, we believe there is also value for the average Steemian to gain some insight into the mechanics of how things are done at the blockchain level.
This post is fairly technical and it is not at all necessary for the average Steemian to completely understand the details. That being said, we also understand that Steemians are not the average internet user. Most importantly they have a stake in the very protocol that powers the applications they love so much, as they have STEEM that is powered up into Steem Power.
The Steem blockchain has rules hardcoded into it which dictate on the protocol level the relationship between the amount of Steem Power an account has and the amount of influence that account has over the distribution of funds in the ecosystem. While the new user may have a very small stake, they still have some stake, which is far more than anyone can say about the vast majority of Facebook, Twitter, or Instagram users.
Who is admitted into our special community, and how they are admitted, is relevant information for every Steemian, small stakeholder or large. Designing and building systems like these represents the majority of what we spend our time doing at Steemit. While you don’t have to understand what all of it means, we invite you to at least get a sense of how it all functions.
Updates to the Account Creation Fee
Currently, the blockchain is taking the account_creation_fee
that is set by the witnesses and multiplying it by 30x to get the cost of creating a non-delegated account. After the Velocity Hardfork, the account_creation_fee
value will no longer be multiplied by 30x to get the cost of creating an account. The cost of creating an account will simply be the account_creation_fee
value set by the witnesses.
As soon as the Velocity Hardfork takes place, there will be a one-time update made to each of the account_creation_fee
values set by the witnesses, multiplying them each by 30x. This one-time update is to prevent the fee from dropping by 30x as soon as the Hardfork takes place, since they will no longer be multiplied by 30x when calculating the cost of an account.
To illustrate with an example, if the account creation fee just prior to the hardfork is 0.1 STEEM, then the cost of creating an account prior to the Hardfork would be 3.0 STEEM. As soon as the Hardfork takes place, the account creation fee would be updated to 3.0 STEEM, making the cost of creating a new account after the Hardfork still 3.0 STEEM.
Discontinued Use of Delegated Account Creation
As part of the Velocity Hardfork, the account_create_with_delegation
operation will no longer be supported. Account creation services should no longer use this method to create accounts after the Hardfork takes place.
If an account creation service would still like to provide a delegation of Steem Power to the accounts they create, they can still follow the account creation operation with an additional call to delegate_vesting_shares
to add a delegation of SP to the account.
Non-Discounted Account Creation
After the Velocity Hardfork, the account_create
operation will support the creation of non-discounted accounts. Non-discounted accounts will be created by paying the entire account_creation_fee
in STEEM.
When a non-discounted account is created, the account_creation_fee
will be deducted from the account creator’s STEEM balance and burned.
The fee that is paid when calling the account_create
operation must match the account_creation_fee
exactly. Attempts to call account_create
with more or less than the exact amount of account_creation_fee
will be rejected.
The creation of non-discounted accounts will also be supported using the same two-step process that will be described below for creating discounted accounts. It may be beneficial for account creation services to begin using the new two-step process for non-discounted accounts, even though it is technically more steps and will use slightly more RCs compared to calling just the one account_create
operation. The reason is that the new methods that are being added are more flexible than the account_create
operation, which means that if we decide to make any additional enhancements to the account creation system in the future - they may only be supported via the new methods.
Discounted Account Creation
After the Velocity Hardfork, account creation services will have the option to create discounted accounts. A discounted account is one where the fee is paid using Resource Credits (RCs) instead of burning STEEM.
The number of discounted accounts that are available, as well as the rate at which they replenish, will both be set by the witnesses.
Creating a discounted account is done in two steps. The first step is to claim a discounted account. The second step is to use the claimed account to create a new account.
Claiming Discounted Accounts
A discounted account can be claimed using the claim_account
operation. When an account calls claim_account,
the blockchain will deduct the cost of the claimed account (in RCs) from the caller’s RC balance, and increment their pending_claimed_accounts
balance by one. This pending_claimed_accounts
balance will be used in the following step to create the account.
When calling the claim_account
operation, the caller has the option to pay the fee in STEEM (which will be burned) instead of using RCs, using the optional fee
parameter. This will allow account creation systems that want to follow the same two-step process regardless of whether they are paying for the account with RCs or burned STEEM to do so if they choose. The alternative (which is also supported) is to use account_create
when creating non-discounted accounts (as described above), and only use the two-step process when creating discounted accounts.
If the caller does not have sufficient RCs (or STEEM if they are using the optional fee
parameter) to cover the cost of the claim_account
operation, the operation will be rejected. Any call to claim_account
that uses the optional fee
parameter, must use a fee exactly equal to the current account_creation_fee,
or it will be rejected. If the global available_account_subsidies
does not have any available discounted accounts remaining, the operation will be rejected.
Creating Claimed Accounts
An account’s pending_claimed_accounts
balance will reflect the number of discounted accounts that have been successfully claimed using the claim_account
operation. Pending claimed accounts are not transferable to other users, but they do not expire, and there is no limit on how many an account can hold. (Well, technically speaking there is a limit of 9,223,372,036,854,775,806, but we do not expect anyone to reach it anytime soon.)
When an account has a non-zero balance of pending_claimed_accounts
, they can call create_claimed_account
to create a new account. Calling create_claimed_account
will decrement the caller’s pending_claimed_accounts
balance by one, and create the new account.
The structure and syntax of the create_claimed_account
operation is identical to create_account,
except there is no fee
field, since the fee was already paid when the claim_account
operation was called.
Conclusion
We hope that those who are interested in using the new discounted account creation system will find this information helpful. We will also be adding the two new discounted account creation methods (claim_account
and create_claimed_account
) to the developer portal very soon. If you have any additional questions about how this new account creation system will work, please let us know.
Steem on,
Steemit Team
For details on all changes in HF20 : https://steemit.com/steem/@steemitblog/steem-velocity-hardfork-hardfork-20
Assuming HF20 is accepted, what process will Steemit, Inc. be using to create accounts for new users?
And what is the average number of accounts created by Steemit, Inc. per week over the past six to twelve months? What percentage of new account creation has been handled by Steemit, Inc. over that same period?
This is critical information that must be disclosed so witnesses can make a reasoned decision for both discounted account quota and reg fee. And anti-spam measures employed by Steemit Inc. and other large scale registrars.
I would like to see Steemit Inc. continue to pay and burn, whilst leaving the faucet and discounted quota free to third party apps. This would be a win-win for all. Third party apps can now onboard users without any friction. There's enough evidence to prove that crypto investors love token burns and despise concentrated centralised stake. So even if Steemit Inc ends up with fewer Steem, they'll be worth far more. Wishful thinking.
Though I agree it would be fantastic to see the Steemit, Inc. stake become gradually more decentralized, as far as I'm aware they will still be responsible for delegating small amounts of SP to new accounts so they can perform actions on the blockchain. While their stake seems large, it's not actually enough to support the billions of accounts that would exist in the scenario of mass adoption.
So, how will developers/witnesses solve this longer-term problem? Will parameters be changed so that accounts can successfully perform operations with a very tiny amount of delegated SP? (i.e. 0.001 SP) Or does the addition of RC's mean that bandwidth issues will no longer be a problem for low SP holders?
Yes, the RC system is designed to alleviate the issues, or at least make it a better experience. Low SP accounts will of course run out of RC. There's never going to be billions of accounts on a freemium blockchain. Freemium means - you have to power up a certain amount to use it. Steemit Inc can cover you temporarily with delegations, but that's not the intended long term design of the platform; hence why they call it freemium.
Facebook has a massive network effect, and there are no bandwidth concerns to think of as they can easily ban spammers and generate revenue from advertising.
Yes, exactly. Unfortunately, I’m not confident that they will actually provide these stats and I’m not confident that most witnesses will even understand the numbers/reasoning involved in setting their parameters...or even care in the first place. Kind of like the current set of parameters that are not understood or rarely set/adjusted.
Indeed. And there’s also evidence that crypto speculators and investors despise concentrated stake that is then dumped on the market, even when demand is light and prices are down...which is what Steemit, Inc. has done instead of burning what they don’t need for account creation, marketing, and development. So not only do they refuse to do what is largely accepted as “good,” but they continue to do the exact opposite, despite the concerns of their actual investors and fellow stakeholders who bought into their project and made them rich, setting aside their misgivings about how the project was launched.
At no point have I seen this “leadership” do the right thing. I don’t expect to see them start. I do however expect some kind of cooperation from them on providing statistics. It’s the least they could do for continually going back on their word and making this place unattractive to the wider crypto and social media markets.
Even with all that being said...the blockchain is still one of the best. It’s a shame to see it being wasted and tarnished by extremely poor “leadership.”
Do we know anything about the @alpha account? I have asked @themarkymark to explain why so many rewards go to @alpha from @buildawhale and who owns @alpha
It gets a lot from @steemit2 and sends a ton of STEEM to Bittrex probably to dump but it appears to also make money from a couple of upvote bots.
That is cool if they are legitimately paying for their development needs and all that by selling some STEEM but I don't understand why that account would be earning all that bread from the upvote bots.
It is my understanding that the alpha account belongs to Blocktrades and the account activity appears to corroborate this. The transfers to alpha from bid bot accounts are likely for delegation leasing payments.
Oh cool. That makes more sense if it belongs to Blocktrades
I haven't seen any public statements, but I suspect they will be competing for the discounted accounts along with other stakeholders. Since they have a significantly large amount of SP, they will likely be claiming a large number of the discounted accounts. No code has been checked in, but the faucet issue to track what they are doing is here: https://github.com/steemit/faucet/issues/386
@penguinpablo does a weekly report that includes the number of accounts created on the blockchain: https://steemit.com/steemit/@penguinpablo/weekly-steem-stats-report-monday-august-20-2018
As far as the number created by Steemit, I haven't checked the numbers myself, but I've heard it is around 1,000 per day on average (usually done in periods of large bursts, then quiet days).
Do you know if I can make a 2nd Steemit account? I registered for @oatmealjoey on Steemit.com over a week ago and I'm still waiting for it to be approved.
You can create multiple Steem blockchain accounts, which can be used on steemit.com. You can only get one 'free' account by signing up through the free signup.steemit.com service. There is info about how to create additional accounts in the FAQ as well as the pinned messages of the help channel in steem.chat.
@timcliff, how do they know if a person doesn't already have an account when approving accounts as that might violate the 4th amendment and what about accounts that may be of pets and groups and objects?
I don’t work for Steemit, Inc. and I don’t know how they validate uniqueness. Each signup does require a unique phone number.
Thanks. Yeah. I gave them a new phone number when registering. I waited over a week. But, today, I decided to stop waiting.. So, I used Steem Invite to make a 2nd account. I was simply going to wait maybe for 2 months to see. Because I really wanted to know what might happen. But I guess I was not sponsored or whatever we want to call it. I guess some people offered to help me with borrowing SP for the RC. But I ended up doing it all myself. Thanks again.
@timcliff, are you saying that my registration was rejected?
Sorry, I have no idea about the status of your registration.
I went to register on Steemit.com today. I typed in the username that I wanted @oatmealjoey and it was available. I took that to mean that my 2nd account was not pending.
So, like I said, I used Steem Invite to create a 2nd account after that. I might be wrong, but I'm assuming that they didn't accept the creation of a 2nd account. That's why I went ahead to create a 2nd account myself. Like I said, I probably could have gotten somebody to help me financially. But, I guess I have enough money to do it myself.
But I was curious.
Like, if I pretended to be a new person, would that work?
Good question.
But I guess it doesn't really matter.
I'm only intellectually curious about how things work.
Because I love philosophy, etc.
So, I love questioning things.
But I guess it's ok.
Now I know how to invite my mom and other people to join, since I know how to invite myself onto Steem.
And I will continue to try to encourage others to join Steemit.
Thanks again, Tim, for caring.
Very good update. This should really help to streamline the process. Implementing the Resource Credits is a great idea.
Is my thought process correct in that delegating SP to an account will increase the accounts RC? Also, do they follow the same recharge as voting power where used RCs will power up at a rate of 10% every 2.4 hours?
Delegating SP to another account will increase the account's available RCs, similar to how delegations increase a user's bandwidth today under the current system.
I don't know the recharge rate of RCs off hand. I'm curious to hear the answer to that too.
vp recharge 10% every 12 hours (not 2.4 hours) though interested RC recharge as well.
I think it was a quick-slip mix up with the 10% of the 10x vote recharge rate but, I am glad someone is paying attention :)
STEEMPEAK QUESTIONS
This is exactly the post i was hoping for and I think i understood a good chunk of it but I as well have questions perhaps some of you may have answers to.
So it's still up to each interface to determine who gets a new account with this discounted account token aka "without paying" correct?
Which is great we believe we have a great solution to the flow of incoming new accounts and were just waiting on knowing more details about this new system.
However we still don't have a real world idea of how many accounts this will actually be.
Is anyone other than the primary user planning on paying the fee to bring in a user that is not themselves? I assume steemit inc will not spend their steem they will only spend their RC bringing in new users. Which is totally understandable but also makes them the defacto place to go. Unless....
Can you delegate your RC separately from your SP?
Because then you could delegate to cool interfaces that have an onboarding method that you support. Correct? ;)
I mean we're also not gonna complain if getting RC is only an act of SP but we're either out of the game of onboarding or we look for a good delagation which of course isn't a bad thing.
I'd just echo the question by @ats-david and @liberost is how will Steemit INC decision to onboard new users because it will effect that cost... but also because perhaps there is a new solution that is so awesome we don't have to spend time creating something better.
Can a steem user of a signup portal perhaps of @steempeak use part of their RC to submit for a discounted account?
And just FYI i (@jarvie) am not the primary tech guy at https://steempeak.com
So please pardon any lack of knowledge and i'd love to know where perhaps my thinking is still uneducated. It can be a bit daunting. haha
@timcliff - I think question 6 is meant to be asking whether a site like Steempeak can add a function to their UI to create accounts on behalf of users logged in to Steempeak via Steemconnect (if the user themselves has enough RCs).
Yes, that could be done.
Just looking for a little additional insight beyond what the article stated.
But maybe i didn't some of my questions well ... very real possibility.
Hope to hear from witnesses what their plan is then.
So it still remains either a user or their friend will pay for their account and now their will be less incentive because they won't see the 3sp in the account.
Or does it have to come from the sign up portal itself that is implementing the code?
For 6 any user can, provided they have enough RCs.
Very informative post about account creation guidelines. Thanks for such knowledge able post.
Thanks for the update. Nice work (as usual).
...only a bot can reach that limit easily (if unchecked).
Well, there is a cost to creating each one (either in RCs or burned STEEM). It would be quite expensive :)
Sure.
Not being technical in any way, how does this deal with streams of 'bad actor' accounts being created? Are there some protections? Can someone with a lot of RCs create many discounted accounts?
I think the best change is that while bad actor accounts can still be created, the incentive to do so is lessened. This is due to the initial Steem now being burned. New users will have a minimum of RCs (bandwidth) but initially start with no SP. The old practice of creating large botnets to circle upvote is destroyed, as 1,000 accounts registered through Steemit inc. will now have 0 starting SP to work with collectively instead of 15,000.
Yep. What I am wondering about is if there are going to be things like a market for parking and selling names as essentially, this is the BC so once a name is used, it is burned from ever being used again and can't be pulled back without forking it out.
Isn't that the case already today?
If you are referring to the signup faucet at signup.steemit.com, the changes in the hardfork will not really directly affect that. The filtering process that Steemit uses is independent of the process that is used to actually create the (approved) accounts on the blockchain.
The amount of discounted accounts will be determined by the witnesses. The cost of those accounts (in RCs) will depend on the supply and demand. Most likely it will be fairly expensive (in terms of RCs) to actually create discounted accounts.
Yep, out of my area :) however,
If they replenish, couldn't someone with a fair few of RCs batch create?
There will likely be competition among the large stakeholders (with lots of RCs) to claim the available discounted accounts.
Couldn't stacking discounted account claims and later creating batches of accounts interfere with the limitation on the number of discounted accounts that can be created in a given period, set by the witnesses?
Afaik, the limit is on how many discounted accounts can be claimed in a given period.
Thanks Tim! You are right, as usually.
I've just read this again from the relevant steemitblog post:
At first I was given the wrong impression by this paragraph in the current post:
But after reading them again, there's no contradiction.
Well, it is going to make a few things interesting I am predicting. =)
After reading this, among the things that are clear to me is the importance of selecting our witnesses! I wasn't clear until now. Our witnesses have a power that we ourselves have given them, they should look after our interests and we should demand it of them. We hope that will happen. Thanks for keeping us up to date.
Well put, this is very true .. even moreso with HF20 coming up.
Your witness vote is hopefully thought out enough to go to people that are working to increase the value of STEEM for everyone!
Well said. Choose a witness who encourages and enhances you. Will definitely serve better than having witnesses who compete against you with greater stakes and rep (for whatever it is worth).
I think you have a strong point and wish I had 200% to upvote your comment.
When will we get our views back?
Seems more important to me than making 0.01$ per post.
They were removed because it was too easy to "game" the system, and generate fake views. It also was not an accurate reflection of view-count, since many posts are being viewed on other interfaces such as Busy.org and SteemPeak.com.
I don't even know what busy.org or steemspeek is and I am more than a year on this platform. So I don't think there will be so many people using these 'nerdy' alternatives.
They are not really nerdy alternatives. They are different choices to interact with the Steem blockchain. There is also DTube, DSound, and quite a few others. Quite a few people use them actually.
It's silly to remove it. Analytics and page views is one of the most important aspects in the modern age for a content creator
Indeed, on FB it works, on YT it works. Why not on Steemit? It is essential.
Now only thing you can see is how many bots have voted or flagged a post.
Well if it is not an accurate representation of actual views, how does that help?
99% of the time it will.
How? If your post actually got 5,000 views on another UI, but only 10 people opened it on steemit.com - wouldn't it be really disheartening if it showed you that you only got 10 views?
Different UIs can have different systems
Yes, but the problem is that the community is split across so many different UIs, and a UI can only count the views on it's own platform. Someone may be posting from steemit.com, but their primary audience may be on busy.org. Stuff like this prevents a "counter" system from working effectively. The decentralized nature of the blockchain makes it a lot different than counting views on platforms like Facebook, YouTube, etc. where everyone views the content from the same website.
haha you spelled it wrong but the link went to the right place so it still works. https://steempeak.com
Oops :) fixed, thanks for pointing it out.
no worries and I assume you'll likely see our set of questions in a new comment. We'd love to hear what you think as well.
Send me a link and I’ll check it out.
https://steempeak.com/hf20/@steempeak/re-steemitblog-velocity-hardfork-account-creation-guidelines-20180830t231749808z
Ok, that wasn't too technical or else I'm getting better at understanding how the site works as I understand the process. Hopefully this will be a success and speed up the process of joining. It would be great to see new faces being able to join straight away and make use of all the new apps and developments on the blockchain.
Posted using Partiko Android