警告:您可能成为了企图假冒本网站内容的目标。 我们检测到该网站被IFRAME包裹,这意味着与EOS Canada无关的人试图向您展示他们的内容与我们的内容相关,可能为了让您相信他们与EOS Canada有关。 我们与任何试图这样做的组织都没有联系,它也没有受到我们的认可



WARNING: you may have been the target of an attempt to misrepresent the content of this site. We detected that the site was wrapped in an IFRAME, which means that someone else, not associated with EOS Canada, attempted to show you their content combined in some way with ours, possibly to make you believe they are associated with EOS Canada. We are not associated with, and do not endorse, any organization attempting to do this.
background-flotant-top-right-01

Blog: EOS Block Producer Tips & News

background-flotant-top-left-01

The Facts About Block.one's Tokens: A Review of the Source Code

March 18, 2019 / by Josh Kauffman

We have noticed many users in the EOS community talking about Block.one’s tokens, but there seems to always be some confusion around their vesting schedule. We at EOS Canada wanted to clear this up and present the code that handles this -- providing you with the definitive answer!

Looking at Block.one’s Account

Block.one was given the first custom short name and namespace on the EOS mainnet, b1. When they had their year-long token distribution, Block.one sold 900 million tokens and sent themselves the remaining 100 million tokens. This token distribution was respected by the Appointed Block Producer who launched the chain, and later validated by the many Block Producers who validated the chain's contents during launch.

If we want to take a look at the b1 account to see what has happened on it since launch, we can easily cut through all of the random notifications it has received by using eosq’s search language.

auth:b1

You will find here that the only two actions this account has authorized was to update their owner and active permissions, and replace them each with a 2-of-3 multisig.

Their account was created with 10 liquid EOS tokens, and 49,999,995.005 staked for each CPU and Network bandwidth. The extra 0.01 EOS was because someone sent the b1 account 0.01 EOS pre-launch as a joke.

So When Do Block.one’s Tokens Become Available?

Block.one’s tokens are currently all held in their account, although they are only able to unstake a certain amount of those tokens based on a time-delay. If we review the system contract that deals with delegation for an EOSIO blockchain, and scroll down to the function validate_b1_vesting we find a few things to note.

The first line defines the base time (as a UNIX timestamp) as being 1527811200, which corresponds to 12:00am UTC on June 1, 2018.

The second line defines the max_claimable tokens, which is equal to the 100 million tokens they were distributed. This number is displayed as 100’000’000’0000, this is because there are 4 decimal places for the EOS token. Within the source code it is always written as an integer to guarantee no loss in precision due to the size of the number.

The next line is the actual calculation that controls the amount of EOS tokens that the account b1 is allowed to unstake at any given point in time.

int64_t claimable = int64_t(max_claimable * double(now()-base_time) / (10*seconds_per_year) )

If we were to rewrite this equation in plain English, it would read as:
Integer of ( ( 100 million * (current timestamp - timestamp at June 1, 2018) ) / amount of seconds in 10 years )

An Example

Let’s take January 1st, 2019 at 00:00 UTC and see how many tokens Block.one could have made available to themselves at that point.

If we look up the timestamp for that date we get 1546300800. So the calculation would then become:
(100000000*(1546300800-1527811200))/(10*52*7*24*3600)

It’s worth noting that the definition for seconds_per_year is actually slightly off, as they use 52 weeks multiplied by 7 days, which equals 364 days in a year. Of course this is one day off from 365 days, plus in 2020, 2024, and 2028 it will be 2 days off due to those being a leap year.

So as of January 1st, 2019, based on the above calculation, Block.one would have been able to unstake a total of 5,879,120 tokens.

How Come Block.one Doesn’t Split Up Their Tokens to Vote?

Many users have asked into the abyss of Telegram about the idea of Block.one splitting up their tokens into multiple accounts. This was reasoned to be so that they could vote for many Block Producers without giving each the full weight of their vote. The above restrictions on the amount which they are able to undelegate is the reason that this is not possible.

Currently, if Block.one wanted to vote with an amount smaller than their full weight, they would have to undelegate the maximum amount of tokens that is currently claimable. Then they would have to transfer those tokens to a separate account, delegate them, and then vote. As of the time of writing this article (mid-March of 2019), this amount would be approximately 7.85 million tokens.

So while no one outside of Block.one truly knows their intentions around voting or what they want to do with their tokens, we can now all understand the actual limitations that exist. If you have any further questions, feel free to join EOS Canada in our Telegram channel.

Topics: EOS tokens, Block.one, Education, EOSIO

Josh Kauffman

Written by Josh Kauffman

Josh wants to educate those around him. Since learning of cryptocurrency, he’s become a missionary -- urging those around him to understand this technology that will underpin tomorrow’s world. His latest passion is the crypto space, looking to be part of those who lead the drive towards Web 3.0.

cubes-solid

ABCs of EOS

A glossary of terms that every EOS user should know.

MORE

Apply to Access Our Newsletter

Get exclusive insights into EOS blockchain technology