Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Permissionless consensus based on

Proof-of-eligibility
Geoffrey Saunois, Frédérique Robin Emmanuelle Anceaume Bruno Sericola
Inria, Univ. Rennes, CNRS, IRISA CNRS, Univ. Rennes, Inria, IRISA Inria, Univ. Rennes, CNRS, IRISA
Inria, Campus de Beaulieu, France IRISA, Campus de Beaulieu, France Inria, Campus de Beaulieu, France
firstname.lastname@inria.fr emmanuelle.anceaume@irisa.fr bruno.sericola@inria.fr

Abstract—We propose a consensus algorithm whose objective a participant to create the next block of the blockchain is
is to decide on an aggregation of values, such that all the generally proportional to the fraction of currency owned by
values proposed by the honest nodes belong to the decision. Our this participant. It is an elegant alternative in the sense that
algorithm has been designed to cope with an asynchronous and
permissionless system. By relying on a proof-of-eligibility, our all the information needed to verify the legitimacy of a
algorithm is tolerant to an adversary capable of instantaneously stakeholder to create a block (i.e., crypto-currency possession)
corrupting entities, i.e., a strongly adaptive also called or rushing is already stored in the blockchain. Finally, by being a sus-
adversary. A straightforward application of our algorithm is the tainable alternative (creating a block requires a few number
design of permissionless distributed ledgers. of operations), scalability concerns, exhibited by PoW-based
Index Terms—consensus algorithm, proof of eligibility, aggre-
gation, asynchronous and permissionless environment, adaptive
solutions, should be a priori more tractable.
adversary. An important condition for a PoS-blockchain to be secure
is randomness: the creator(s) of the next block must be truly
random, and the source of randomness must not be biaised
I. I NTRODUCTION
by any adversarial strategy. So far, this has been achieved
Permissionless blockchains aim at achieving the impressive by two main approaches: chain-based consensus and block-
result of being a persistent, distributed, consistent and con- wise Byzantine agreement. In the former approach (e.g. [3]),
tinuously growing log of transactions, publicly auditable and a snapshot of current users’ status is periodically taken, from
writable by anyone. Despite the openness of the environment which the next sequence of leaders is computed. In the
and thus the inescapable presence of malicious behaviors, latter one (e.g. [5], [7]), a Byzantine agreement per block,
security and consistency of permissionless blockchains do not relying on the properties of verifiable random cryptographic
demand the presence of a trusted third party [12]. In the schemes, is achieved. While [5] is tolerant to a weakly adaptive
seminal blockchains, i.e., Bitcoin and Ethereum, this achieve- adversary (i.e., a targeted attack needs a given amount of time
ment results from the tight combination of two ingredients: before being effective), node corruptions in [7] are effective
a randomized election of the next block of transactions to once decided by the adversary. Algorand [7] handles such a
be appended to the blockchain and a short latency broadcast strong adaptive adversary by requiring that participation to the
primitive. While the latter one relies on the properties of peer- agreement protocol is ephemeral and depends on the amount of
to-peer networks, the former one has so far been commonly stake owned on user account. However, by relying on account
implemented by solving proof-of-work (PoW). A PoW is a balance, Algorand cannot defend against an adversary that will
cryptographic puzzle that is provably secure against a large observe, during the different rounds of the agreement protocol,
proportion of participants that may wish to disrupt the system, the IP address of users with significant savings account balance
and allows to keep the rate at which blocks are created and launch a DoS attack on these users. Since these users
parametrizable and independent of the size of the system. have a higher probability to be involved in multiple rounds of
Unfortunately, resilience of PoW-based solutions fundamen- the protocol than those with low savings, by preventing these
tally relies on the massive use of computational resources, wealthy users from participating to these rounds, the adversary
which is a real issue today. Numerous investigations have been may jeopardise rounds progress, and thus termination of the
devoted to find a secure alternative to PoW, but most of them Byzantine tolerant agreement protocol.
either rely on the intensive use of a large quantity of physical The objective of this work is to go a step further by
resources (e.g. proof-of-space [2], proof-of-space/time [11]) designing a Byzantine tolerant consensus algorithm, which in
or make compromises in their trust assumptions (e.g. proof- presence of a rushing adversary, guarantees that all correct
of-elapsed-time [8], delegated proof-of-stake [6]). In contrast, users of the permissionless system decide on the same set
solutions based on proof-of-stake (PoS) seem to be a quite of values with any high probability 1 − ε, with ε ∈ (0, 1),
promising way to build secure and permissionless blockchains. in a bounded number of rounds. Briefly our solution deeply
Indeed, proof-of-stake relies on a limited but abstract resource, relies on ephemeral but provable user identities, and repeatedly
the crypto-currency, in such a way that the probability for combines a verifiable random function and a cryptographic
sortition scheme to guarantee safety and liveness of the the right to participate to the algorithm. We adopt (a simplified
algorithm despite the presence of an adaptive adversary. To fit version of) what is commonly known as the Bitcoin Unspent
the context of blockchains, users propose set of transactions Transaction Output (UTXO) model. An UTXO can be roughly
as their input values, and the decision value is a set of seen as a user’s account credited by some stake. An UTXO is
transactions. When all the proposed transactions are the same uniquely characterized by a key pair (pk, sk) and its associated
(e.g., all the users have locally the same set of pending amount of stake. Each public key is related to the digital
transactions), then the algorithm decides in three rounds with signature schema with the uniqueness property, which allows
high probability (w.h.p.). Otherwise, the number of rounds is stakeholders to use the public keys (or a hash thereof) of their
upper bounded w.h.p. UTXOs as a reference to them, as demonstrated in the “Public
The remaining of the paper is orchestrated as follows. Keys as Identities principle” of Chaum [4]. Hence user u is
Section II presents the model of system in terms of synchrony, publicly known as pku if u owns the UTXO whose key pair is
communication, security, and user transactions. Section III (pku , sku ). An UTXO is created when it appears for the first
specifies the problem addressed by this paper. Section IV de- time in the output set of a transaction, and once it is referenced
scribes the main tenets of our consensus algorithm. Section V in the input set of another transaction, it cannot be used
presents an in-depth analysis of our algorithm. Section VI anymore. Hence, by using UTXOs as user identities, a user
concludes. owns as many verifiable identities as he wants. Since UTXOs
are ephemeral, the number of users continuously varies with
II. S YSTEM ASSUMPTIONS the activity of the system.
a) Asynchronous and permissionless system: By permis-
Remark 1. In the following, when we say that UTXO
sionless we mean a distributed system in which (i) the number
(pku , sku ) is selected to perform some action we mean the
of participants for carrying out the protocol is not known
user that owns this UTXO is selected to perform some action.
before hand, is not even known during the course of the exe-
Symmetrically, when we say that some user u executes some
cution, and may change over time, (ii) the right to contribute
action we mean the owner of UTXO < pku , sku > executes
and to participate is not controlled by a (trustworthy) third
some action.
authority, i.e. we do not assume the presence of any public key
infrastructure (PKI), and (iii) participants communicate over d) Threat model: An adaptive adversary: We assume the
a weakly but reliable connected communication topology. We presence of Byzantine (i.e. malicious) users which controls up
assume an asynchronous environment, that is our algorithm to pA < 1/3 of the total amount of stake currently available in
does not make any synchrony assumptions, i.e. does not the system. This model, named the ”stake threshold adversary”
assume any bounds on the time needed for a message to be by Abraham and Malkhi [1], is an alternative to the common
received by its recipients, nor on the computation time of the threshold adversary model, which bounds the total number of
processes, nor on the individual drifts of clocks. parties the adversary controls relative to the total population
b) Cryptographic functions: Users have access to ba- of the system, and an extension (or modification) of the com-
sic cryptographic functions, including a cryptographic hash putational threshold adversary introduced by Bitcoin, which
function h of hash-value size h and an asymmetric signature bounds the proportion of the computational power owned by
scheme that allows a user to generate a public and secret parties. Byzantine users can deviate from the protocol. They
key pairs (sk, pk), and compute a signature σsk,h (d) of any are modeled by an adversary. The adversary can perfectly
message d. Function h is modeled as a random oracle. Our coordinates all malicious users. It can learn the messages sent
algorithm relies on verifiable random functions (VRFs). A by honest users (i.e. non malicious users), delay them, and
Verifiable Random Function (VRF) [10] is the public-key then chooses messages sent by malicious ones. Further the
version of a keyed cryptographic hash. It is a pseudorandom adversary is adaptive: it can select at any time which users to
function that provides a proof of its correct computation. corrupt in replacement of corrupted ones (i.e. corruptions are
Only the holder of the private key sk can compute the hash, ”moving”). The adversary is computationally bounded so that
but anyone with corresponding public key pk can verify the it can neither forge honest nodes’ signatures nor break the hash
correctness of the hash. A VRF hashes an input α using the function and the signature scheme. Finally, we assume that all
private key sk to obtain a VRF hash output β = VRF (sk, α), users (honest and malicious) share an initial knowledge that
commonly denoted as β = VRF sk (α), such that β will always we call genesis block which contains an initial arbitrary UTXO
be unique for a given input message and a public key. Function set. We assume this block also shares the same properties as
VRF is also modeled as a random oracle, and is deterministic, regular blocks. How to setup the genesis block is out of the
in the sense that it always produces the same output β given scope of this paper.
a pair of inputs (sk, α). The private key sk is also used to
construct a proof π showing that β is the correct hash output, III. T HE ADDRESSED PROBLEM : THE
i.e. π = VRF provesk (α). We adopt the following notation M ERGED -C ONSENSUS
< β, π >= VRF sk (α). While the overall goal of this work is to build a permission-
c) Public Keys as Identities principle [4]: Users own less blockchain in a Proof-of-eligibility setting (see below for
some minimal amount of stake (i.e., money), which gives them more details), in this paper we will concentrate on the design

