Browse Source

Merge remote-tracking branch 'origin/master'

master
Jonathan "Duke" Leto 6 years ago
parent
commit
2a1a374359
  1. 18
      whitepaper/btch/Makefile
  2. 576
      whitepaper/btch/btch.bib
  3. 58
      whitepaper/btch/protocol.aux
  4. 127
      whitepaper/btch/protocol.bbl
  5. 2087
      whitepaper/btch/protocol.bcf
  6. 15
      whitepaper/btch/protocol.blg
  7. 1229
      whitepaper/btch/protocol.log
  8. 25
      whitepaper/btch/protocol.out
  9. BIN
      whitepaper/btch/protocol.pdf
  10. 85
      whitepaper/btch/protocol.run.xml
  11. 1176
      whitepaper/btch/protocol.tex
  12. 51
      whitepaper/btch/protocol.toc
  13. 1
      whitepaper/btch/protocol.ver
  14. BIN
      whitepaper/protocol.pdf
  15. 48
      whitepaper/protocol.tex

18
whitepaper/btch/Makefile

@ -0,0 +1,18 @@
protocol.pdf: protocol.tex hush.bib
$(MAKE) pdf
LATEX=pdflatex
.PHONY: pdf
pdf:
printf '\\renewcommand{\\docversion}{Version %s}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
# If $(LATEX) fails, touch an input so that 'make' won't think it is up-to-date next time.
rm -f protocol.aux protocol.bbl protocol.blg protocol.brf protocol.bcf
$(LATEX) protocol.tex
biber protocol
$(LATEX) protocol.tex
$(LATEX) protocol.tex
$(LATEX) protocol.tex
.PHONY: clean
clean:
rm -f protocol.dvi protocol.pdf protocol.bbl protocol.blg protocol.brf protocol.toc protocol.aux protocol.out protocol.log protocol.bcf protocol.run.xml protocol.ver

576
whitepaper/btch/btch.bib

