This introduction to Tezos is built in two articles. This is the second part being published after the first part introducing the theme and the philosophy.
What is Tezos ?
Now that we’ve seen what investors went through for an entire year, let’s try to understand if all the stress was worth it. What’s the value proposition of Tezos? How does it work? How is it different from other smart-contract platforms like Ethereum?
Tezos value proposition and main selling point is that it is capable of self-amendment.
The Tezos team believes that a truly decentralized system needs a protocol that is decentralized in terms of how it discovers blocks, broadcasts transactions, validates transactions and reaches consensus around a unique chain. Moreover, every bit of decision making has to be decentralized too, including protocol upgrades.
Let’s make a comparison between Ethereum’s amendment system and Tezos’ amendment system.
In Ethereum, for an upgrade of the protocol to be implemented, the following process is set in motion:
- An Ethereum Improvement Proposal is submitted to https://github.com/ethereum/EIPs
- Ethereum’s core developers discuss the proposal in open meetings https://github.com/ethereum/pm/tree/master/All%20Core%20Devs%20Meetings
- If the proposal is to be implemented, developers agree on when the upgrade will take effect. The block number that activates the upgrade is communicated to the community and the nodes should be updated accordingly.
As you can see, validating an EIP is made by Ethereum core developers, it’s an off-chain decision.
Now let’s see what Tezos proposes:
Upgrade proposals go through an election cycle that lasts 262 144 blocks each, or about three months, organized in four quarters of 65 536 blocks each.
- During the first quarter, protocol amendments are suggested by submitting the hash of the file describing the new protocol. The amendment’s architects can add an invoice to their proposal so that they get rewarded if their protocol upgrade is set in motion in the end. Token holders can approve as many proposals as they want, but at the end of the first quarter, only the proposal which received most approvals will be submitted to a vote.
- The selected proposal must obtain a supermajority of 80% of votes in favor during this second quarter. If this threshold isn’t met, then the proposal is dismissed.
- Automatically, the new proposal is implemented on the testnet. The proposal is thus tested during that period and a new vote that will require, again, a supermajority of 80%, is laid out.
- This quarter is an extension to the third one. As the protocol has been tested since the beginning of the third quarter, a confirmation vote is held for the protocol to be implemented on the mainnet. Upon validation, the new protocol will take effect immediately on the first block of the new cycle.
Of course, as Tezos is a self-amending project, the conditions described above can change through protocol upgrades. 80% is considered to be a very conservative number, and more complex conditions for protocol upgrades can be implemented in the future.
One of the most important feature of this system is that protocol developers are allowed to add an invoice to their proposal, meaning that they can be reward with new XTZs created for them if their protocol turns out to be implemented. This is not to be taken lightly as it gives developers strong incentive to upgrade the protocol.
Also, it is important to note that token holders need a minimum of 10 000 XTZ in order to be able to cast a vote. However, small token holders can delegate their voting rights to whomever they want. That said, whether it is better for protocol upgrades to be implemented by core developers or by token holders is an open question.
The second important feature of Tezos is that it is being implemented from day one with a Delegated Proof-of-Stake consensus mechanism, labeled as Liquid Proof-of-Stake.
What does that mean?
In Bitcoin or Ethereum, a Proof-of-Work consensus mechanism is used, in which miners dedicate computing power to finding a suitable hash for their current candidate block in order for it to be added to the main blockchain so they can get the block reward and transaction fees associated to that block. This process consumes a lot of energy but is, for now, recognized as the most secure consensus mechanism since Bitcoin has been using this for close to 10 years successfully. Decentralisation arises from the incentive people have to get the rewards.
Another consensus mechanism that has been tested, at first on the NXT blockchain, is Proof-of-Stake. Instead of requiring every miner to compete for a suitable hash, a miner is selected to mine a determined block. To make sure that he does not cheat, he will have to stake a certain amount of tokens prior to adding the block to the blockchain. If he tries to cheat the network, he will lose this stake. Now, this means the energy required to sustain the network is minimal. However, this system doesn’t work in favor of small token holders, who might not have enough resources at stake to be allowed to mine blocks. Also, big token holders have significantly more chances to be selected to mine blocks, which leads to wealth and power concentration. Now comes Delegated Proof-of-Stake systems. Among which stands Tezos’ Liquid Proof-of-Stake proposition.
Tezos uses the term of baking for mining operations and bakers are the equivalent of miners.
- Baking is organized in 7 cycles of 4096 blocks each (about three days per cycle). Every cycle, baking right are attributed to a list of potential bakers for each block. Token holders are allowed to stake their tokens in order to validate blocks and add them to the blockchain, but a minimum of 1 roll of XTZ – 10 000 XTZ – is needed to be able to self-bake blocks. Running a node is also necessary.
- Small token holders can delegate their tokens to special services that will stake their tokens for a fee.
- Two different types of addresses controls XTZ tokens: one that’s able to move them, and others that are derived from it and gives the voting/baking rights (which can be given to a delegation service). An interesting feature is that you can delegate XTZ while having them in cold storage.
Baker and Endorsers
Bakers mine blocks, and Endorsers guarantee the legitimacy of blocks by submitting an operation in a given block that specifies they have validated the previous block.
- Bakers have to put a minimum 512 XTZ/per roll as security deposits. If they behave incorrectly they will lose their deposit, for example if they try to double spend.
- Endorsers have to lock 16 XTZ. If they behave incorrectly they will lose their bond, for example trying to double endorse. There are 32 endorsers per block.
- Bakers get a 16 XTZ reward and endorsers get a 2 XTZ reward.
- Max reward per block is 80 XTZ.
With the first version of the protocol, an inflation rate of 5.5% is in place with the reward mechanism. Indeed, at 80 XTZ per block, and 1 minute per block, we have 80 x 60 mins x 24 hours x 365 = 42m XTZ created in the first year. 42m / 763m = 5.51%
Rewards too will increase so the 5.5% inflation is kept over the years.
If 100% of the tokens were baking, token holders would have 5.5% more token after one year. This system neither enriches nor impoverishes the token holder. However, since it is highly unlikely that 100% of tokens will be baking, bakers’ token stacks will probably gain in size.
Smart contract security through formal verification
The story of cryptocurrencies has so far taught us that if any significant amount of value is held by a system, attackers will try to find, and eventually will find, a vulnerability that allows them to get their hands on said value. An infamous example is the DAO episode, when an attacker exploited a vulnerability in the fundraiser code and got his hands on 13% of ether’s circulating supply at the time. Leading to a controversial fork of the chain.
In order to avoid this kind of loosely written smart contract, Tezos decided to put their focus on security by choosing a security-centric programming language called OCaml to write Tezos’ code. OCaml facilitates formal verification of the code, a technique that mathematically proves the correctness of computer programs.
Smart-contracts are written in Michelson, a Turing complete language developed by Tezos’ team that allows easy verification of smart-contract correctness. Early criticisms were that Michelson isn’t as user friendly as solidity, which would attract less developers to Tezos, but the Ocaml Pro team developed a language called Liquidity that compiles into Michelson and is much more easy to write on.
However, Ethereum’s developers are also working on formal verification tools and languages compatible with Ethereum’s protocol.
On the self-amending governance system
In a Delegated/Liquid Proof-of-Stake self-amending system, token distribution matters.
- 30 317 wallets were funded with 607 489 040.89 XTZ during the ICO
- 3 156 502.85 XTZ were given to early backers and contractors
- 76 330 692.97 XTZ were created for the Tezos Foundation
- 76 330 692.97 XTZ were created for the Dynamic Ledger Solutions
The Gini coefficient, which is used to determine the distribution of wealth is 0.878. (1 means one person holds the entirety of the funds, 0 means equal distribution). A comparison is made with Ethereum ICO’s 0.832, world wealth’s 0.804, and the USA’s 0.801.
Now, what does that mean for a self-amending project where tokens give voting rights?
First thing first, it means that the Foundation and DLS have a high level of control over protocol amendments with 20% of the token supply. This is probably good since they will be very active in promoting and improving their product. It also means the 80% remaining is mostly held by a small number of people, which might lead to power concentration.
This is an important concern. Vlad Zamfir, the lead developer of Ethereum’s Casper PoS mechanism, has said that he is concerned with cartelization and global monopoly on the chain on PoS systems.
As main beneficiaries, they do have an incentive for the chain to be successful, but it is hard to foresee whether the amendments they will approve will tend to give them increased power to the detriment of small token holders. That said, small token holders can delegate their votes the delegations services that are in line with their own ideas. This could work as a counter balance.
After one year of governance struggle and testnet/alphanet testing, Tezos released its betanet on the 1st of July 2018. As of today, July the 13th, the betanet is running smoothly which is reassuring when compared to the bumpy mainnet launch of EOS.
However, a last minute controversial decision was made by the team, who requested KYC to be completed in order to allow the ICO’s participants to gain access of their funds. As this can be seen as a preventive measure for regulations to come, many saw this as an action which is not in line with crypto philosophy.
Another regulation-related measure that was taken was to remove the one-year veto right the Foundation had on protocol amendments. This seems to be related to the recent SEC announcement stating that decentralization is the key measure to look at for judging whether a cryptoasset is or isn’t a security.
On another subject, it will be interesting to see how the first smart contracts running on Tezos will behave, as there is yet to be smart contracts on the closest competitor platform Cardano. As for Ethereum, both designs seem different enough for them to attract different kinds of projects. The future will tell.
In the first part, we focused on the story the Tezos blockchain.
Other Sources :
Special thanks to Arthur Breitman and the Tezos community for clarifications and corrections.