├── .DS_Store ├── README.md ├── methodology ├── .DS_Store ├── filecoin-electricity-methodology-paper.aux ├── filecoin-electricity-methodology-paper.log ├── filecoin-electricity-methodology-paper.out ├── filecoin-electricity-methodology-paper.pdf ├── filecoin-electricity-methodology-paper.synctex.gz ├── filecoin-electricity-methodology-paper.tex └── images │ ├── .DS_Store │ ├── 20211023_SealingValues.png │ └── 20211023_StorageValues_withRefDrives.png └── model-parameters ├── v-1-0-0.json ├── v-1-0-1.json └── v-1-0-2.json /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redransil/filecoin-energy-estimation/d505fad3eb42769ec71cfdd560de93fbaef1a246/.DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # filecoin-energy-estimation 2 | Tools and models for estimating Filecoin energy use from on-chain proofs 3 | 4 | # Goals 5 | In order to evaluate, reduce and mitigate the environmental impacts of the Filecoin network, we first need to estimate the energy use of the network. This repo contains the models we are using in order to do this. 6 | 7 | # Versions 8 | Models use [semantic versioning](https://semver.org/), in which major updates (ie v X.0.0) indicate that the form of the model itself changed and requires new code to calculate energy values, minor versions (ie v 0.X.0) indicate that the methodology changed but the model itself did not, and patches (ie v 0.0.X) are simple backwards-compatible changes such as adjusting a constant. 9 | 10 | ## v1.0.0 11 | This major version uses the following formula, derived from dimensional analysis of major sources of Filecoin energy use: 12 | 13 | **Electrical Power = ( A * (Sealing Rate) + B * (Raw Capacity) ) * PUE** 14 | 15 | For an entity (either the network as a whole or an individual SP): 16 | 17 | **Electrical Power ∝ watts** is the electricity use of the entity 18 | 19 | **A ∝ Wh/byte** is the energy required to seal a sector (sealing constant) 20 | 21 | **Sealing Rate ∝ bytes / hour** is the rate at which new data is being sealed by that entity 22 | 23 | **B ∝ W/byte** is the electrical power required to store data over time (storage constant) 24 | 25 | **Raw Capacity ∝ bytes** is the amount of data stored by the entity 26 | 27 | **PUE ∝ dimensionless** is the power usage effectiveness, which is the ratio of total electrical power consumed to that consumed by IT processes 28 | 29 | ## v1.0.1 30 | Patch to the constant storage.max 31 | 32 | ## Benchmarks 33 | For comparison and research, some useful resources laying out Filecoin hardware configurations and performance are: 34 | * [Filecoin Benchmarks repo](https://github.com/filecoin-project/benchmarks) 35 | * [Community Miner Hardware Profiles](https://github.com/filecoin-project/lotus/discussions/6071) 36 | * [Lotus Benchmarks](https://github.com/filecoin-project/lotus/discussions/8605) 37 | -------------------------------------------------------------------------------- /methodology/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redransil/filecoin-energy-estimation/d505fad3eb42769ec71cfdd560de93fbaef1a246/methodology/.DS_Store -------------------------------------------------------------------------------- /methodology/filecoin-electricity-methodology-paper.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \providecommand\babel@aux[2]{} 4 | \@nameuse{bbl@beforestart} 5 | \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} 6 | \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined 7 | \global\let\oldcontentsline\contentsline 8 | \gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} 9 | \global\let\oldnewlabel\newlabel 10 | \gdef\newlabel#1#2{\newlabelxx{#1}#2} 11 | \gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} 12 | \AtEndDocument{\ifx\hyper@anchor\@undefined 13 | \let\contentsline\oldcontentsline 14 | \let\newlabel\oldnewlabel 15 | \fi} 16 | \fi} 17 | \global\let\hyper@last\relax 18 | \gdef\HyperFirstAtBeginDocument#1{#1} 19 | \providecommand\HyField@AuxAddToFields[1]{} 20 | \providecommand\HyField@AuxAddToCoFields[2]{} 21 | \babel@aux{english}{} 22 | \@writefile{toc}{\contentsline {section}{\numberline {1}Model Design (v1.0.1)}{1}{section.1}\protected@file@percent } 23 | \newlabel{estimateEq}{{{Equation 1}}{2}{Model Design (v1.0.1)}{section.1}{}} 24 | \@writefile{toc}{\contentsline {section}{\numberline {2}Aspects not considered by this model, and rationale (v1.0.1)}{2}{section.2}\protected@file@percent } 25 | \@writefile{toc}{\contentsline {section}{\numberline {3}Sealing Energy (v1.0.1)}{2}{section.3}\protected@file@percent } 26 | \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Sealing Data}}{3}{figure.1}\protected@file@percent } 27 | \newlabel{sealingenergyfigure}{{1}{3}{Sealing Data}{figure.1}{}} 28 | \@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Sealing Energy Data}}{3}{table.1}\protected@file@percent } 29 | \newlabel{sealingEnergyTable}{{1}{3}{Sealing Energy Data}{table.1}{}} 30 | \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Storage Data}}{4}{figure.2}\protected@file@percent } 31 | \newlabel{storageEnergyFigure}{{2}{4}{Storage Data}{figure.2}{}} 32 | \@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Sealing Energy Data}}{4}{table.2}\protected@file@percent } 33 | \newlabel{storageEnergyTable}{{2}{4}{Sealing Energy Data}{table.2}{}} 34 | \@writefile{toc}{\contentsline {section}{\numberline {4}Storage Energy (v1.0.1)}{4}{section.4}\protected@file@percent } 35 | \@writefile{toc}{\contentsline {section}{\numberline {5}Power Usage Effectiveness (v1.0.1)}{5}{section.5}\protected@file@percent } 36 | \newlabel{pueEq}{{{Equation 2}}{5}{Power Usage Effectiveness (v1.0.1)}{section.5}{}} 37 | \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces PUE Data}}{5}{figure.3}\protected@file@percent } 38 | \newlabel{pueTable}{{3}{5}{PUE Data}{figure.3}{}} 39 | \gdef \@abspage@last{5} 40 | -------------------------------------------------------------------------------- /methodology/filecoin-electricity-methodology-paper.log: -------------------------------------------------------------------------------- 1 | This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021) (preloaded format=pdflatex 2021.11.22) 2 DEC 2021 01:56 2 | entering extended mode 3 | restricted \write18 enabled. 4 | file:line:error style messages enabled. 5 | %&-line parsing enabled. 6 | **filecoin-electricity-methodology-paper.tex 7 | (./filecoin-electricity-methodology-paper.tex 8 | LaTeX2e <2020-10-01> patch level 4 9 | L3 programming layer <2021-02-18> 10 | (/usr/local/texlive/2021/texmf-dist/tex/latex/base/article.cls 11 | Document Class: article 2020/04/10 v1.4m Standard LaTeX document class 12 | (/usr/local/texlive/2021/texmf-dist/tex/latex/base/size10.clo 13 | File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option) 14 | ) 15 | \c@part=\count179 16 | \c@section=\count180 17 | \c@subsection=\count181 18 | \c@subsubsection=\count182 19 | \c@paragraph=\count183 20 | \c@subparagraph=\count184 21 | \c@figure=\count185 22 | \c@table=\count186 23 | \abovecaptionskip=\skip47 24 | \belowcaptionskip=\skip48 25 | \bibindent=\dimen138 26 | ) 27 | (/usr/local/texlive/2021/texmf-dist/tex/latex/geometry/geometry.sty 28 | Package: geometry 2020/01/02 v5.9 Page Geometry 29 | 30 | (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/keyval.sty 31 | Package: keyval 2014/10/28 v1.15 key=value parser (DPC) 32 | \KV@toks@=\toks15 33 | ) 34 | (/usr/local/texlive/2021/texmf-dist/tex/generic/iftex/ifvtex.sty 35 | Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. 36 | 37 | (/usr/local/texlive/2021/texmf-dist/tex/generic/iftex/iftex.sty 38 | Package: iftex 2020/03/06 v1.0d TeX engine tests 39 | )) 40 | \Gm@cnth=\count187 41 | \Gm@cntv=\count188 42 | \c@Gm@tempcnt=\count189 43 | \Gm@bindingoffset=\dimen139 44 | \Gm@wd@mp=\dimen140 45 | \Gm@odd@mp=\dimen141 46 | \Gm@even@mp=\dimen142 47 | \Gm@layoutwidth=\dimen143 48 | \Gm@layoutheight=\dimen144 49 | \Gm@layouthoffset=\dimen145 50 | \Gm@layoutvoffset=\dimen146 51 | \Gm@dimlist=\toks16 52 | ) 53 | (/usr/local/texlive/2021/texmf-dist/tex/latex/cite/cite.sty 54 | LaTeX Info: Redefining \cite on input line 302. 55 | LaTeX Info: Redefining \nocite on input line 332. 56 | Package: cite 2015/02/27 v 5.5 57 | ) 58 | (/usr/local/texlive/2021/texmf-dist/tex/generic/babel/babel.sty 59 | Package: babel 2021/03/24 3.56 The Babel package 60 | 61 | (/usr/local/texlive/2021/texmf-dist/tex/generic/babel/babel.def 62 | File: babel.def 2021/03/24 3.56 Babel common definitions 63 | \babel@savecnt=\count190 64 | \U@D=\dimen147 65 | \l@babelnohyphens=\language87 66 | 67 | (/usr/local/texlive/2021/texmf-dist/tex/generic/babel/txtbabel.def) 68 | \bbl@readstream=\read2 69 | ) 70 | \bbl@dirlevel=\count191 71 | 72 | (/usr/local/texlive/2021/texmf-dist/tex/generic/babel-english/english.ldf 73 | Language: english 2017/06/06 v3.3r English support from the babel system 74 | Package babel Info: \l@canadian = using hyphenrules for english 75 | (babel) (\language0) on input line 102. 76 | Package babel Info: \l@australian = using hyphenrules for ukenglish 77 | (babel) (\language21) on input line 105. 78 | Package babel Info: \l@newzealand = using hyphenrules for ukenglish 79 | (babel) (\language21) on input line 108. 80 | )) 81 | (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/graphicx.sty 82 | Package: graphicx 2020/09/09 v1.2b Enhanced LaTeX Graphics (DPC,SPQR) 83 | 84 | (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/graphics.sty 85 | Package: graphics 2020/08/30 v1.4c Standard LaTeX Graphics (DPC,SPQR) 86 | 87 | (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/trig.sty 88 | Package: trig 2016/01/03 v1.10 sin cos tan (DPC) 89 | ) 90 | (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics-cfg/graphics.cfg 91 | File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration 92 | ) 93 | Package graphics Info: Driver file: pdftex.def on input line 105. 94 | 95 | (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics-def/pdftex.def 96 | File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex 97 | )) 98 | \Gin@req@height=\dimen148 99 | \Gin@req@width=\dimen149 100 | ) 101 | (/usr/local/texlive/2021/texmf-dist/tex/latex/kantlipsum/kantlipsum.sty 102 | (/usr/local/texlive/2021/texmf-dist/tex/latex/l3kernel/expl3.sty 103 | Package: expl3 2021-02-18 L3 programming layer (loader) 104 | 105 | (/usr/local/texlive/2021/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def 106 | File: l3backend-pdftex.def 2021-03-18 L3 backend support: PDF output (pdfTeX) 107 | \l__color_backend_stack_int=\count192 108 | \l__pdf_internal_box=\box47 109 | )) 110 | (/usr/local/texlive/2021/texmf-dist/tex/latex/l3packages/xparse/xparse.sty 111 | (/usr/local/texlive/2021/texmf-dist/tex/latex/l3packages/xparse/xparse-2020-10- 112 | 01.sty 113 | (/usr/local/texlive/2021/texmf-dist/tex/latex/l3packages/xparse/xparse-generic. 114 | tex))) 115 | Package: kantlipsum 2019/07/23 v0.8 Generate text in Kantian style 116 | \l__kgl_start_int=\count193 117 | \l__kgl_end_int=\count194 118 | 119 | Package kantlipsum Info: The package provides paragraphs 1 to 164. Values 120 | (kantlipsum) outside this range will be ignored. 121 | 122 | ) (/usr/local/texlive/2021/texmf-dist/tex/latex/setspace/setspace.sty 123 | Package: setspace 2011/12/19 v6.7a set line spacing 124 | ) 125 | (/usr/local/texlive/2021/texmf-dist/tex/latex/caption/caption.sty 126 | Package: caption 2020/10/26 v3.5g Customizing captions (AR) 127 | 128 | (/usr/local/texlive/2021/texmf-dist/tex/latex/caption/caption3.sty 129 | Package: caption3 2020/10/21 v2.2e caption3 kernel (AR) 130 | \captionmargin=\dimen150 131 | \captionmargin@=\dimen151 132 | \captionwidth=\dimen152 133 | \caption@tempdima=\dimen153 134 | \caption@indent=\dimen154 135 | \caption@parindent=\dimen155 136 | \caption@hangindent=\dimen156 137 | Package caption Info: Standard document class detected. 138 | ) 139 | \c@caption@flags=\count195 140 | \c@continuedfloat=\count196 141 | ) 142 | (/usr/local/texlive/2021/texmf-dist/tex/latex/hyperref/hyperref.sty 143 | Package: hyperref 2021-02-27 v7.00k Hypertext links for LaTeX 144 | 145 | (/usr/local/texlive/2021/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty 146 | Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) 147 | ) 148 | (/usr/local/texlive/2021/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty 149 | Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO 150 | ) 151 | 152 | (/usr/local/texlive/2021/texmf-dist/tex/generic/infwarerr/infwarerr.sty 153 | Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) 154 | ) 155 | Package pdftexcmds Info: \pdf@primitive is available. 156 | Package pdftexcmds Info: \pdf@ifprimitive is available. 157 | Package pdftexcmds Info: \pdfdraftmode found. 158 | ) 159 | (/usr/local/texlive/2021/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty 160 | Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO) 161 | ) 162 | (/usr/local/texlive/2021/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty 163 | Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO) 164 | ) 165 | (/usr/local/texlive/2021/texmf-dist/tex/generic/pdfescape/pdfescape.sty 166 | Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO) 167 | ) 168 | (/usr/local/texlive/2021/texmf-dist/tex/latex/hycolor/hycolor.sty 169 | Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO) 170 | ) 171 | (/usr/local/texlive/2021/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty 172 | Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO) 173 | ) 174 | (/usr/local/texlive/2021/texmf-dist/tex/latex/auxhook/auxhook.sty 175 | Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO) 176 | ) 177 | (/usr/local/texlive/2021/texmf-dist/tex/latex/kvoptions/kvoptions.sty 178 | Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO) 179 | ) 180 | \@linkdim=\dimen157 181 | \Hy@linkcounter=\count197 182 | \Hy@pagecounter=\count198 183 | 184 | (/usr/local/texlive/2021/texmf-dist/tex/latex/hyperref/pd1enc.def 185 | File: pd1enc.def 2021-02-27 v7.00k Hyperref: PDFDocEncoding definition (HO) 186 | Now handling font encoding PD1 ... 187 | ... no UTF-8 mapping file for font encoding PD1 188 | ) 189 | (/usr/local/texlive/2021/texmf-dist/tex/latex/hyperref/hyperref-langpatches.def 190 | File: hyperref-langpatches.def 2021-02-27 v7.00k Hyperref: patches for babel la 191 | nguages 192 | ) (/usr/local/texlive/2021/texmf-dist/tex/generic/intcalc/intcalc.sty 193 | Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO) 194 | ) 195 | (/usr/local/texlive/2021/texmf-dist/tex/generic/etexcmds/etexcmds.sty 196 | Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) 197 | ) 198 | \Hy@SavedSpaceFactor=\count199 199 | 200 | (/usr/local/texlive/2021/texmf-dist/tex/latex/hyperref/puenc.def 201 | File: puenc.def 2021-02-27 v7.00k Hyperref: PDF Unicode definition (HO) 202 | Now handling font encoding PU ... 203 | ... no UTF-8 mapping file for font encoding PU 204 | ) 205 | Package hyperref Info: Hyper figures OFF on input line 4192. 206 | Package hyperref Info: Link nesting OFF on input line 4197. 207 | Package hyperref Info: Hyper index ON on input line 4200. 208 | Package hyperref Info: Plain pages OFF on input line 4207. 209 | Package hyperref Info: Backreferencing OFF on input line 4212. 210 | Package hyperref Info: Implicit mode ON; LaTeX internals redefined. 211 | Package hyperref Info: Bookmarks ON on input line 4445. 212 | \c@Hy@tempcnt=\count266 213 | 214 | (/usr/local/texlive/2021/texmf-dist/tex/latex/url/url.sty 215 | \Urlmuskip=\muskip16 216 | Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. 217 | ) 218 | LaTeX Info: Redefining \url on input line 4804. 219 | \XeTeXLinkMargin=\dimen158 220 | 221 | (/usr/local/texlive/2021/texmf-dist/tex/generic/bitset/bitset.sty 222 | Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO) 223 | 224 | (/usr/local/texlive/2021/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty 225 | Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO 226 | ) 227 | )) 228 | \Fld@menulength=\count267 229 | \Field@Width=\dimen159 230 | \Fld@charsize=\dimen160 231 | Package hyperref Info: Hyper figures OFF on input line 6075. 232 | Package hyperref Info: Link nesting OFF on input line 6080. 233 | Package hyperref Info: Hyper index ON on input line 6083. 234 | Package hyperref Info: backreferencing OFF on input line 6090. 235 | Package hyperref Info: Link coloring OFF on input line 6095. 236 | Package hyperref Info: Link coloring with OCG OFF on input line 6100. 237 | Package hyperref Info: PDF/A mode OFF on input line 6105. 238 | LaTeX Info: Redefining \ref on input line 6145. 239 | LaTeX Info: Redefining \pageref on input line 6149. 240 | 241 | (/usr/local/texlive/2021/texmf-dist/tex/latex/base/atbegshi-ltx.sty 242 | Package: atbegshi-ltx 2020/08/17 v1.0a Emulation of the original atbegshi packa 243 | ge 244 | with kernel methods 245 | ) 246 | \Hy@abspage=\count268 247 | \c@Item=\count269 248 | \c@Hfootnote=\count270 249 | ) 250 | Package hyperref Info: Driver (autodetected): hpdftex. 251 | 252 | (/usr/local/texlive/2021/texmf-dist/tex/latex/hyperref/hpdftex.def 253 | File: hpdftex.def 2021-02-27 v7.00k Hyperref driver for pdfTeX 254 | 255 | (/usr/local/texlive/2021/texmf-dist/tex/latex/base/atveryend-ltx.sty 256 | Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atvery packag 257 | e 258 | with kernel methods 259 | ) 260 | \Fld@listcount=\count271 261 | \c@bookmark@seq@number=\count272 262 | 263 | (/usr/local/texlive/2021/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty 264 | Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO) 265 | 266 | (/usr/local/texlive/2021/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty 267 | Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO) 268 | ) 269 | Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 270 | 86. 271 | ) 272 | \Hy@SectionHShift=\skip49 273 | ) (/usr/local/texlive/2021/texmf-dist/tex/latex/textgreek/textgreek.sty 274 | Package: textgreek 2011/10/09 v0.7 Greek symbols in text 275 | Package textgreek Info: Loading the definitions for the Greek fontencoding. on 276 | input line 39. 277 | 278 | (/usr/local/texlive/2021/texmf-dist/tex/latex/greek-fontenc/lgrenc.def 279 | File: lgrenc.def 2020/10/13 2.0 LGR Greek font encoding definitions 280 | Now handling font encoding LGR ... 281 | ... processing UTF-8 mapping file for font encoding LGR 282 | 283 | (/usr/local/texlive/2021/texmf-dist/tex/latex/greek-inputenc/lgrenc.dfu 284 | File: lgrenc.dfu 2019/07/11 1.7 UTF-8 support for Greek 285 | defining Unicode char U+00A8 (decimal 168) 286 | defining Unicode char U+00AB (decimal 171) 287 | defining Unicode char U+00AF (decimal 175) 288 | defining Unicode char U+00B4 (decimal 180) 289 | defining Unicode char U+00B7 (decimal 183) 290 | defining Unicode char U+00BB (decimal 187) 291 | defining Unicode char U+0259 (decimal 601) 292 | defining Unicode char U+02D8 (decimal 728) 293 | defining Unicode char U+0374 (decimal 884) 294 | defining Unicode char U+0375 (decimal 885) 295 | defining Unicode char U+037A (decimal 890) 296 | defining Unicode char U+037E (decimal 894) 297 | defining Unicode char U+0384 (decimal 900) 298 | defining Unicode char U+0385 (decimal 901) 299 | defining Unicode char U+0386 (decimal 902) 300 | defining Unicode char U+0387 (decimal 903) 301 | defining Unicode char U+0388 (decimal 904) 302 | defining Unicode char U+0389 (decimal 905) 303 | defining Unicode char U+038A (decimal 906) 304 | defining Unicode char U+038C (decimal 908) 305 | defining Unicode char U+038E (decimal 910) 306 | defining Unicode char U+038F (decimal 911) 307 | defining Unicode char U+0390 (decimal 912) 308 | defining Unicode char U+0391 (decimal 913) 309 | defining Unicode char U+0392 (decimal 914) 310 | defining Unicode char U+0393 (decimal 915) 311 | defining Unicode char U+0394 (decimal 916) 312 | defining Unicode char U+0395 (decimal 917) 313 | defining Unicode char U+0396 (decimal 918) 314 | defining Unicode char U+0397 (decimal 919) 315 | defining Unicode char U+0398 (decimal 920) 316 | defining Unicode char U+0399 (decimal 921) 317 | defining Unicode char U+039A (decimal 922) 318 | defining Unicode char U+039B (decimal 923) 319 | defining Unicode char U+039C (decimal 924) 320 | defining Unicode char U+039D (decimal 925) 321 | defining Unicode char U+039E (decimal 926) 322 | defining Unicode char U+039F (decimal 927) 323 | defining Unicode char U+03A0 (decimal 928) 324 | defining Unicode char U+03A1 (decimal 929) 325 | defining Unicode char U+03A3 (decimal 931) 326 | defining Unicode char U+03A4 (decimal 932) 327 | defining Unicode char U+03A5 (decimal 933) 328 | defining Unicode char U+03A6 (decimal 934) 329 | defining Unicode char U+03A7 (decimal 935) 330 | defining Unicode char U+03A8 (decimal 936) 331 | defining Unicode char U+03A9 (decimal 937) 332 | defining Unicode char U+03AA (decimal 938) 333 | defining Unicode char U+03AB (decimal 939) 334 | defining Unicode char U+03AC (decimal 940) 335 | defining Unicode char U+03AD (decimal 941) 336 | defining Unicode char U+03AE (decimal 942) 337 | defining Unicode char U+03AF (decimal 943) 338 | defining Unicode char U+03B0 (decimal 944) 339 | defining Unicode char U+03B1 (decimal 945) 340 | defining Unicode char U+03B2 (decimal 946) 341 | defining Unicode char U+03B3 (decimal 947) 342 | defining Unicode char U+03B4 (decimal 948) 343 | defining Unicode char U+03B5 (decimal 949) 344 | defining Unicode char U+03B6 (decimal 950) 345 | defining Unicode char U+03B7 (decimal 951) 346 | defining Unicode char U+03B8 (decimal 952) 347 | defining Unicode char U+03B9 (decimal 953) 348 | defining Unicode char U+03BA (decimal 954) 349 | defining Unicode char U+03BB (decimal 955) 350 | defining Unicode char U+03BC (decimal 956) 351 | defining Unicode char U+03BD (decimal 957) 352 | defining Unicode char U+03BE (decimal 958) 353 | defining Unicode char U+03BF (decimal 959) 354 | defining Unicode char U+03C0 (decimal 960) 355 | defining Unicode char U+03C1 (decimal 961) 356 | defining Unicode char U+03C2 (decimal 962) 357 | defining Unicode char U+03C3 (decimal 963) 358 | defining Unicode char U+03C4 (decimal 964) 359 | defining Unicode char U+03C5 (decimal 965) 360 | defining Unicode char U+03C6 (decimal 966) 361 | defining Unicode char U+03C7 (decimal 967) 362 | defining Unicode char U+03C8 (decimal 968) 363 | defining Unicode char U+03C9 (decimal 969) 364 | defining Unicode char U+03CA (decimal 970) 365 | defining Unicode char U+03CB (decimal 971) 366 | defining Unicode char U+03CC (decimal 972) 367 | defining Unicode char U+03CD (decimal 973) 368 | defining Unicode char U+03CE (decimal 974) 369 | defining Unicode char U+03D0 (decimal 976) 370 | defining Unicode char U+03D1 (decimal 977) 371 | defining Unicode char U+03D5 (decimal 981) 372 | defining Unicode char U+03D6 (decimal 982) 373 | defining Unicode char U+03D8 (decimal 984) 374 | defining Unicode char U+03D9 (decimal 985) 375 | defining Unicode char U+03DA (decimal 986) 376 | defining Unicode char U+03DB (decimal 987) 377 | defining Unicode char U+03DC (decimal 988) 378 | defining Unicode char U+03DD (decimal 989) 379 | defining Unicode char U+03DF (decimal 991) 380 | defining Unicode char U+03E0 (decimal 992) 381 | defining Unicode char U+03E1 (decimal 993) 382 | defining Unicode char U+03F0 (decimal 1008) 383 | defining Unicode char U+03F1 (decimal 1009) 384 | defining Unicode char U+03F4 (decimal 1012) 385 | defining Unicode char U+03F5 (decimal 1013) 386 | defining Unicode char U+1F00 (decimal 7936) 387 | defining Unicode char U+1F01 (decimal 7937) 388 | defining Unicode char U+1F02 (decimal 7938) 389 | defining Unicode char U+1F03 (decimal 7939) 390 | defining Unicode char U+1F04 (decimal 7940) 391 | defining Unicode char U+1F05 (decimal 7941) 392 | defining Unicode char U+1F06 (decimal 7942) 393 | defining Unicode char U+1F07 (decimal 7943) 394 | defining Unicode char U+1F08 (decimal 7944) 395 | defining Unicode char U+1F09 (decimal 7945) 396 | defining Unicode char U+1F0A (decimal 7946) 397 | defining Unicode char U+1F0B (decimal 7947) 398 | defining Unicode char U+1F0C (decimal 7948) 399 | defining Unicode char U+1F0D (decimal 7949) 400 | defining Unicode char U+1F0E (decimal 7950) 401 | defining Unicode char U+1F0F (decimal 7951) 402 | defining Unicode char U+1F10 (decimal 7952) 403 | defining Unicode char U+1F11 (decimal 7953) 404 | defining Unicode char U+1F12 (decimal 7954) 405 | defining Unicode char U+1F13 (decimal 7955) 406 | defining Unicode char U+1F14 (decimal 7956) 407 | defining Unicode char U+1F15 (decimal 7957) 408 | defining Unicode char U+1F18 (decimal 7960) 409 | defining Unicode char U+1F19 (decimal 7961) 410 | defining Unicode char U+1F1A (decimal 7962) 411 | defining Unicode char U+1F1B (decimal 7963) 412 | defining Unicode char U+1F1C (decimal 7964) 413 | defining Unicode char U+1F1D (decimal 7965) 414 | defining Unicode char U+1F20 (decimal 7968) 415 | defining Unicode char U+1F21 (decimal 7969) 416 | defining Unicode char U+1F22 (decimal 7970) 417 | defining Unicode char U+1F23 (decimal 7971) 418 | defining Unicode char U+1F24 (decimal 7972) 419 | defining Unicode char U+1F25 (decimal 7973) 420 | defining Unicode char U+1F26 (decimal 7974) 421 | defining Unicode char U+1F27 (decimal 7975) 422 | defining Unicode char U+1F28 (decimal 7976) 423 | defining Unicode char U+1F29 (decimal 7977) 424 | defining Unicode char U+1F2A (decimal 7978) 425 | defining Unicode char U+1F2B (decimal 7979) 426 | defining Unicode char U+1F2C (decimal 7980) 427 | defining Unicode char U+1F2D (decimal 7981) 428 | defining Unicode char U+1F2E (decimal 7982) 429 | defining Unicode char U+1F2F (decimal 7983) 430 | defining Unicode char U+1F30 (decimal 7984) 431 | defining Unicode char U+1F31 (decimal 7985) 432 | defining Unicode char U+1F32 (decimal 7986) 433 | defining Unicode char U+1F33 (decimal 7987) 434 | defining Unicode char U+1F34 (decimal 7988) 435 | defining Unicode char U+1F35 (decimal 7989) 436 | defining Unicode char U+1F36 (decimal 7990) 437 | defining Unicode char U+1F37 (decimal 7991) 438 | defining Unicode char U+1F38 (decimal 7992) 439 | defining Unicode char U+1F39 (decimal 7993) 440 | defining Unicode char U+1F3A (decimal 7994) 441 | defining Unicode char U+1F3B (decimal 7995) 442 | defining Unicode char U+1F3C (decimal 7996) 443 | defining Unicode char U+1F3D (decimal 7997) 444 | defining Unicode char U+1F3E (decimal 7998) 445 | defining Unicode char U+1F3F (decimal 7999) 446 | defining Unicode char U+1F40 (decimal 8000) 447 | defining Unicode char U+1F41 (decimal 8001) 448 | defining Unicode char U+1F42 (decimal 8002) 449 | defining Unicode char U+1F43 (decimal 8003) 450 | defining Unicode char U+1F44 (decimal 8004) 451 | defining Unicode char U+1F45 (decimal 8005) 452 | defining Unicode char U+1F48 (decimal 8008) 453 | defining Unicode char U+1F49 (decimal 8009) 454 | defining Unicode char U+1F4A (decimal 8010) 455 | defining Unicode char U+1F4B (decimal 8011) 456 | defining Unicode char U+1F4C (decimal 8012) 457 | defining Unicode char U+1F4D (decimal 8013) 458 | defining Unicode char U+1F50 (decimal 8016) 459 | defining Unicode char U+1F51 (decimal 8017) 460 | defining Unicode char U+1F52 (decimal 8018) 461 | defining Unicode char U+1F53 (decimal 8019) 462 | defining Unicode char U+1F54 (decimal 8020) 463 | defining Unicode char U+1F55 (decimal 8021) 464 | defining Unicode char U+1F56 (decimal 8022) 465 | defining Unicode char U+1F57 (decimal 8023) 466 | defining Unicode char U+1F59 (decimal 8025) 467 | defining Unicode char U+1F5B (decimal 8027) 468 | defining Unicode char U+1F5D (decimal 8029) 469 | defining Unicode char U+1F5F (decimal 8031) 470 | defining Unicode char U+1F60 (decimal 8032) 471 | defining Unicode char U+1F61 (decimal 8033) 472 | defining Unicode char U+1F62 (decimal 8034) 473 | defining Unicode char U+1F63 (decimal 8035) 474 | defining Unicode char U+1F64 (decimal 8036) 475 | defining Unicode char U+1F65 (decimal 8037) 476 | defining Unicode char U+1F66 (decimal 8038) 477 | defining Unicode char U+1F67 (decimal 8039) 478 | defining Unicode char U+1F68 (decimal 8040) 479 | defining Unicode char U+1F69 (decimal 8041) 480 | defining Unicode char U+1F6A (decimal 8042) 481 | defining Unicode char U+1F6B (decimal 8043) 482 | defining Unicode char U+1F6C (decimal 8044) 483 | defining Unicode char U+1F6D (decimal 8045) 484 | defining Unicode char U+1F6E (decimal 8046) 485 | defining Unicode char U+1F6F (decimal 8047) 486 | defining Unicode char U+1F70 (decimal 8048) 487 | defining Unicode char U+1F71 (decimal 8049) 488 | defining Unicode char U+1F72 (decimal 8050) 489 | defining Unicode char U+1F73 (decimal 8051) 490 | defining Unicode char U+1F74 (decimal 8052) 491 | defining Unicode char U+1F75 (decimal 8053) 492 | defining Unicode char U+1F76 (decimal 8054) 493 | defining Unicode char U+1F77 (decimal 8055) 494 | defining Unicode char U+1F78 (decimal 8056) 495 | defining Unicode char U+1F79 (decimal 8057) 496 | defining Unicode char U+1F7A (decimal 8058) 497 | defining Unicode char U+1F7B (decimal 8059) 498 | defining Unicode char U+1F7C (decimal 8060) 499 | defining Unicode char U+1F7D (decimal 8061) 500 | defining Unicode char U+1F80 (decimal 8064) 501 | defining Unicode char U+1F81 (decimal 8065) 502 | defining Unicode char U+1F82 (decimal 8066) 503 | defining Unicode char U+1F83 (decimal 8067) 504 | defining Unicode char U+1F84 (decimal 8068) 505 | defining Unicode char U+1F85 (decimal 8069) 506 | defining Unicode char U+1F86 (decimal 8070) 507 | defining Unicode char U+1F87 (decimal 8071) 508 | defining Unicode char U+1F88 (decimal 8072) 509 | defining Unicode char U+1F89 (decimal 8073) 510 | defining Unicode char U+1F8A (decimal 8074) 511 | defining Unicode char U+1F8B (decimal 8075) 512 | defining Unicode char U+1F8C (decimal 8076) 513 | defining Unicode char U+1F8D (decimal 8077) 514 | defining Unicode char U+1F8E (decimal 8078) 515 | defining Unicode char U+1F8F (decimal 8079) 516 | defining Unicode char U+1F90 (decimal 8080) 517 | defining Unicode char U+1F91 (decimal 8081) 518 | defining Unicode char U+1F92 (decimal 8082) 519 | defining Unicode char U+1F93 (decimal 8083) 520 | defining Unicode char U+1F94 (decimal 8084) 521 | defining Unicode char U+1F95 (decimal 8085) 522 | defining Unicode char U+1F96 (decimal 8086) 523 | defining Unicode char U+1F97 (decimal 8087) 524 | defining Unicode char U+1F98 (decimal 8088) 525 | defining Unicode char U+1F99 (decimal 8089) 526 | defining Unicode char U+1F9A (decimal 8090) 527 | defining Unicode char U+1F9B (decimal 8091) 528 | defining Unicode char U+1F9C (decimal 8092) 529 | defining Unicode char U+1F9D (decimal 8093) 530 | defining Unicode char U+1F9E (decimal 8094) 531 | defining Unicode char U+1F9F (decimal 8095) 532 | defining Unicode char U+1FA0 (decimal 8096) 533 | defining Unicode char U+1FA1 (decimal 8097) 534 | defining Unicode char U+1FA2 (decimal 8098) 535 | defining Unicode char U+1FA3 (decimal 8099) 536 | defining Unicode char U+1FA4 (decimal 8100) 537 | defining Unicode char U+1FA5 (decimal 8101) 538 | defining Unicode char U+1FA6 (decimal 8102) 539 | defining Unicode char U+1FA7 (decimal 8103) 540 | defining Unicode char U+1FA8 (decimal 8104) 541 | defining Unicode char U+1FA9 (decimal 8105) 542 | defining Unicode char U+1FAA (decimal 8106) 543 | defining Unicode char U+1FAB (decimal 8107) 544 | defining Unicode char U+1FAC (decimal 8108) 545 | defining Unicode char U+1FAD (decimal 8109) 546 | defining Unicode char U+1FAE (decimal 8110) 547 | defining Unicode char U+1FAF (decimal 8111) 548 | defining Unicode char U+1FB0 (decimal 8112) 549 | defining Unicode char U+1FB1 (decimal 8113) 550 | defining Unicode char U+1FB2 (decimal 8114) 551 | defining Unicode char U+1FB3 (decimal 8115) 552 | defining Unicode char U+1FB4 (decimal 8116) 553 | defining Unicode char U+1FB6 (decimal 8118) 554 | defining Unicode char U+1FB7 (decimal 8119) 555 | defining Unicode char U+1FB8 (decimal 8120) 556 | defining Unicode char U+1FB9 (decimal 8121) 557 | defining Unicode char U+1FBA (decimal 8122) 558 | defining Unicode char U+1FBB (decimal 8123) 559 | defining Unicode char U+1FBC (decimal 8124) 560 | defining Unicode char U+1FBD (decimal 8125) 561 | defining Unicode char U+1FBE (decimal 8126) 562 | defining Unicode char U+1FBF (decimal 8127) 563 | defining Unicode char U+1FC0 (decimal 8128) 564 | defining Unicode char U+1FC1 (decimal 8129) 565 | defining Unicode char U+1FC2 (decimal 8130) 566 | defining Unicode char U+1FC3 (decimal 8131) 567 | defining Unicode char U+1FC4 (decimal 8132) 568 | defining Unicode char U+1FC6 (decimal 8134) 569 | defining Unicode char U+1FC7 (decimal 8135) 570 | defining Unicode char U+1FC8 (decimal 8136) 571 | defining Unicode char U+1FC9 (decimal 8137) 572 | defining Unicode char U+1FCA (decimal 8138) 573 | defining Unicode char U+1FCB (decimal 8139) 574 | defining Unicode char U+1FCC (decimal 8140) 575 | defining Unicode char U+1FCD (decimal 8141) 576 | defining Unicode char U+1FCE (decimal 8142) 577 | defining Unicode char U+1FCF (decimal 8143) 578 | defining Unicode char U+1FD0 (decimal 8144) 579 | defining Unicode char U+1FD1 (decimal 8145) 580 | defining Unicode char U+1FD2 (decimal 8146) 581 | defining Unicode char U+1FD3 (decimal 8147) 582 | defining Unicode char U+1FD6 (decimal 8150) 583 | defining Unicode char U+1FD7 (decimal 8151) 584 | defining Unicode char U+1FD8 (decimal 8152) 585 | defining Unicode char U+1FD9 (decimal 8153) 586 | defining Unicode char U+1FDA (decimal 8154) 587 | defining Unicode char U+1FDB (decimal 8155) 588 | defining Unicode char U+1FDD (decimal 8157) 589 | defining Unicode char U+1FDE (decimal 8158) 590 | defining Unicode char U+1FDF (decimal 8159) 591 | defining Unicode char U+1FE0 (decimal 8160) 592 | defining Unicode char U+1FE1 (decimal 8161) 593 | defining Unicode char U+1FE2 (decimal 8162) 594 | defining Unicode char U+1FE3 (decimal 8163) 595 | defining Unicode char U+1FE4 (decimal 8164) 596 | defining Unicode char U+1FE5 (decimal 8165) 597 | defining Unicode char U+1FE6 (decimal 8166) 598 | defining Unicode char U+1FE7 (decimal 8167) 599 | defining Unicode char U+1FE8 (decimal 8168) 600 | defining Unicode char U+1FE9 (decimal 8169) 601 | defining Unicode char U+1FEA (decimal 8170) 602 | defining Unicode char U+1FEB (decimal 8171) 603 | defining Unicode char U+1FEC (decimal 8172) 604 | defining Unicode char U+1FED (decimal 8173) 605 | defining Unicode char U+1FEE (decimal 8174) 606 | defining Unicode char U+1FEF (decimal 8175) 607 | defining Unicode char U+1FF2 (decimal 8178) 608 | defining Unicode char U+1FF3 (decimal 8179) 609 | defining Unicode char U+1FF4 (decimal 8180) 610 | defining Unicode char U+1FF6 (decimal 8182) 611 | defining Unicode char U+1FF7 (decimal 8183) 612 | defining Unicode char U+1FF8 (decimal 8184) 613 | defining Unicode char U+1FF9 (decimal 8185) 614 | defining Unicode char U+1FFA (decimal 8186) 615 | defining Unicode char U+1FFB (decimal 8187) 616 | defining Unicode char U+1FFC (decimal 8188) 617 | defining Unicode char U+1FFD (decimal 8189) 618 | defining Unicode char U+1FFE (decimal 8190) 619 | defining Unicode char U+2013 (decimal 8211) 620 | defining Unicode char U+2014 (decimal 8212) 621 | defining Unicode char U+2018 (decimal 8216) 622 | defining Unicode char U+2019 (decimal 8217) 623 | defining Unicode char U+201A (decimal 8218) 624 | defining Unicode char U+2030 (decimal 8240) 625 | defining Unicode char U+2039 (decimal 8249) 626 | defining Unicode char U+203A (decimal 8250) 627 | defining Unicode char U+20AC (decimal 8364) 628 | defining Unicode char U+2126 (decimal 8486) 629 | defining Unicode char U+10144 (decimal 65860) 630 | defining Unicode char U+10145 (decimal 65861) 631 | defining Unicode char U+10146 (decimal 65862) 632 | defining Unicode char U+10147 (decimal 65863) 633 | ) 634 | (/usr/local/texlive/2021/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def 635 | File: greek-fontenc.def 2020/10/30 2.0 Common Greek font encoding definitions 636 | )) 637 | Package textgreek Info: Loaded fontmap: {phv/*/*}{U/psy/*/*} {*/bx/n}{U/eur/b/n 638 | } {*/b/n}{U/eur/b/n} {*/*/n}{U/eur/m/n} {*/*/it}{OML/*/*/*}. on input line 69. 639 | ) (/usr/local/texlive/2021/texmf-dist/tex/latex/tools/verbatim.sty 640 | Package: verbatim 2020-07-07 v1.5u LaTeX2e package for verbatim enhancements 641 | \every@verbatim=\toks17 642 | \verbatim@line=\toks18 643 | \verbatim@in@stream=\read3 644 | ) 645 | (/usr/local/texlive/2021/texmf-dist/tex/latex/titlesec/titlesec.sty 646 | Package: titlesec 2019/10/16 v2.13 Sectioning titles 647 | \ttl@box=\box48 648 | \beforetitleunit=\skip50 649 | \aftertitleunit=\skip51 650 | \ttl@plus=\dimen161 651 | \ttl@minus=\dimen162 652 | \ttl@toksa=\toks19 653 | \titlewidth=\dimen163 654 | \titlewidthlast=\dimen164 655 | \titlewidthfirst=\dimen165 656 | ) 657 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsfonts/amssymb.sty 658 | Package: amssymb 2013/01/14 v3.01 AMS font symbols 659 | 660 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsfonts/amsfonts.sty 661 | Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support 662 | \@emptytoks=\toks20 663 | \symAMSa=\mathgroup4 664 | \symAMSb=\mathgroup5 665 | LaTeX Font Info: Redeclaring math symbol \hbar on input line 98. 666 | LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' 667 | (Font) U/euf/m/n --> U/euf/b/n on input line 106. 668 | )) 669 | (/usr/local/texlive/2021/texmf-dist/tex/latex/was/gensymb.sty 670 | Package: gensymb 2003/07/02 v1.0 (WaS) 671 | ) 672 | (/usr/local/texlive/2021/texmf-dist/tex/latex/base/textcomp.sty 673 | Package: textcomp 2020/02/02 v2.0n Standard LaTeX package 674 | ) 675 | (/usr/local/texlive/2021/texmf-dist/tex/latex/footmisc/footmisc.sty 676 | Package: footmisc 2011/06/06 v5.5b a miscellany of footnote facilities 677 | \FN@temptoken=\toks21 678 | \footnotemargin=\dimen166 679 | \c@pp@next@reset=\count273 680 | Package footmisc Info: Declaring symbol style bringhurst on input line 855. 681 | Package footmisc Info: Declaring symbol style chicago on input line 863. 682 | Package footmisc Info: Declaring symbol style wiley on input line 872. 683 | Package footmisc Info: Declaring symbol style lamport-robust on input line 883. 684 | 685 | Package footmisc Info: Declaring symbol style lamport* on input line 903. 686 | Package footmisc Info: Declaring symbol style lamport*-robust on input line 924 687 | . 688 | ) 689 | (/usr/local/texlive/2021/texmf-dist/tex/latex/mhchem/mhchem.sty 690 | Package: mhchem 2018/06/22 v4.08 for typesetting chemical formulae 691 | 692 | (/usr/local/texlive/2021/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty 693 | Package: l3keys2e 2021-03-12 LaTeX2e option processing using LaTeX3 keys 694 | ) (/usr/local/texlive/2021/texmf-dist/tex/latex/tools/calc.sty 695 | Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) 696 | \calc@Acount=\count274 697 | \calc@Bcount=\count275 698 | \calc@Adimen=\dimen167 699 | \calc@Bdimen=\dimen168 700 | \calc@Askip=\skip52 701 | \calc@Bskip=\skip53 702 | LaTeX Info: Redefining \setlength on input line 80. 703 | LaTeX Info: Redefining \addtolength on input line 81. 704 | \calc@Ccount=\count276 705 | \calc@Cskip=\skip54 706 | ) 707 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsmath.sty 708 | Package: amsmath 2020/09/23 v2.17i AMS math features 709 | \@mathmargin=\skip55 710 | 711 | For additional information on amsmath, use the `?' option. 712 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amstext.sty 713 | Package: amstext 2000/06/29 v2.01 AMS text 714 | 715 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsgen.sty 716 | File: amsgen.sty 1999/11/30 v2.0 generic functions 717 | \@emptytoks=\toks22 718 | \ex@=\dimen169 719 | )) 720 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsbsy.sty 721 | Package: amsbsy 1999/11/29 v1.2d Bold Symbols 722 | \pmbraise@=\dimen170 723 | ) 724 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsopn.sty 725 | Package: amsopn 2016/03/08 v2.02 operator names 726 | ) 727 | \inf@bad=\count277 728 | LaTeX Info: Redefining \frac on input line 234. 729 | \uproot@=\count278 730 | \leftroot@=\count279 731 | LaTeX Info: Redefining \overline on input line 399. 732 | \classnum@=\count280 733 | \DOTSCASE@=\count281 734 | LaTeX Info: Redefining \ldots on input line 496. 735 | LaTeX Info: Redefining \dots on input line 499. 736 | LaTeX Info: Redefining \cdots on input line 620. 737 | \Mathstrutbox@=\box49 738 | \strutbox@=\box50 739 | \big@size=\dimen171 740 | LaTeX Font Info: Redeclaring font encoding OML on input line 743. 741 | LaTeX Font Info: Redeclaring font encoding OMS on input line 744. 742 | \macc@depth=\count282 743 | \c@MaxMatrixCols=\count283 744 | \dotsspace@=\muskip17 745 | \c@parentequation=\count284 746 | \dspbrk@lvl=\count285 747 | \tag@help=\toks23 748 | \row@=\count286 749 | \column@=\count287 750 | \maxfields@=\count288 751 | \andhelp@=\toks24 752 | \eqnshift@=\dimen172 753 | \alignsep@=\dimen173 754 | \tagshift@=\dimen174 755 | \tagwidth@=\dimen175 756 | \totwidth@=\dimen176 757 | \lineht@=\dimen177 758 | \@envbody=\toks25 759 | \multlinegap=\skip56 760 | \multlinetaggap=\skip57 761 | \mathdisplay@stack=\toks26 762 | LaTeX Info: Redefining \[ on input line 2923. 763 | LaTeX Info: Redefining \] on input line 2924. 764 | ) 765 | (/usr/local/texlive/2021/texmf-dist/tex/latex/chemgreek/chemgreek.sty 766 | Package: chemgreek 2020/01/16 v1.1a interface for upright Greek letters for use 767 | in chemistry (CN) 768 | \l__chemgreek_tmpa_int=\count289 769 | \g__chemgreek_tmpa_int=\count290 770 | ) 771 | \l__mhchem_ce_distanceFromLastComma_int=\count291 772 | \__mhchem_arrow_extPgfLength_skip=\skip58 773 | \mhchem@minispace@tmp=\skip59 774 | \mhchem@minibackspace@tmp=\skip60 775 | \mhchem@bondwidth=\skip61 776 | \mhchem@bondheight=\skip62 777 | \mhchem@smallbondwidth@tmpA=\skip63 778 | \mhchem@smallbondwidth@tmpB=\skip64 779 | \mhchem@smallbondwidth=\skip65 780 | \mhchem@bondtmp@minussidebearingleft=\skip66 781 | \mhchem@bondtmp@minussidebearingright=\skip67 782 | \l__mhchem_option_version_int=\count292 783 | \mhchem@option@minusmathsidebearingleft=\dimen178 784 | \mhchem@option@minusmathsidebearingright=\dimen179 785 | \mhchem@option@minustextsidebearingleft=\dimen180 786 | \mhchem@option@minustextsidebearingright=\dimen181 787 | ) 788 | (/usr/local/texlive/2021/texmf-dist/tex/latex/tools/multicol.sty 789 | Package: multicol 2019/12/09 v1.8y multicolumn formatting (FMi) 790 | \c@tracingmulticols=\count293 791 | \mult@box=\box51 792 | \multicol@leftmargin=\dimen182 793 | \c@unbalance=\count294 794 | \c@collectmore=\count295 795 | \doublecol@number=\count296 796 | \multicoltolerance=\count297 797 | \multicolpretolerance=\count298 798 | \full@width=\dimen183 799 | \page@free=\dimen184 800 | \premulticols=\dimen185 801 | \postmulticols=\dimen186 802 | \multicolsep=\skip68 803 | \multicolbaselineskip=\skip69 804 | \partial@page=\box52 805 | \last@line=\box53 806 | \maxbalancingoverflow=\dimen187 807 | \mult@rightbox=\box54 808 | \mult@grightbox=\box55 809 | \mult@gfirstbox=\box56 810 | \mult@firstbox=\box57 811 | \@tempa=\box58 812 | \@tempa=\box59 813 | \@tempa=\box60 814 | \@tempa=\box61 815 | \@tempa=\box62 816 | \@tempa=\box63 817 | \@tempa=\box64 818 | \@tempa=\box65 819 | \@tempa=\box66 820 | \@tempa=\box67 821 | \@tempa=\box68 822 | \@tempa=\box69 823 | \@tempa=\box70 824 | \@tempa=\box71 825 | \@tempa=\box72 826 | \@tempa=\box73 827 | \@tempa=\box74 828 | \@tempa=\box75 829 | \@tempa=\box76 830 | \@tempa=\box77 831 | \@tempa=\box78 832 | \@tempa=\box79 833 | \@tempa=\box80 834 | \@tempa=\box81 835 | \@tempa=\box82 836 | \@tempa=\box83 837 | \@tempa=\box84 838 | \@tempa=\box85 839 | \@tempa=\box86 840 | \@tempa=\box87 841 | \@tempa=\box88 842 | \@tempa=\box89 843 | \@tempa=\box90 844 | \@tempa=\box91 845 | \@tempa=\box92 846 | \@tempa=\box93 847 | \@tempa=\box94 848 | \c@minrows=\count299 849 | \c@columnbadness=\count300 850 | \c@finalcolumnbadness=\count301 851 | \last@try=\dimen188 852 | \multicolovershoot=\dimen189 853 | \multicolundershoot=\dimen190 854 | \mult@nat@firstbox=\box95 855 | \colbreak@box=\box96 856 | \mc@col@check@num=\count302 857 | ) 858 | (/usr/local/texlive/2021/texmf-dist/tex/latex/wrapfig/wrapfig.sty 859 | \wrapoverhang=\dimen191 860 | \WF@size=\dimen192 861 | \c@WF@wrappedlines=\count303 862 | \WF@box=\box97 863 | \WF@everypar=\toks27 864 | Package: wrapfig 2003/01/31 v 3.6 865 | ) 866 | 867 | LaTeX Warning: Unused global option(s): 868 | [9pt]. 869 | 870 | (./filecoin-electricity-methodology-paper.aux) 871 | \openout1 = `filecoin-electricity-methodology-paper.aux'. 872 | 873 | LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 34. 874 | LaTeX Font Info: ... okay on input line 34. 875 | LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 34. 876 | LaTeX Font Info: ... okay on input line 34. 877 | LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 34. 878 | LaTeX Font Info: ... okay on input line 34. 879 | LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 34. 880 | LaTeX Font Info: ... okay on input line 34. 881 | LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 34. 882 | LaTeX Font Info: ... okay on input line 34. 883 | LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 34. 884 | LaTeX Font Info: ... okay on input line 34. 885 | LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 34. 886 | LaTeX Font Info: ... okay on input line 34. 887 | LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 34. 888 | LaTeX Font Info: ... okay on input line 34. 889 | LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 34. 890 | LaTeX Font Info: ... okay on input line 34. 891 | LaTeX Font Info: Checking defaults for LGR/cmr/m/n on input line 34. 892 | LaTeX Font Info: Trying to load font information for LGR+cmr on input line 3 893 | 4. 894 | 895 | (/usr/local/texlive/2021/texmf-dist/tex/latex/cbfonts-fd/lgrcmr.fd 896 | File: lgrcmr.fd 2017/07/29 v1.2 Greek European Computer Regular 897 | ) 898 | LaTeX Font Info: ... okay on input line 34. 899 | 900 | *geometry* driver: auto-detecting 901 | *geometry* detected driver: pdftex 902 | *geometry* verbose mode - [ preamble ] result: 903 | * driver: pdftex 904 | * paper: letterpaper 905 | * layout: 906 | * layoutoffset:(h,v)=(0.0pt,0.0pt) 907 | * modes: 908 | * h-part:(L,W,R)=(56.9055pt, 500.484pt, 56.9055pt) 909 | * v-part:(T,H,B)=(85.35826pt, 614.21436pt, 95.39737pt) 910 | * \paperwidth=614.295pt 911 | * \paperheight=794.96999pt 912 | * \textwidth=500.484pt 913 | * \textheight=614.21436pt 914 | * \oddsidemargin=-15.36449pt 915 | * \evensidemargin=-15.36449pt 916 | * \topmargin=-23.91173pt 917 | * \headheight=12.0pt 918 | * \headsep=25.0pt 919 | * \topskip=10.0pt 920 | * \footskip=30.0pt 921 | * \marginparwidth=65.0pt 922 | * \marginparsep=11.0pt 923 | * \columnsep=20.0pt 924 | * \skip\footins=9.0pt plus 4.0pt minus 2.0pt 925 | * \hoffset=0.0pt 926 | * \voffset=0.0pt 927 | * \mag=1000 928 | * \@twocolumnfalse 929 | * \@twosidefalse 930 | * \@mparswitchfalse 931 | * \@reversemarginfalse 932 | * (1in=72.27pt=25.4mm, 1cm=28.453pt) 933 | 934 | (/usr/local/texlive/2021/texmf-dist/tex/context/base/mkii/supp-pdf.mkii 935 | [Loading MPS to PDF converter (version 2006.09.02).] 936 | \scratchcounter=\count304 937 | \scratchdimen=\dimen193 938 | \scratchbox=\box98 939 | \nofMPsegments=\count305 940 | \nofMParguments=\count306 941 | \everyMPshowfont=\toks28 942 | \MPscratchCnt=\count307 943 | \MPscratchDim=\dimen194 944 | \MPnumerator=\count308 945 | \makeMPintoPDFobject=\count309 946 | \everyMPtoPDFconversion=\toks29 947 | ) (/usr/local/texlive/2021/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty 948 | Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf 949 | Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 950 | 85. 951 | 952 | (/usr/local/texlive/2021/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg 953 | File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv 954 | e 955 | )) 956 | Package caption Info: Begin \AtBeginDocument code. 957 | Package caption Info: hyperref package is loaded. 958 | Package caption Info: wrapfig package is loaded. 959 | Package caption Info: End \AtBeginDocument code. 960 | Package hyperref Info: Link coloring OFF on input line 34. 961 | 962 | (/usr/local/texlive/2021/texmf-dist/tex/latex/hyperref/nameref.sty 963 | Package: nameref 2021-04-02 v2.47 Cross-referencing by name of section 964 | 965 | (/usr/local/texlive/2021/texmf-dist/tex/latex/refcount/refcount.sty 966 | Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO) 967 | ) 968 | (/usr/local/texlive/2021/texmf-dist/tex/generic/gettitlestring/gettitlestring.s 969 | ty 970 | Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO) 971 | ) 972 | \c@section@level=\count310 973 | ) 974 | LaTeX Info: Redefining \ref on input line 34. 975 | LaTeX Info: Redefining \pageref on input line 34. 976 | LaTeX Info: Redefining \nameref on input line 34. 977 | (./filecoin-electricity-methodology-paper.out) 978 | (./filecoin-electricity-methodology-paper.out) 979 | \@outlinefile=\write3 980 | \openout3 = `filecoin-electricity-methodology-paper.out'. 981 | 982 | \symgns@font=\mathgroup6 983 | LaTeX Font Info: Overwriting symbol font `gns@font' in version `bold' 984 | (Font) TS1/cmr/m/n --> TS1/cmr/b/n on input line 34. 985 | Package gensymb Info: Math companion symbols declared on input line 34. 986 | LaTeX Info: Redefining \degree on input line 34. 987 | LaTeX Info: Redefining \celsius on input line 34. 988 | Package gensymb Info: Using text companion symbols for \degree, \celsius and \p 989 | erthousand on input line 34. 990 | LaTeX Info: Redefining \ohm on input line 34. 991 | Package gensymb Info: Using \textohm for \ohm on input line 34. 992 | Package gensymb Info: Using \textmu for \micro on input line 34. 993 | 994 | Package chemgreek Info: Activating mapping `textgreek' on line 34. 995 | 996 | [1 997 | 998 | {/usr/local/texlive/2021/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] 999 | LaTeX Font Info: Trying to load font information for U+msa on input line 73. 1000 | 1001 | 1002 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsfonts/umsa.fd 1003 | File: umsa.fd 2013/01/14 v3.01 AMS symbols A 1004 | ) 1005 | LaTeX Font Info: Trying to load font information for U+msb on input line 73. 1006 | 1007 | 1008 | (/usr/local/texlive/2021/texmf-dist/tex/latex/amsfonts/umsb.fd 1009 | File: umsb.fd 2013/01/14 v3.01 AMS symbols B 1010 | ) [2] 1011 | 1012 | File: images//20211023_SealingValues.png Graphic file (type png) 1013 | 1014 | Package pdftex.def Info: images//20211023_SealingValues.png used on input line 1015 | 119. 1016 | (pdftex.def) Requested size: 400.38872pt x 209.65405pt. 1017 | 1018 | 1019 | Package caption Warning: The option `hypcap=true' will be ignored for this 1020 | (caption) particular \caption on input line 121. 1021 | See the caption package documentation for explanation. 1022 | 1023 | 1024 | Underfull \hbox (badness 10000) in paragraph at lines 130--130 1025 | []\OT1/cmr/bx/n/9 A 1026 | [] 1027 | 1028 | 1029 | Underfull \hbox (badness 10000) in paragraph at lines 158--159 1030 | []\OT1/cmr/m/n/9 Unrealistically 1031 | [] 1032 | 1033 | 1034 | Underfull \hbox (badness 10000) in paragraph at lines 162--163 1035 | []\OT1/cmr/m/n/9 Unrealistically 1036 | [] 1037 | 1038 | 1039 | Package caption Warning: The option `hypcap=true' will be ignored for this 1040 | (caption) particular \caption on input line 167. 1041 | See the caption package documentation for explanation. 1042 | 1043 | 1044 | Overfull \vbox (7.69762pt too high) has occurred while \output is active [] 1045 | 1046 | 1047 | Overfull \vbox (0.80725pt too high) has occurred while \output is active [] 1048 | 1049 | 1050 | [3 <./images//20211023_SealingValues.png>] 1051 | 1053 | File: images//20211023_StorageValues_withRefDrives.png Graphic file (type png) 1054 | 1055 | Package pdftex.def Info: images//20211023_StorageValues_withRefDrives.png used 1056 | on input line 177. 1057 | (pdftex.def) Requested size: 400.38872pt x 247.60693pt. 1058 | 1059 | 1060 | Package caption Warning: The option `hypcap=true' will be ignored for this 1061 | (caption) particular \caption on input line 179. 1062 | See the caption package documentation for explanation. 1063 | 1064 | 1065 | Underfull \hbox (badness 10000) in paragraph at lines 226--227 1066 | []\OT1/cmr/m/n/9 Not shown in 1067 | [] 1068 | 1069 | 1070 | Package caption Warning: The option `hypcap=true' will be ignored for this 1071 | (caption) particular \caption on input line 229. 1072 | See the caption package documentation for explanation. 1073 | 1074 | 1075 | Overfull \vbox (4.95027pt too high) has occurred while \output is active [] 1076 | 1077 | 1078 | Overfull \vbox (4.95027pt too high) has occurred while \output is active [] 1079 | 1080 | 1081 | [4 <./images//20211023_StorageValues_withRefDrives.png>] 1082 | Underfull \hbox (badness 10000) in paragraph at lines 255--255 1083 | |[]\OT1/cmr/bx/n/14.4 Power Us-age Ef-fec-tive-ness 1084 | [] 1085 | 1086 | 1087 | Package caption Warning: The option `hypcap=true' will be ignored for this 1088 | (caption) particular \caption on input line 284. 1089 | See the caption package documentation for explanation. 1090 | 1091 | [5] (./filecoin-electricity-methodology-paper.aux) 1092 | Package rerunfilecheck Info: File `filecoin-electricity-methodology-paper.out' 1093 | has not changed. 1094 | (rerunfilecheck) Checksum: A0B17ADADB50DDAB583D3182D77DF626;1101. 1095 | ) 1096 | Here is how much of TeX's memory you used: 1097 | 14259 strings out of 478994 1098 | 222902 string characters out of 5858183 1099 | 766138 words of memory out of 5000000 1100 | 31500 multiletter control sequences out of 15000+600000 1101 | 411142 words of font info for 56 fonts, out of 8000000 for 9000 1102 | 1141 hyphenation exceptions out of 8191 1103 | 82i,10n,88p,1754b,644s stack positions out of 5000i,500n,10000p,200000b,80000s 1104 | 1106 | 1118 | Output written on filecoin-electricity-methodology-paper.pdf (5 pages, 345012 b 1119 | ytes). 1120 | PDF statistics: 1121 | 135 PDF objects out of 1000 (max. 8388607) 1122 | 104 compressed objects within 2 object streams 1123 | 20 named destinations out of 1000 (max. 500000) 1124 | 51 words of extra memory for PDF output out of 10000 (max. 10000000) 1125 | 1126 | -------------------------------------------------------------------------------- /methodology/filecoin-electricity-methodology-paper.out: -------------------------------------------------------------------------------- 1 | \BOOKMARK [1][-]{section.1}{\376\377\000M\000o\000d\000e\000l\000\040\000D\000e\000s\000i\000g\000n\000\040\000\050\000v\0001\000.\0000\000.\0001\000\051}{}% 1 2 | \BOOKMARK [1][-]{section.2}{\376\377\000A\000s\000p\000e\000c\000t\000s\000\040\000n\000o\000t\000\040\000c\000o\000n\000s\000i\000d\000e\000r\000e\000d\000\040\000b\000y\000\040\000t\000h\000i\000s\000\040\000m\000o\000d\000e\000l\000,\000\040\000a\000n\000d\000\040\000r\000a\000t\000i\000o\000n\000a\000l\000e\000\040\000\050\000v\0001\000.\0000\000.\0001\000\051}{}% 2 3 | \BOOKMARK [1][-]{section.3}{\376\377\000S\000e\000a\000l\000i\000n\000g\000\040\000E\000n\000e\000r\000g\000y\000\040\000\050\000v\0001\000.\0000\000.\0001\000\051}{}% 3 4 | \BOOKMARK [1][-]{section.4}{\376\377\000S\000t\000o\000r\000a\000g\000e\000\040\000E\000n\000e\000r\000g\000y\000\040\000\050\000v\0001\000.\0000\000.\0001\000\051}{}% 4 5 | \BOOKMARK [1][-]{section.5}{\376\377\000P\000o\000w\000e\000r\000\040\000U\000s\000a\000g\000e\000\040\000E\000f\000f\000e\000c\000t\000i\000v\000e\000n\000e\000s\000s\000\040\000\050\000v\0001\000.\0000\000.\0001\000\051}{}% 5 6 | -------------------------------------------------------------------------------- /methodology/filecoin-electricity-methodology-paper.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redransil/filecoin-energy-estimation/d505fad3eb42769ec71cfdd560de93fbaef1a246/methodology/filecoin-electricity-methodology-paper.pdf -------------------------------------------------------------------------------- /methodology/filecoin-electricity-methodology-paper.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redransil/filecoin-energy-estimation/d505fad3eb42769ec71cfdd560de93fbaef1a246/methodology/filecoin-electricity-methodology-paper.synctex.gz -------------------------------------------------------------------------------- /methodology/filecoin-electricity-methodology-paper.tex: -------------------------------------------------------------------------------- 1 | \documentclass[9pt, oneside]{article} % use "amsart" instead of "article" for AMSLaTeX format 2 | \usepackage[left=2cm, right=2cm, top=3cm]{geometry} 3 | \usepackage{cite} 4 | \usepackage[english]{babel} 5 | \usepackage{geometry} % See geometry.pdf to learn the layout options. There are lots. 6 | \geometry{letterpaper} % ... or a4paper or a5paper or ... 7 | \usepackage{graphicx,kantlipsum,setspace} 8 | \usepackage{caption} % Use pdf, png, jpg, or eps§ with pdflatex; use eps in DVI mode 9 | \captionsetup[table]{font={stretch=1.15}} %% change 1.2 as you like 10 | \captionsetup[figure]{font={stretch=1.15}} 11 | \graphicspath{ {images/} } % TeX will automatically convert eps --> pdf in pdflatex 12 | \PassOptionsToPackage{hyphens}{url}\usepackage{hyperref} 13 | \renewcommand{\UrlFont}{\small\tt} 14 | \usepackage[euler]{textgreek} 15 | \usepackage{verbatim} 16 | \usepackage{titlesec} 17 | \titlelabel{\thetitle.\quad} 18 | \usepackage{amssymb} 19 | \linespread{1.15} 20 | \usepackage{gensymb} 21 | \usepackage{textcomp} 22 | \usepackage{setspace} 23 | \usepackage[symbol]{footmisc} 24 | \usepackage[version=4]{mhchem} 25 | \usepackage{multicol} 26 | \setlength\columnsep{20pt} 27 | \usepackage{wrapfig} 28 | \setlength{\parindent}{1cm} % Default is 15pt. 29 | 30 | 31 | % 2 is subsection, 3 is subsubsection 32 | \setcounter{tocdepth}{3} 33 | 34 | \begin{document} 35 | \newpage 36 | 37 | 38 | \begin{center} 39 | \Large{\textbf{Estimating Filecoin Electricity Consumption from On-Chain Proofs}} 40 | \vspace{1 cm} 41 | 42 | \normalsize{} 43 | Alan Ransil 44 | 45 | Protocol Labs 46 | 47 | alan@protocol.ai 48 | 49 | \vspace{1 cm} 50 | Model Version 1.0.1 51 | 52 | Updated \today 53 | 54 | \vspace{1 cm} 55 | \Large{\textbf{Abstract}} 56 | 57 | \end{center} 58 | 59 | \noindent Emissions due to electricity consumption are a major component of the environmental impact of Web3 technologies. These emissions are challenging to estimate due to the distributed and permissionless nature of cryptocurrency networks. In this work we examine the electricity use of Filecoin, the world’s largest decentralized data storage network, leveraging architectural features that aid analysis of electricity use. Firstly, storage providers (SPs) contributing to the network do so by providing non-fungible data storage services. The blockchain thus contains a precise record of computing resources contributed by each SP at every point in time, facilitating both granular and network-wide electricity use estimates. Secondly, the computing resources contributed to the network are extremely similar to those of typical data centers, allowing us to bring literature findings on data center energy use to bear. We collect data from sources including questionnaires, interviews with SPs, benchmarks, and hardware specifications to estimate and bound Filecoin electricity consumption. The model results are comparable to estimates for average data centers, with Filecoin consuming 0.62\% of global data center electricity use estimated in 2020 while storing 0.77\% of global data storage capacity estimated in that same year. The resulting model is presented as a public dashboard allowing evaluation of energy consumption for both individual SPs and the network as a whole based on storage proofs from the Filecoin blockchain. This work forms the basis for a granular and publicly verifiable understanding of interactions between the Filecoin network and local power systems. 60 | 61 | 62 | 63 | \begin{multicols}{2} 64 | \setlength{\parskip}{0.1\baselineskip} %Controls vertical space between paragraphs, can re-set line by line 65 | \section{Model Design (v1.0.1)} 66 | 67 | Filecoin, the world’s largest distributed storage network, allows Storage Providers (SPs) to contribute storage capacity in exchange for a higher chance of winning the block reward. In order to ensure that replicated data is being stored over time, SPs must submit Proofs of Storage (also called Proofs of Spacetime, or PoSts) to the Filecon blockchain every 24 hour period. These proofs provide a cryptographic guarantee that data is continuing to be stored, and rely on a one-time setup process known as Sealing (also called Proof of Replication, or PoRep). During Sealing, Succinct Non-interactive Arguments of Knowledge (SNARKs) are generated for a data sector and recorded on the blockchain. This then enables subsequent PoSt proofs to be validated. 68 | 69 | For our purposes, namely making a first attempt to estimate the energy use of Filecoin based on on-chain data, there are three relevant aspects of SP activity. Firstly, the process of Sealing a sector is energy intensive. According to benchmarks, this process generally takes about 5-6 hours of compute time in order to seal a 32 GiB sector. Secondly, the energy used to store data over time is relevant to overall energy use estimates. Thirdly, the overhead energy used to perform functions such as cooling and power conversion substantially affects estimates. 70 | 71 | A sector needs to be sealed only once but its data must be stored over time, implying an ongoing energy use. Dimensional analysis thus implies the following equation: 72 | 73 | \[ 74 | P = ( A * SR + B * Cap) * PUE 75 | \tag{Equation 1} 76 | \label{estimateEq} 77 | \] 78 | 79 | For an entity (either the network as a whole or an individual SP): 80 | 81 | \textbf{P (Electrical Power, Watts)} is the electricity use of the entity. 82 | 83 | \textbf{A (Sealing Energy Constant, Wh/byte)} is the energy required to seal a sector. 84 | 85 | \textbf{SR (Sealing Rate, bytes/hour)} is the rate at which new data is being sealed by that entity. 86 | 87 | \textbf{B (Storage Energy Constant, W/byte)} is the electrical power required to store data. 88 | 89 | \textbf{Cap (Raw Capacity, bytes)} is the amount of data stored by the entity. 90 | 91 | \textbf{PUE (Power Usage Effectiveness, dimensionless)} is the Power Usage Effectiveness, which is the ratio of total electrical power consumed to that consumed by IT processes. 92 | 93 | As the Sealing Rate and Raw Capacity can be determined using on-chain proofs, the remaining goal is to determine the upper bound, lower bound and estimated values of A, B and PUE. 94 | 95 | \section{Aspects not considered by this model, and rationale (v1.0.1)} 96 | 97 | In this model, we do not account for power used to generate PoSt proofs. This is because while generating PoRep requires producing 11 SNARK proofs corresponding to one sector, PoSt requires the equivalent of generating 1 SNARK proof corresponding to over 2,000 sectors. The ongoing requirement of PoSt proof generation is thus orders of magnitude smaller than the uncertainty in the power use estimates provided below. 98 | 99 | We also do not account for the energy used to produce and validate blocks. This is because the Proof of Storage consensus mechanism used in Filecoin elects a leader and allocates the block reward using a verifiable randomness beacon. This process may be considered analogous to the energy-efficient proof of stake consensus mechanism, in which the probability of a block reward is proportional to sealed storage contributed to the network rather than staked tokens. Again, the energy used by this process is small compared to the components of energy use described above. 100 | 101 | \section{Sealing Energy (v1.0.1)} 102 | 103 | Data used to estimate the sealing energy came from three sources: (1) a survey sent to SPs asking about their sealing energy use, (2) detailed conversations with SPs in order to better understand their rig design and sealing energy use methodology, and (3) benchmark results combined with thermal design power ratings used to contextualize the data received from these sources. Datapoints from all three sources are shown in Figure 1 and Table 1. 104 | 105 | Survey data was derived from the following questions: 106 | 107 | \begin{enumerate} 108 | \item Over the past 28 days, how much storage capacity have you added to the Filecoin network? 109 | \item What is the peak power of your sealing hardware based on manufacturer’s specifications (including any GPU, CPU or other processor but not including power supply, hard drives, cooling, etc)? 110 | \item What do you estimate is the average power use of your sealing hardware (ie. kWh/day) or equivalently, what is the average time per day it is running near full power? (ie. 20hours/day) 111 | \end{enumerate} 112 | 113 | Results in Wh/byte were calculated based on responses to these questions. 114 | 115 | The data reported from surveys spans several orders of magnitude. While some of the variation is due to differences in actual sealing efficiency due to rig design, the majority of this spread is attributed to methodological differences in survey responses. 116 | 117 | \end{multicols} 118 | \begin{center} 119 | \includegraphics[width=.8\columnwidth]{20211023_SealingValues} 120 | \begin{flushleft} 121 | \captionof{figure}[Sealing Data]{Graph of datapoints used to estimate parameter A in \ref{estimateEq}, corresponding to the energy required to seal one byte of data. Values marked with an asterisk correspond to TDP calculation shown in tables 2 and 3.} 122 | \label{sealingenergyfigure} 123 | \end{flushleft} 124 | \end{center} 125 | \begin{multicols}{2} 126 | 127 | \small 128 | \noindent \begin{tabular}{|| p{2cm} | p{2.5cm} | p{2.5cm} ||} 129 | \hline 130 | \textbf{A (Wh/byte)} & \textbf{Source} & \textbf{Notes}\\ 131 | \hline 132 | $2.8 \cdot 10^{-12}$ & Survey & \\ 133 | \hline 134 | $2.49\cdot 10^{-11}$ & Survey & \\ 135 | \hline 136 | $1.27\cdot 10^{-9}$ & Survey & \\ 137 | \hline 138 | $2.33\cdot 10^{-9}$ & Survey & \\ 139 | \hline 140 | $6.01\cdot 10^{-9}$ & Interview & Lower Bound \\ 141 | \hline 142 | $1.03\cdot 10^{-8}$ & Survey & \\ 143 | \hline 144 | $1.43\cdot 10^{-8}$ & Survey & \\ 145 | \hline 146 | $2.44\cdot 10^{-8}$ & Survey & \\ 147 | \hline 148 | $3.42\cdot 10^{-8}$ & Interview & Estimate \\ 149 | \hline 150 | $4.07\cdot 10^{-8}$ & Survey & \\ 151 | \hline 152 | $4.80\cdot 10^{-8}$ & Survey & \\ 153 | \hline 154 | $4.85\cdot 10^{-8}$ & Survey & \\ 155 | \hline 156 | $5.60\cdot 10^{-8}$ & Survey & Upper Bound \\ 157 | \hline 158 | $1.08\cdot 10^{-7}$ & Benchmark time @ TDP (Table 2) & Unrealistically high \\ 159 | \hline 160 | $1.15\cdot 10^{-7}$ & Survey & \\ 161 | \hline 162 | $1.40\cdot 10^{-7}$ & Benchmark time @ TDP (Table 2) & Unrealistically high \\ 163 | \hline 164 | $2.02\cdot 10^{-7}$ & Survey & \\ 165 | \hline 166 | \end{tabular} 167 | \captionof{table}[Sealing Energy Data]{Values used to estimate parameter A in \ref{estimateEq}, corresponding to the energy required to seal 1 byte of data.} 168 | \label{sealingEnergyTable} 169 | \normalsize{} 170 | 171 | In order to derive a narrower and more useful estimate, we examined both the upper and lower bounds of the spectrum. Firstly, the thermal design power was calculated by examining benchmark results for reference sealing machine architectures. The results are shown in Table 3, and marked with asterisks in Figure 1. As during alternate stages of sealing only the CPU or GPU is active, this is expected to be a significant overestimate of sealing energy. Survey values within this range, highlighted in red in Figure 1, are assumed to have been provided according to a Thermal Design Power (TDP) -equivalent methodology. An upper bound value of $5.60 \cdot 10^{-8}$ Wh/byte was chosen. This value is about half of the TDP, which we expect corresponds to the performance of a smaller, less optimized SP system. 172 | 173 | The lower bound was determined through interviews with a larger, highly optimized SP. By parallelizing the sealing process across CPU threads, this SP is able to achieve a highly efficient process. A value of $6.01 \cdot 10^{-9}$ Wh/byte obtained from this SP was used as a lower bound. It is possible that some SPs are able to achieve more efficient processes. However, we are skeptical that the low range of reported survey values are possible and suspect that they are due to methodological error. Furthermore, we would prefer to overestimate energy use rather than underestimate. 174 | 175 | \end{multicols} 176 | \begin{center} 177 | \includegraphics[width=.8\columnwidth]{20211023_StorageValues_withRefDrives} 178 | \begin{flushleft} 179 | \captionof{figure}[Storage Data]{Graph of data used to determine values for parameter B in \ref{estimateEq}, corresponding to the average electrical power needed to store one byte of data in the network. Bounds and estimate used are marked. Values marked with an asterisk are derived from spec sheets.} 180 | \label{storageEnergyFigure} 181 | \end{flushleft} 182 | \end{center} 183 | \begin{multicols}{2} 184 | 185 | \small 186 | \noindent \begin{tabular}{|| p{2cm} | p{2.5cm} | p{2.5cm} ||} 187 | \hline 188 | \textbf{B (W/byte)} & \textbf{Source} & \textbf{Notes}\\ 189 | \hline 190 | $2.8 \cdot 10^{-12}$ & Survey & \\ 191 | \hline 192 | $5.21\cdot 10^{-13}$ & Survey & \\ 193 | \hline 194 | $8.57\cdot 10^{-13}$ & Survey & \\ 195 | \hline 196 | $9.02\cdot 10^{-13}$ & Interview & Lower Bound \\ 197 | \hline 198 | $1.03\cdot 10^{-12}$ & Survey & \\ 199 | \hline 200 | $1.42\cdot 10^{-12}$ & Survey & \\ 201 | \hline 202 | $1.90\cdot 10^{-12}$ & Survey & \\ 203 | \hline 204 | $3.00\cdot 10^{-12}$ & Interview & Estimate \\ 205 | \hline 206 | $3.03\cdot 10^{-12}$ & Survey & \\ 207 | \hline 208 | $4.23\cdot 10^{-12}$ & Survey & \\ 209 | \hline 210 | $4.44\cdot 10^{-12}$ & Survey & \\ 211 | \hline 212 | $6.67\cdot 10^{-12}$ & Survey & \\ 213 | \hline 214 | $6.67\cdot 10^{-12}$ & Survey & \\ 215 | \hline 216 | $6.80\cdot 10^{-12}$ & WD 2019 (1) & \\ 217 | \hline 218 | $7.00\cdot 10^{-12}$ & Seagate 2016 & \\ 219 | \hline 220 | $8.10\cdot 10^{-12}$ & WD 2019 (2) & \\ 221 | \hline 222 | $1.21\cdot 10^{-11}$ & Survey & \\ 223 | \hline 224 | $2.00\cdot 10^{-11}$ & Survey & \\ 225 | \hline 226 | $3.00\cdot 10^{-11}$ & Survey & Not shown in figure (extremely high) \\ 227 | \hline 228 | \end{tabular} 229 | \captionof{table}[Sealing Energy Data]{Values used to estimate parameter B in \ref{estimateEq}, corresponding to the average electrical power needed to store one byte of data.} 230 | \label{storageEnergyTable} 231 | \normalsize{} 232 | 233 | \indent{} 234 | 235 | The estimated value was obtained from interviews with a mid-sized SP. This datapoint was chosen because this operation is expected to be representative of the median SP, and fell near the center of the distribution from survey data. It is likely that this is an overestimate of the energy required for sealing across the network as a whole, because most data is stored with larger and more optimized providers. 236 | 237 | \section{Storage Energy (v1.0.1)} 238 | 239 | Storage energy was estimated using (1) a survey sent to SPs, (2) detailed conversations with individual SPs in order to better understand their storage hardware and sources of variation, and (3) values from several hardware specification sheets. 240 | 241 | Survey results were obtained by asking the following question: 242 | 243 | \begin{enumerate} 244 | \item What is the power consumption and capacity of a storage rack in your system? (example: 30kW per 4.5 PB rack) 245 | \end{enumerate} 246 | 247 | The resulting data was converted into a Wh/byte estimate. 248 | 249 | Storage energy is susceptible to several large sources of variation. Firstly, many sectors may be stored on one hard drive, but the entire drive must be obtained and accessed when that sector is written or read which calls into question the assumption that sealing energy is directly proportional to the amount of data stored. Future work should develop alternative ways of modeling storage energy. Secondly, the energy efficiency of hard drives has improved rapidly over the past several years (continuing a decades-long trend). Thus, SPs with older hard drives may use dramatically more energy to store the same data. Third, hard drive configuration has a substantial impact on energy use. Large SPs with the ability to build large RAID arrays will frequently be able to keep drives idle, dramatically improving energy efficiency compared to smaller players who use fewer hard drives. 250 | 251 | Survey data obtained shows a range of several orders of magnitude. On the high end, survey datapoints showing values significantly greater than the operating power use of 1 TB consumer hard drives (Table 5) were assumed to be unrealistically high and likely the result of methodological error. An operating power from a 1 TB 2019 hard drive was chosen as the upper bound. It is expected that this substantially overestimates energy use for the network as a whole, as most operators weighted by storage capacity will be larger data center operations making use of highly optimized disk arrays and utilizing newer, more energy efficient hardware. 252 | 253 | The lower bound and estimate were taken to be values of storage energy derived from the same SPs as chosen in the sealing energy case. These SPs are large (lower bound) and mid-sized (estimate), with a high and moderate degree of optimization respectively.  254 | 255 | \section{Power Usage Effectiveness (v1.0.1)} 256 | 257 | Power usage effectiveness (PUE) is a measure of the energy efficiency of a data center, and is given by: 258 | 259 | \[ 260 | PUE = \frac{Power_{Total}}{Power_{IT}} 261 | \tag{Equation 2} 262 | \label{pueEq} 263 | \] 264 | 265 | Lower PUE values correspond to less overhead energy use such as cooling and power conversion losses, compared to the electrical load performing useful functions. Finding average PUE values of datacenters in a given region is a subject of debate. For our model, we used values from the literature as shown in Table 6. The lower bound corresponds to the estimated PUE of highly efficient hyperscale data centers, the estimate corresponds to an industry average, while the upper bound was taken to be that of ‘traditional’ data centers which are smaller and less optimized operations. 266 | 267 | 268 | 269 | \end{multicols} 270 | \vspace{1 cm} 271 | \begin{center} 272 | \noindent \begin{tabular}{|| | p{3cm} | p{3cm} | p{4cm} | p{5cm} ||} 273 | \hline 274 | & \textbf{PUE Value} & \textbf{Source} & \textbf{Notes}\\ 275 | \hline 276 | Lower Bound & 1.18 & Masanet et al., 2020 & Hyperscale Data Centers\\ 277 | \hline 278 | Estimate & 1.57 & 2021 Uptime Institute & Industry Average\\ 279 | \hline 280 | Upper Bound & 1.93 & Masanet et al., 2020 & Traditional Data Centers\\ 281 | \hline 282 | \end{tabular} 283 | \begin{flushleft} 284 | \captionof{figure}[PUE Data]{PUE values and sources for Filecoin network model.} 285 | \label{pueTable} 286 | \end{flushleft} 287 | \end{center} 288 | \begin{multicols}{2} 289 | 290 | 291 | \end{multicols} 292 | \end{document} 293 | 294 | 295 | -------------------------------------------------------------------------------- /methodology/images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redransil/filecoin-energy-estimation/d505fad3eb42769ec71cfdd560de93fbaef1a246/methodology/images/.DS_Store -------------------------------------------------------------------------------- /methodology/images/20211023_SealingValues.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redransil/filecoin-energy-estimation/d505fad3eb42769ec71cfdd560de93fbaef1a246/methodology/images/20211023_SealingValues.png -------------------------------------------------------------------------------- /methodology/images/20211023_StorageValues_withRefDrives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redransil/filecoin-energy-estimation/d505fad3eb42769ec71cfdd560de93fbaef1a246/methodology/images/20211023_StorageValues_withRefDrives.png -------------------------------------------------------------------------------- /model-parameters/v-1-0-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sealing":{ 3 | "min":6.0085E-9, 4 | "estimate":3.416E-8, 5 | "max":5.60E-8, 6 | "units":"Wh/byte" 7 | }, 8 | "storage":{ 9 | "min":9.0227E-13, 10 | "estimate":3E-12, 11 | "max":6.67E-12, 12 | "units":"W/byte" 13 | }, 14 | "pue":{ 15 | "min":1.18, 16 | "estimate":1.57, 17 | "max":1.93, 18 | "units":"dimensionless" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /model-parameters/v-1-0-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "sealing":{ 3 | "min":6.0085E-9, 4 | "estimate":3.416E-8, 5 | "max":5.60E-8, 6 | "units":"Wh/byte" 7 | }, 8 | "storage":{ 9 | "min":9.0227E-13, 10 | "estimate":3E-12, 11 | "max":8.1E-12, 12 | "units":"W/byte" 13 | }, 14 | "pue":{ 15 | "min":1.18, 16 | "estimate":1.57, 17 | "max":1.93, 18 | "units":"dimensionless" 19 | }, 20 | "changes":"increased storage.max about 20%" 21 | } 22 | -------------------------------------------------------------------------------- /model-parameters/v-1-0-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "sealing":{ 3 | "min":7.86E-9, 4 | "estimate":2.17E-8, 5 | "max":1.15E-7, 6 | "units":"Wh/byte" 7 | }, 8 | "storage":{ 9 | "min":5.21E-13, 10 | "estimate":4.16E-12, 11 | "max":1.00E-11, 12 | "units":"W/byte" 13 | }, 14 | "pue":{ 15 | "min":1.2, 16 | "estimate":1.426, 17 | "max":1.79, 18 | "units":"dimensionless" 19 | }, 20 | "changes":"Values from Pankovska, E., Sai, A. R., Vranken, H., & Ransil, A. (2024, April). Electricity Consumption of Ethereum and Filecoin: Advances in Models and Estimates. In Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing (pp. 269-277). Available: https://doi.org/10.1145/3605098.3635952" 21 | } 22 | --------------------------------------------------------------------------------