You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
4.9 KiB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
  1. %\documentclass[conference]{IEEEtran}
  2. \documentclass[conference,onecolumn,draft,a4paper]{IEEEtran}
  3. % Add the compsoc option for Computer Society conferences.
  4. %
  5. % If IEEEtran.cls has not been installed into the LaTeX system files,
  6. % manually specify the path to it like:
  7. % \documentclass[conference]{../sty/IEEEtran}
  8. % *** GRAPHICS RELATED PACKAGES ***
  9. %
  10. \ifCLASSINFOpdf
  11. \else
  12. \fi
  13. % correct bad hyphenation here
  14. \hyphenation{op-tical net-works semi-conduc-tor}
  15. %\usepackage[caption=false,font=footnotesize]{subfig}
  16. \usepackage{tikz}
  17. \usetikzlibrary{decorations,shapes,backgrounds,calc}
  18. \tikzstyle{msg}=[->,black,>=latex]
  19. \tikzstyle{rubber}=[|<->|]
  20. \tikzstyle{announce}=[draw=blue,fill=blue,shape=diamond,right,minimum
  21. height=2mm,minimum width=1.6667mm,inner sep=0pt]
  22. \tikzstyle{decide}=[draw=red,fill=red,shape=isosceles triangle,right,minimum
  23. height=2mm,minimum width=1.6667mm,inner sep=0pt,shape border rotate=90]
  24. \tikzstyle{cast}=[draw=green!50!black,fill=green!50!black,shape=circle,left,minimum
  25. height=2mm,minimum width=1.6667mm,inner sep=0pt]
  26. \usepackage{multirow}
  27. \usepackage{graphicx}
  28. \usepackage{epstopdf}
  29. \usepackage{amssymb}
  30. \usepackage{rounddiag}
  31. \graphicspath{{../}}
  32. \usepackage{technote}
  33. \usepackage{homodel}
  34. \usepackage{enumerate}
  35. %%\usepackage{ulem}\normalem
  36. % to center caption
  37. \usepackage{caption}
  38. \newcommand{\textstretch}{1.4}
  39. \newcommand{\algostretch}{1}
  40. \newcommand{\eqnstretch}{0.5}
  41. \newconstruct{\FOREACH}{\textbf{for each}}{\textbf{do}}{\ENDFOREACH}{}
  42. %\newconstruct{\ON}{\textbf{on}}{\textbf{do}}{\ENDON}{\textbf{end on}}
  43. \newcommand\With{\textbf{while}}
  44. \newcommand\From{\textbf{from}}
  45. \newcommand\Broadcast{\textbf{broadcast}}
  46. \newcommand\PBroadcast{send}
  47. \newcommand\UpCall{\textbf{UpCall}}
  48. \newcommand\DownCall{\textbf{DownCall}}
  49. \newcommand \Call{\textbf{Call}}
  50. \newident{noop}
  51. \newconstruct{\UPON}{\textbf{upon}}{\textbf{do}}{\ENDUPON}{}
  52. \newcommand{\abcast}{\mathsf{to\mbox{\sf-}broadcast}}
  53. \newcommand{\adeliver}{\mathsf{to\mbox{\sf-}deliver}}
  54. \newcommand{\ABCAgreement}{\emph{TO-Agreement}}
  55. \newcommand{\ABCIntegrity}{\emph{TO-Integrity}}
  56. \newcommand{\ABCValidity}{\emph{TO-Validity}}
  57. \newcommand{\ABCTotalOrder}{\emph{TO-Order}}
  58. \newcommand{\ABCBoundedDelivery}{\emph{TO-Bounded Delivery}}
  59. \newcommand{\tabc}{\mathit{atab\mbox{\sf-}cast}}
  60. \newcommand{\anno}{\mathit{atab\mbox{\sf-}announce}}
  61. \newcommand{\abort}{\mathit{atab\mbox{\sf-}abort}}
  62. \newcommand{\tadel}{\mathit{atab\mbox{\sf-}deliver}}
  63. \newcommand{\ATABAgreement}{\emph{ATAB-Agreement}}
  64. \newcommand{\ATABAbort}{\emph{ATAB-Abort}}
  65. \newcommand{\ATABIntegrity}{\emph{ATAB-Integrity}}
  66. \newcommand{\ATABValidity}{\emph{ATAB-Validity}}
  67. \newcommand{\ATABAnnounce}{\emph{ATAB-Announcement}}
  68. \newcommand{\ATABTermination}{\emph{ATAB-Termination}}
  69. %\newcommand{\ATABFastAnnounce}{\emph{ATAB-Fast-Announcement}}
  70. %% Command for observations.
  71. \newtheorem{observation}{Observation}
  72. %% HO ALGORITHM DEFINITIONS
  73. \newconstruct{\FUNCTION}{\textbf{Function}}{\textbf{:}}{\ENDFUNCTION}{}
  74. %% Uncomment the following four lines to remove remarks and visible traces of
  75. %% modifications in the document
  76. %%\renewcommand{\sout}[1]{\relaxx}
  77. %%\renewcommand{\uline}[1]{#1}
  78. %% \renewcommand{\uwave}[1]{#1}
  79. \renewcommand{\note}[2][default]{\relax}
  80. %% The following commands can be used to generate TR or Conference version of the paper
  81. \newcommand{\tr}[1]{}
  82. \renewcommand{\tr}[1]{#1}
  83. \newcommand{\onlypaper}[1]{#1}
  84. %\renewcommand{\onlypaper}[1]{}
  85. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  86. %\pagestyle{plain}
  87. %\pagestyle{empty}
  88. %% IEEE tweaks
  89. %\setlength{\IEEEilabelindent}{.5\parindent}
  90. %\setlength{\IEEEiednormlabelsep}{.5\parindent}
  91. \begin{document}
  92. %
  93. % paper title
  94. % can use linebreaks \\ within to get better formatting as desired
  95. \title{The latest gossip on BFT consensus\vspace{-0.7\baselineskip}}
  96. \author{\IEEEauthorblockN{\large Ethan Buchman, Jae Kwon and Zarko Milosevic\\}
  97. \IEEEauthorblockN{\large Tendermint}\\
  98. %\\\vspace{-0.5\baselineskip}
  99. \IEEEauthorblockN{September 24, 2018}
  100. }
  101. % make the title area
  102. \maketitle
  103. \vspace*{0.5em}
  104. \begin{abstract}
  105. This paper presents Tendermint, a new protocol for ordering events in a distributed network under adversarial conditions. More commonly known as Byzantine Fault Tolerant (BFT) consensus or atomic broadcast, the problem has attracted significant attention in recent years due to the widespread success of blockchain-based digital currencies, such as Bitcoin and Ethereum, which successfully solved the problem in a public setting without a central authority. Tendermint modernizes classic academic work on the subject and simplifies the design of the BFT algorithm by relying on a peer-to-peer gossip protocol among nodes.
  106. \end{abstract}
  107. %\noindent \textbf{Keywords:} Blockchain, Byzantine Fault Tolerance, State Machine %Replication
  108. \input{intro}
  109. \input{definitions}
  110. \input{consensus}
  111. \input{proof}
  112. \input{conclusion}
  113. \bibliographystyle{IEEEtran}
  114. \bibliography{lit}
  115. %\appendix
  116. \end{document}