When it comes to ICOs, few projects have seen more hype than Tezos. In 2017, its two-week ICO raised US $232 million in bitcoins and ether tokens. It is the second largest in ICO history. The project attracted such attention because the development team has a clear vision that they want to address several common issues that some high profile blockchains like Bitcoin and Ethereum had at the time.
Similar to Ethereum, Tezos is a blockchain platform for dApps and smart contracts but with a twist to the governance protocol and added new abilities. The focus of the platform is on a self-amending design where upgrades can be implemented without hard fork the blockchain. We had seen hard forks happened on both Bitcoin and Ethereum blockchains when the community failed to reach consensus on specific modifications to the network. Bitcoin was hard forked when Bitcoin Cash launched in August 2017 with only minority support which led to a period of confusions and ultimately divided the community. On Tezos, through on-chain governance, upgrades can be implemented without a hard fork, and all stakeholders may participate in the process. Furthermore, the design made sure that the governance structure itself can be changed according to the wishes of the Tezos community as well.
On June 30th, 2018, Tezos launched its betanet to test its system under real-world conditions. Different from other test nets, all transactions on betanet will persist into the mainnet when it launches. Currently, Tezos is using a Proof of Stake (POS) consensus algorithm with delegation. It is different from traditional Delegated Proof of Stake algorithms because the number of validators is not limited to a preset figure.
Tezos Consensus Algorithm
Aimed at improving the low throughput and the lack of scalability of Proof of Work (POW) consensus algorithm used by Bitcoin and Ethereum, Tezos opted to utilize the POS consensus algorithm. Unlike POW, POS does not require a massive amount of computational power but instead uses validators to produce blocks. Validators are called Bakers on Tezos, and there is no limit on the number of bakers in the system. To participate in consensus, bakers need to stake their native Tezos token (XTZ) in units called Rolls with each roll contains 10,000 XTZ. Each roll has a unique id, and the id is used to determine the validators in the block producing process.
On Tezos, block producing is done in cycles, and each cycle contains 4096 blocks. With a block time of 1 minute, a cycle is 2 days 20 hours and 16 minutes. The right to publish a block in the current cycle is assigned randomly to roll from a random roll snapshot 7 cycles ago. A roll snapshot is taken every 256 blocks, and there are 16 snapshots in each cycle. The owner of the selected roll can produce and publish the block which can then be endorsed by 32 endorsers that are chosen with the same method as the validators. Notice that it is possible for a stakeholder to take multiple slots out of the available 32 since it is the staked rolls that are being selected randomly but not the stakeholders directly.
For non-validating stakeholders, they can participate in the consensus by delegating their rolls to the validators thus boost the chance of the validator been chosen to produce blocks. In return, validators will share the block rewards and endorsement rewards minus a pre-disclosed bakers fee.
Tezos Bakers Incentive Model
As a reward for contributing to the consensus process and keeping the network stable, bakers are rewarded XTZ tokens. They will be paid 16 XTZ for each block produced and 2 XTZ for each endorsement made. Like what we mentioned before, it is possible for an Baker to receive multiple endorsement rewards on a single block. All the transaction fees generated is also awarded to the bakers.
To calculate the baking reward for a validator, we need to know the total supply of XTZ, and the amount of token he or she has, both self-staked and delegated. Based on the current data, at mainnet launch, there are 760.33 million XTZ tokens or 76,330 rolls. Assume there is a baker, called MasterChef, who staked 50 rolls and was delegated 200 rolls, therefore, has 250 rolls in total under her name. For all the XTZ delegated to her, she charges a 10% baker’s fee. Let’s further assume that, similar to another single token blockchain, EOS, 50% of all the tokens were staked on Tezos. Thus 76,330 * 50% = 38,165 rolls were staked. The possibility of MasterChef being chosen to produce blocks and make endorsement is 250/38,165 = 0.655%.
Out of the 60*24*365 = 525,600 blocks and 525,600 * 32 = 16,819,200 endorsement slots, MasterChef will get the opportunity to produce 525,600 * 0.655% = 3442.95 blocks and make 3442.95 * 32 = 110,174 endorsements. Suppose there is no transaction fees, the total reward is calculated as follow:
- Block rewards: 3442.95 * 16 = 55,087 XTZ
- Endorsement rewards: 110,174 * 2 = 220,348 XTZ
- Total rewards = 55,087 + 220,348 = 275,435 XTZ
- Income from self-staked rolls: 275, 435 * 50/250 = 55,087 XTZ
- Income from baker fees: 275, 435 * 200/250 * 10% = 22034.8 XTZ
- Total income: = 55,087 + 22,034 = 77,121.8 XTZ
Therefore, with 50 self-staked rolls and 200 delegated rolls, MasterChef is going to receive 77,121.8 XTZ a year as the reward. At the current market price of US $1.36, the total income is US $104,885.65.
Bakers Deposit Requirement
There is a 512 XTZ block security deposit, and a 64 XTZ endorsement deposit to prevent bakers and endorsers from misbehaving. The security deposits are preserved by a smart contract for 5 cycles after which the deposits are returned in the next cycle. It is bakers’ responsibility to make sure there is enough XTZ set aside to pay for the deposit. Validators with insufficient funds lose the right to produce blocks or make endorsements which means missed opportunity for rewards.
The formula, given in the white paper, to calculate the percentage of XTZ tokens a baker should hold with the total number of tokens staked and delegated to him or her is as follow:
((Block_Security_Deposit + Endorsement_Security_Deposit * Endorsements_Per_Block) * (Preserved_Cycles + 1) * Blocks_Per_Cycle) / 760.33 million
= ((512 + 64 * 32) * (5 + 1) * 4096) / 760.33 million
Using MasterChef mentioned in the previous section as an example, she should make sure that she hold at least (500,000 + 2,000,000) * 8.25% = 206,250 XTZ in her account as security deposit. However, this formula assumes that all of the XTZ (760.33 million) is staked which is highly unlikely on any blockchain. If we use the assumption we made in the previous section that 50% of tokens were staked, then the deposit percentage is 16.5% or 412,500 XTZ for MasterChef.
The Tezos project, at the time of its ICO, was quite a novelty as it promises to improve upon the Ethereum blockchain. Fueled by a passionate blockchain community, the ICO was one of the most successful in history, regarding money raised. Since then, there were many newly launched blockchain projects that states they are the solution to the problems facing the early blockchains like Bitcoin and Ethereum. The competition is tough.
As a competitor to Ethereum, Tezos is only weakly differentiated from Ethereum. Its platform has yet to be tested beyond the betanet. At the current fast speed that the blockchain technology is advancing, the development team has to step up its game and deliver a promising mainnet to the market soon. Perhaps, with a system design that allows the blockchain to evolve and scale, Tezos can provide a new model for blockchain governance and be truly competitive in the marketplace.
About Infinity Stones
Infinity Stones is a Silicon Valley based company, providing cloud management services and security solutions for Blockchains.