The Hitchhiker’s Guide to Tezos

The purpose of this article is to provide the reader the most essential things one should know about Tezos, with no previous knowledge required about the latter, so readers that are currently interacting with the network, or are planning to, do so in an informed manner and with better understanding. The topics covered here range from an introduction to the Tezos protocol, to economics for bakers and delegators.

Note: This article is strictly about Tezos as a project and its ecosystem. Thus, it will not cover the story behind the founders of the project nor the controversy around the initial Foundation. For that, take a look at the WIRED article if you haven’t yet.

Good Boy in the Alps —by Laura Casner

What is Tezos?

Tezos is a public distributed ledger, or a blockchain, and open-source project mainly written in OCaml, a functional programming language. In addition to the ledger, it is also a smart contract platform that supports contracts written in a language called Michelson. Michelson is strongly typed, just like OCaml, and optimised for writing smart contracts that facilitate formal verification (methods that can contribute to the correctness of systems and are useful for e.g. detecting exploits, such as the infamous DAO or the Multi-Sig Wallet). Michelson is by-design limited to writing common blockchain-related applications, such as multisig wallets, vesting and distribution rules aiming to make it easier to check what exactly is executed.

In addition to the language choices, Tezos is characteristed for its own interpretation and implementation of Proof-of-Stake, known as Liquid Proof-of-Stake (LPoS), as a mechanism to determine the conditions that peers or nodes must fullfil to participate in consensus. LPoS is used in combination with Nakamoto Consensus, which states that the longest chain is the cannonical (correct) one, to both incentivise entities to maintain the infrastructure and to coordinate the same trustless parties that form the Tezos network.

Another uncommon feature, pursued by the Tezos project, is the so-called on-chain governance. Governance, in blockchain literature, refers to the process or system for designing, proposing, enforcing, and implementing changes to a protocol or project. The well-spread tag line of “Tezos — a self-amending crypto-ledger” refers to Tezos’ aim to support meta upgrades or changes not only in the source code, but also in the governance processes themselves, approval or rejection of which are determined via an on-chain voting system.

Tezos’ initial coin offering started on the 1st and lasted until the 13th of July 2017, raising $232 million for 763,306,929.69 XTZ with 20% locked in vesting contracts, according to this statistical study of the event. Regardless of being an open-source initiative, meaning that anyone can submit contributions to the source code, the project is mainly developed, brought to production, and mantained by the Delaware-based entity named Dynamic Ledger Solutions and the team behind OCamlPro, a French development services company.

Currently, there are three main releases of Tezos: zeronet, alphanet, and betanet. They are, respectively: a testnet including more experimental and development-oriented features, a testnet including the latest most stable features; and the testnet closest to production, from which transactions and originations (smart contracts) will persist on the mainnet. The latter’s launch (aka lunch date) was announced to be today (17th of September) by the Tezos Foundation. The transition from betanet to mainnet will involve a change of change of labels. The betanet was launched on the 30th of June 2018, and was operated by 8 Tezos Foundation bakers until Cycle 7. At the Cycle of writing (Cycle 26), there appears to be 411 distinct bakers.

Must-Know Particularities of the Tezos Protocol

Time is measured by Cycles (~2–3 natural days). There are two types of accounts: the ones starting with TZ1 which hold the funds, and the ones starting with KT1 which are the originations (smart contracts) for delegation. Tezos is a public blockchain, anyone who fulfills the self-bond requirements can participate in consensus. For now, there is only two ways of acquiring XTZ: having participated in the crowdsale (to use those funds one must go through KYC to activate the account), bought them on Coinone or Gate.io exchanges, or via OTC deals.

Major Stakeholders on Tezos

The Foundation

The Tezos Foundation is a nonprofit entity funded, based in Zug, and governed by the laws of Switzerland. The Foundation has the mandate to promote and develop technologies and applications, in particular, open and decentralised software architectures, which focuses (but is not limited to) on the Tezos Protocol. The original text (in German) states as follows:

Förderung und Entwicklung von neuen Technologien und Applikationen, insbesondere in den Bereichen von neuen offenen und dezentralisierten Softwarearchitekturen; im Vordergrund — aber nicht ausschliesslich — steht dabei die Förderung und Entwicklung des so genannten Tezos Protokolls und der entsprechenden Technologien, sowie die Förderung und Unterstützung von Applikationen unter Anwendung des Tezos Protokolls; vollständige Zweckumschreibung gemäss Statuten — Tezos Stiftung’s purpose, retrieved from the Commercial Register of Canton Zug

In order to fulfil its purpose, the Foundation launched a grants program dedicated to research, development, and community efforts (with Cryptium Labs featured!).

Dynamic Ledger Solutions

Dynamic Ledger Solutions is the entity committed to develop and launch the Tezos network. In return, the Tezos Foundation will provide 8.5% of the funds from the crowdsale, in addition to 10% of the total tokens issued at Genesis, as remuneration.

XTZ Holders

Entities that have acquired XTZ via the crowdsale, exchanges such as Coinone or Gate.io, or OTC deals. Holders can naturally use the funds for multiple purposes, among which the most commons are transferring, bonding (see “Bakers”), delegating (see “Delegators”), spending (e.g. in donations to open-source projects), or simply keeping (aka hodling). The latter is not recommended as holding the tokens slowly dilutes their relative value due to inflation (~5.51% of the total supply per year, distributed to bakers only).

Bakers

