Blockchain Consensus Algorithms Analysis
Blockchain Consensus Algorithms Analysis
'
The theme $
Presented by:
DESDOUS Mohammed.
BOUKETTA Chanez.
Framed by:
LAHOULOU Atidel .
MAHAMDIOUA Meriama.
Promotion: 2020.
& %
Resume
In our final thesis, we presented and analyzed a set of consensus algorithms. Thus, we im-
implemented and compared the performances of the two 'proof of work' and 'proof of stake'
consensus algorithms with the use of the hash functions SHA256 and MD5.
First of all, we would like to thank Allah, the Compassionate and Merciful, for having us.
Give strength and courage to carry out this work well.
We would like to express our sincere thanks to Mrs. LAHOULOU Atidel and Mrs. MA-
HAMDIOUA Meriama, for their guidance, their encouragement, their availability and
their valuable advice that allowed us to successfully carry out this work.
We would like to thank the members of the jury who were willing to agree to judge our...
modest work.
Finally, our most sincere thanks to all the people who contributed to
For the elaboration of this memoir as well as for the success of this wonderful year
university...
Dedications
To the man of my life, my eternal example, my moral support and source of joy and
happiness, the one who has always sacrificed for me to succeed, may God keep you in his
vast paradise, to my father.
In the light of my days, the source of my efforts, the flame of my heart, my life and
my happiness; mom. To the people whose presence I loved on this day,
To my sisters: Salma and Ahlem and Rahma
My brother: Masoud
I also dedicate this work to my large family. DESDOUSet the family MY-
MOUR.
To my aunts, my uncles, my cousins and my female cousins, and to all my family
To all my friends, To all those who are close to my heart and who encourage me
give the best in me especially HOUSS and YOUSSERA.
And in the end, I dedicate it to everyone who has given me their slightest help to succeed.
work.
MOHAMMED
Dedications
To the man of my life, my eternal example, my moral support and source of joy and
bonheur, celui qui s’est toujours sacrifi´e pour me voir r´eussir, que dieu te garde dans son
vast paradise, to you dear DAD.
In the light of my days, the source of my efforts, the flame of my heart, my life and
my happiness; MOM THAT I LOVE.
To the people whose presence I liked well on this day,
To my very dear sister who really supported me, despite the distance you are in my heart
NADINE.
To my dear brothers: AMINEetSAMI.
I also dedicate this work to my great family BOUKETTA and the AF family.
FANE.
A confident man MESSAOUD and all my friends and everyone who is close
from my heart and who encouraged me to give the best in me above all LYNA and
ROUMAISSA.
To my grandmother, my grandfathers, my aunts, my uncles, my male cousins, and my female cousins
and to all my family
And in the end, I dedicate it to all those who have given me even the slightest helping hand to succeed.
work.
CHANGE
Table of Contents
Table of contents i
List of tables iv
List of figures v
List of abbreviations I
General introduction 1
2 Blockchain 11
2.1 Introduction 11
2.2 History of Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
i
Table of contents ii
2.3 Definition 12
2.4 Characteristics of Blockchain 13
2.5 Operation of a Blockchain 13
2.5.1 Functioning 14
2.5.2 Role of axe 15
2.6 Blockchain Components 16
2.6.1 The account or wallet . . . . . . . . . . . . . . .16 . . .
2.6.2 Transaction . . . . . . . . . . . . . . . . . . . . 17. . . . .
2.6.3 Block 17
2.6.4 Mining 18
2.6.5 Consensus Algorithm 18
2.7 Conclusion 19
General conclusion 44
Bibliography 45
List of tables
iv
List of figures
v
List of abbreviations
yes
General Introduction
1
General introduction 2
operation.
In chapter 3 we try to experiment and analyze some algorithms of
consensus in the blockchain according to the efficiency criteria of this mechanism, relying on
on their advantages and disadvantages.
In chapter 4, we present our comparison and evaluation of the two algorithms.
consensus 'proof of work and proof of stake'.
Our thesis is finally concluded with a general conclusion.
Chapter 1
Generalities on cryptography
1.1 Introduction
A blockchain is a technology for storing and transmitting information without
control body
It relies heavily on cryptography to ensure the security of the trans-
mission and the confidentiality of digital information within the network. In this chapter
we present the basic concepts of cryptography used in blockchain. Such as
asymmetric encryption, digital signature, hash function, etc.
•Integrity: verifying the integrity of data involves determining whether the data has not
pay attention to others during communication.
3
Chapter 1. Overview of Cryptography 4
This user, like the recipient, both possess a pair of keys, and each
knows the public key of the other.
In order to encrypt a message for the recipient, the user will then use the key.
recipient's public.
This key activates an algorithm, and the written message is then transformed into text in-
comprehensible, which can then be sent to the recipient.
On the recipient's side, when they receive the encrypted message, they will need to use their own
the private key, the one he alone holds, in order to activate the algorithm to decrypt it.
Thus, even if someone intercepts the message along the way, they will not be able to decipher it.
since he does not have the recipient's private key!
Chapter 1. General Information on Cryptography 6
Une fonction de hachage (dite aussi une fonction de contraction, digest, empreinte digital,
"hash code" is a one-way and collision-free function, generating an output of size
fixed (called condensate or imprint)3], characteristic of the data provided in input (see
figure 1.3)
A hash function is said w
-oyneacar
It is designed in such a way that the hash produces an image or fingerprint of size
Fixed creation from a variable size data provided as input is either impossible.
reverse. While it is easy to produce a hash.
It is impossible to find two different messages having the same hash value.
[4].
The integrity of the data can be proven if the hash functions fulfill a
set of requirements. A hash function is said to have good cryptographic properties.
graphics if it is resistant to pre-images, second pre-images, and collisions.
The following three problems must therefore be difficult to solve.[5] :
Collision: find two messages m, m' such that m is different from m' and H(m) = H(m').
According to its definition, a hash function is a function whose domain
is greater than the arrival set.
Chapter 1. Overview of Cryptography 8
MD5 consists of 64 blocks of this type, grouped into four rounds of 16 similar operations.
based on nonlinear functions (an addition and a left rotation) that
varies according to the round
SHA-256 accepts an input message of maximum length 264 bits and produces a
hash, or condensed, of 256 bits.
SHA-256 and other logical gates and operations will be applied to the whole.
of starting data, which will have been cut into pieces of 256 bits. They follow one another.
following a complex organization repeated around sixty times.
Its security is much more important than MD5, as it offers a good balance between
online storage space and security.
2. The hash is encrypted with the signer's private key. The encrypted hash and the public key
the signatory's are then gathered in a digital signature that is attached to the
document.
Digital signatures are often used for three purposes that their properties facilitate.
allow achieving: data integrity, authentication, and non-repudiation.
Data integrity: Bob can verify that Alice's message has not been modified.
between sending and receiving. Any modification of the message would produce a signature
completely different.
•Authenticity: As long as Alice's private key is kept secret, Bob can use it
her public key to confirm that the digital signatures were created by Alice
and nobody else.
Non-repudiation: Once the signature is generated, Alice will not be able to deny having applied it.
In the future, unless its private key is compromised in any way.
up to the root node, called the Merkle root. In this way, the integrity of a
an arbitrary quantity of data can be effectively ensured.
The Merkle tree is built from the bottom up. A typical Merkle tree can be
represented as the diagram in (Figure 1.5). In this example, the Merkle tree
contains four sheets.
1.3 Conclusion
The traditional goal of cryptography is to develop methods for exchanging
data in a secure manner. That's why modern cryptography is actually addressing
more generally to the problems of communication security.
In this chapter, we presented an introduction to cryptography that allows us to
s’assurer`a la fois certain nombre de s´ecurit´e de base : confidentialit´e, int´egrit´e et authentifi-
data transmission, as well as third-party authentication and non-repudiation.
These cryptographic techniques as well as other technologies form the elements
components of blockchain technology that will be introduced in chapter 2.
Chapter 2
Blockchain
2.1 Introduction
Data protection on the internet has always been a subject that has upset the web: it
Not a day goes by without the media talking to us about hacking of personal information.
banking or e-commerce giants that are being hacked. That is why researchers are
focusing today on encryption technologies and data security such as
the Blockchain.
A Blockchain operates on a peer-to-peer network of computers that all execute the
protocol and hold an identical copy of the transaction blocks, which are transmitted
without intermediaries and without any central authority thanks to a mechanism called consensus.
Blockchain itself is a public and shared ledger that records all transactions.
from the block of Genesis (first block) until today.
In this chapter, we present the new technology. Blockchain, which promises
to ensure this digital trust without a central organ. We show how it can
to be used to securely share and control information between the parties that
do not necessarily trust each other.
The present chapter covers: the history of Blockchain, its definition, its ca-
characteristics, its functioning, its components and the role of the consensus algorithm.
In the protocol describing the operation of the network on which this currency circulates.
11
Chapter 2. Blockchain 12
This protocol is the Blockchain, or the monetary creation and validation of transactions.
actions are carried out in a horizontal and transparent manner. This system operates without authority
central third-party trust, unlike currencies controlled by banks or govern-
governments. The inventor of Bitcoin remains unknown to this day, even if some have attempted to
revendiquer sa paternit´e, sans r´eussir toutefois`a pr´esenter les preuves n´ecessaires. On ne
know his pseudonym, Satoshi Nakamoto, under which he put online at the end of 2008 the
white book: the origin of what he defined as an 'electronic currency system'
pair-a-pair[16].
It proposes a system based on cryptographic proofs, intended to replace the
trust granted to financial institutions. This system aims to respond to
several issues[7] :
A transaction between two parties without a trusted third party.
This system is, however, possible only if the computing power of the nodes
the honesty of the network is more important than that of the nodes acting to carry out an attack
combined on the network [7This concept will be explained later.
2.3 Definition
• A Blockchain, or chain of blocks, is a storage and trans-
information mission without a control body. Technically, it concerns a base of
distributed data including information sent by users and internal links
they are verified and grouped at regular time intervals in blocks, the set
being secured by cryptography, thus forming a chain [15].
Decentralization: a peer-to-peer network where each node in the network fulfills one or
several functions;
2.5.1 Operation
For a first approach to understanding how blockchains work, the easiest is to reason
sounding with a purely monetary blockchain. We can take the example of Bitcoin, or
of a blockchain with 'simple' tokens, starting with the creation of a transaction
may be described in a few steps (see figure 2.2):
2. Upon receiving the transaction, each miner authenticates the transaction using
from A's public key. This transaction along with other recent transactions are
Regrouped in blocks, and each transaction will be verified and validated by the miners. When
from the verification of the transaction, the transaction history of Aest was retrieved for
to verify that the money he received previously has not been reused since. One verifies
In fact, simply that he should not try to spend the money he has received twice.
3. Once the verifications are made, the block in which the transaction is located enters
AetBest validated by minors, according to consensus techniques that depend on the
type of blockchain, and which allow to achieve distributed consensus, that is to say the
consensus of nodes on the state of the network10To do this, the miners must launch
a cryptographic procedure: the hash calculation of the block. Each block has
an identifier that takes the form of a hash allowing to link the blocks to each other
others. This hash is still the result of hashing the previous block.
4. When the block is validated, it is dated and added to the blockchain to which all the
users have access.
The modification is visible in all the following blocks as the blocks are all
they are cryptographically linked to each other. Consequently, modifying the content of a block implies
to recalculate the hashes of all the blocks that follow it (see figure 2.4).
2.6.2 Transaction
For a first approach to the functioning of blockchains, the easiest is to
reason with a purely monetary blockchain.
For a simple definition, a transaction is summarized by three pieces of information: who gives
what to whom.7]
2.6.3 Block
A block is a record in the blockchain, which contains and confirms several
data or pending transactions. Every 10 minutes on average (in the case of Bitcoin),
A new block containing transactions is added to the blockchain through mining.
[13].
Each block is made up of several fields:
•Hash of the previous block: field contains the fingerprint of the previous block (block index
number 91 in our example).
2.6.4 Mining
Mining is a very important process in a blockchain.14]
•Miner: is the node that takes care of mining (performing the mining process) in
providing computing power to validate transactions.
Chapter 2. Blockchain 18
One must ensure that there will be no powerful opponents to succeed in branching off.
chain
Proof of Work.
Proof of Stake.
Proof of Importance
2.7 Conclusion
In this chapter, we studied the mechanism and the concept upon which the block is based.
chain, which is a revolutionary new technology that has captured the attention of researchers
and innovators in the world of technology. This computing innovation allows
thus organizing data exchanges on a distributed network, ensuring security
Chapter 2. Blockchain 19
data by encryption, and involving the nodes of the network for the creation of
new blocks of the chain.
The basic principle of a blockchain relies on the notion of consensus, which will be the goal of
next chapter, where we will discuss some consensus algorithms in detail.
Chapter 3
Consensus algorithms
3.1 Introduction
After understanding the principles of blockchain and discovering its architecture, we
let's emphasize the consensus in blockchain: its utility, its mode of operation
or the different forms of consensus that may exist.
The challenge is not to enter a level of technical detail but rather to evaluate and
popularize this key process of a blockchain. So, in this chapter after having learned
the criteria for the effectiveness of a good blockchain consensus algorithm. We present in
Detail some of the most used consensus algorithms in blockchain and list them.
different advantages and disadvantages.
To do this, a plurality of mechanisms exist (PoW, PoS, DPoS, PoET, PoI, etc.).
Each of them has its own characteristics in terms of synchronization,
message emission (frequency, size), fault tolerance, prevention against
malicious nodes, performance and security of exchanged messages.
Thus, the blockchain system will reach a consensus guaranteed that all nodes
The network nodes agree on the same state of the register and the data that is stored in it.
to determine more precisely the effectiveness of a consensus mechanism, it is evaluated
according to three main criteria[16] :
20
Chapter 3. Consensus Algorithms 21
It is crucial to be able to satisfy the three properties listed above if one wishes to
to solve, in its entirety, the consensus problem. Unfortunately, Fischer, Lynch
and Patterson, three computer scientists, demonstrated in 1985 that no algorithm
deterministic consensus could not guarantee these three properties at the same time.
the sound of an asynchronous system such as a network of distributed nodes (FLP Impossibility).
Thus, as a general rule, since tolerance to errors is absolutely vital in the
Within a framework of a distributed network of nodes, consensus mechanisms must choose between the
certainty and the ending according to the requirements of the application for which it was designed
the decentralized platform16].
In terms of fault tolerance, traditional consensus mechanisms operate
In a network of distributed and known nodes, they first endeavored to cope with the faults.
"fail-stop" where a node no longer responds due to a hardware or software problem18].
The following section presents a set of the most well-known consensus algorithms.
in literature, by explaining their principle and emphasizing their advantages and
inconveniences.
The difficulty of the problem can be modified during execution to ensure a time
of constant blocking. Sometimes, there is a situation in which more than one miner solves
the problem simultaneously. In this case, the miners choose one of the chains and
the longest chain is considered the winner. So, assuming that the
Most miners work on the same chain, the one that will develop the most.
quickly will be the longest and the most reliable.
The PoW version of Bitcoin is based on the use of hashes. Its operation
is illustrated in the following steps:
Miners are responsible for adding new blocks to the blockchain. To do this,
Miners must try to guess a pseudo-random number (Nonce).
Chapter 3. Consensus Algorithms 23
This number, when combined with the data provided in the block and transmitted
through a hash function, must produce a result that meets the conditions
data, for example, a hash starting with four zeros.
When a corresponding result is found, the other nodes verify its validity.
The result and the minor node is rewarded by the block reward [17(currently
12.5 bitcoins, for the Bitcoin blockchain.
The steps of the PoW algorithm are illustrated in the diagram of figure 3.2:
Proof of work helps protect the network against many different attacks.
A successful attack would require a lot of computing power and a lot of time.
to perform the calculations and therefore it would be ineffective because the incurred cost would be higher
to the potential rewards for attacking the network15].
The decreasing gain of miners would increase the risk of network corruption, since
The reliability of the blockchain requires that no hostile operator disrupts it any further.
half of the computing power of the chain (51 attack for 100)15].
The proof of stake is directly linked to the currency since it ties the capacity to
validate a block the amount of money (or token) held. Without cryptocurrency, there is no
so no consensus mechanism, which is the cardinal foundation of a blockchain
[17].
Chapter 3. Consensus Algorithms 25
If an individual owns 10 percent of the total number of tokens, they will be able to mine in
average 10 for 100 of the generated blocks17].
The steps of the PoS algorithm are illustrated in the diagram of figure 3.3:
The main advantage of PoS is that the validation of a block does not rely on
powerful algorithmic calculations that would consume enormous amounts of energy and would have
consequently a negative impact on the environment.
Chapter 3. Consensus Algorithms 26
Proof of stake is much more profitable than other methods and does not lead to
of value flight towards fiat currencies.
•The loyalty of the retention and hoarding of tokens. Indeed, the inves-
weavers (virtual miners, or forgers) have a greater interest in preserving their
reward for their proof of stake rather than immediately selling it at the price of
market. Virtual miners (PoS) will rather tend to keep their reward
to maximize their future chances of being selected for the validation of the next ones.
blocks and perceive new rewards.[17]
Monopolization of wealth, indeed the more tokens one has, the more one can forge and more
We receive money. The rich remain rich.
The right to vote is proportional to the number of shares held by each user.
The voting system varies from project to project, but in general, each delegate presents
an individual proposal when he asks for votes.
If an elected official behaves poorly or does not function effectively, they will quickly be
expelled and replaced by another.
If there are consensus problems, the Department of Safety and Security allows
to resolve them in a fair and democratic manner.
Delegates do not have the power to modify the details of a transaction. However, in
As validators, they could theoretically exclude certain transactions from a block.
However, this has very little effect since the next block created will include these transactions.
which will give the next delegate the expenses associated with their validation.
Chapter 3. Consensus Algorithms 28
Thus, the transactions will only be slightly delayed. Moreover, this would lead to
Inevitably, what the dishonest delegate is will be eliminated by the rest of the network.
Partially, a DPoS network is self-managed and controlled by all its participants, watching over
what the best interests of the network remain the priority.
•Efficiency from an energetic point of view, and faster than a POW mechanism.
POS allows for transaction validation in just a few seconds.
Reduces interactions between nodes and allows for a greater number of trans-
faster transactions and validations.
However, the DPoS consensus also has its limits, which are:
Participants with the most tokens can vote for themselves in order to
to elect transaction verifier
Based on the principle of a fair lottery system where each node is equal.
susceptible to winning, the PoET mechanism is based on the distribution of chances
to win fairly among the largest possible number of participants in the network.
Chapter 3. Consensus Algorithms 29
The consensus mechanism of the PoET network must guarantee two important factors.
The low cost of participation increases the likelihood that the population will validate
tailor is important, increasing the robustness of the consensus algorithm.
It is easy for all participants to verify that the minor has been legitimate.
selected.
The cost of controlling the process of electing leaders is proportional to the value
obtained from the latter.21]
Chapter 3. Consensus Algorithms 30
Even if it works, the user must have specialized equipment. Therefore, he cannot
to be adopted en masse.
It is an algorithm that depends on how many active users are on the network. The more they
the more active they are, the more rewards they receive.
Each user is rated, and the higher their score, the greater the rewards.
important.
The number of pieces can naturally balance the votes given that the
High-value transactions may be eligible for more transactions.
However, the algorithm mainly depends on the activities monitored by each
user and not necessarily the amount they are making.22]
The rich may not continue to enrich themselves unfairly on the platform because the
The amount of money in an individual's possession is not the only factor to consider.
when measuring the reputation of an account.
A burning problem with this method is the use of dummy transactions that ...
people would be rewarded for sending back-and-forth transactions to deceive
the algorithm. The use of fake transactions is a problem that NEM (New Economy
Movement: a group of organizations trying to restructure the economic system)
other major players still need to be exhausted.
Chapter 3. Consensus Algorithms 31
3.4 Conclusion
As we have seen, none of the consensus algorithms, even when using a huge
quantity of resources does not provide a perfect solution to the requirements of the mechanism
consensus in a blockchain. Each of them has weaknesses that put the network at risk.
However, it is worth considering consensus algorithms only as
tools to ensure the stability of the network. Finally, based on all the agreements discussed in this
chapter, it seems that proof of work provides networks with the greatest reliability because it
prevents long-range attacks. The performance of this algorithm and the algorithm of
PoS are treated and evaluated in the next chapter.
Chapter 4
Comparison of algorithms
consensus
4.1 Introduction
The objective of a consensus mechanism in a Blockchain is to allow members
of the network to agree on the current state of the transaction history in the absence of an organ
centralized tasked with updating this register.
As we have already seen in the previous chapter, there is a set of algos-
consensus algorithms, which vary in terms of performance (software and hardware) and
de s´ecurit´e. Ces crit´eres sont utilis´es, dans notre projet, pour comparer deux algorithmes de
consensus discussed in this present chapter. In this´ regard, we have implemented two algo-
consensus algorithms proof of work and proof of stake, with the use of two functions
hashing, SHA256 and MD5.
In this chapter, we present the various means used to carry out this project and
We present the different means and tools. We start first with the idea
General overview of our project, then we distinguish the programming environment and the
tools used. Finally, we discuss the complete process of our Blockchain system and
its algorithms to analyze the results of the simulation obtained.
32
Chapter 4. Comparison of consensus algorithms 33
The first node that manages to display a winning hash thus acquires the right to add
the block is linked to the chain and claims the mining reward
For the proof of stake algorithm PoS: we previously used the illustrated operation.
in figure 4.3.
4.3.2 Software
There are several tools and programming languages to implement this project. We
built our application using the following tools:
HTML and CSS: Various options are available to develop user interfaces.
User Interfaces (GUI). In our project, we used HTML and CSS because
of the speed and ease of creating graphical applications
•Pycharm: Since PyCharm is the most complete Python API, we have chosen
to work with. It is a good development environment dedicated to the language
Python.
Chapter 4. Comparison of Consensus Algorithms 36
•Private key and public key of the sender that are generated during the creation of the wallet.
currency.
Sent to Montent.
Nonce: is the number of cycles for the miner to obtain the generated hash. The solution
is the generation of a hash that starts with 2 zeros.
Mining: the generated hash starts with 2 zeros (instead of 4 zeros to minimize a
little execution time.
Chapter 4. Comparison of consensus algorithms 37
4.4.2 Localhost
We first tested our solution locally on a single machine. On the
Local host, we used 5 nodes, changing the port number each time. By
example:
Our application contains several windows (hash, block, transaction, Blockchain, pa-
parameters, etc.) in each node allowed these windows to present the most important ones.
in the following lines:
[Link].1 Parameters
This window will be used to select the consensus algorithm we want to apply on the
Blockchain network.
[Link].2 Mining a block Example of mining a block of data with PoW in function
MD5 Hashing.
The creation of a wallet consists of assigning a masked private key and a key
public that everyone can see.
[Link].4 Transaction To generate a transaction and send it, you must have:
Transaction List: transaction table and the Mine Button (will be displayed at
the minor).
In this case, we applied the PoW and then PoS consensus algorithms with the function of
SHA256 hashing, with PC1 being a minor. The results are presented in (table 4.3),
in terms of hashing time and mining time.
Chapter 4. Comparison of Consensus Algorithms 42
The results of the application of PoW and PoS consensus algorithms with the function of
MD5 hashes for which pc1 is minor are presented in Table 4.4, in terms of time
hashing and mining time.
In this case, we applied the PoW and then PoS consensus algorithms with the function of
SHA256 hash, of which the PC2 is minor. The results are presented in table 4.5.
in terms of hashing time and mining time.
Chapter 4. Comparison of Consensus Algorithms 43
The results of applying the consensus algorithms PoW and PoS with the function of
MD5 hashes where pc2 is minor are presented in table 4.6, in terms of time.
hashing and mining time.
These two times (mining and hashing) depend on the number of transactions, depending on
hashing and machine performance.
For example, when applying a consensus with SHA256, hashing and mining
takes enough time due to its complexity. On the other hand, MD5 is faster, in this
It is concluded that the operating mode of the hashing algorithm is very important.
at the level of speed.
Moreover, the difference in results between the two machines is very clear,
which indicates that the performance and capacity of the machine play a very important role
in terms of time and electricity consumption.
D’apr´es les tableaux de teste, on remarque que l’algorithme de consensus de la preuve de
work is slow compared to the proof of stake in mining regardless of the hash function
used because the proof of work relies on computing power, from there on
It is concluded that proof of stake is better than proof of work either in terms of time.
or energy consumption.
4.7 Conclusion
In this chapter, we have addressed the implementation part of our application.
analysis of consensus algorithms in the Blockchain. We began by presenting
the Blockchain network that was used to generate and test and evaluate the performance of
algorithms. We also presented the differences in preprocessing and the approaches
realized to carry out transactions and realized the blockchain as well as the metrics used
to measure the performance of the consensus. Finally, we ended with the simulation and
by discussing the results obtained.
General conclusion
45
Bibliography
SHAOAN XIE ZIBIN ZHENG. School of Data and Computer Science. Binance Academy
translated by the author / binance academy, published 2017.
[9] FERR´eOL GODEBARGE and ROMAIN ROSSAT. Principes cl´es d’une application
Blockchain. PhD thesis, EM Lyon Business School, 2016.
[11] PRAPATH SIRIWARDENA. The Bitcoin Transaction. Apress, Berkeley, CA, publi´e
2018.
46
Bibliography 47
[14] THOMAS HERBST. C’est quoi le [Link], misa` jour le 4 aouˆt 2020.
SAL MIAH. Technical series on blockchain, (5-part series - part 5) basic concept of
la blockchain pow vs pos vs poi. CryptoDigest, publi´e 8/06/2018.
SENATE. The scientific notes of the office note number 4: understanding blockchains.
published April 2018.
[27] MELANIE [Link] : Blueprint for a new economy. ” O’Reilly Media, Inc.”,
published in 2015.