mirror of https://github.com/zcash/zips.git
Update address prefixes again. refs zcash/zcash#812
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
2ccd1ac58a
commit
af4b9a0f53
|
@ -333,18 +333,18 @@
|
||||||
\newcommand{\PaymentAddressSecondByte}{\hexint{9A}}
|
\newcommand{\PaymentAddressSecondByte}{\hexint{9A}}
|
||||||
\newcommand{\SpendingKeyLeadByte}{\hexint{AB}}
|
\newcommand{\SpendingKeyLeadByte}{\hexint{AB}}
|
||||||
\newcommand{\SpendingKeySecondByte}{\hexint{36}}
|
\newcommand{\SpendingKeySecondByte}{\hexint{36}}
|
||||||
\newcommand{\PtoSHAddressLeadByte}{\hexint{1B}}
|
\newcommand{\PtoSHAddressLeadByte}{\hexint{1C}}
|
||||||
\newcommand{\PtoSHAddressSecondByte}{\hexint{9C}}
|
\newcommand{\PtoSHAddressSecondByte}{\hexint{BD}}
|
||||||
\newcommand{\PtoPKHAddressLeadByte}{\hexint{1B}}
|
\newcommand{\PtoPKHAddressLeadByte}{\hexint{1C}}
|
||||||
\newcommand{\PtoPKHAddressSecondByte}{\hexint{97}}
|
\newcommand{\PtoPKHAddressSecondByte}{\hexint{B8}}
|
||||||
\newcommand{\PaymentAddressTestnetLeadByte}{\hexint{14}}
|
\newcommand{\PaymentAddressTestnetLeadByte}{\hexint{16}}
|
||||||
\newcommand{\PaymentAddressTestnetSecondByte}{\hexint{51}}
|
\newcommand{\PaymentAddressTestnetSecondByte}{\hexint{B6}}
|
||||||
\newcommand{\SpendingKeyTestnetLeadByte}{\hexint{B1}}
|
\newcommand{\SpendingKeyTestnetLeadByte}{\hexint{AC}}
|
||||||
\newcommand{\SpendingKeyTestnetSecondByte}{\hexint{EB}}
|
\newcommand{\SpendingKeyTestnetSecondByte}{\hexint{08}}
|
||||||
\newcommand{\PtoSHAddressTestnetLeadByte}{\hexint{1B}}
|
\newcommand{\PtoSHAddressTestnetLeadByte}{\hexint{1C}}
|
||||||
\newcommand{\PtoSHAddressTestnetSecondByte}{\hexint{9A}}
|
\newcommand{\PtoSHAddressTestnetSecondByte}{\hexint{BA}}
|
||||||
\newcommand{\PtoPKHAddressTestnetLeadByte}{\hexint{1C}}
|
\newcommand{\PtoPKHAddressTestnetLeadByte}{\hexint{1D}}
|
||||||
\newcommand{\PtoPKHAddressTestnetSecondByte}{\hexint{05}}
|
\newcommand{\PtoPKHAddressTestnetSecondByte}{\hexint{25}}
|
||||||
\newcommand{\NotePlaintextLeadByte}{\hexint{00}}
|
\newcommand{\NotePlaintextLeadByte}{\hexint{00}}
|
||||||
\newcommand{\AuthPublic}{\mathsf{a_{pk}}}
|
\newcommand{\AuthPublic}{\mathsf{a_{pk}}}
|
||||||
\newcommand{\AuthPrivate}{\mathsf{a_{sk}}}
|
\newcommand{\AuthPrivate}{\mathsf{a_{sk}}}
|
||||||
|
@ -2443,11 +2443,11 @@ The raw encoding of a P2PKH address consists of:
|
||||||
\begin{pnotes}
|
\begin{pnotes}
|
||||||
\item In \Bitcoin a single byte is used for the version field identifying
|
\item In \Bitcoin a single byte is used for the version field identifying
|
||||||
the address type. In \Zcash two bytes are used. For addresses on
|
the address type. In \Zcash two bytes are used. For addresses on
|
||||||
the production network, this fixes the first two characters of the
|
the production network, this and the encoded length cause the first
|
||||||
Base58Check encoding to be \ascii{r3} for P2SH addresses, or
|
two characters of the Base58Check encoding to be fixed as \ascii{t3}
|
||||||
\ascii{r1} for P2PKH addresses. (This does \emph{not} imply that a
|
for P2SH addresses, and as \ascii{t1} for P2PKH addresses. (This does
|
||||||
\transparent \Zcash address can be parsed in the same way as a
|
\emph{not} imply that a \transparent \Zcash address can be parsed
|
||||||
\Bitcoin address just by removing the \ascii{r}.)
|
identically to a \Bitcoin address just by removing the \ascii{t}.)
|
||||||
\item \Zcash does not yet support Hierarchical Deterministic Wallet
|
\item \Zcash does not yet support Hierarchical Deterministic Wallet
|
||||||
addresses \cite{BIP-32}.
|
addresses \cite{BIP-32}.
|
||||||
\end{pnotes}
|
\end{pnotes}
|
||||||
|
@ -2489,6 +2489,13 @@ The raw encoding of a \paymentAddress consists of:
|
||||||
normal encoding of a Curve25519 public key \cite{Bern2006}}.
|
normal encoding of a Curve25519 public key \cite{Bern2006}}.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\pnote{
|
||||||
|
For addresses on the production network, the lead bytes and encoded length
|
||||||
|
cause the first two characters of the Base58Check encoding to be fixed as
|
||||||
|
\ascii{zc}. For the test network, the first two characters are fixed as
|
||||||
|
\ascii{zt}.
|
||||||
|
}
|
||||||
|
|
||||||
\nsubsubsection{Spending Keys} \label{spendingkeyencoding}
|
\nsubsubsection{Spending Keys} \label{spendingkeyencoding}
|
||||||
|
|
||||||
A \spendingKey consists of $\AuthPrivate$, which is a sequence of \changed{252} bits.
|
A \spendingKey consists of $\AuthPrivate$, which is a sequence of \changed{252} bits.
|
||||||
|
@ -2519,15 +2526,21 @@ The raw encoding of a \spendingKey consists of, in order:
|
||||||
|
|
||||||
\changed{
|
\changed{
|
||||||
The zero padding occupies the most significant 4 bits of the third byte.
|
The zero padding occupies the most significant 4 bits of the third byte.
|
||||||
|
}
|
||||||
|
|
||||||
\pnote{
|
\begin{pnotes}
|
||||||
If an implementation represents $\AuthPrivate$
|
\changed{
|
||||||
internally as a sequence of 32 bytes with the 4 bits of zero padding
|
\item If an implementation represents $\AuthPrivate$ internally as a
|
||||||
intact, it will be in the correct form for use as an input to
|
sequence of 32 bytes with the 4 bits of zero padding intact,
|
||||||
$\PRFaddr{}$, $\PRFnf{}$, and $\PRFpk{}$ without need for bit-shifting.
|
it will be in the correct form for use as an input to $\PRFaddr{}$,
|
||||||
Future key representations may make use of these padding bits.
|
$\PRFnf{}$, and $\PRFpk{}$ without need for bit-shifting.
|
||||||
}
|
Future key representations may make use of these padding bits.
|
||||||
}
|
}
|
||||||
|
\item For addresses on the production network, the lead bytes and encoded
|
||||||
|
length cause the first two characters of the Base58Check encoding to
|
||||||
|
be fixed as \ascii{SK}. For the test network, the first two characters
|
||||||
|
are fixed as \ascii{ST}.
|
||||||
|
\end{pnotes}
|
||||||
|
|
||||||
|
|
||||||
\nsubsection{\ZeroKnowledgeProvingSystem} \label{proofs}
|
\nsubsection{\ZeroKnowledgeProvingSystem} \label{proofs}
|
||||||
|
@ -3090,30 +3103,30 @@ For mainnet, $\FounderAddressList_{\mathrm{1}..\NumFounderAddresses}$ is \todo{}
|
||||||
For testnet, $\FounderAddressList_{\mathrm{1}..\NumFounderAddresses}$ is:
|
For testnet, $\FounderAddressList_{\mathrm{1}..\NumFounderAddresses}$ is:
|
||||||
|
|
||||||
\begin{tabular}{@{\hskip 2.5em}l@{\;}l}
|
\begin{tabular}{@{\hskip 2.5em}l@{\;}l}
|
||||||
[& \ascii{2N2e2FRfP9D1dRN1oRWkH7pbFM69eGNAuQ4}, \ascii{2NBW8WsA2jUussoJbRv82UXH1BYopkjYqcd}, \\
|
[& \ascii{t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi}, \ascii{t2N9PH9Wk9xjqYg9iin1Ua3aekJqfAtE543}, \\
|
||||||
& \ascii{2N1MudZmwDFTcYiLCZfrcsnhHwaSTTigbcN}, \ascii{2MxfUJXWKz9D8X3mcMpVcdEJKdJ6zFukca9}, \\
|
& \ascii{t2NGQjYMQhFndDHguvUw4wZdNdsssA6K7x2}, \ascii{t27ktmq1kbeCWiQ5TZ7w5npSzcdbBmTB7v6}, \\
|
||||||
& \ascii{2N8iUwMCpU16VYpKQ1HRM6xfut5FZwGwieM}, \ascii{2N9hyafTvJVrykBvZDw79j1brozwZNySwPP}, \\
|
& \ascii{t2GcBttAKD2WTHka8HyGc2dfvVTKYZUfHmJ}, \ascii{t2Q3vxWaD9LrdqUE8Xd9Ddjpr9pUQ2aGotK}, \\
|
||||||
& \ascii{2NFx7tRozsp3kT1M4w4tL9FfnEj8RovzbzN}, \ascii{2NAqoH96V1RtmK72LEZpJNX1uxhJ5yejRiK}, \\
|
& \ascii{t2TTfWDsYu998fHWzVP9Gns4fgxXXRi1Wzu}, \ascii{t2KS6R4MMWdSBMjLCiw2iMyhWGRQPmyRqDn}, \\
|
||||||
& \ascii{2MyV7hoV28KS8Uam2Z8nzY3xeo7R3T3TLUr}, \ascii{2N8Tn19hMoCD4EmCwpg1V8qupVkQLVVPhav}, \\
|
& \ascii{t2Q2ELrgotWv3Eec6LEtMMiiQ8dtW38u8Tj}, \ascii{t2AEgJA88vTWAKqxJDFUEJWyHUtQAZi5G1D}, \\
|
||||||
& \ascii{2NA5UeJU9zAQkSMyy3xpDcjfp4CEyKfzXKp}, \ascii{2NBERNyXy46CfM9yewGeof4yzC3vkwYnhgS}, \\
|
& \ascii{t2HCSdmpq1TQKksuwPQevwAzPTgfJ2rkMbG}, \ascii{t2HQCPFAUQaUdJWHPhg5pPBxit7inaJzubE}, \\
|
||||||
& \ascii{2N7fnpAswHb4mnPm2ZjWX3eKkF8hABAYBtQ}, \ascii{2N9MXGsz7uYaY5ciax6tSMDG7sjZUoLhJTC}, \\
|
& \ascii{t2Fzqvq8Y9e6Mn3JNPb982aYsLmq4b5HmhH}, \ascii{t2HEz7YZQqDUgC5h4y2WSD3mWneqJNVRjjJ}, \\
|
||||||
& \ascii{2N5PwzPQFFmLut2XWGQWAmpwKsF8VzUoPtr}, \ascii{2MvZdDpNP8hWyEqg6zKW9B62YTJqcUwjHr5}, \\
|
& \ascii{t2GCR1SCk687Eeo5NEZ23MLsms7JjVWBgfG}, \ascii{t2KyiPR9Lztq2w1w747X6W4nkUMAGL8M9KN}, \\
|
||||||
& \ascii{2Mx4KfKJ37EDc3A43Frzof1iEjSe91JUX7d}, \ascii{2NBMSdXjZ7YqREmwxEtgGryY59KBpqMSs1d}, \\
|
& \ascii{t2UxymadyxSyVihmbq7S1yxw5dCBqJ1S4jT}, \ascii{t2AVeMy7fdmTcJhckqiKRG8B7F1vccEhSqU}, \\
|
||||||
& \ascii{2N9RbfE4ZCJ3Nx68vPfmvH2M6Q3qicJhagb}, \ascii{2N4xwfFkFj4DR4NWNbynzP2aJmVcEFnA2DB}, \\
|
& \ascii{t26m7LwihQzD2sH7ZVhYpPJM5j7kzwbfKW9}, \ascii{t2DgwUNTe7NxuyPU6fxsB5xJXap3E4yWXrN}, \\
|
||||||
& \ascii{2Mx4TyAwedmsRuDkvMNYGqrcCZfQTfCvxAp}, \ascii{2Mx4HSVsxEqXjLxn8igJzmCrFdG9XhnNvtf}, \\
|
& \ascii{t2U6funcXA11fC9SZehyvUL3rk3Vhuh7fzS}, \ascii{t284JhyS8LGM72Tx1porSqwrcq3CejthP1p}, \\
|
||||||
& \ascii{2MtLM4SP7LJbBZ5rA5ZG8kAVz9UNrNKuoFB}, \ascii{2N7SPq83Cbmwuwv5rjNBzVd9QtJKAxxKj8M}, \\
|
& \ascii{t29egu8QcpzKeLoPLqWS6QVMnUUPQdF6eNm}, \ascii{t29LqD9p9D3B26euBwFi6mfcWu8HPA38VNs}, \\
|
||||||
& \ascii{2MwYkbE4U4p9XBsCrupDDkdcDH9L9xvc9Bn}, \ascii{2MyaeCHpVmckokUi67YP1QK9L3Dkx3Pt86F}, \\
|
& \ascii{t28GsAMCxAyLy85XaasddDzaYFTtfewr86y}, \ascii{t2GV44QyaikQPLUfm6oTfZnw71LLjnR7gDG}, \\
|
||||||
& \ascii{2N7URNgBPXGjqnuPHiynCa6qMMhKm6YEaHr}, \ascii{2N2eNwGVwj4WwbEdJg7YZDgrnYvDv1ZSNbB}, \\
|
& \ascii{t2U2QzNLQ1jtAu4L6xxVnRXLBsQpQvGRR2g}, \ascii{t2QKGr5PNan7nrwDgseyHMN9NFeeuUjCh8b}, \\
|
||||||
& \ascii{2MuWAG6BqLM1mtZc67Fv1aKgGwkNQ2akDGt}, \ascii{2N7XH82MbGwpzbc7PM2aK5CU14bSJvK7Etz}, \\
|
& \ascii{t2AfS8u6HwBeJpKpbuxztvRjupKQDXqnrwa}, \ascii{t2CTRQUViQd3CWMhnKhFnUHqDLUyTxmWhJs}, \\
|
||||||
& \ascii{2MuPX8Ke5TvDDQ1nkqpaPMgYWPyWbFp18Jn}, \ascii{2NFBST7oK9yw9PaXaq5QhdyYwp5HpHz9m81}, \\
|
& \ascii{t2CbM9EqszNURqh1UXZBXYhwp1R4GwEhWRE}, \ascii{t2LM7uYiAsKDU42GNSnMwDxbZ8s1DowQzYH}, \\
|
||||||
& \ascii{2MuSeMBUrttbjvDZAeQjTrrDeoP197qj2kG}, \ascii{2N6JU8JNGGAUFknTCuLSuDEEhZJqMfFsH88}, \\
|
& \ascii{t2AgvT35LHR378AE3ouz6xKMhkTLHLJC6nD}, \ascii{t285EAQXUVyi4NMddJv2QqTrnv45GRMbP8e}, \\
|
||||||
& \ascii{2N4P2MrwtwbiHymQm1RASoVoiH3sFrBpmXa}, \ascii{2MyhFiVXvVVxUNc8Qh9ppV7jG4NsKpnxige}, \\
|
& \ascii{t2EpMRCD5b8f2DCQ37npNULcpZhkjC8muqA}, \ascii{t2BCmWXrRPiCeQTpizSWKKRPM5X6PS7umDY}, \\
|
||||||
& \ascii{2N5dLXUho2GtjuHMWuqixLrHLCwUMcYxd7s}, \ascii{2N9NhfSiYBt3fhETFR6mQc3uxreEy7simSg}, \\
|
& \ascii{t2DN7X6wDFn5hYKBiBmn3Z98st419yaTVTH}, \ascii{t2QJj8HeCwQ6mHwqekxxDLZntYpZTHNU62t}, \\
|
||||||
& \ascii{2NBEEWPY3v38uuC7n1tMtviEY7ND2XzfgSG}, \ascii{2NCWWj6oREJiMmfJ2bV5sbm1xchMwQfAZ5r}, \\
|
& \ascii{t2QdHBR1Yciqn4j8gpS8DcQZZtYetKvfNj3}, \ascii{t2E5cpLA1ey5VNxFNcuopeQMq2rH2NHiPdu}, \\
|
||||||
& \ascii{2N4ACsVCKMvJmtEb3Pd3xkqhJ3rLT4mYx1r}, \ascii{2MtmMdabcwRJmenswaYtWA675df854KhUxD}, \\
|
& \ascii{t2EVRGtzjFAyz8CF8ndvLuiJu7qZUfDa93H}, \ascii{t2KoQDk3BSFadBkuaWdLwchFuQamzw9RE4L}, \\
|
||||||
& \ascii{2N2h27Dd87eiGcm7ajvu4hJpXjTm9GkzvLZ}, \ascii{2NGE19agRXU1EAK3PCLZWXERkpqyUexhk9r}, \\
|
& \ascii{t2FnR3yhTmuiejEJeu6qpidWTghRd1HpjLt}, \ascii{t2BAuBAAospDc9d1u5nNGEi6x4NRJBD2PQ2}, \\
|
||||||
& \ascii{2N63112wMnBsXTaBFjbCTjW9LuyTXQmvEdw}, \ascii{2NBkHxgkYZbU56zsoLNsP5WZVfMtBK6X8WK}, \\
|
& \ascii{t2RtKrLCGcyPkm4a4APg1YY9Wu2m4R2PgrB}, \ascii{t28aUbSteZzBq2pFgj1K1XNZRZP5mMMyakV}, \\
|
||||||
& \ascii{2N5pK7NfKo6d9qBmsKggpwuvQeMxGf65SLH}, \ascii{2N5jHzgCg9a9uAcLaT2jij8WKTZzWbVNC5c}\, ]
|
& \ascii{t2Urdy1ERfkvsFuy6Z4BkhvYGzWdmivfAFR}, \ascii{t2ADinR4JrvCMd4Q1XGALPajzFrirqvhED6}\, ]
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|
||||||
\renewcommand{\arraystretch}{1}
|
\renewcommand{\arraystretch}{1}
|
||||||
|
@ -3633,7 +3646,8 @@ The errors in the proof of Ledger Indistinguishability mentioned in
|
||||||
\subparagraph{2016.0-beta-1.8}
|
\subparagraph{2016.0-beta-1.8}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Specify the lead bytes for \transparent P2SH and P2PKH addresses.
|
\item Revise the lead bytes for \transparent P2SH and P2PKH addresses,
|
||||||
|
and reencode the testnet \foundersReward addresses.
|
||||||
\item Add a section on which BIPs apply to \Zcash.
|
\item Add a section on which BIPs apply to \Zcash.
|
||||||
\item Specify that \ScriptOP{CODESEPARATOR} has been disabled, and
|
\item Specify that \ScriptOP{CODESEPARATOR} has been disabled, and
|
||||||
no longer affects signature hashes.
|
no longer affects signature hashes.
|
||||||
|
|
Loading…
Reference in New Issue