2
of the consensus algorithm whose objective is to decide on sortition relies on the properties of verifiable random functions
a set of valid transactions. We will prove that all the honest (VRFs) [10] and random sampling. The idea of our algorithm
users of the asynchronous and permissionless system decide is to select, at each round of the algorithm, a random subset
on the same set of transactions and that the decision is reached of users proportionally to the amount of stake credited on
in a finite and bounded number of rounds with any high prob- user UTXOs. Correctness of our cryptographic sortition is
ability. We will also show that our algorithm is tolerant to an ensured by guaranteeing that no obvious Byzantine strategy
adversary capable of instantaneously corrupting entities, i.e., such as a concentration of the stake on a single manipulated
a strongly adaptive also called or rushing adversary. Clearly, UTXO or a massive sub-division of stake on a multitude of
by sequentially invoking each instance of the consensus with compromised UTXOs (Sybil attack), can bias user random
a sequence number, this should make easier the construction selection. Mitigating the impact of the former strategy is
of a permissionless blockchain. achieved by assuming an upper bound on the amount of stake
The task that honest users want to solve is the Merged- credited on UTXOs. Note that this is not a constraint since
Consensus which is formalized by the following properties. each user may create an arbitrary large number of UTXOs
• Termination: Each honest user u eventually outputs one and the number of transaction outputs is not upper bounded.
decision value decu ; The way we mitigate Sybil attacks is presented later in the
• Agreement: For any honest users u and v that respec- paper.
tively decide decu and decv , then decu = decv ; Rule 1. Any UTXO stake amount is bounded by constant U .
• Validity: Any decision value dec contains at least the set
of transactions proposed by an honest user. Note that in Algorand [7], the selection of users is done
proportionally to the total amount of stake they own. Such
IV. M AIN PRINCIPLES OF OUR M ERGED -C ONSENSUS a solution allows the adversary to prevent progress of the
ALGORITHM algorithm by launching DoS attacks on wealthiest users.
The algorithm we propose to implement the Merged- Indeed, by construction of cryptographic sortition, each one
Consensus specification in a permissionless system consists can verify the voting weight of any committee member. Thus
of several asynchronous rounds. By adopting the nice idea the adversary can observe and detect the wealthiest users along
of user replacement [7], each asynchronous round r, r ≥ 0, the rounds of the algorithm (those with high voting weight),
is run by a dynamically created committee whose members and make a DoS attack on them. By doing this, the adversary
are selected among all the users (i.e. UTXO owners) of will prevent round progress by making the number of votes
the system at round r. Selection is achieved in a random, within any given round insufficient.
unpredictable, and non-interactive way. To prevent an adap- Cryptographic sortition exports two functions: the D RAW
tive adversary from manipulating committee members during and V ERIFY D RAW functions. Function D RAW is a private
round r, r ≥ 0, the action of each committee member is function which allows users (i) to determine by themselves
limited to a unique step of computation followed by a unique whether they are selected as a committee member of a given
step of communication. Hence, if the adversary eavesdrops round r of the consensus algorithm, and (ii) to provide later
a message from a committee member u, it is too late for and if necessary a proof of soundness of this selection. The
him to manipulate u since u will not execute any more D RAW function, whose pseudo-code is given in Algorithm 1,
steps in round r, and possibly in any other rounds of the when invoked by UTXO < sku , pku >, has five arguments:
algorithm. Recall that users are ”short-lived” (a user is alive the secret key sku of the UTXO, a seed seed from which
as long as its UTXO has not been spent). Selection relies on a comes the randomness of the sortition, the expected number
proof-of-eligibility. Since Algorand [7], Proof-of-Eligibilities of stake τ selected by the current sortition, the amount of
(PoEs) have become essential in the design of permissionless stake wu credited on UTXO < sku , pku >, and the total
distributed ledgers. PoEs allow us to decide who is in charge current amount of currency units W owned by all the users
of executing an action. When the eligibility is found out by of the system. Computation of the seed is based on the most
each one individually, it is called a cryptographic sortition recent pieces of information known by every user. In our case,
scheme, i.e. the opportunity to determine if you are the winner this is the hash of the last created block, that is the hash
of a ”lottery” depends on you alone. Cryptographic sortition of the decision value decided by the preceding instance of
needs to fulfill three main properties. First, entities should the Merged-Consensus. In the following we omit to include
be able to determine by themselves whether they are eligible the instance number as parameter of the Merged-Consensus
to perform a certain action. Second, the eligibility should be algorithm not to overload the pseudo-codes. The knowledge
verifiable by other entities. Third, a cryptographic sortition is of W is obtained by successively reading all the blocks of the
associated with a single identity, i.e. entities need to be sure blockchain. Function D RAW is made of two steps, first a call
that the proof was generated by the entity claiming it. Addi- to a VRF function which calculates a random and verifiable
tionally, one would also like that the proof is indistinguishable number hu , and a weighted random sampling seeded with hu .
from random. Note that in contrast to cryptographic sortition, The weighted random sampling computes the voting weight
PoW cannot be attributed to a single user which explains voteu of UTXO < sku , pku > during round r according to the
the development of mining pools. Concretely, cryptographic amount of stake credited on this UTXO. This voting weight is

