From 9ed6ece058fbd2548e4ca073a82f30bbd3696fe1 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Tue, 16 Feb 2016 19:49:37 +0000 Subject: [PATCH] Add conformance definitions and Caution section. Signed-off-by: Daira Hopwood --- protocol/protocol.tex | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/protocol/protocol.tex b/protocol/protocol.tex index 2e88af54..943a08f4 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -35,6 +35,7 @@ \newcommand{\term}[1]{\textsl{#1}\xspace} \newcommand{\termbf}[1]{\textbf{#1}\xspace} +\newcommand{\conformance}[1]{\textmd{#1}\xspace} \newcommand{\Zcash}{\termbf{Zcash}} \newcommand{\Zerocash}{\termbf{Zerocash}} @@ -42,6 +43,12 @@ \newcommand{\ZEC}{\termbf{ZEC}} \newcommand{\zatoshi}{\term{zatoshi}} +\newcommand{\MUST}{\conformance{MUST}} +\newcommand{\MUSTNOT}{\conformance{MUST NOT}} +\newcommand{\SHOULD}{\conformance{SHOULD}} +\newcommand{\SHOULDNOT}{\conformance{SHOULD NOT}} +\newcommand{\MAY}{\conformance{MAY}} + \newcommand{\coin}{\term{coin}} \newcommand{\coins}{\term{coins}} \newcommand{\coinCommitment}{\term{coin commitment}} @@ -211,6 +218,23 @@ protected by zero-knowledge succinct non-interactive arguments of knowledge Changes from the original \Zerocash are highlighted in \changed{\changedcolor}. +\section{Caution} + +\Zcash security depends on consensus. Should your program diverge from +consensus, its security is weakened or destroyed. The cause of the divergence +doesn't matter: it could be a bug in your program, it could be an error in +this documentation which you implemented as described, or it could be you do +everything right but other software on the network behaves unexpectedly. The +specific cause will not matter to the users of your software whose wealth is +lost. + +Having said that, a specification of \emph{intended} behaviour is essential +for security analysis, understanding of the protocol, and maintenance of +Zcash Core and related software. If you find any mistake in this specification, +please contact \todo{address}. While the production \Zcash network has yet +to be launched, please feel free to do so in public even if you believe the +mistake may indicate a security weakness. + \section{Concepts} \subsection{Integers, Bit Sequences, and Endianness}