-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathzeth-protocol-specification.tex
More file actions
95 lines (72 loc) · 2.59 KB
/
zeth-protocol-specification.tex
File metadata and controls
95 lines (72 loc) · 2.59 KB
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
\documentclass[11pt,a4paper,oneside]{report}
% Import the configuration files
\input{./config/packages.tex}
\input{./config/macros.tex}
\graphicspath{{./images/}}
% Make a nomenclature to introduce notations
% See: https://www.overleaf.com/learn/latex/Nomenclatures
\usepackage{nomencl}
\makenomenclature%
\renewcommand{\nomname}{Notation}
\usepackage{etoolbox}
\renewcommand\nomgroup[1]{%
\item[\bfseries
\ifstrequal{#1}{A}{Basic mathematical notation}{%
\ifstrequal{#1}{B}{Algorithmic notation}{%
\ifstrequal{#1}{C}{Cryptography notation}{%
\ifstrequal{#1}{D}{Zeth notation}{%
\ifstrequal{#1}{E}{Ethereum notation}{%
\ifstrequal{#1}{F}{Constants}{%
\ifstrequal{#1}{G}{Other Symbols}{}}}}}}}%
]}
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}#1}}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{secproof}[theorem]{Security Proof}
% Command for unnumbered corollary
\newtheorem*{cor}{Corollary}
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]
% \theoremstyle{remark}
\newtheorem{remark}[definition]{Remark}
\newtheorem{example}[definition]{Example}
\newtheorem{claim}{Claim}
\mathchardef\mhyphen="2D
\providecommand{\keywords}[1]{\textbf{\textit{Keywords---}} #1}
\newcommand{\secfix}[1]{\textcolor{red}{#1}} % Security fix
\newcommand{\veryimportant}[1]{\textcolor{red}{#1}} % Security fix
\newcommand{\optimiz}[1]{\textcolor{blue}{#1}} % optimization
% Render the glossary
\input{glossary.tex}
\input{acronyms.tex}
\makeglossaries%
\title{Zeth Protocol Specification}
\author{Clearmatics Cryptography R\&D}
\allowdisplaybreaks
\begin{document}
\maketitle
\begin{abstract}
This document specifies the Zeth protocol with various security fixes and performance improvements from the initial design~\cite{zethpaper}.
\keywords{Ethereum, Zerocash, Zcash, financial-privacy, zero-knowledge proofs, Zeth, privacy-preserving state transitions}
\end{abstract}
\tableofcontents
\mbox{}
\input{notations}
\printnomenclature%
% Import the various chapters composing the document
\input{chap00-changelog.tex}
\newpage
\input{chapters/chap01-base} % Preliminaries
\input{chapters/chap02-base} % Zeth protocol (abstract protocol)
\input{chapters/chap03-base} % Primitive instantiations (concrete protocol)
\input{chapters/chap04-base} % Implementation details and further considerations
\input{acknowledgements} % Acknowledgements
\appendix
\input{appendices/appendix-base}
\glsaddall%
\printglossaries%
\bibliographystyle{alpha}
\bibliography{references}
\end{document}