3
Algorithm 1: Draw function invoked by UTXO < Algorithm 3: Merged-Consensus algorithm invoked by
sku , pku > UTXO < pku , sku > whose stake is equal to wu
1 Function Draw(sku , seed, τ, wu , W ) is 1 Propose ():
2 < hu , πu > ←− VRFsu (seed) 2 Initialization:
3 voteu ←− 0 3 r←0
4 for j in {0, w − 1} do 4 IsFinal=⊥
5 if hu /2256 < P{B(wu , τ /W ) ≤ j} then 5 (voteu , πu ) ← DRAW (sku , seed||r, τ , wu , W )
6 voteu ++ 6 if voteu > 0 then
7 T ← set of pending transaction
7 return voteu , πu 8 mu ← hIsF inal, 0, (pku , πu ), Tu , ∅, voteu i
9 B ROADCAST(mu ) to all users of the system
10 r ←r+1
11 repeat
used by UTXO < sku , pku > during round r of the consensus 12 (voteu , πk ) ← DRAW(sku , seed||r, τ , wu , W )
algorithm. If voteu is equal to 0, user u cannot participate to 13 if voteu > 0 then
the r-th round of the consensus algorithm. Otherwise, voteu 14 Mu ← C OLLECT M ESSAGES(r)
gives u the right to belong to the committee of round r, and 15 Tu , IsFinalCnt ← T RANSAC M ERGE(Mu )
16 IsFinal ← (IsFinalCnt > 0)
represents the weight of u’s vote during round r. 17 if for any mi , mj ∈ Mu , mi Ti = mj .Tj then
Specifically, let voteu be the random variable representing 18 IsFinal ← T RUE
the voting weight of UTXO < sku , pku > as computed 19 if r = 2 and IsFinal = false then
by function D RAW. Random variable voteu has a binomial 20 Tu ← T RANSAC F REQUENCY(Mu )
distribution B(wu , p) where probability p is equal to τ /W . D E
21 mu ← IsFinal, r, (pku , πu ), Tu , Mu , voteu
The probability that UTXO < sku , pku > is selected is thus
1 − (1 − W τ wu
) . By independence of binomial distributions, 22 B ROADCAST(mu )
whatever the sub-division w1 + w2 = w of w, the distribution 23 r ←r+1
of the weight associated with w is the same as the sum of 24 until IsFinalCnt ≥ µτ ;
25 decision = Tu
the weight associated with w1 and w2 : B(w, p) = B(w1 , p) + 26 return decision
B(w2 , p). This guarantees that an adversary has no advantage
in launching a Sybil attack: an adversary can create as many
accounts as it wants, what will influence the probability of
winning is the total amount of stake, not the number of presented in Algorithm 3. In the following we assume that
accounts. the following parameters are public knowledge: the seed of
Function V ERIFY D RAW is a public function (known to all the current instance of the consensus, the expected number of
users), whose pseudo-code appears in Algorithm 2. It allows stake τ selected by the lottery, the total amount of stake W
each user to verify the legitimacy of UTXO < sku , pku > to in the system, µ ∈ (0, 1), and λ ∈ (0, 1) whose values are
get a voting weight vote. This function is similar to D RAW analyzed in Section V.
except that it is called with the public key pku of the UTXO As previously said, input values of the consensus are the
and proof πu . set of (financial) transactions pending at users. By doing so,
we can legitimately talk about the validity of a transaction. A
Algorithm 2: VerifyDraw function invoked by any user transaction is valid if none of its referenced UTXOs have al-
1 Function VerifyDraw(pku , πu , seed, τ, wu , W ) is ready been spent in some transactions belonging to a previous
2 h ←− V ERIF VRF (pku , πu , seed ) decision value (i.e., in a block belonging to the blockchain).
3 vote ←− 0 In the following we assume that only valid transactions are
4 for j in {0, w − 1} do
proposed.
5 if h/2256 < P{B(wu , τ /W ) ≤ j} then
6 vote ++ a) Round r = 0: committee members propose their
sets of pending transactions: Let u be the owner of
7 return vote UTXO < pku , sku > that successfully passed the D RAW
function for round 0, i.e., voteu > 0. User u proposes
Any honest 1 user of the system invokes the Merged- its set of transactions T by broadcasting the message
Consensus algorithm (invocation of Propose()), but partici- mu = h⊥, 0, (pku , πu ), Tu , ∅, voteu i to all the users (Line 9
pation to round r, r ≥ 0, depends on the outcome of the of Algorithm 3).
Draw function. From above, in expectation, for each round
r, τ stakes are randomly selected among the W stakes of b) Round r > 0: committee members collect and merge
the system. Let us now present in more details an execution proposed transactions: Each round r > 0 is made of the
of the Merged-Consensus algorithm, whose pseudo-code is following two steps: collect of broadcast messages, and the
construction of the final set of transactions, together with
1 Recall that we cannot compel Byzantine user to follow the protocol. the proof that those sets of transactions have been initially

