Tezos (XTZ) is a high-speed blockchain network designed to offer an infrastructure specially adapted for the execution of smart contracts and DApps with low commissions, in addition to working on a blockchain capable of evolving over time without the need for a hard fork that may jeopardizing the integrity of the network.
Something that this project can achieve thanks to its modular infrastructure, easily upgradeable and the use of Liquid Proof of Stake (LPoS) as its consensus algorithm for high performance. Additionally, your smart contracts can be programmed both in your native language and in other languages, which gives you enormous flexibility in this regard.
History and origins of Tezos
The origins of Tezos begin on August 3, 2014, with the publication of the well-known "Position Paper" o "Position Paper", of the Tezos project. The document whose full name is "Tezos: a self-modifying cryptographic ledger" It was introduced by LM Goodman, who was the pseudonym of Arthur Breitman. In this document the objectives of the project were established, which were four:
First, it sought to solve the problem of hard fork, which avoids the dynamic update of the blockchain, delaying and hindering innovation.
The limited expressiveness of Bitcoin's transaction language (Bitcoin Script), which has led smart contracts to other blockchains.
Security issues regarding the implementation of a cryptocurrency.
With the publication of this document, Breitman examined each of these problems in depth, and proposed solutions for them within its Tezos project. However, it was not until September 2, 2014, when the whitepaper de Tezos, thus giving a complete foundation to this project.
The goal of creating Tezos as a “self-modifying cryptographic ledger” was clear from the whitepaper. Something that would be achieved under the following conditions:
Creating a network protocol that generates, verifies and validates blocks and transmits transactions.
Designing a transaction protocol specifies what makes a transaction valid.
Designing a consensus protocol that forms consensus around a single chain.
Launching the Tezos ICO
In any case, building this network was just an idea and making it a reality I wanted more than a whitepaper specifying in words what it would do. Thus, in 2017, the Tezos Foundation, a non-profit organization based in Switzerland, was born. The Foundation planned an ICO with which it managed to raise a total of 232 million dollars.
With the money in his possession, the actual development of the project was launched. However, on February 22 they had their first setback, when the president of the Tezos Foundation, Johann Gevers had to resign due to a controversy over the use of ICO funds. After these events, the development of Tezos continued and it was on June 30, 2018, when the history of the Tezos blockchain began, generating its genesis block.
Seed Protocol, the protocol that manages the operation of Tezos
The Seed Protocol or Seed Protocol, is the name given to the Tezos genesis protocol. It is to put it simply, a series of rules that govern the operation of Tezos from its origin to the present day. The rules of the Seed Protocol reflect the way Tezos handles everything related to the generation of coins, consensus protocol, the interactivity of its validators, the operation of its smart contracts and even its governance.
In that sense, the Seed Protocol has in its power the control of the most relevant elements of the blockchain, so let's examine each one of them in greater detail.
Tezos is a blockchain that uses a token for its internal operations, the Tezos (XTZ) token. Said token has a limited existence of 10 billion coins. However, in its genesis block, about 700 million coins were released to the ecosystem to a total of 32 thousand Tezos addresses, respecting the agreements of the ICO that financed this cryptocurrency.
The rest of the coins are released to the ecosystem through a system of adjustment to the emission that takes place within the protocol. Currently, such emission per block is set at 40 XTZ per block. However, at no time can this inflation exceed 5% per year, following the provisions of the Tezos Seed Protocol.
Another relevant point in Tezos currency control is that the coins in an account that are not mobilized for more than a year are burned. This in order to keep the system economically active.
XTZ, Tezos' native token
Tezos' native token is XTZ, and it is a multipurpose token. You can acquire it and use it as a means of payment or as a means to interact with the services that make life on the Tezos blockchain and its smart contracts.
However, the potential of this token is mainly focused on the control and interaction with smart contracts, the governance of the blockchain and its block generation process. In fact, the use of this token on the blockchain is very similar to what Ether has within Ethereum. Each interaction in Tezos generates a cost in “Gas”, which is then translated into its respective commission in XTZ tokens.
But the comparison between Tezos Gas and Ethereum ends there, because in Tezos the formula to calculate the cost of a commission is completely different. That formula is the following:
This makes it very clear to us that the commissions in Tezos are very cheap, even more than in Ethereum, and at the same time the fundamental role of XTZ tokens within this network. Of course, this example is only the minimum, and if your commissions are very small, validators in the middle of a high demand may not attend to your transactions with priority, making you have to raise your commissions in order to verify your transaction verified.
LPoS, the Tezos consensus protocol
Liquid Proof of Stake or Liquid Proof of Stake (LPoS) is an algorithm derived from the Proof of Stake (PoS). This protocol is designed to allow validators to extract a block, and then need a set of signatures to offer validity to said block, all at random.
That is, a group of validators generate a block, but only the block that manages to reach the set of necessary signatures in the first place, will be the one chosen to be part of the blockchain. The rest of the generated blocks are rejected, and the process is restarted. This block generation process is the one that earns the 40 XTZ reward, and those who sign also earn a small reward.
Additionally, LPoS includes some protections against the so-called double signature, which is an event in which a validator tries to sign and guarantee two different blocks at the same time, in a race to earn commissions at any cost. In this case, LPoS penalizes these actions with the loss of the profits of said block.
Baking, baking the next block
The process of creating a block in Tezos is called Baking. This is so because the validators are called "Bakers" or Bakers. The Bakers' job is to have computational power and a staking of XTZ tokens, which gives them the right to produce blocks according to their participation in the system. This process is carried out under the rules of the LPoS consensus protocol described above.
To become a Baker in Tezos you must have a minimum staking of 8000 XTZ, but the greater your participation, the greater your probability of generating a block. In addition to this, to generate a block, the Baker must make a security deposit (his "Proof of Stake") of 512 XTZ per block.
This deposit is locked for about 14 days and is a protection against cheating. If the Baker performs a double signed or double generation of blocks, or breaks some other rule within LPoS, this Baker will lose his entire security deposit (512 XTZ). Undoubtedly a fairly strong protection against this type of traps, but don't be surprised, the truth happens very often, as you can see in this image.
Delegation for baking
If someone does not have 8.000 XTZ or does not want to set up an IT infrastructure for baking, they can delegate their coins to a baker. Delegating allows coin holders to "loan" their coins to a baker. As a result, the baker has a higher chance of being selected and, in turn, the baker shares the additional income with the holder of the coin. Importantly, this process does not actually transfer ownership of the coins. The baker cannot spend the XTZ that has been delegated to him and the bakers cannot run away with other people's money.
Groups have emerged that offer competitive rates for their baking services, with most charging between 10% and 20% of the rewards people get from delegating to them.
Branch choice rule
The last key to understand about the Tezos consensus algorithm is how the protocol decides which chain fork is the "correct" one. The Bitcoin fork choice rule is simple: the longest string is the correct or canonical one. Tezos chooses the canonical chain based on the number of bakers who backed the block. It has been mentioned above that the bakers have baking rights to create blocks, but that the bakers also have the second responsibility to back the blocks. At each block height, 32 random rolls are selected to back up a block, and the block with the most backs is treated as canonical.
When a baker endorses a block that eventually becomes the canonical block, they get an XTZ reward. Thus, Bakers are incentivized to support the block that they believe other Bakers will support as well, also known as high priority blocks. Like baking, endorsement blocks require bakers to bet 40 XTZ per endorsement. This avoids the problem of nothing at stake.
Smart Contracts within Tezos
Another important part of how Tezos works are its smarts contracts. In fact, in this sense, smart contracts are controlled in a very similar way to Ethereum smart contracts. In other words, the actions and their programming have a certain cost in Gas, which must be paid in XTZ tokens, in order for them to be executed.
But far from this resemblance, Tezos smart contracts are programmed in the Michelson language, instead of Solidity as it happens in Ethereum. Michelson is the domain-specific language used to write smart contracts on the Tezos blockchain. This language is stack-based and has no variables. Stack-oriented languages operate on one or more stacks, each of which can serve a different purpose. This allows enormous versatility at the cost of being much more complex to handle.
But in addition to this, smart contracts can be programmed in other languages using an abstraction layer. The first layer is SmartPy which allows programming smart contracts for Tezos using Python. And the second is LIGO, which allows programming in languages like Pascal, Camel and Reason. In fact, the OCaml programming language is the native language under which the Tezos core is programmed.
At this point you will ask yourself, why another programming language? Well, in the case of Tezos, the Michelson language is much more practical. With more power than Solidity, speed, built-in standard data structures, higher decimal precision, and a much cleaner syntax, Michelson is by far a better structured language. Additionally, the ability to use a framework to program smart contracts using other languages, such as the well-known Python or Pascal, offers Tezos a power that Solidity in Ethereum has not reached.
Additionally, the existence of smart contracts enables this platform to create fungible and non-fungible tokens (NFT). At this point, Tezos fungible tokens are compliant with the standard ERC-20 of Ethereum, and are specified in the TZIP-7. The same happens with non-fungible tokens (NFT), which follow the standards ERC-721 and Ethereum's ERC-1155, and are specified in Tezos' TZIP-12. In this way, Tezos can create communication bridges between Ethereum tokens and its blockchain very easily.
The governance of Tezos relies on an on-chain structure that allows its participants to propose, select, test and activate protocol updates without the need for a hard fork.
In simple terms, this means that Tezos is a blockchain that can improve itself over time by having a formalized process for protocol updates. In practice, this is similar to the structure of a corporation, where shareholders can vote on the direction of the company.
Many other blockchains do not have this type of formal governance structure, so the direction of these projects is often decided by a small group of developers or a foundation, who may or may not represent all stakeholders fairly.
This process is possible thanks to the self-amendment process, which is divided into four periods. The first period is the proposal period where proposals for changes to the community are raised. Next, the voting exploration period passes, at which time, Bakers can vote on the highest ranked proposal from the previous proposal period. Bakers can vote "Yes", "No" or "Abstain" on a specific proposal.
The third period is the trial period, at which time testing begins in testnet of the proposal. If the proposal passes this testing stage, then it goes to the last period. This last period is the promotion voting period, in which a vote is taken again to decide definitively whether or not the proposal enters the Tezos protocol. This will only be possible if the proposal reaches a vote with a participation with a minimum quorum (51% of all participants) and a majority of Bakers in its favor (80% of Bakers).
The fact that the improvements are handled in this way also indicates that there is a repository of proposals in the style of the Bitcoin Improvements Proposals (BIP). That repository of proposals or Tezos Improvements Proposals (TZIP) can be seen in this link.
Pros and Cons of the project
Tezos is a project focused on offering a much friendlier system for managing smart contracts, instead of being a project for P2P payments. This somewhat limits the scope of such a project, but also provides better conditions for those who want to build decentralized applications on this platform.
In fact, it is its smart contracts and its potential that makes Tezos shine. While Michelson is a difficult and abstract language because of its handling in stacks, this gives it unparalleled processing speed. This is due to the fact that a smart contract in Michelson is practically speaking native language with the Tezos nodes, and therefore the execution of these actions is much faster, requires less computational power and is readable.
This is the opposite of what happens in Solidity, whose language is interpreted and although it can be compiled for speed, once compiled, it is humanly unreadable. Additionally, the fact of being able to use other languages to program smart contracts through the framework reinforces its ability to create smart contacts in much easier ways.
Another point in favor of Tezos is its modularity, and the fact that its blockchain can be updated without having to resort to hard forks, which maintains the continuity of the history of this blockchain. However, this is also seen as a problem due to the concentration of power of some big bakers and their weight within the project, hinting at a hint of centralization in the community.
Tezos is a blockchain designed from start to finish to offer a scalable, secure and powerful infrastructure for industrial and business grade smart contracts. This is an objective that, thanks to its Michelson language, the way in which its operation is structured and the security of the LPoS protocol is achieved without problem.
With infrastructures and tokens similar to ERC-20, DApps and integrations with technology such as IPFS, Tezos offers everything you need to deploy these tools very easily. A good example of this can be the Kalamint project, where you can handle NFT tokens within this platform. However, perhaps its greatest weakness in this case is that much of this technology has come after the success and presentation of equivalents in other networks, all due to the recent birth of this network.
Despite this, Tezos has made a strong place in the crypto community, standing out as one of the 20 best blockchain projects, and with the potential to continue improving thanks to its vision and strong community.