dc.description.abstract | This thesis describes a longitudinal study of Bitcoin,
the perhaps most popular blockchain based system today.
Public blockchains have emerged as a plausible messaging substrate
for applications that require highly reliable communication.
However, sending messages over existing blockchains can be cumbersome
and costly as miners require payment to establish consensus on the
sequence of messages, since the electricity consumption
needed to run miners is not negligible.
The blockchain protocol requires an always
growing size of the information stored in it so its scalability is
the biggest problem. For that reason we decided to
collect and store data locally in our own data structure,
necessary for the analysis,
allowing us to save up to 10 times the amount of disk space.
Today, systems using the blockchain protocol are emerging,
and cryptocurrencies are a glaring example
of its implementation. Bitcoin
represents the largest cryptocurrency on market,
and it has to face a massive scale due to its popularity,
having in 2012 about fifty thousands
transaction per day and reaching now,
in 2017, more than three hundred fifty
thousands of transactions
approved every day.
This massive scale in the system leads to a saturation
of the messaging substrate, hence performance issues.
In this thesis we will focus also on the Bitcoin network
performance, in particular, transaction throughput and
latency.
From 2009 to 2017 a lot of analyses on
the blockchain have been performed,
enhancing the considerable change in
the block size limit,
from 256 bytes to 1MB,
as an attempt to overcome scalability problems.
Different papers were published, discussing
whether changing or not the block size limit.
In addition, the Bitcoin price increased
from ~0.7$ to more than 7.000$,
making the system even more desirable for
miners, but causing several complications
in the fee and reward mechanism.
We evaluate and discuss possible ways to improve this fee
mechanism in order to guarantee more revenue for miners along
with an user fee optimization.
We finally present our own system for
longitudinal analysis on the Bitcoin blockchain,
BAS. It generates a dataset
which contains a significant portion of
the whole blockchain, updated on September 2017.
We discuss our results and compare them with
other evaluations from past years, considering
three main key points: scalability,
performance and fees/costs.
We discuss how scalability affects performance,
and how the costs and fees are dependent
from them both.
We want also to take into consideration
the environmental impact of Bitcoin
and how it affects the coming
of new cryptocurrencies.
We evaluate and
propose, using machine learning techniques,
two different cost prediction models that aim to
predict bandwidth for upcoming transactions
according the fee they are willing to pay, and
the expected revenue for miners according to
the time spent mining.
These models can
be used by application to throttle network traffic to optimize
message delivery. We also discuss
whether the block size limit should be increased for a higher
throughput or not. | en_US |