4
broadcast in round r = 0. Algorithm 4: Collect Messages function invoked by <
pku , sku >
• Collecting messages (pseudo-code given in Algorithm 4): 1 Function C OLLECT M ESSAGES(r):
This step consists for committee members of round r in 2 Mu , SeenUsers, BadUsers ← ∅, ∅, ∅
collecting sufficiently many messages broadcast during 3 WeightCnt ← 0
round r − 1. By sufficiently many, we mean that the 4 while WeightCnt < µτ do
5 when mj is received do:
total number of votes of the senders of these messages 6 v ← V ERIFY D RAW(mj .pkj , mj .πj , seed||(r − 1),
must be larger than µτ . Conditions on the value of τ, mj .votej , W )
µτ are provided in Section IV-A). To guarantee the 7 if v = mj .votej and Valid(mj .Mj )=true then
convergence on a unique set of transactions with high 8 if pkj ∈
/ SeenUsers ∪ BadUsers then
probability, we first need to guarantee that messages only 9 if VerifyAllTrans(Tj ) then
10 WeightCnt ← WeightCnt + votej
contain transactions that have been initially sent in round 11 SeenUsers ← SeenUsers ∪ {pkj }
r = 0, and second we need to prevent the adversary from 12 Mu [pkj ] ← mj
withholding the transactions it sent during round r = 0,
and then progressively make honest committee members 13 else
14 if pkj ∈ SeenUsers and Mu [pkj ] 6= mj then
discover them during subsequent rounds. The first case 15 WeightCnt ← WeightCnt - votej
is guaranteed by providing in message mu a proof (data 16 SeenUsers ← SeenUsers \ {pkj }
structure Mu ) asserting that all collected transactions 17 BadUsers ← BadUsers ∪ {pkj }
have been initially proposed by the committee members 18 delete(Mu [pkj ])
of the previous round, and thus by induction by those
of round r = 0. The second case is handled in round 19 return Mu
r = 2 and is detailed below. Note that Lines 14–18
of Algorithm 4 penalize an UTXO from sending several
messages in the same round.
• Building the final set of transactions (pseudo-code given
we mean that the cumulative votes of these messages is
in Algorithm 5): Once valid messages have been col-
larger than µτ .
lected, any committee member u tries to build the final
set of transactions. Specifically, if r = 1, then the
preliminary final set of transactions Tu contains the union
of all the transactions received by u during the round Algorithm 5: Construction of the final set of transactions.
and variable IsF inalCnt = 0. It may happen that all Functions invoked by < pku , sku >
the committee members of round r = 0 broadcast the 1 Function T RANSAC M ERGE(Mu ):
same set of transactions, in which case the final set of 2 IsFinalCnt ← 0
transactions will not evolve anymore (Boolean IsFinal is 3 Tu ← ∅
4 for each mj ∈ Mu do
set to true). Set Tu together with the set of collected 5 if IsFinalCnt = 0 then
messages Mu (which acts as a proof for Tu ) is broadcast 6 if mj .IsFinal then
to all the users (Recall that committee members of any 7 IsFinalCnt+ = mj .votej
round r are not known and thus all messages must be 8 Tu ← mj .Tj
broadcast to all users). Round r = 2 is particular and 9 else
its objective is twofold: achieving faster convergence to 10 Tu ← Tu ∪ mj .Tj
the final set of transactions and preventing the adversary 11 else
from withholding the transactions it sent during round 12 if mj .IsFinal then
r = 0, and then progressively making honest committee 13 IsFinalCnt+ = mj .votej
members discover them during subsequent rounds. This
is achieved by keeping in the final set of transactions (i.e., 14 return Tu , IsFinalCnt
Tu ) only transactions that have received sufficiently many 15 Function T RANSAC F REQUENCY(Mu ):
votes (i.e. λµτ ). Parameter λ can be seen as a broadcast 16 WeightPerTransaction, Tu ← ∅, ∅
factor, whose value is discussed in Section IV-A). As for 17 for each mj ∈ Mu do
18 for each t ∈ mj .Tj do
round r = 1, set Tu together with the set of collected 19 WeightPerTransaction[t] + = mj .votej
messages Mu (which acts as a proof for Tu ) is broadcast
to all the users for the next round of the algorithm. 20 for each t ∈ WeightPerTransaction do
Subsequent rounds r > 2 are run until convergence to the 21 if WeightPerTransaction[t] ≥ λµτ then
22 Tu ← Tu ∪ t
same set of transactions is reached. Convergence to the
same final transaction occurs when some user u receives 23 return Tu
sufficiently messages from the previous round where
IsFinal argument is set to T RUE. Again, by sufficiently,

