-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathappendix.tex
288 lines (275 loc) · 15.9 KB
/
appendix.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
\appendix
\section{Proofs}\label{sec:proofs}
\restateLemSybilStrategies*
\begin{proof}
We prove the statement via contradiction. Assume that for capital $v$
exists a natural number $i \in \mathbb{N}^\star$ such that
$f_{c,d}(v) > f_{c,d}(i \cdot v)$. Also assume that for
capital $v$ the optimal strategy is $B'$, so: $\underset{B \in
\mathbb{B}}{\max}{\mathbb{E}[B(v)]} = \mathbb{E}[B'(v)]$. Then, for capital
$i \cdot v$ exists a strategy $B''$, such that the capital is split into $i$
equally-sized parts and the strategy $B'$ is applied on each part. Given
that the executions of the substrategies on these parts are independent,
then the expected returns for the strategy $B''$ are:
\begin{align}\label{eq:break-strategy}
\mathbb{E}[B''(i \cdot v)] = i \cdot \mathbb{E}[B'(v)] = i \cdot \underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(v)]}
\end{align}
It also holds that $B''$ is at best the optimal strategy, so:
\begin{align}\label{eq:multi-strategy}
\underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(i \cdot v)]} \geq \mathbb{E}[B''(i \cdot v)] \xRightarrow{\text{(\ref{eq:break-strategy})}}
\underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(i \cdot v)]} \geq i \cdot \underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(v)]}
\end{align}
However, it should hold that:
\begin{alignat}{2}
f_{c,d}(v) &> f_{c,d}(i \cdot v) \Rightarrow \notag\\
\frac{\underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(v)]} - v}{v} &> \frac{\underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(i \cdot v)]} - i \cdot v}{i \cdot v} \xRightarrow{\text{(\ref{eq:multi-strategy})}} \notag\\
\frac{\underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(v)]} - v}{v} &> \frac{i \cdot \underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(v)]} - i \cdot v}{i \cdot v} \Rightarrow \notag\\
\frac{\underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(v)]} - v}{v} &> \frac{\underset{B \in \mathbb{B}}{\max}{\mathbb{E}[B(v)]} - v}{v}
\end{alignat}
which is impossible.
\end{proof}
\section{Integer programming formulation}\label{sec:ip}
In our experiments, we used a Dynamic Programming solution to solve the Knapsack
problem in order to allocate mining machines upfront. An optimal solution could
use the proceeds of mining not only to reinvest in electricity, but also to
purchase new machines. This is captured by the Integer Programming
formulation in Figure~\ref{fig:IP}, which gives the optimal investment strategy
in the full model.
This maximization problem tries to optimize the \emph{freshly} generated
proceeds. The variables to solve for, $x_{m,t} \in \mathbb{N}$, describe the
number of machines of type $m$ that the investor holds at time $t$. We assume
machines cannot be sold back to the market, hence $x_{m,t-0} \leq x_{m,t}$. The
investment starts with initial capital $v$ and no machines, hence $x_{m,0} = 0$.
The program can then decide to purchase machines as time goes by.
For any costs, it first uses up the initial capital $v$ to pay for
them (this initial capital is useless to keep, as it does not contribute to
freshly generated proceeds, which are our utility here), and subsequently uses
the proceeds to pay for any remaining costs. Capital which is not expended to
pay for costs is discarded by the $\max$ operator in the maximization clause.
The condition the integer program is subject to requires that the investment has
non-negative capital at every point in time, and hence does not run out of
money. In this formulation, it is assumed that $d$ is a set of consecutive
integers representing indexed \emph{hours} of execution (a more fine-grained
solution can be obtained by increasing this temporal resolution as needed).
\begin{figure}
\noindent\fbox{%
\parbox{\textwidth-2ex}{%
\begin{align*}
&\textbf{Maximize }\\
&\qquad \max(
0,
v - \sum_{t \in d \setminus d[0]}
\sum_{m \in \overline{m}}
(x_{m,t} - x_{m,t-1}) \ic(m_i)
- \sum_{t \in d}
\sum_{m \in \overline{m}}
x_{m,t} \cdot \ecr(m) \cdot \ec
)
\\
&\qquad +
\sum_{t \in d}
\sum_{m \in \overline{m}}
x_{m,t} \cdot
3600 \cdot \frac{\hr(m)}{\thr(c)} \cdot \br(c) \cdot \bgr(c) \cdot \tp(c)
\\
&\textbf{subject to }\\
&\qquad \sum_{\substack{t' \leq t\\t' \neq d[0]}}
\sum_{m \in \overline{m}}
(x_{m,t'} - x_{m,t'-1}) (
-\ic(m_i)
+(t - t' + 1)|\mathbb{E}[\ir(m)]
)
\leq v
\text{ for } t \in d\\
&\qquad x_{m,t-1} \leq x_{m,t} \text{ for } m \in \overline{m} \text{ and } t \in d \setminus d[0]\\
&\qquad x_{m,d[0]} = 0 \text{ for } m \in \overline{m}\\
&\textbf{and }
x_{m,t} \in \mathbb{N} \text{ for } m \in \overline{m} \text{ and } t \in d
\end{align*}
}%
}
\caption{An Integer Programming formulation of the optimal investment strategy in our model.}
\label{fig:IP}
\end{figure}
\section{Parameters affecting egalitarianism}\label{sec:appendix-qualitative-difference}
Throughout this paper, we have assumed certain parameters (cryptocurrency
prices, electricity prices, duration of investment and mining difficulty) remain
constant throughout the investment period. Furthermore, we have taken into account
current market values to the best of our knowledge. We note that, while the
actual egalitarianism numbers may change depending on these parameters, the
general shape of egalitarian curves and the qualitative comparison between
different cryptocurrencies remains the same. To illustrate this point, we have
measured the egalitarian curve of Bitcoin for varying parameter values. Our
results are demonstrated in Figure~\ref{fig:different-settings}.
\begin{figure}
\placesubfigure{btc_dp_10K_diff_difficulty.pdf}{fig:different_difficulty}{Difficulty}{0.9}{0.5}
\placesubfigure{btc_dp_10K_diff_kwh.pdf}{fig:different_electricity_cost}{Electricity cost}{0.9}{0.5}
\placesubfigure{btc_dp_10K_diff_time.pdf}{fig:different_duration}{Investment duration}{0.9}{0.5}
\placesubfigure{btc_dp_10K_diff_rate.pdf}{fig:different_price}{Cryptocurrency price}{0.9}{0.5}
\caption{Bitcoin egalitarian curves under varying parameters.}
\label{fig:different-settings}
\end{figure}
\section{Machines}\label{sec:appendix-data}
Data for mining machines was obtained from a multitude of resources on the
Internet\footnote{An exhaustive list of our resources includes the online
stores \url{https://whattomine.com/}, \url{https://cryptominer.deals/},
\url{https://www.asicminervalue.com/},
\url{https://www.reddit.com/r/MoneroMining/comments/9omjfb/rtx_2080_ti_mining_monero_at_1228hs_and_more/},
\url{https://www.newegg.com/}, \url{https://www.amazon.com/},
\url{https://shop.bitmain.com.cn}, \url{https://www.cryptouniverse.at},
\url{https://canaan.io}, \url{http://miner.ebang.com.cn},
\url{https://swminershop.com}, \url{https://asicminer.co},
\url{https://estrahash.com}, \url{http://www.innosilicon.com},
\url{https://pangolinminer.com}, \url{https://www.bitfily.io},
\url{https://hashdeploy.net/}, \url{https://www.pantech.company},
\url{https://www.cryptominerbros.com}, \url{https://pandaminer.com},
\url{https://minersdeals.com}, \url{https://sharkmining.com},
\url{https://shop.miningstore.com}, \url{https://mineshop.eu},
\url{https://www.bitmart.co.za}, \url{https://shop.futurebit.io},
\url{https://www.aliexpress.com}, \url{https://bitech-mining.com},
\url{https://asicminermarket.com}, \url{https://www.baikalminer.com},
\url{https://prominerz.com}}. Data for graphics processing units (GPU) and
central processing units (CPU) was obtained by calculating the median of
multiple user benchmarks when available\footnote{\url{https://www.xmrstak.com/tag/monero/}, \url{https://gpustats.com/},
\url{https://www.ethmonitoring.com/benchmark},
\url{https://monerobenchmarks.info/}}. The price of each machine used in our experiments is the
reported retails price of machine at date of access. When a new machine is not available
for sale, the price of a used or refurbished machine is used. For reproducibility
purposes, our complete data set is openly available in our repository. For
reference, we list a summary of those machines which provide a
\emph{positive net gain per hour} after purchase (and can thus be profitable
under our assumed parameter values) in Table~\ref{tbl:machines}.
\begin{longtable}{|p{.60\textwidth}|r|r|r|}
\hline
\multicolumn{4}{|c|}{\textbf{Bitcoin}} \\
\hline
Name & Hashes / s & Watt & Price (USD) \\
\hhline{|=|=|=|=|}
8 Nano Pro & $76 \cdot 10^{12}$ & 4,000 & 6,000 \\
Whatsminer M10S & $55 \cdot 10^{12}$ & 3,500 & 2,558 \\
Ebit E11++ & $44 \cdot 10^{12}$ & 1,980 & 2,024 \\
8 Nano & $44 \cdot 10^{12}$ & 2,100 & 1,790 \\
T3 43T & $43 \cdot 10^{12}$ & 2,100 & 2,279 \\
Ebit E11+ 37 & $37 \cdot 10^{12}$ & 2,035 & 1,517 \\
WX6 & $34 \cdot 10^{12}$ & 3,200 & 1,275 \\
Whatsminer M10 & $33 \cdot 10^{12}$ & 2,145 & 1,022 \\
T2T-32T & $32 \cdot 10^{12}$ & 2,200 & 1,568 \\
Ebit E11 & $30 \cdot 10^{12}$ & 1,950 & 1,110 \\
Antminer S15 (28T) & $28 \cdot 10^{12}$ & 1,596 & 1,249 \\
Antminer S15 (27T) & $27 \cdot 10^{12}$ & 1,539 & 1,363 \\
T2T-25T & $25 \cdot 10^{12}$ & 2,050 & 1,150 \\
Snow Panther B1+ & $24.5 \cdot 10^{12}$ & 2,100 & 580 \\
T2T-24T & $24 \cdot 10^{12}$ & 1,980 & 1,350 \\
S11i & $24 \cdot 10^{12}$ & 2,300 & 937 \\
Antminer T15 & $23 \cdot 10^{12}$ & 1,541 & 840 \\
Antminer S11 & $20.5 \cdot 10^{12}$ & 1,435 & 512 \\
AvalonMiner 921 & $20 \cdot 10^{12}$ & 1,800 & 415 \\
Antminer S9-Hydro & $18 \cdot 10^{12}$ & 1,728 & 713 \\
Ebit E10 & $18 \cdot 10^{12}$ & 1,650 & 2,999 \\
T2 Terminator & $17.2 \cdot 10^{12}$ & 1,570 & 1,118 \\
DragonMint T1 & $16 \cdot 10^{12}$ & 1,480 & 1,600 \\
AvalonMiner 851 & $15 \cdot 10^{12}$ & 1,450 & 380 \\
Antminer S9i & $14.5 \cdot 10^{12}$ & 1,365 & 440 \\
Antminer S9j & $14.5 \cdot 10^{12}$ & 1,365 & 307 \\
AvalonMiner 841 & $13.6 \cdot 10^{12}$ & 1,290 & 354.44 \\
SX6i & $11 \cdot 10^{12}$ & 900 & 419 \\
\hline
\multicolumn{4}{|c|}{\textbf{Ethereum}} \\
\hline
Name & Hashes / s & Watt & Price (USD) \\
\hhline{|=|=|=|=|}
A10 EthMaster & $485 \cdot 10^{6}$ & 850 & 5,399 \\
A10 EthMaster & $432 \cdot 10^{6}$ & 740 & 4,799 \\
\begin{tabular}{@{}l@{}}Shark Extreme 2\\\hspace{1cm}\small(8$ \times $NVIDIA GTX 1080 Ti)\end{tabular}& $420 \cdot 10^{6}$ & 1,500 & 9,779 \\
Maximus+ \small(8$ \times $1080TI) & $370 \cdot 10^{6}$ & 2,200 & 7,520 \\
A10 EthMaster & $365 \cdot 10^{6}$ & 650 & 4,099 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(12x AMD RX 570 GPU)\end{tabular} & $360 \cdot 10^{6}$ & 1,600 & 4,345 \\
ULTRON \small(8$ \times $P104) & $320 \cdot 10^{6}$ & 1,700 & 5,338 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(8$\times$ NVIDIA 1080 8GB GPU)\end{tabular} & $310 \cdot 10^{6}$ & 1,100 & 6,267 \\
\begin{tabular}{@{}l@{}}Shark Extreme 2\\\hspace{1cm}\small(6$ \times $NVIDIA GTX 1080 Ti)\end{tabular} & $300 \cdot 10^{6}$ & 1,200 & 7,880 \\
Shark Extreme 2 \small(8$ \times $AMD Vega 56) & $290 \cdot 10^{6}$ & 1,700 & 6,879 \\
\begin{tabular}{@{}l@{}}Shark Extreme 2\\\hspace{1cm}\small(8$ \times $NVIDIA GTX 1070 Ti 8 GB)\end{tabular} & $245 \cdot 10^{6}$ & 1,400 & 6,679 \\
Shark Extreme 2 \small(8$ \times $AMD RX 580) & $240 \cdot 10^{6}$ & 1,100 & 4,590 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(8$\times$AMD MSI RX 580 GPU)\end{tabular} & $240 \cdot 10^{6}$ & 1,000 & 3,453 \\
IMPERIUM+ \small(8$ \times $RX 570/580) & $230 \cdot 10^{6}$ & 1,300 & 3,577 \\
Antminer G2 & $220 \cdot 10^{6}$ & 1,200 & 3,799 \\
Shark Extreme 2 \small(6$ \times $AMD Vega 56) & $220 \cdot 10^{6}$ & 1,275 & 5,680 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(8$\times$AMD MSI RX 570 GPU)\end{tabular} & $220 \cdot 10^{6}$ & 950 & 3,2253 \\
\begin{tabular}{@{}l@{}}Shark Extreme 2\\\hspace{1cm}\small(4$ \times $NVIDIA GTX 1080 Ti)\end{tabular} & $210 \cdot 10^{6}$ & 800 & 4,979 \\
Antminer E3 & $190 \cdot 10^{6}$ & 760 & 654 \\
\begin{tabular}{@{}l@{}}Shark Extreme 2\\\hspace{1cm}\small(6$ \times $NVIDIA GTX 1070 Ti 8 GB)\end{tabular} & $185 \cdot 10^{6}$ & 1,050 & 5,480 \\
Shark Extreme 2 \small(6$ \times $AMD RX 580) & $180 \cdot 10^{6}$ & 825 & 3,890 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(6$\times$AMD RX580 8gb GPU)\end{tabular} & $180 \cdot 10^{6}$ & 900 & 2,342 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(6$\times$AMD MSI RX 580 GPU)\end{tabular} & $175 \cdot 10^{6}$ & 860 & 1,967 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(6$\times$AMD MSI RX 580 GPU)\end{tabular} & $170 \cdot 10^{6}$ & 750 & 2,156 \\
Thorium 6580 GPU & $160.2 \cdot 10^{6}$ & 700 & 4,297 \\
Thorium 6570 GPU & $144 \cdot 10^{6}$ & 750 & 3,974 \\
\begin{tabular}{@{}l@{}}Shark Extreme 2\\\hspace{1cm}\small(4$ \times $NVIDIA GTX 1070 Ti 8 GB)\end{tabular}& $122 \cdot 10^{6}$ & 600 & 3,580 \\
Zodiac 6-1060 GPU & $120.78 \cdot 10^{6}$ & 750 & 3,222 \\
Shark Extreme 2 \small(4$ \times $AMD RX 580) & $120 \cdot 10^{6}$ & 550 & 2,590 \\
\begin{tabular}{@{}l@{}}Ethereum Mining Rig\\\hspace{1cm}\small(6$\times$AMD MSI RX 560)\end{tabular} & $80 \cdot 10^{6}$ & 370 & 1,823 \\
GeForce RTX 2080Ti & $55 \cdot 10^{6}$ & 155 & 1,249 \\
GeForce GTX 1080Ti & $51.11 \cdot 10^{6}$ & 175 & 999 \\
RX Vega 64 & $44 \cdot 10^{6}$ & 230 & 399 \\
GeForce RTX 2080 & $41 \cdot 10^{6}$ & 105 & 699 \\
GeForce GTX TITAN X & $40 \cdot 10^{6}$ & 250 & 1,099 \\
P104-100 & $38.89 \cdot 10^{6}$ & 127 & 569 \\
RX Vega 56 & $38.75 \cdot 10^{6}$ & 210 & 339 \\
GeForce RTX 2070 & $38.5 \cdot 10^{6}$ & 140 & 499 \\
GeForce GTX 1080 & $34.07 \cdot 10^{6}$ & 121 & 633 \\
RX 580 & $31.3 \cdot 10^{6}$ & 110 & 185 \\
GeForce GTX 1070 & $31.1 \cdot 10^{6}$ & 108 & 319 \\
GeForce GTX 1070Ti & $30.83 \cdot 10^{6}$ & 107 & 489 \\
RX 570 & $29.85 \cdot 10^{6}$ & 65 & 142 \\
RX 480 & $29.71 \cdot 10^{6}$ & 70 & 237 \\
RX 470 & $29 \cdot 10^{6}$ & 60 & 340 \\
GeForce GTX 1060 (6GB) & $23.81 \cdot 10^{6}$ & 95 & 264 \\
GeForce GTX 1060 (3GB) & $19.32 \cdot 10^{6}$ & 69 & 189 \\
GeForce GTX 1050Ti & $13.18 \cdot 10^{6}$ & 75 & 169 \\
\hline
\multicolumn{4}{|c|}{\textbf{Litecoin}} \\
\hline
Name & Hashes / s & Watt & Price (USD) \\
\hhline{|=|=|=|=|}
A6 LTCMaster & $123 \cdot 10^{7}$ & 1,500 & 3,000 \\
A4+ LTCMaster & $62 \cdot 10^{7}$ & 750 & 1,500 \\
Apollo LTC Pod & $10 \cdot 10^{7}$ & 100 & 299 \\
\hline
\hline
\multicolumn{4}{|c|}{\textbf{Monero}} \\
\hline
Name & Hashes / s & Watt & Price (USD) \\
\hhline{|=|=|=|=|}
Shark Extreme 2 \small(8$ \times $AMD Vega 56) & 14,800 & 1,700 & 6,879 \\
Shark Extreme 2 \small(6$ \times $AMD Vega 56) & 11,000 & 1,275 & 5,680 \\
Shark Extreme 2 \small(8$ \times $AMD RX 580) & 6,880 & 1,100 & 4,590 \\
Shark Extreme 2 \small(6$ \times $AMD RX 580) & 5,160 & 825 & 3,890 \\
Shark Extreme 2 \small(4$ \times $AMD RX 580) & 3,440 & 550 & 2,590 \\
RX Vega 64 & 2,020 & 140 & 399 \\
RX Vega 56 & 1,920 & 140 & 339 \\
GeForce RTX 2080Ti & 1,200 & 150 & 1,249 \\
RX 580 & 976 & 89 & 185 \\
RX 480 & 965 & 140 & 237 \\
Ryzen Threadripper 1920X & 955 & 140 & 435 \\
GeForce RTX 2080 & 898 & 132 & 699 \\
GeForce GTX 2070 & 880 & 140 & 499 \\
RX 470 & 840 & 120 & 340 \\
GeForce GTX 1070 & 777 & 112 & 319 \\
RX 570 & 740 & 90 & 142 \\
Ryzen 7 2700X & 715 & 105 & 309 \\
Ryzen 5 1600X & 532 & 47 & 179 \\
Ryzen 5 1600 & 531 & 65 & 159 \\
\hline
\multicolumn{4}{|c|}{\textbf{Decred}} \\
\hline
Name & Hashes / s & Watt & Price (USD) \\
\hhline{|=|=|=|=|}
Whatsminer D1 & $44 \cdot 10^{12}$ & 2,200 & 1,588 \\
Whatsminer DCR & $44 \cdot 10^{12}$ & 2,200 & 1,890 \\
Antminer DR5 & $35 \cdot 10^{12}$ & 1,610 & 1,282 \\
STU-U1+ & $12.8 \cdot 10^{12}$ & 1,850 & 1,560 \\
STU-U1 & $11 \cdot 10^{12}$ & 1,600 & 1,389 \\
\hline
\caption{Machines used in experiments}
\label{tbl:machines}
\end{longtable}