Also known as delegates (Tezos’ terminology, as soon as they’re recipients of a delegation) or validators (commonly used term in PoS writings). Entities that have allocated a minimum amount of XTZ as self-bond (staked), making them eligible to participate in consensus, and hence to receive baking (block validation, earning (16 XTZ + fees/block ) and endorsement rewards (earning 2 or 1 XTZ per endorsement). While there are individuals that act as bakers (aka solo-baking), there are entities that provide public services to token holders by charging service fees. This also means that for every baked block, the total supply of XTZ increases by 16 XTZ.

Baking and endorsement rights are assigned to bakers following a lottery-like system, with priority lists. Because of this, senior bakers might have earned up to date larger amounts of rewards in comparison to newer bakers, as the amount of bakers, so far, has increased cycle by cycle.

(Pseudo)Randomness for assigning slots is generated by a multi-step system and combination of different values, such as a random seed consisting of a 256 bit number generated at the end of cycle X, the commitments made during the previous cycle, up to 32 revelations, and hashing of all revelations. There have been rumours on Tezos switching to Public Verifiable Secret Sharing (e.g. Shamir’s Secret Sharing) for randomness generation.

Public bakers cannot deny delegations, which are on-chain originations (smart contracts), and they must self-bond a minimum depending on the total amount of delegation they received. When the self-bond does not cover for all the delegation, the baker is overdelegated. The only known measurement to avoid it is to not payout the rewards corresponding to the amount that caused overdelegation, so delegators are discouraged from doing so.

Rewards are, by protocol, paid to the baker’s address. This means that there is a trust relationship between the bakers and their delegators, as the latter must trust that the prior pay out the proportional rewards to the corresponding delegators.

Bakers can lose at least 512 XTZ (plus the rewards earned so far) per double-signed block, and 64 XTZ per double-endorsed block, and a maximum of their total self-bond. When bakers get punished, the tokens get burnt, they disappear from the total supply. Regardless, double-baking and double-endorsing do not affect the likelihood of being assigned future slots. Bakers that were not online at the time of baking or endorsing will lose the corresponding earnings, but other bakers might earn them instead (aka stolen blocks).

Delegators

Delegators are entities that own XTZ and decide to delegate their tokens to a baker (it can also be themselves). Delegators would, in theory, earn the proportional amount to the corresponding delegation from the total rewards a baker has produced. In return, the bakers might decide to take a % fee for the service.

Delegations, as opposed to transactions, do not cause the delegator to lose custody of their funds. A delegation is an origination (a smart contract), whose owner is the aforementioned one. Among other fields, the origination contains a parameter that is the target baker’s address, which is used to assign the delegation to that specific baker (again, it does not mean that the baker will gain any control over these funds).

Unlike bakers’ self-bond, delegations cannot be lost as a punishment for the baker double-baking or endorsing. The highest risk for delegators is the opportunity cost of delegating to a baker that shuts down their service. In this scenario, if a delegation is not switched within the same cycle, the funds will be unproductive for one more cycle, besides the 7 base cycles (required until the delegation is taken into account for the new batch of baking and endorsing slots). Other considerable risks are the likelihood of a baker not paying the rewards, or the likelihood of a baker not being alive for the assigned baking and endorsing spots causing them to not earn the rewards.

The Tezos Ecosystem

Wallets

Wallets are software that allow users to interact directly or indirectly with the blockchain. There are two types of wallets: hardware or cold wallets, and online or hot wallets. Wallets and their developers play an essential role in the blockchain ecosystem, as the usage of tokens relies strongly on them. A particularity that wallets in PoS networks have, which traditional networks such as Bitcoin did not have, is the support for delegation and un-delegation.

Bakers and developers commonly use the Tezos-Client, which is a command line-based wallet. In order to obtain the Tezos-Client, one must install Tezos on their device. This command-line tool supports actions such as transferring funds or generating originations.

Ledger Nano S is a popular hardware wallet that supports interactions with Tezos-Client. To transfer funds or making originations, one must still interact with the command line tools, but holding the funds on the hardware wallet increases the security and is recommended for large amounts of tokens. There have been announcements of Trezor, another popular hardware wallet, supporting Tezos. The highest risk with hardware wallets comes from acquiring wallets that have already been initiated, be it from official or unofficial vendors, which implies that another party might have backed the seed words and have access to the funds stored in the wallet.

In the Tezos ecosystem, there are popular hot wallets developed by Stephen Andrew and Cryptonomic’s team: TezBox Wallet and Cryptonomic’s Galleon Wallet. As the Tezos community grows, there are more and more development efforts invested in bringing more usability. Here’s a community-made list of Tezos wallets. There are even development efforts coming from far east, such as WeTez, based in China.

Essential Services

Outside of protocol and wallet development, there are teams that provide services that are essential for every user or stakeholder in the Tezos ecosystem. Block explorers are free services that work as a source of data-driven truth. They query data directly from full nodes and are commonly used for checking if a transaction has been included in the next block, to check on what cycle we are currently at, to check on what bakers are active and statistics related to their bakings, or even generic statistics about the network (total token supply or global amount self-bonded). The most popular block explorer for Tezos is TzScan built by the OCamlPro team.

Because token holders need to trust baking services to an extent, baking listings are another instance of essential services in PoS ecosystems. They list existing public baking services and show metrics on each of them, making it easy to discover services and find more information on them before delegating. Some of the popular baker listings are: MyTezosBaker, Tezos Rocks, or TzScan. There are even services that provide you with the success rate of bakers, such as Bakendorse!

Community

Not complete yet, but here’s a sneak peak of the worldwide Tezos community:

Can’t find a baker, community or development team you know? Help us complete this list via PRs!