5
A. Validity conditions H(dµτ e − X1A , X1H , X1,tH
). Hence, for any u ∈ J1, X2H K
λ must verify for any transaction t broadcast at round 0
Correctness of the Merged-Consensus algorithm imposes
the following conditions on µτ . X2H
[
a) Size of the Byzantine quorum: Any committee mem- P( (Nu (t) < λµτ )) < ε. (C4 )
ber relies on a Byzantine quorum of µτ votes to make a u=1

decision. In the sequel, we introduce three conditions that Assuming that λµτ ≥ 1, Condition (C4 ) implies that Nu (t) ≥
any Byzantine quorum must verify to guarantee safety and λµτ ≥ 1, w.h.p. for any honest user u participated at round
liveness properties of our algorithm. As explained earlier 2 of the algorithm. In other words, transaction t will be seen
(see Section IV), the number of users selected as committee by each honest user by round 2 (and thus by any committee
members of round r is such that their cumulative stake at member in charge of round 2), which shows that honest
round r follows a binomial law B (W, τ /W ). We denote by transactions spread across the network in a small number of
Xr this random variable. We also define by XrH (resp. by XrA ) rounds.
the honest (resp. adversary) stakes selected at round r among
V. A NALYSIS
Xr . We thus have Xr = XrH + XrA for any r ≥ 0.
The first condition is a liveness condition stating that there This section is dedicated to the analysis of our Consensus-
exists a Byzantine quorum composed of solely honest users Merged algorithm. In the sequel, we assume that conditions
with any high probability (w.h.p). For any r ≥ 0, C1 , C2 , C3 and C4 hold and that λµτ ≥ 1 and U = 1.
Theorem 1 (Agreement). For any honest users u and v that
P{XrH ≤ µτ } ≤ ε. (C1 ) respectively decide decu and decv , then decu = decv with
probability 1 − ε.
The second condition is a safety condition guaranteeing that
even if the adversary combines all his votes, they will not Proof. A user decides once it has received more than µτ
exceed a certain proportion α ∈ (0, 1) of the quorum w.h.p. final votes (i.e. where IsFinal is T RUE). By construction of
the algorithm (Lines 14–18 of Algorithm 4) each user votes
P{XrA > αµτ } ≤ ε. (C2 ) solely once per round and (C3 ), ensures that with probability
at most 1 − ε there are strictly less than 2µτ votes per
The third condition is a uniqueness condition which ensures round. Consequently, there cannot be more than one set of
that any two quorums in the same round necessarily intersect. transactions in a round acknowledged by more than µτ votes:
the acknowledged transaction set is thus unique. Finally, (C2 )
P{Xr > 2µτ } ≤ ε. (C3 ) guarantees that any Byzantine quorum must contain at least
one honest UTXO’s owner w.h.p.. This ensures that the set of
As we will see later, two major properties of our algorithm acknowledged transactions has been acknowledged by at least
can be derived from the uniqueness condition: two “final one honest user w.h.p.
decisions” cannot emerge from a same round (see Theorem 1), Theorem 2 (Validity). Any transaction t belonging to an
and a final vote is always unique. honest set broadcast at round 0 will appear into the final
The broadcast factor λ which appears in Round 2 (see decision with probability 1 − ε .
Section IV) aims at preventing the adversary from withholding
the transactions it sent during round r = 0, and then pro- Proof. Condition (C4 ) states that any transaction t broadcast
gressively making honest committee members discover them at round 0 will belong to the sets of all honest members of
during subsequent rounds. round 2 with probability 1 − ε. Condition (C2 ) imposes that
any committee member of round 3 uses at least µτ − X2A >
Let us assume without loss of generality that U = 1, i.e.,
(1 − α)µτ ≥ 1 honest sets from round 2. Thus, all committee
users wait for exactly dµτ e messages. Let us consider the
members of round 3 will have t in their sets, which will
worst-case scenario: the adversary plays with the broadcast
therefore necessarily be part of the decision value of the
factor to exclude a transaction t broadcast by solely one honest
algorithm.
user at round 0. The adversary does not include t in any of his
transaction sets at round 0, and sends his X0A sets of transac- The following lemma provides an upper bound on the
tions to all honest users to reduce their chances to receive t. number of transactions, proposed by the adversary, that can
H
We denote by X1,t the number of honest committee members be delayed in round 2.
H
who keep transaction t at round 1. X1,t follows a binomial
Lemma 1 (Upper bound on the number of delayed trans-
law of parameters X1 and p1 (t) := (dµτ e − X0A )/X0H . The
H
actions). The adversary can delay at most b αλ c of its own
adversary still tries to withhold t and sends his X1A transaction
transactions sets at round 2 with probability 1 − ε.
sets to all users during round 1. Let Nu (t) be the number
of sets containing transaction t at honest user u at round 2. Proof. Let S A be the set of transactions sets delayed by the
Since user u has dµτ e − X1A sets to select among X1H ones adversary, i.e. the transactions sets secretly exchanged by the
containing t, Nu (t) follows an hypergeometric distribution adversary during the two first rounds. Recall that Condition

