Tezos
Tezos
Token: XTZ


The self-amending cryptographic ledger

ICO dates
Start date: 2017-07-01
End date: 2017-07-13

Registrated in: USA

PREMIUM ICO

HARA

Empowering billions by utilizing a global and transparent data exchange.
Ends in 236 days 4 hours
Goal: 17,000,000 USD
Price: 1 HART = 0.059 USD

Dominium

Dominium Blockchain – The one-stop-platform for everything to do with property anywhere in the world!
Ends in 205 days 4 hours
Goal: 17,500,000 USD
Price: 1 DOM = 0.25 EUR
https://www.tezos.com/ Screenshot
Tezos categories
Banking
Tezos whitepaper
Video
Tezos token sale
KYC passing required No | Whitelist No | Restriction for countries No
Minimal investment 0.1 BTC
Acceppting BTC, ETH
Tezos news, social
Tezos search trends in Google
Random whitepaper excerpts

Contents
1 Introduction
3
2 Self-amending cryptoledger
3
2.1 Mathematical representation . . . . . . . . . . . . . . . . . . . . 3
2.2 The network shell . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.2 Chain selection algorithm . . . . . . . . . . . . . . . . . . 4
2.2.3 Network level defense . . . . . . . . . . . . . . . . . . . . 5
2.3 Functional representation . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Validating the chain . . . . . . . . . . . . . . . . . . . . . 5
2.3.2 Amending the protocol . . . . . . . . . . . . . . . . . . . . 6
2.3.3 RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Seed protocol
8
3.1 Economy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 Coins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 Mining and signing rewards . . . . . . . . . . . . . . . . . 8
3.1.3 Lost coins . ...

1 Introduction
In the first part of this paper, we will discuss the concept of abstract blockchains
and the implementation of a self-amending crypto-ledger. In the second part,
we will describe our proposed seed protocol.
2 Self-amending cryptoledger
A blockchain protocol can be decomposed into three distinct protocols:
- The network protocol discovers blocks and broadcasts transactions.
- The transaction protocol specifies what makes a transaction valid.
- The consensus protocol forms consensus around a unique chain.
Tezos implements a generic network shell. This shell is agnostic to the
transaction protocol and to the consensus protocol. We refer to the transaction
protocol and the consensus protocol together as a “blockchain protocol”. We
will first give a mathematical representation of a blockchain protocol and then
describe some of the implementation choices in Tezos.
2.1 Mathematical representation
A blockchain protocol is fundamentally a monadic implementation of con...

The networking protocol is fundamentally identical for these blockchains.
“Mining” algorithms are but an emergent property of the network, given the
incentives for block creation.
In Tezos, we make a blockchain protocol introspective by letting blocks act
on the protocol itself. We can then express the set of protocols recursively as
{(
)}
P
=
S
,

,

,
B

S
(
S
×P
)
∪{⊘}
2.2 The network shell
This formal mathematical description doesn’t tell us
how
to build the block tree.
This is the role of the network shell, which acts as an interface between a gossip
network and the protocol.
The network shell works by maintaining the best chain known to the client.
It is aware of three type of objects. The first two are transactions and blocks,
which are only propagated through the network if deemed valid. The third are
protocols, OCaml module...

2.2.3 Network level defense
In addition, the shell is “defensive”. It attempts to connect to many peers across
various IP ranges. It detects disconnected peers and bans malicious nodes.
To protect against certain denial of service attacks, the protocol provides
the shell with context dependent bounds on the size of blocks and transactions.
2.3 Functional representation
2.3.1 Validating the chain
We can efficiently capture almost all the genericity of our abstract blockchain
structure with the following OCaml types. To begin with, a block header is
defined as:
type
raw_block_header = {
pred: Block_hash.t;
header: Bytes.t;
operations: Operation_hash.t list;
timestamp: float;
}
We are purposefully not typing the header field more strongly so it can
represent arbitrary content. However, we do type the fields necessary for the
operation of the shell. These include the hash of the preceding block, a list of
operation hashes and a timestamp. In ...

type
score = Bytes.t list
module type
PROTOCOL =
sig
type
operation
val
parse_block_header : raw_block_header -> block_header option
val
parse_operation : Bytes.t -> operation option
val
apply :
Context.t ->
block_header option ->
(Operation_hash.t * operation) list ->
Context.t option Lwt.t
val
score : Context.t -> score Lwt.t
(*...*)
end
We no longer compare states directly as in the mathematical model, instead
we project the
Context
onto a list of bytes using the
score
function. List of
bytes are ordered first by length, then by lexicographic order. This is a fairly
generic structure, similar to the one used in software versioning, which is quite
versatile in representing various orderings.
Why not define a comparison function within the protocol modules? First
off it would be hard to enforce the requirement that such a function repres...

a new protocol (typically one that has been adopted through a stakeholder
voter).
-
promote_test_protocol
which replaces the current protocol with the
protocol currently being tested
These functions transform a Context by changing the associated protocol.
The new protocol takes effect when the following block is applied to the chain.
module
Context =
sig
type
t
(*...*)
val
set_test_protocol: t -> Protocol_hash.t Lwt.t
val
promote_test_protocol: t -> Protocol_hash.t -> t Lwt.t
end
The
protocol_hash
is the
sha256
hash of a tarball of
.ml
and
.mli
files.
These files are compiled on the fly. They have access to a small standard library
but are sandboxed and may not make any system call.
These functions are called through the
apply
function of the protocol which
returns the new
Context
.
Many conditions can trig...

3 Seed protocol
Much like blockchains start from a genesis hash, Tezos starts with a seed pro-
tocol. This protocol can be amended to reflect virtually any blockchain based
algorithm.
3.1 Economy
3.1.1 Coins
There are initially 10 000 000 000 (ten billion) coins
(the initial extent of the
token supply will be the number of tokens issued during the crowdsale and not
specifically “10 billion”, which was merely a placeholder. This change in size
has no effect on the principal at hand),
divisible up to two decimal places
(for
the sake of precision we may in actuality be using eight digits after the decimal).
We suggest that a single coin be referred to as a “tez” and that the smallest
unit simply as a cent. We also suggest to use the symbol

(
ua729
, “Latin
small letter tz”) to represent a tez. Therefore 1 cent =

0
.
01 = one hundreth
of a tez.
3.1.2 Mining and signing rewards

Thus, assuming a mining rate of one block per minute, about 8% of the
initial money mass should be held in the form of safety bonds after the first
year.
subject to change based on the adjustment of the parameters above.
The reward schedule implies at most a 5.4%
nominal
inflation rate
(the
total block rewards will still start at about 5% per year, but we may add an
asymptotic cap to the total number of tokens. We think it’s irrelevant when the
governance model is aligned with the token holder’s interest, but it is important
to some people so we’re reluctantly considering it).
Nominal
inflation is neutral,
it neither enrishes nor impoverishes anyone
2
.
Note that the period of a year is determined from the block’s timestamps,
not from the number of blocks. This is to remove uncertainty as to the length
of the commitment made by miners.
Looking forward
The proposed reward gives miners a 33% return on their
bond