@ -0,0 +1,576 @@
@misc{Zcash,
author={Daira Hopwood},
title={Zcash Protocol Specification},
url={https://github.com/zcash/zips/blob/master/protocol/protocol.pdf},
urldate={2017-12-28}
}
@misc{Komodo,
author={superNET},
title={Komodo Platform},
url={https://komodoplatform.com},
urldate={2017-12-28}
}
@misc{BarterDEX,
author={jl777},
title={barterDEX - Atomic Swap Decentralized Exchange of Native Coins},
url={https://github.com/SuperNETorg/komodo/wiki/barterDEX-Whitepaper-v2},
urldate={2017-12-28}
}
@misc{dPOW,
author={jl777},
title={Delayed Proof of Work (dPoW)},
url={https://supernet.org/en/technology/whitepapers/delayed-proof-of-work-dpow},
urldate={2017-12-27}
}
@misc{BCG+2014,
author={Eli Ben-Sasson and Alessandro Chiesa and Christina Garman and Matthew Green and Ian Miers and Eran Tromer and Madars Virza},
title={Zerocash: Decentralized {A}nonymous {P}ayments from {B}itcoin (extended version)},
url={http://zerocash-project.org/media/pdf/zerocash-extended-20140518.pdf},
urldate={2016-08-06},
addendum={A condensed version appeared in \textsl{Proceedings of the IEEE Symposium on Security and Privacy (Oakland) 2014},
pages 459--474; IEEE, 2014.}
}
@misc{BCTV2015,
author={Eli Ben-Sasson and Alessandro Chiesa and Eran Tromer and Madars Virza},
title={Succinct {N}on-{I}nteractive {Z}ero {K}nowledge for a von {N}eumann {A}rchitecture},
url={https://eprint.iacr.org/2013/879},
urldate={2016-08-21},
howpublished={Cryptology ePrint Archive: Report 2013/879.
Last revised \mbox{May 19,} 2015.}
}
@misc{PGHR2013,
author={Bryan Parno and Craig Gentry and Jon Howell and Mariana Raykova},
title={Pinocchio: {N}early {P}ractical {V}erifiable {C}omputation},
url={https://eprint.iacr.org/2013/279},
urldate={2016-08-31},
howpublished={Cryptology ePrint Archive: Report 2013/279. Last revised \mbox{May 13,} 2013.}
}
@misc{BCGTV2013,
author={Eli Ben-Sasson and Alessandro Chiesa and Daniel Genkin and Eran Tromer and Madars Virza},
title={{SNARK}s for {C}: {V}erifying {P}rogram {E}xecutions {S}uccinctly and in {Z}ero {K}nowledge},
url={https://eprint.iacr.org/2013/507},
urldate={2016-08-31},
howpublished={Cryptology ePrint Archive: Report 2013/507.
Last revised \mbox{October 7,} 2013.},
addendum={An earlier version appeared in \textsl{Proceedings of the 33rd Annual International Cryptology Conference,
CRYPTO '13}, pages 90--108; IACR, 2013.}
}
@misc{GGPR2013,
author={Rosario Gennaro and Craig Gentry and Bryan Parno and Mariana Raykova},
title={Quadratic {S}pan {P}rograms and {S}uccinct {NIZK}s without {PCP}s},
howpublished={Cryptology ePrint Archive: Report 2012/215.
Last revised \mbox{June 18,} 2012.},
addendum={Also published in \textsl{Advances in Cryptology - EUROCRYPT 2013}, Vol. 7881 pages 626--645;
Lecture Notes in Computer Science; Springer, 2013.},
url={https://eprint.iacr.org/2012/215},
urldate={2016-09-01}
}
@inproceedings{BCTV2014,
author={Eli Ben-Sasson and Alessandro Chiesa and Eran Tromer and Madars Virza},
title={Scalable {Z}ero {K}nowledge via {C}ycles of {E}lliptic {C}urves (extended version)},
booktitle={Advances in Cryptology - CRYPTO 2014},
volume={8617},
series={Lecture Notes in Computer Science},
pages={276--294},
year={2014},
publisher={Springer},
url={https://www.cs.tau.ac.il/~tromer/papers/scalablezk-20140803.pdf},
urldate={2016-09-01}
}
@misc{BGG2016,
author={Sean Bowe and Ariel Gabizon and Matthew Green},
title={A multi-party protocol for constructing the public parameters of the {P}inocchio zk-{SNARK}},
date={2016-11-24},
url={https://github.com/zcash/mpc/blob/master/whitepaper.pdf},
urldate={2017-02-11}
}
@misc{Bitcoin,
author={Satoshi Nakamoto},
title={Bitcoin:\, {A}\, {P}eer-to-{P}eer\, {E}lectronic\, {C}ash\, {S}ystem},
date={2008-10-31},
url={https://bitcoin.org/en/bitcoin-paper},
urldate={2016-08-14}
}
@misc{BK2016,
author={Alex Biryukov and Dmitry Khovratovich},
title={Equihash: {A}symmetric {P}roof-of-{W}ork {B}ased on the {G}eneralized {B}irthday {P}roblem (full version)},
url={https://eprint.iacr.org/2015/946},
urldate={2016-10-30},
howpublished={Cryptology ePrint Archive: Report 2015/946.
Last revised \mbox{October 27,} 2016.}
}
@inproceedings{Bern2006,
author={Daniel Bernstein},
title={Curve25519: new {D}iffie-{H}ellman speed records},
booktitle={Public Key Cryptography - PKC 2006. Proceedings of the 9th International Conference on Theory and Practice in Public-Key Cryptography, New York, NY, USA, April 24-26},
publisher={Springer-Verlag},
date={2006-02-09},
url={http://cr.yp.to/papers.html#curve25519},
urldate={2016-08-14},
addendum={Document ID: 4230efdfa673480fc079449d90f322c0.}
}
@article{BDL+2012,
author={Daniel Bernstein and Niels Duif and Tanja Lange and Peter Schwabe and Bo-Yin Yang},
title={High-speed high-security signatures},
journal={Journal of Cryptographic Engineering},
volume={2},
pages={77-89},
date={2011-09-26},
url={http://cr.yp.to/papers.html#ed25519},
urldate={2016-08-14},
addendum={Document ID: a1a62a2f76d23f65d622484ddd09caf8.}
}
@misc{Zave2012,
author={Gregory M. Zaverucha},
title={Hybrid {E}ncryption in the {M}ulti-{U}ser {S}etting},
url={https://eprint.iacr.org/2012/159},
urldate={2016-09-24},
howpublished={Cryptology ePrint Archive: Report 2012/159.
Received \mbox{March 20,} 2012.}
}
@inproceedings{Bern2005,
author={Daniel Bernstein},
title={Understanding brute force},
date={2005-04-25},
booktitle={ECRYPT STVL Workshop on Symmetric Key Encryption, eSTREAM report 2005/036},
url={https://cr.yp.to/papers.html#bruteforce},
urldate={2016-09-24},
addendum={Document ID: 73e92f5b71793b498288efe81fe55dee.}
}
@book{Unicode,
author={The Unicode Consortium},
publisher={The Unicode Consortium},
year={2016},
title={The Unicode Standard},
url={http://www.unicode.org/versions/latest/},
urldate={2016-08-31}
}
@misc{libsodium-Seal,
title={Sealed boxes \hspace{0.2em}---\hspace{0.2em} libsodium},
url={https://download.libsodium.org/doc/public-key_cryptography/sealed_boxes.html},
urldate={2016-02-01}
}
@misc{NIST2015,
author={NIST},
title={{FIPS} 180-4: Secure {H}ash {S}tandard ({SHS})},
month={August},
year={2015},
doi={10.6028/NIST.FIPS.180-4},
url={http://csrc.nist.gov/publications/PubsFIPS.html#180-4},
urldate={2016-08-14}
}
@misc{RIPEMD160,
author={Hans Dobbertin and Antoon Bosselaers and Bart Preneel},
title={{RIPEMD}-160, a strengthened version of {RIPEMD}},
url={http://homes.esat.kuleuven.be/~bosselae/ripemd160.html},
urldate={2016-09-24}
}
@misc{ANWW2013,
author={Jean-Philippe Aumasson and \;Samuel Neves and \;Zooko Wilcox-O'Hearn and
\;Christian Winnerlein},
date={2013-01-29},
title={{BLAKE2}: simpler, smaller, fast as {MD5}},
url={https://blake2.net/#sp},
urldate={2016-08-14}
}
@misc{RFC-7693,
author={Markku-Juhani Saarinen (ed.)},
title={Request for {C}omments 7693: {T}he {BLAKE2} {C}ryptographic {H}ash and
{M}essage {A}uthentication {C}ode ({MAC})},
howpublished={Internet Engineering Task Force (IETF)},
date={2015-11},
url={https://tools.ietf.org/html/rfc7693},
urldate={2016-08-31}
}
@misc{RFC-2119,
author={Scott Bradner},
title={Request for {C}omments 7693: {K}ey words for use in {RFC}s to {I}ndicate
{R}equirement {L}evels},
howpublished={Internet Engineering Task Force (IETF)},
date={1997-03},
url={https://tools.ietf.org/html/rfc2119},
urldate={2016-09-14}
}
@misc{Cert2010,
author={Certicom Research},
title={Standards for {E}fficient {C}ryptography 2 ({SEC} 2)},
date={2010-01-27},
addendum={Version 2.0.},
url={http://www.secg.org/sec2-v2.pdf},
urldate={2016-08-14}
}
@inproceedings{MAEA2010,
author={V. Gayoso Mart{\'i}nez and F. Hern{\'a}ndez Alvarez and
L. Hern{\'a}ndez Encinas and C. S{\'a}nchez {\'A}vila},
title={A {C}omparison of the {S}tandardized {V}ersions of {ECIES}},
booktitle={Proceedings of Sixth International Conference on Information Assurance and Security,
23--25 August 2010, Atlanta, GA, USA. ISBN: 978-1-4244-7407-3},
year={2010},
pages={1-4},
publisher={IEEE},
doi={10.1109/ISIAS.2010.5604194},
url={https://digital.csic.es/bitstream/10261/32674/1/Gayoso_A%20Comparison%20of%20the%20Standardized%20Versions%20of%20ECIES.pdf},
urldate={2016-08-14}
}
@misc{ABR1999,
author={Michel Abdalla and Mihir Bellare and Phillip Rogaway},
title={{DHAES}: {A}n {E}ncryption {S}cheme {B}ased on the {D}iffie-{H}ellman {P}roblem},
url={https://eprint.iacr.org/1999/007},
urldate={2016-08-21},
date={1998-09},
howpublished={Cryptology ePrint Archive: Report 1999/007. Received \mbox{March 17,} 1999.}
}
@misc{DGKM2011,
author={Dana Dachman-Soled and Rosario Gennaro and Hugo Krawczyk and Tal Malkin},
title={Computational {E}xtractors and {P}seudorandomness},
url={https://eprint.iacr.org/2011/708},
urldate={2016-09-02},
howpublished={Cryptology ePrint Archive: Report 2011/708. \mbox{December 28,} 2011.}
}
@misc{BDEHR2011,
author={Johannes Buchmann and Erik Dahmen and Sarah Ereth and Andreas H{\"u}lsing and Markus R{\"u}ckert},
title={On the {S}ecurity of the {W}internitz {O}ne-{T}ime {S}ignature {S}cheme (full version)},
url={https://eprint.iacr.org/2011/191},
urldate={2016-09-05},
howpublished={Cryptology ePrint Archive: Report 2011/191.
Received \mbox{April 13,} 2011.}
}
@misc{vanS2014,
author={Nicolas van Saberhagen},
title={CryptoNote v 2.0},
note={Date disputed.},
url={https://cryptonote.org/whitepaper.pdf},
urldate={2016-08-17},
}
@misc{Bitcoin-Base58,
title={Base58{C}heck encoding --- {B}itcoin {W}iki},
url={https://en.bitcoin.it/wiki/Base58Check_encoding},
urldate={2016-01-26}
}
@misc{Bitcoin-secp256k1,
title={Secp256k1 --- {B}itcoin {W}iki},
url={https://en.bitcoin.it/wiki/Secp256k1},
urldate={2016-03-14}
}
@misc{Bitcoin-CoinJoin,
title={Coin{J}oin --- {B}itcoin {W}iki},
url={https://en.bitcoin.it/wiki/CoinJoin},
urldate={2016-08-17}
}
@misc{Bitcoin-Format,
title={Raw {T}ransaction {F}ormat --- {B}itcoin {D}eveloper {R}eference},
url={https://bitcoin.org/en/developer-reference#raw-transaction-format},
urldate={2016-03-15}
}
@misc{Bitcoin-Block,
title={Block {H}eaders --- {B}itcoin {D}eveloper {R}eference},
url={https://bitcoin.org/en/developer-reference#block-headers},
urldate={2017-04-25}
}
@misc{Bitcoin-nBits,
title={Target n{B}its --- {B}itcoin {D}eveloper {R}eference},
url={https://bitcoin.org/en/developer-reference#target-nbits},
urldate={2016-08-13}
}
@misc{Bitcoin-Multisig,
title={P2SH multisig (definition) --- {B}itcoin {D}eveloper {R}eference},
url={https://bitcoin.org/en/developer-guide#term-p2sh-multisig},
urldate={2016-08-19}
}
@misc{Bitcoin-P2SH,
title={P2SH (definition) --- {B}itcoin {D}eveloper {R}eference},
url={https://bitcoin.org/en/developer-guide#term-p2sh},
urldate={2016-08-24}
}
@misc{Bitcoin-P2PKH,
title={P2PKH (definition) -- {B}itcoin {D}eveloper {R}eference},
url={https://bitcoin.org/en/developer-guide#term-p2pkh},
urldate={2016-08-24}
}
@misc{Bitcoin-Protocol,
title={Protocol documentation --- {B}itcoin {W}iki},
url={https://en.bitcoin.it/wiki/Protocol_documentation},
urldate={2016-10-02}
}
@misc{BIP-11,
author={Gavin Andresen},
title={M-of-{N} {S}tandard {T}ransactions},
howpublished={Bitcoin Improvement Proposal 11. Created October 18, 2011},
url={https://github.com/bitcoin/bips/blob/master/bip-0011.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-13,
author={Gavin Andresen},
title={Address {F}ormat for pay-to-script-hash},
howpublished={Bitcoin Improvement Proposal 13. Created October 18, 2011},
url={https://github.com/bitcoin/bips/blob/master/bip-0013.mediawiki},
urldate={2016-09-24}
}
@misc{BIP-14,
author={Amir Taaki and Patrick Strateman},
title={Protocol {V}ersion and {U}ser {A}gent},
howpublished={Bitcoin Improvement Proposal 14. Created November 10, 2011},
url={https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-16,
author={Gavin Andresen},
title={Pay to {S}cript {H}ash},
howpublished={Bitcoin Improvement Proposal 16. Created January 3, 2012},
url={https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-30,
author={Pieter Wuille},
title={Duplicate transactions},
howpublished={Bitcoin Improvement Proposal 30. Created February 22, 2012},
url={https://github.com/bitcoin/bips/blob/master/bip-0030.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-31,
author={Mike Hearn},
title={Pong message},
howpublished={Bitcoin Improvement Proposal 31. Created April 11, 2012},
url={https://github.com/bitcoin/bips/blob/master/bip-0031.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-32,
author={Pieter Wuille},
title={Hierarchical {D}eterministic {W}allets},
howpublished={Bitcoin Improvement Proposal 32. Created February 11, 2012. Last updated January 15, 2014},
url={https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki},
urldate={2016-09-24}
}
@misc{BIP-34,
author={Gavin Andresen},
title={Block v2, {H}eight in {C}oinbase},
howpublished={Bitcoin Improvement Proposal 34. Created July 6, 2012},
url={https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-35,
author={Jeff Garzik},
title={mempool message},
howpublished={Bitcoin Improvement Proposal 35. Created August 16, 2012},
url={https://github.com/bitcoin/bips/blob/master/bip-0035.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-37,
author={Mike Hearn and Matt Corallo},
title={Connection Bloom filtering},
howpublished={Bitcoin Improvement Proposal 37. Created October 24, 2012},
url={https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-61,
author={Gavin Andresen},
title={Reject P2P message},
howpublished={Bitcoin Improvement Proposal 61. Created June 18, 2014},
url={https://github.com/bitcoin/bips/blob/master/bip-0061.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-62,
author={Pieter Wuille},
title={Dealing with malleability},
howpublished={Bitcoin Improvement Proposal 62. Withdrawn Nov\-ember 17, 2015},
url={https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki},
urldate={2016-09-05}
}
@misc{BIP-65,
author={Peter Todd},
title={\ScriptOP{CHECKLOCKTIMEVERIFY}},
howpublished={Bitcoin Improvement Proposal 65. Created October 10, 2014},
url={https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-66,
author={Pieter Wuille},
title={Strict {DER} signatures},
howpublished={Bitcoin Improvement Proposal 66. Created January 10, 2015},
url={https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki},
urldate={2016-10-02}
}
@misc{BIP-68,
author={Mark Friedenbach and BtcDrak and Nicolas Dorier and kinoshitajona},
title={Relative lock-time using con\-sensus-enforced sequence numbers},
howpublished={Bitcoin Improvement Proposal 68. Last revised November 21, 2015},
url={https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki},
urldate={2016-09-02}
}
@misc{DigiByte-PoW,
author={DigiByte Core Developers},
title={DigiSpeed 4.0.0 source code, functions GetNextWorkRequiredV3/4 in src/main.cpp as of commit 178e134},
url={https://github.com/digibyte/digibyte/blob/178e1348a67d9624db328062397fde0de03fe388/src/main.cpp#L1587},
urldate={2017-01-20}
}
@misc{GitHub-mpc,
author={Sean Bowe and Ariel Gabizon and Matthew Green},
title={GitHub repository `\hairspace zcash/mpc'\hairspace: zk-SNARK parameter multi-party computation protocol},
url={https://github.com/zcash/mpc},
urldate={2017-01-06}
}
@misc{ZcashIssue-2113,
author={Simon Liu},
title={GitHub repository `\hairspace zcash/zcash'\hairspace: Issue 2113},
url={https://github.com/zcash/zcash/issues/2113},
urldate={2017-02-20}
}
@book{IEEE2000,
author={IEEE Computer Society},
publisher={IEEE},
date={2000-08-29},
title={IEEE {S}td 1363-2000: {S}tandard {S}pecifications for {P}ublic-{K}ey {C}ryptography},
url={http://ieeexplore.ieee.org/servlet/opac?punumber=7168},
urldate={2016-08-03},
doi={10.1109/IEEESTD.2000.92292}
}
@book{IEEE2004,
author={IEEE Computer Society},
publisher={IEEE},
date={2004-09-02},
title={IEEE {S}td 1363a-2004: {S}tandard {S}pecifications for {P}ublic-{K}ey {C}ryptography --
{A}mendment 1: {A}dditional {T}echniques},
url={http://ieeexplore.ieee.org/servlet/opac?punumber=9276},
urldate={2016-08-03},
doi={10.1109/IEEESTD.2004.94612}
}
@misc{libsnark-fork,
title={libsnark: {C}++ library for {zkSNARK} proofs (Zcash fork)},
url={https://github.com/zcash/libsnark},
urldate={2016-08-14}
}
@misc{RFC-7539,
author={Yoav Nir and Adam Langley},
title={Request for {C}omments 7539: Cha{C}ha20 and {P}oly1305 for {IETF} {P}rotocols},
howpublished={Internet Research Task Force (IRTF)},
date={2015-05},
url={https://tools.ietf.org/html/rfc7539},
urldate={2016-09-02},
addendum={As modified by verified errata at \url{https://www.rfc-editor.org/errata_search.php?rfc=7539}
(visited on 2016-09-02).}
}
@misc{BN2007,
author={Mihir Bellare and Chanathip Namprempre},
title={Authenticated {E}ncryption: {R}elations among notions and analysis of the
generic composition paradigm},
url={https://eprint.iacr.org/2000/025},
urldate={2016-09-02},
howpublished={Cryptology ePrint Archive: Report 2000/025. Last revised \mbox{July 14,} 2007.}
}
@misc{BBDP2001,
author={Mihir Bellare and Alexandra Boldyreva and Anand Desai and David Pointcheval},
title={Key-{P}rivacy in {P}ublic-{K}ey {E}ncryption},
addendum={Full version.},
month={September},
year={2001},
url={https://cseweb.ucsd.edu/~mihir/papers/anonenc.html},
urldate={2016-08-14}
}
@book{LG2004,
author={Eddie Lenihan and Carolyn Eve Green},
title={Meeting the {O}ther {C}rowd: {T}he {F}airy {S}tories of {H}idden {I}reland},
month={February},
year={2004},
publisher={TarcherPerigee},
pages={109-110},
isbn={1-58542-206-1}
}
@misc{GGM2016,
author={Christina Garman\; and \;Matthew Green\; and \;Ian Miers},
title={Accountable\, {P}rivacy\, for\, {D}ecentralized\, {A}nonymous\, {P}ayments},
howpublished={Cryptology ePrint Archive: Report 2016/061. Last revised \mbox{January 24,} 2016},
url={https://eprint.iacr.org/2016/061},
urldate={2016-09-02}
}
@misc{WG2016,
author={Zooko Wilcox and Jack Grigg},
title={Why {E}quihash?},
howpublished={Zcash blog},
date={2016-04-15},
url={https://z.cash/blog/why-equihash.html},
urldate={2016-08-05}
}
@misc{HW2016,
author={Taylor Hornby\; and \;Zooko Wilcox},
title={Fixing\, {V}ulnerabilities\, in\, the\, {Z}cash\, {P}rotocol},
howpublished={Zcash blog},
date={2016-04-25},
url={https://z.cash/blog/fixing-zcash-vulns.html},
urldate={2016-06-22}
}
@misc{EWD-831,
author={Edsger W. Dijkstra},
title={Why\, numbering\, should\, start\, at\, zero},
howpublished={\;Manuscript},
date={1982-08-11},
url={https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html},
urldate={2016-08-09}
}

58
whitepaper/btch/protocol.aux

@ -0,0 +1,58 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\abx@aux@sortscheme{anyt}
\abx@aux@sortnamekeyscheme{global}
\@writefile{toc}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lof}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lot}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\relax \fontsize {14.4}{18}\selectfont Contents\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{1}{section*.1}}
\abx@aux@cite{RFC-2119}
\abx@aux@cite{Bitcoin-Protocol}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{3}{section.1}}
\abx@aux@backref{1}{RFC-2119}{0}{3}{3}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}High-level Overview\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{3}{subsection.1.1}}
\abx@aux@backref{2}{Bitcoin-Protocol}{0}{3}{3}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Types Of Transactions\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{3}{subsection.1.2}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2}Design of \textbf {HushList}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{4}{section.2}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3}Reference Implementation\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{4}{section.3}}
\abx@aux@cite{dPOW}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {4}Account Funding\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{section.4}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {5}\textbf {HushList}\xspace Contacts\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{section.5}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}\textbf {HushList}\xspace Creation\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{section.6}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Private \textbf {HushLists}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{subsection.6.1}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Multi-Chain Private \textbf {HushLists}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{subsection.6.2}}
\abx@aux@backref{3}{dPOW}{0}{6}{6}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Public \textbf {HushLists}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{6}{subsection.6.3}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {7}List Subscription\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{6}{section.7}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {8}Sending To A List\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.8}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {9}Receiving Messages\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.9}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {10}Costs\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.10}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {11}Examples\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.11}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {12}Metadata Analysis\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{8}{section.12}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {13}User Stories\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{8}{section.13}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {13.1}"Pen Name" user story - Amanda\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{8}{subsection.13.1}}
\abx@aux@cite{Komodo}
\abx@aux@cite{BarterDEX}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {13.2}"Security Researcher" user story - Gordon\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{subsection.13.2}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {13.3}"Whisteblower" user story - Martha\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{subsection.13.3}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {13.4}"Censored Journalist" user story - Billy\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{subsection.13.4}}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {14}Special Thanks\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{section.14}}
\abx@aux@backref{4}{Komodo}{0}{9}{9}
\abx@aux@backref{5}{BarterDEX}{0}{9}{9}
\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {15}References\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{section.15}}

127
whitepaper/btch/protocol.bbl

@ -0,0 +1,127 @@
% $ biblatex auxiliary file $
% $ biblatex bbl format version 2.6 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{ver@biblatex.sty}
{\@latex@error
{Missing 'biblatex' package}
{The bibliography requires the 'biblatex' package.}
\aftergroup\endinput}
{}
\endgroup
\refsection{0}
\sortlist[entry]{anyt/global}
\entry{BarterDEX}{misc}{}
\name{author}{1}{}{%
{{hash=2d64cb2091a8d6f2d518febd802ef688}{%
family={jl777},
family_i={j\bibinitperiod}}}%
}
\strng{namehash}{2d64cb2091a8d6f2d518febd802ef688}
\strng{fullhash}{2d64cb2091a8d6f2d518febd802ef688}
\field{labelalpha}{BarterDEX}
\field{sortinit}{B}
\field{sortinithash}{4ecbea03efd0532989d3836d1a048c32}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{title}{barterDEX - Atomic Swap Decentralized Exchange of Native Coins}
\field{urlday}{28}
\field{urlmonth}{12}
\field{urlyear}{2017}
\verb{url}
\verb https://github.com/SuperNETorg/komodo/wiki/barterDEX-Whitepaper-v2
\endverb
\endentry
\entry{Bitcoin-Protocol}{misc}{}
\field{labelalpha}{Bitcoin-Protocol}
\field{sortinit}{B}
\field{sortinithash}{4ecbea03efd0532989d3836d1a048c32}
\field{labeltitlesource}{title}
\field{title}{Protocol documentation --- {B}itcoin {W}iki}
\field{urlday}{02}
\field{urlmonth}{10}
\field{urlyear}{2016}
\verb{url}
\verb https://en.bitcoin.it/wiki/Protocol_documentation
\endverb
\endentry
\entry{dPOW}{misc}{}
\name{author}{1}{}{%
{{hash=2d64cb2091a8d6f2d518febd802ef688}{%
family={jl777},
family_i={j\bibinitperiod}}}%
}
\strng{namehash}{2d64cb2091a8d6f2d518febd802ef688}
\strng{fullhash}{2d64cb2091a8d6f2d518febd802ef688}
\field{labelalpha}{dPOW}
\field{sortinit}{d}
\field{sortinithash}{78f7c4753a2004675f316a80bdb31742}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{title}{Delayed Proof of Work (dPoW)}
\field{urlday}{27}
\field{urlmonth}{12}
\field{urlyear}{2017}
\verb{url}
\verb https://supernet.org/en/technology/whitepapers/delayed-proof-of-work-dpow
\endverb
\endentry
\entry{Komodo}{misc}{}
\name{author}{1}{}{%
{{hash=01918554ac47b06522c7acba68e88c2e}{%
family={superNET},
family_i={s\bibinitperiod}}}%
}
\strng{namehash}{01918554ac47b06522c7acba68e88c2e}
\strng{fullhash}{01918554ac47b06522c7acba68e88c2e}
\field{labelalpha}{Komodo}
\field{sortinit}{K}
\field{sortinithash}{a7d5b3aec5a0890aae7baf85a209abfc}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{title}{Komodo Platform}
\field{urlday}{28}
\field{urlmonth}{12}
\field{urlyear}{2017}
\verb{url}
\verb https://komodoplatform.com
\endverb
\endentry
\entry{RFC-2119}{misc}{}
\name{author}{1}{}{%
{{hash=b366d831fea9715823f953b9b26c2527}{%
family={Bradner},
family_i={B\bibinitperiod},
given={Scott},
given_i={S\bibinitperiod}}}%
}
\strng{namehash}{b366d831fea9715823f953b9b26c2527}
\strng{fullhash}{b366d831fea9715823f953b9b26c2527}
\field{labelalpha}{RFC-2119}
\field{sortinit}{R}
\field{sortinithash}{c7387613477035a752d935acfc3e3ea2}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{howpublished}{Internet Engineering Task Force (IETF)}
\field{month}{03}
\field{title}{Request for {C}omments 7693: {K}ey words for use in {RFC}s to {I}ndicate {R}equirement {L}evels}
\field{urlday}{14}
\field{urlmonth}{09}
\field{urlyear}{2016}
\field{year}{1997}
\verb{url}
\verb https://tools.ietf.org/html/rfc2119
\endverb
\endentry
\endsortlist
\endrefsection
\endinput

2087
whitepaper/btch/protocol.bcf

File diff suppressed because it is too large

15
whitepaper/btch/protocol.blg

@ -0,0 +1,15 @@
[0] Config.pm:340> INFO - This is Biber 2.4
[0] Config.pm:343> INFO - Logfile is 'protocol.blg'
[267] biber:287> INFO - === Sun Jan 7, 2018, 10:55:26
[803] Biber.pm:348> INFO - Reading 'protocol.bcf'
[1640] Biber.pm:742> INFO - Found 5 citekeys in bib section 0
[1663] Biber.pm:3151> INFO - Processing section 0
[1867] Biber.pm:3308> INFO - Looking for bibtex format file 'hush.bib' for section 0
[2420] bibtex.pm:1113> INFO - Decoding LaTeX character macros into UTF-8
[2913] bibtex.pm:974> INFO - Found BibTeX data source 'hush.bib'
[3634] UCollate.pm:65> INFO - Overriding locale 'en-US' defaults 'variable = shifted' with 'variable = non-ignorable'
[3651] UCollate.pm:65> INFO - Overriding locale 'en-US' defaults 'normalization = NFD' with 'normalization = prenormalized'
[3651] Biber.pm:3028> INFO - Sorting list 'anyt/global' of type 'entry' with scheme 'anyt' and locale 'en-US'
[3651] Biber.pm:3032> INFO - No sort tailoring available for locale 'en-US'
[3674] bbl.pm:519> INFO - Writing 'protocol.bbl' with encoding 'ascii'
[3891] bbl.pm:615> INFO - Output to protocol.bbl

1229
whitepaper/btch/protocol.log

File diff suppressed because it is too large

25
whitepaper/btch/protocol.out

@ -0,0 +1,25 @@
\BOOKMARK [1][]{section*.1}{\376\377\000C\000o\000n\000t\000e\000n\000t\000s}{}% 1
\BOOKMARK [1][]{section.1}{\376\377\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 2
\BOOKMARK [2][]{subsection.1.1}{\376\377\0001\000.\0001\000\040\000H\000i\000g\000h\000-\000l\000e\000v\000e\000l\000\040\000O\000v\000e\000r\000v\000i\000e\000w}{section.1}% 3
\BOOKMARK [2][]{subsection.1.2}{\376\377\0001\000.\0002\000\040\000T\000y\000p\000e\000s\000\040\000O\000f\000\040\000T\000r\000a\000n\000s\000a\000c\000t\000i\000o\000n\000s}{section.1}% 4
\BOOKMARK [1][]{section.2}{\376\377\0002\000\040\000D\000e\000s\000i\000g\000n\000\040\000o\000f\000\040\000H\000u\000s\000h\000L\000i\000s\000t}{}% 5
\BOOKMARK [1][]{section.3}{\376\377\0003\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n}{}% 6
\BOOKMARK [1][]{section.4}{\376\377\0004\000\040\000A\000c\000c\000o\000u\000n\000t\000\040\000F\000u\000n\000d\000i\000n\000g}{}% 7
\BOOKMARK [1][]{section.5}{\376\377\0005\000\040\000H\000u\000s\000h\000L\000i\000s\000t\000\040\000C\000o\000n\000t\000a\000c\000t\000s}{}% 8
\BOOKMARK [1][]{section.6}{\376\377\0006\000\040\000H\000u\000s\000h\000L\000i\000s\000t\000\040\000C\000r\000e\000a\000t\000i\000o\000n}{}% 9
\BOOKMARK [2][]{subsection.6.1}{\376\377\0006\000.\0001\000\040\000P\000r\000i\000v\000a\000t\000e\000\040\000H\000u\000s\000h\000L\000i\000s\000t\000s}{section.6}% 10
\BOOKMARK [2][]{subsection.6.2}{\376\377\0006\000.\0002\000\040\000M\000u\000l\000t\000i\000-\000C\000h\000a\000i\000n\000\040\000P\000r\000i\000v\000a\000t\000e\000\040\000H\000u\000s\000h\000L\000i\000s\000t\000s}{section.6}% 11
\BOOKMARK [2][]{subsection.6.3}{\376\377\0006\000.\0003\000\040\000P\000u\000b\000l\000i\000c\000\040\000H\000u\000s\000h\000L\000i\000s\000t\000s}{section.6}% 12
\BOOKMARK [1][]{section.7}{\376\377\0007\000\040\000L\000i\000s\000t\000\040\000S\000u\000b\000s\000c\000r\000i\000p\000t\000i\000o\000n}{}% 13
\BOOKMARK [1][]{section.8}{\376\377\0008\000\040\000S\000e\000n\000d\000i\000n\000g\000\040\000T\000o\000\040\000A\000\040\000L\000i\000s\000t}{}% 14
\BOOKMARK [1][]{section.9}{\376\377\0009\000\040\000R\000e\000c\000e\000i\000v\000i\000n\000g\000\040\000M\000e\000s\000s\000a\000g\000e\000s}{}% 15
\BOOKMARK [1][]{section.10}{\376\377\0001\0000\000\040\000C\000o\000s\000t\000s}{}% 16
\BOOKMARK [1][]{section.11}{\376\377\0001\0001\000\040\000E\000x\000a\000m\000p\000l\000e\000s}{}% 17
\BOOKMARK [1][]{section.12}{\376\377\0001\0002\000\040\000M\000e\000t\000a\000d\000a\000t\000a\000\040\000A\000n\000a\000l\000y\000s\000i\000s}{}% 18
\BOOKMARK [1][]{section.13}{\376\377\0001\0003\000\040\000U\000s\000e\000r\000\040\000S\000t\000o\000r\000i\000e\000s}{}% 19
\BOOKMARK [2][]{subsection.13.1}{\376\377\0001\0003\000.\0001\000\040\000"\000P\000e\000n\000\040\000N\000a\000m\000e\000"\000\040\000u\000s\000e\000r\000\040\000s\000t\000o\000r\000y\000\040\000-\000\040\000A\000m\000a\000n\000d\000a}{section.13}% 20
\BOOKMARK [2][]{subsection.13.2}{\376\377\0001\0003\000.\0002\000\040\000"\000S\000e\000c\000u\000r\000i\000t\000y\000\040\000R\000e\000s\000e\000a\000r\000c\000h\000e\000r\000"\000\040\000u\000s\000e\000r\000\040\000s\000t\000o\000r\000y\000\040\000-\000\040\000G\000o\000r\000d\000o\000n}{section.13}% 21
\BOOKMARK [2][]{subsection.13.3}{\376\377\0001\0003\000.\0003\000\040\000"\000W\000h\000i\000s\000t\000e\000b\000l\000o\000w\000e\000r\000"\000\040\000u\000s\000e\000r\000\040\000s\000t\000o\000r\000y\000\040\000-\000\040\000M\000a\000r\000t\000h\000a}{section.13}% 22
\BOOKMARK [2][]{subsection.13.4}{\376\377\0001\0003\000.\0004\000\040\000"\000C\000e\000n\000s\000o\000r\000e\000d\000\040\000J\000o\000u\000r\000n\000a\000l\000i\000s\000t\000"\000\040\000u\000s\000e\000r\000\040\000s\000t\000o\000r\000y\000\040\000-\000\040\000B\000i\000l\000l\000y}{section.13}% 23
\BOOKMARK [1][]{section.14}{\376\377\0001\0004\000\040\000S\000p\000e\000c\000i\000a\000l\000\040\000T\000h\000a\000n\000k\000s}{}% 24
\BOOKMARK [1][]{section.15}{\376\377\0001\0005\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e\000s}{}% 25

BIN
whitepaper/btch/protocol.pdf

Binary file not shown.

85
whitepaper/btch/protocol.run.xml

@ -0,0 +1,85 @@
<?xml version="1.0" standalone="yes"?>
<!-- logreq request file -->
<!-- logreq version 1.0 / dtd version 1.0 -->
<!-- Do not edit this file! -->
<!DOCTYPE requests [
<!ELEMENT requests (internal | external)*>
<!ELEMENT internal (generic, (provides | requires)*)>
<!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)>
<!ELEMENT cmdline (binary, (option | infile | outfile)*)>
<!ELEMENT input (file)+>
<!ELEMENT output (file)+>
<!ELEMENT provides (file)+>
<!ELEMENT requires (file)+>
<!ELEMENT generic (#PCDATA)>
<!ELEMENT binary (#PCDATA)>
<!ELEMENT option (#PCDATA)>
<!ELEMENT infile (#PCDATA)>
<!ELEMENT outfile (#PCDATA)>
<!ELEMENT file (#PCDATA)>
<!ATTLIST requests
version CDATA #REQUIRED
>
<!ATTLIST internal
package CDATA #REQUIRED
priority (9) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST external
package CDATA #REQUIRED
priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST provides
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST requires
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST file
type CDATA #IMPLIED
>
]>
<requests version="1.0">
<internal package="biblatex" priority="9" active="0">
<generic>latex</generic>
<provides type="dynamic">
<file>protocol.bcf</file>
</provides>
<requires type="dynamic">
<file>protocol.bbl</file>
</requires>
<requires type="static">
<file>blx-dm.def</file>
<file>blx-compat.def</file>
<file>biblatex_.def</file>
<file>alphabetic.bbx</file>
<file>standard.bbx</file>
<file>alphabetic.cbx</file>
<file>biblatex.cfg</file>
<file>english.lbx</file>
</requires>
</internal>
<external package="biblatex" priority="5" active="0">
<generic>biber</generic>
<cmdline>
<binary>biber</binary>
<infile>protocol</infile>
</cmdline>
<input>
<file>protocol.bcf</file>
</input>
<output>
<file>protocol.bbl</file>
</output>
<provides type="dynamic">
<file>protocol.bbl</file>
</provides>
<requires type="dynamic">
<file>protocol.bcf</file>
</requires>
<requires type="editable">
<file>hush.bib</file>
</requires>
</external>
</requests>

1176
whitepaper/btch/protocol.tex

File diff suppressed because it is too large

51
whitepaper/btch/protocol.toc

@ -0,0 +1,51 @@
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax
\defcounter {refsection}{0}\relax
\contentsline {section}{\relax \fontsize {14.4}{18}\selectfont Contents\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{1}{section*.1}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {1}Introduction\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{3}{section.1}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.1}High-level Overview\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{3}{subsection.1.1}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {1.2}Types Of Transactions\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{3}{subsection.1.2}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {2}Design of \textbf {HushList}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{4}{section.2}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {3}Reference Implementation\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{4}{section.3}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {4}Account Funding\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{section.4}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {5}\textbf {HushList}\xspace Contacts\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{section.5}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {6}\textbf {HushList}\xspace Creation\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{section.6}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {6.1}Private \textbf {HushLists}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{subsection.6.1}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {6.2}Multi-Chain Private \textbf {HushLists}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{5}{subsection.6.2}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {6.3}Public \textbf {HushLists}\xspace \rule [-.2\baselineskip ]{0pt}{\baselineskip }}{6}{subsection.6.3}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {7}List Subscription\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{6}{section.7}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {8}Sending To A List\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.8}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {9}Receiving Messages\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.9}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {10}Costs\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.10}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {11}Examples\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{7}{section.11}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {12}Metadata Analysis\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{8}{section.12}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {13}User Stories\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{8}{section.13}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {13.1}"Pen Name" user story - Amanda\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{8}{subsection.13.1}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {13.2}"Security Researcher" user story - Gordon\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{subsection.13.2}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {13.3}"Whisteblower" user story - Martha\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{subsection.13.3}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\numberline {13.4}"Censored Journalist" user story - Billy\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{subsection.13.4}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {14}Special Thanks\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{section.14}
\defcounter {refsection}{0}\relax
\contentsline {section}{\numberline {15}References\rule [-.2\baselineskip ]{0pt}{\baselineskip }}{9}{section.15}

1
whitepaper/btch/protocol.ver

@ -0,0 +1 @@
\renewcommand{\docversion}{Version }

BIN
whitepaper/protocol.pdf

Binary file not shown.

48
whitepaper/protocol.tex

@ -82,7 +82,7 @@
\newlist{formulae}{itemize}{3}
\setlist[formulae]{itemsep=0.2ex,topsep=0ex,leftmargin=1.5em,label=,after=\vspace{1.5ex}}
\newcommand{\docversion}{Pre-Relase Version}
\newcommand{\docversion}{Pre-Release Version}
\newcommand{\termbf}[1]{\textbf{#1}\xspace}
\newcommand{\Hushlist}{\termbf{HushList}}
\newcommand{\HushList}{\termbf{HushList}}
@ -180,8 +180,9 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\ZEN}{\termbf{ZEN}}
\newcommand{\ZCL}{\termbf{ZCL}}
\newcommand{\KMD}{\termbf{KMD}}
\newcommand{\BTCH}{\termbf{BTCH}}
\newcommand{\BTCP}{\termbf{BTCP}}
\newcommand{\ZGLD}{\termbf{ZGLD}}
\newcommand{\ZAU}{\termbf{ZAU}}
\newcommand{\HUSH}{\termbf{HUSH}}
\newcommand{\zatoshi}{\term{zatoshi}}
\newcommand{\puposhi}{\term{puposhi}}
@ -775,7 +776,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\HushList is a protocol for mailing lists using the encrypted memo
field of the \Zcash protocol. It supports anonymous and pseudonymous senders, anonymous receivers and Hushlist creators, as
well as public and private lists. The HushList protocol can run on any fork of \Zcash that has a compatible memo field, though certain advanced features might not be fully supported
on all chains. HushList is developed and tested on the Hush mainnet and testnets and is designed to run on any \ZEC fork including but not limited to \HUSH, \KMD, \ZCL, \ZEN and the upcoming \BTCP and \ZGLD forks.
on all chains. HushList is developed and tested on the Hush mainnet and testnets and is designed to run on any \ZEC code fork including but not limited to \HUSH, \KMD, \ZCL, \ZEN and the upcoming \BTCP and \ZAU forks. HushList is also compatible with Bitcoin Hush \BTCH, which is a \KMD asset chain.
In addition to the above properties, \HushList provides users with censorship-resistant
storage and retrieval, since every \Hush full node will have an encrypted copy of every
@ -997,7 +998,8 @@ cryptocoin and the password field is the network, i.e.
hushlist://COIN:NETWORK@K
COIN can be the currency symbol of a compatible cryptocoin such as
HUSH (Hush) , KMD (Komodo) , ZEC (Zcash), ZCL (Zcash Classic), ZEN (ZenCash) and potentially BTCP (Bitcoin Private).
\HUSH (Hush) , \KMD (Komodo) , \ZEC (Zcash), \ZCL (ZClassic), \ZEN (ZenCash)
or \BTCH (Bitcoin Hush).
NETWORK is will often be "mainnet" but this schema allows
for the very real use case of developers iterating through various testnets and
@ -1007,12 +1009,31 @@ K is the base58-formatted PRIVATE KEY as returned by the \textbf{dumpprivkey} RP
When COIN and NETWORK are omitted, they default to HUSH and "mainnet" respectively, so
hushlist://K
\textbf{hushlist://K}
is equivalent to
hushlist://HUSH:mainnet@K
\textbf{hushlist://HUSH:mainnet@K}
Additionally, URL parameters can be used to speficify a nickname and fee for the list to be imported:
\textbf{hushlist://HUSH:mainnet@K?n=nickname\&fee=X\&height=N}
The nickname and fee are just suggestions and the user \MUST be able to modify them before importing the list.
The height is actually for performance reasons, and helps the local avoid scanning the entire history of the
blockchain for transactions.
The first public HushList can be uniquely identified by the following URL
\textbf{hushlist://SKxqPjNKvcfpmBpR8daQHNj4DoMfKmaPiVcT3A3YPynZNYXoDoaq}
For performance reasons, we can help each node skip over 200,000 blocks filled
with transactions by specfying the minimum block height for z\_importkey to look in. This more
performant URL is:
\textbf{hushlist://SKxqPjNKvcfpmBpR8daQHNj4DoMfKmaPiVcT3A3YPynZNYXoDoaq?height=215683}
This HushList contains the first HushList memo, described in the sections below.
\nsection{Sending To A List}
@ -1133,7 +1154,20 @@ Of course Amanda is free to never reveal her identity and remain a psuedonym ind
Amanda needs to be concerned about her IP address being tied to $ t_A $ by a passive network attacker who records the Internet and is encouraged to use a proxy, Tor or other means depending on risk and operational security needs.
"Oppressed Minority" user story - Francesca and Nicolau
\nsubsection{Last Will And Testament User Story - Xerxes}
Xerxes would like to store a copy of their Last Will And Testament in multiple secure locations, where they cannot be lost nor destroyed by parties that would benefit
from the destruction of the Will.
Xerxes can use HushList protocol to store their will in many different blockchains, in the hopes that at least one will survive longer than him, and to prevent
censorship if he only stored the data on one chain. Xerxes can choose to additionally make the will public initially, or after some time period, or only leave
instructions for retreiving the will with executors of their Estate.
This use case also supports the continual updating of a Will, and provides a record of all the changes to a will, with timestamps and cryptographic certainty.
This record can be verified by any and all exectuors, with or without making the records public. Indeed, a public HushList can be used to provide instructions
and the actual Will, and newer memos to that list are public proof that the person has changed their Will.
\nsubsection{"Oppressed Minority" user story - Francesca and Nicolau}
Francesca and Nicalau live in a place where their local religion/government/organization is oppressed by a larger religion/government/organication that controls everything around them, yet they still want to safely communicate.

Loading…
Cancel
Save