6
(C4 ) ensures that a transaction t ∈ S is accepted at Round 2 r0 the smallest r ∈ N∗ meeting this condition. According to
H H H
only if set S is composed of more than dλµτ e sets proposed Lemma 2, ∀i ∈ J1, X3r K, S3(r−1) ⊂ Si,3r−1 . In other words,
at round 1. Therefore, if the adversary wishes to delay several any honest user that does not see new transaction between
sets, he must use at least dλµτ e from his own selected users rounds 3(r − 1) and 3r received only messages from round
H
at round 1 to keep each set (these sets of selected users must 3r − 1 containing the exact same set S3(r−1) , and hence
new
be pairwise distinct, otherwise the sets of transactions will be broadcast a final vote. Then, if S3r = ∅, it means that no
aggregated, and from then on will behave as the same set). honest member has seen any new transaction between round
Recall that the number of selected Byzantine users at round 1 3(r−1) and 3r. All honest members will then broadcast a final
is X1A , the maximum
 number of sets the adversary can delay vote, which will be accepted by all other any honest committee
is thus Card S A = X1A /λµτ < bα/λc , since, according members since by Condition (C1 ), we have X3H r ≥ µτ
to Condition (C1 ), we have X1A < αµτ with probability 1 − with probability 1 − P ε. The consensus algorithm completes
r0 −1
ε. by round 3r0 . Since r=1 new
Card(S3r ) < Card(S A ) and
new
∀r ∈ J1, r0 − 1K,  Card(S3r ) ≥ 1, we have r0 ≤
Finally, we can provide an upper bound on the number of
Card(S A ) + 1 ≤ αλ + 1, which shows  that the number of
rounds necessary for our algorithm to terminate.
rounds is upper bounded by 3r0 ≤ 3 αλ + 1 rounds.
Theorem 3 (Termination). Algorithm 3 completes in a finite
number of rounds r, and r is upper bounded by rmax with A. Relating parameters of the algorithm
rmax = 3 (bα/λc + 1) with probability 1 − ε. We now detail how to set the values of the different
To prove Theorem 3, we need the following lemma. parameters of the algorithm. From the following parameters,
H A • the proportion of stakes pA controlled by the adversary,
Lemma 2. Let Si,r = {Si,r , Sj,r } with i ∈ J1, XrH K and
A • the mean number of selected stakes per round τ ,
j ∈ J1, Xr K be the sets of honest (resp. Byzantine) members
• the total amount of stake W in the system,
participating at round r ≥ 2. For any transaction t belonging
• the maximal number of round rmax , and
to an honest set broadcast at round r, we have with an high
• the threshold parameter ε.
probability that
we obtain parameters α, µ and λ.
H H
∀i ∈ J1, Xr+2 K, t ∈ Si,r+2 and ∀i ∈ J1, Xr+3 K, t ∈ Si,r+3 . a) Parameters τ and W : First, note that parameters
Proof. We apply the same approach as the one used for the W and τ are tightly linked through the binomial sampling
broadcast factor, see Condition (C4 ). Using that our results procedure (see Section IV). Indeed, the proportion of stakes
remain valid for any transaction t broadcast in a honest set at p selected among the W stakes of the system is such that
any round r ≥ 2, for any member u of round r+2, and with an τ = pW . We thus just need to focus on τ , the mean number
high probability, we have Nu (t) ≥ λµτ ≥ 1. Then, all honest of stakes selected at each round. In the sequel, we assume
members of round r + 2 will received with high probability that W −→ +∞ which enables us to apply the Poisson’s law
at least one set containing t, and hence add it to their set. approximation of the binomial law X ∼ B(W, τ /W ), as it has
H
That is, ∀i ∈ J1, Xr+2 H
K, t ∈ Si,r+2 . Furthermore, similarly been done for Algorand [7]. Such a result is rather classic (e.g.,
to Theorem 2, Condition (C2 ) imposes that any committee see [9]) and says that X can be approximated by Y ∼ P(τ ).
member of round r + 3 must use at least µτ − Xr+2 A
> (1 − We can also use the Poisson approximation Y H ∼ P(τ pH )
α)µτ ≥ 1 honest sets from round r + 2. Thus, all committee of X H ∼ B(W, τ pH /W ).
members of round r + 3 will have t in their sets. That is, b) Parameter µ: Parameter µ depends on parameters τ ,
∀i ∈ J1, Xr+3 K, t ∈ Si,r+3 . ε and pA . From conditions Conditions (C1 ) and (C3 ), we get
a maximal and minimal bound for µ, denoted by µ+ and µ−
This lemma guarantees that any transaction broadcast at respectively. We have
round r by an honest user will belong to all honest sets
at round r + 2, and in all sets (whether they are honest or µ+ (τ, ε, pA ) := max {µ ∈ [0, 1] s. t. Condition (C1 ) holds}
malicious) at round r + 3. We can now prove Theorem 3:
and µ− (τ, ε) := min {µ ∈ [0, 1] s. t. Condition (C3 ) holds}.
Proof. (Theorem 3). We (1)
S first introduce some notations: for
any r ≥ 1, let SrH := i Si,r
H
and
n o Note that µ+ depends on pA although µ− does not. Clearly,
new
S3r := S ∈ S A |S ∩ S3(r−1)
H H
= ∅ and S ∩ S3r 6= ∅ , Conditions (C1 ) and (C3 ) are simultaneously satisfied when
µ− ≤ µ+ . Figure 1 represents the evolution of µ− and µ+
be the “new” transactions sets which appeared to honest mem- as a function of τ , with pA = 0.1, 0.2 and 0.3 and ε =
bers between rounds 3(r − 1) and 3r. Due to the aggregation 10−15 . We observe that there is a threshold value τµ = 3, 768
H H
procedure, it is straightforward that S3(r−1) ⊂ S3r . Thus that increases with pA , below which conditions (C1 ) and (C3 )
new
the sequence (S3r )n∈N∗ are pairwise distinct. Furthermore are not simultaneously satisfied (i.e., µ− > µ+ ). Figure 1
∀r ≥ 1, S3rnew
⊂ S A , which is a finite set according to illustrates the behaviors of parameters µ− , µ+ , α and λ as a
new
Lemma 1. Thus ∃r ∈ N such that S3r = ∅. We denote by function of τ .

