Velocity Hardfork Account Creation Guidelines

in hf20 •  22 days ago

Account Creation HF20.jpg

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

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

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.

·
·

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.

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.

·
·

This is critical information that must be disclosed so witnesses can make a reasoned decision...

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.

There's enough evidence to prove that crypto investors love token burns and despise concentrated centralised stake.

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).

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.

  1. 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.

  2. However we still don't have a real world idea of how many accounts this will actually be.

  3. 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....

  4. 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.

  5. 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.

  6. 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

·
  1. Any stakeholder that has SP can theoretically use the discounted account creation system, although it is likely that only larger stakeholders will have enough RCs to be able to afford it. Anyone who is creating accounts would decide who to give them to.
  2. The number of discounted accounts that will be made available will be set by the witnesses.
  3. Lots of users pay to create accounts for their friends. There are also several other account creation services such as BlockTrades.us and AnonSteem.
  4. When you delegate SP to a user, they will receive the RCs that are associated with the delegated SP. You cannot delegate RCs independently of delegating SP.
  5. I replied to his comment with the info I have on that.
  6. I'm not sure if I understand the question. Does my response to #1 cover it?
·
·

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.

  1. Yep just making sure i had it correct.
  2. Ok so the answer is "we don't know and no one is going to even guess"
    Hope to hear from witnesses what their plan is then.
  3. Yeah blocktrades do not pay for other people's accounts... they get paid to create accounts.
    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.
  4. Thanks for the clarification. That's gonna be a tough one. But i understand the reasoning perfectly.
  5. I'll keep an eye out their if anyone has any more definitive insights what steemit inc may do.
  6. Can a user pay for an account creation of a new user with their available RC?
    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).

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.)

...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 :)

·
·

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,

Most likely it will be fairly expensive (in terms of RCs) to actually create discounted accounts.

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:

Witnesses will have two new witness parameters to submit. The account_subsidy_daily_rate will control the amount of discounted account creation tokens that are added to the global pool daily. The account_subsidy_pool_cap will control the maximum number of discounted account creation tokens allowed in the pool.

At first I was given the wrong impression by this paragraph in the current post:

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.

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.

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

Attempts to call account_create with more or less than the exact amount of account_creation_fee will be rejected.

Haven't finished reading the post through but I'm puzzled as to why would the blockchain reject account_create () with more than account_creation_fee. The extra steem could simply be added as liquid STEEM to the newly created account. Am I missing something?

Posted using Partiko Android

·

@partiko : made this comment through Partiko but didn't get my 10 Partiko points for doing so! You've got a bug there ! :-)

Posted using Partiko Android

·

The fee is being burned now. It would add extra complexity to burn part and vest that other part. If that’s what users want to do, they can just submit the transaction as two ops.

·
·

"It would add extra complexity"??? How? Aren't we just talking about code ? Is it more than a "if (account_create (fee) > account_creation_fee) then ..."? Instead of a "if ... then" it's better to make the life of the user more miserable by rejecting its first transaction and asking him to do two more and get the amounts right ??? I don't understand.

Posted using Partiko Android

·
·
·

We are not talking about a user's first transaction here. We are talking about account creation services and other users who are creating accounts for their friends/family.

·
·
·
·

Precisely: first transaction when attempting to share her enthusiasm for Steemit with friends and family. "I'll promise you, this is a great system, you'll see, let me create an account for you! ... err ... there's a bug ... what does it say? I paid too much ? Why is that a problem? Just return the change or whatever! What? I have to submit 2 separate transactions to give you 10 STEEM to start you? Oh, forget about it!..."

Posted using Partiko Android

·
·
·
·
·

In order to use the account creation system, users will already have to follow very specific technical instructions. There are quite a few requirements in order for the transaction to work. For example, passing two decimal places instead of three will not work. If they are not able to follow instructions, then they probably should not be trying to use the APIs.

Making the blockchain code more complicated adds more risk of things breaking. It is better to keep the core logic simple and then rely on front-end user interfaces to provide a more seamless user experience.

This is not really as technical as people would expect, some steemians often wait for their witness to explain information in @steemitblog post. But this is quite easy to comprehend by average Steemit users.

Activities on Steemit has reduced, but this kind of update keeps hope alive!

Does this mean that if I want to create a second or third account I am going to have to pay someone instead of using steemconnect?

·

You will still be able to create an account with SteemConnect. It will just burn the account creation fee, instead of vesting it to the new account.

·
·

It should be possible, in theory, to use steemconnect to claim and create 'free' accounts using RCs, but low SP users in practice will likely not be able to do so.

Good to know that steemit is using Steemitblog to communicating with the uses.

I have used Steemit for around 3 months. Honestly speaking, it sill have a lot of room for improvement. Time is running short especially when Dapps on EOS may be very competitive soon.

From user points of view, the following need to be improved:

  1. 3s or 6 s time lag/limit for making vote, comment is quite discouraging. Understand that it is a mechanism for preventing attack, error message pumping out is really a bad user experience.

  2. Witnesses are not active in making the communication better. At least, communication need to be improved. More useful dapps or advice are needed.

  3. 9% inflation rate may be too high. It will create high downward pressure on price of steem.

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

This is all over my head.

This is good for DApp, no need to redirect to Steemit signup form, DApp can offer free account signup on their website soon.

thanks heaps for the info. muchly appreciated xx

Thank you for the updates. I now understand why creation fee is multiplied by 30 in the old system. Having this straightforward creation_fee will make it easier for people to see immediately the amount they have to pay for on new account creation.

For me, RCs is the new variable here that the community or developers have to play around with.

Looking forward to how the witnesses will vote.

I think we need a description of what this means to non-technical users and what their options will be. Many of us will want to add more people as soon as possible

·

For the average user, probably not much is going to be changing. The changes in the hardfork will primarily affect Steemit, Inc. and other account creation services such as BlockTrades, AnonSteem, etc.

·

@timcliff is correct. These are not changes that will impact ordinary users.

Very nice information provided. Its really beneficial for the steemians. Thanks for sharing the valuable information.

Thanks for update mate !!

Posted using Partiko Android


If you would like to support the educational community by delegating to @steemiteducation, please click on any of the following links. This will ensure that more teachers are supported on a daily basis.
100SP 200SP 300SP 400SP 500SP 750SP 1000SP 2000SP 3000SP 4000SP 5000SP 10,000SP 25,000SP

I'm new to steem. I noticed you didn't receive earnings for this post. How does that come exactly?

·

There is an option to decline payout in posts. There is more info in the faq.

I am excited for steem's future!!

Congrats! This post is featured on my news show (in Chinese :D) for today!


@steemitblog
This might not belong here but I don't know where else to ask....
I have a question, do you know how I can ''delete'' a post on Steemit? I know that it did work and that there was a button just a few weeks ago but not it isn't there anymore. Especially because I'm streaming from Dlive and I did fail this morning twice but I can't delete it anymore.

Thank you