7
α λ µ τ pA ε rmax W
1.00
α X X X X X X
μmin and μmμx
0.75
λ X X X X X X
0.50 µ X X X
0.25 W X
TABLE I
0.00 D IRECT DEPENDENCIES BETWEEN THE DIFFERENT PARAMETERS OF THE
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500
τμ = 805 τμ = 1331 τ τμ = 3741 ALGORITHM AND SYSTEM . F OR EACH PARAMETER (α, λ, µ AND W ), WE
REPRESENT THE DIRECT DEPENDENCY WITH A CHECKMARK . T HE BLUE
2.0
 α ANDλ DEPENDENCIES RELATES TO RELATION
COLOR FOR
1.5
rmax = 3 α λ
+ 1 ( SEE T HEOREM 3) WHILE THE BLACK ONE
CORRESPONDS TO E Q . (5) OR E Q . (2).
α

1.0

0.5 200
0.0

log10(τ)
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500
τα = 100 τα = 1065 τ 150 4

Rmax
τα = 259

100
0.15

0.10
3
λ

0.05
0.1 0.2 0.3
0.00

0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500


p
τ
Fig. 2. Logarithmic value of τ as a function of Rmax and pA values. We
Fig. 1. Evolution of parameters µ− , µ+ , α and λ as a function of τ . set ε = 10−15 .
Figure on the top: for each τ value, we compute µ− (plain black line) and µ+
(colored black line) applying Eq. (1). Figure in the middle: for each τ value, Figure 1 provides some values for λ+ and λ− . Note that λ+
we compute α+ (colored dashed lines) and α− (colored plain lines) applying
Eq. (3). The black dashed line corresponds to the α = 1 threshold value. and λ− are equal to zero when τ is less than a threshold
Figure at the bottom: for each τ value, we compute λ+ (colored plain lines) value. This phenomena can be explained by the fact that if τ
and λ− (colored dashed lines) applying Eq. (6). In all cases, we assume that is too low, Nu (t), the number of sets containing transaction t
W tends to infinity and thus use the cumulative Poisson distribution functions
of parameters τ pH and τ , respectively. We fix ε = 10−15 . red: pA = 0.1, at round 2 is equal to zero with high probability. Hence, λ+
blue: pA = 0.2 and green: pA = 0.3. and λ− are null as well.
c) Parameter α: We choose the value of parameter α as Theorem 3 relates the broadcast factor λ to the total
 amount
of round rmax and parameter α as rmax = 3 αλ + 1 .
 
its minimum value that satisfies Condition (C2 ). We denote
this value as α. Hence, to ensure a lowest maximal round number rmax , α
must be chosen as low as possible while λ must be chosen as
α(τ, ε, pA , µ) := min {α ∈ [0, 1] s. t. Condition (C2 ) holds}. high as possible.
(2) Table I summarizes the relationships between the parameters
As parameter α is tightly linked to parameter µ, we derive of the algorithm and those of the system. Note that parameter
a maximal and a minimal bound for α from parameters µ− µ can be set independently from α and λ, which is not the
and µ+ , denoted by α+ and α− respectively. case for α and µ.
α+ (τ, ε, pA ) := α(τ, ε, pα , µ− ) and (3) e) Optimizing parameters: Optimizing values of the pa-
α− (τ, ε) := α(τ, ε, p , µ+ ). α
(4) rameters amounts to solve a constrained optimization problem.
For instance, assuming that ε, pA and a maximal round number
As illustrated in Figure 1, α(τ, ε, µ) may not be defined for Rmax are set by the user, parameter τ can be chosen as follow:
too low values of τ : Condition (C2 ) implies that α > 1 for let x := (ε, pA , Rmax ) be a vector of parameters defined as
τ < τα = 1, 065 for µ = µmax and pA = 1/3 for instance. follows.
As expected, α decreases when µ increases, and conversely.
d) Parameter λ: We choose the value of parameter λ as
its maximal value that satisfies Condition (C4 ), and denote its τ (x) := min {τ ∈ N such that
value as λ. More precisely, let y := (τ, ε, pA ) be the vector µ− (x) < µ+ (x), α ≤ 1, and rmax < Rmax }. (7)
whose respective entries are τ , ε, and pA .
Here, τ is chosen as the smallest value to minimize the amount
λ(y, µ, α) := max {λ ∈ [0, 1] s. t. Condition (C4 ) holds}.
of committee members at each round of the algorithm. As
(5)
far as the total stake amount W in the system is concerned,
Again, as λ is tightly related to parameters µ and α, we get
τ represents also the minimal amount of stake that should
a maximal and a minimal bounds for λ, denoted as λ+ and
be present in the system. Figure 2 illustrates the fact that
λ− respectively, from parameters µmin and µmax .
parameter τ is tightly related to the maximal number of round
λ+ (y) := λ(y, µ+ , α− ) and λ− (y) := λ(y, µ− , α+ ), (6) in the sense that Rmax decreases when τ increases.

8
VI. C ONCLUSIONS [3] D. Bernardo, Peter Gaži, Aggelos Kiayias, and Alexander Russell.
Ouroboros praos: An adaptively-secure, semi-synchronous proof-of-
In this paper we have presented the design of a Byzantine stake blockchain. In International Conference on the Theory and
tolerant consensus algorithm, which in presence of a rushing Applications of Cryptographic (EUROCRYPT), 2018.
adversary, guarantees that all correct users of the permission- [4] David Chaum. Untraceable electronic mail, return addresses, and digital
pseudonyms. Communications of the ACM, 24(2):84–90, 1988.
less system decide on the same set of values with any high [5] A. Durand, E. Anceaume, and R. Ludinard. Stakecube: Combining
probability 1 − ε, with ε ∈ (0, 1), in a bounded number sharding and proof-of-stake to build fork-free secure permissionless
of rounds. This algorithm deeply relies on ephemeral and distributed ledgers. In Proceedings of the International Conference on
Networked Systems (NETYS), 2019.
numerous user identities to implement cryptographic sortition [6] EOS.IO. Technical white paper v2, 2019. Accessed: 2019-03-10.
and short live committees. Our analysis aims at providing [7] Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nick-
hints on the relationships between the different parameters of olai Zeldovich. Algorand: Scaling byzantine agreements for cryptocur-
rencies. In Proceedings of the 26th Symposium on Operating Systems
the algorithm. As future work, plan to adapt our consensus Principles (SOSP), SOSP 17, page 5168, New York, NY, USA, 2017.
algorithm to distributed ledgers whose structure is a directed Association for Computing Machinery.
acyclic graph of blocks. [8] Intel. Hyperledger Sawtooth description, 2019. Accessed: 2019-03-10.
[9] Lucien Le Cam. An approximation theorem for the poisson binomial
R EFERENCES distribution. Pacific Journal of Mathematics, 10(4):1181–1197, 1960.
[10] S. Micali, M. Rabin, and S. Vadhan. Verifiable random functions. In
[1] Ittai Abraham and Dahlia Malkhi. The blockchain consensus layer and 40th Annual Symposium on Foundations of Computer Science, 1999.
bft. Bulletin of the European Association for Theoretical Computer [11] Tal Moran and Ilan Orlov. Proofs of space-time and rational proofs of
Science, (123), 2017. storage. In Cryptology ePrint Archive, Report 2016/035, 2016.
[2] G. Ateniese, I. Bonacina, A. Faonio, and N. Galesi. Proofs of Space: [12] S.Nakamoto. Bitcoin: A peer-to-peer electronic cash system.
When Space Is of the Essence. In International Conference on Security www.bitcoin.org, 2008.
and Cryptography for Networks (SCN), 2014.

You might also like