github.com/aakash4dev/cometbft@v0.38.2/spec/consensus/consensus-paper/paper.tex (about) 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 9 10 11 % *** GRAPHICS RELATED PACKAGES *** 12 % 13 \ifCLASSINFOpdf 14 \else 15 \fi 16 17 % correct bad hyphenation here 18 \hyphenation{op-tical net-works semi-conduc-tor} 19 20 %\usepackage[caption=false,font=footnotesize]{subfig} 21 \usepackage{tikz} 22 \usetikzlibrary{decorations,shapes,backgrounds,calc} 23 \tikzstyle{msg}=[->,black,>=latex] 24 \tikzstyle{rubber}=[|<->|] 25 \tikzstyle{announce}=[draw=blue,fill=blue,shape=diamond,right,minimum 26 height=2mm,minimum width=1.6667mm,inner sep=0pt] 27 \tikzstyle{decide}=[draw=red,fill=red,shape=isosceles triangle,right,minimum 28 height=2mm,minimum width=1.6667mm,inner sep=0pt,shape border rotate=90] 29 \tikzstyle{cast}=[draw=green!50!black,fill=green!50!black,shape=circle,left,minimum 30 height=2mm,minimum width=1.6667mm,inner sep=0pt] 31 32 33 \usepackage{multirow} 34 \usepackage{graphicx} 35 \usepackage{epstopdf} 36 \usepackage{amssymb} 37 \usepackage{rounddiag} 38 \graphicspath{{../}} 39 40 \usepackage{technote} 41 \usepackage{homodel} 42 \usepackage{enumerate} 43 %%\usepackage{ulem}\normalem 44 45 % to center caption 46 \usepackage{caption} 47 48 \newcommand{\textstretch}{1.4} 49 \newcommand{\algostretch}{1} 50 \newcommand{\eqnstretch}{0.5} 51 52 \newconstruct{\FOREACH}{\textbf{for each}}{\textbf{do}}{\ENDFOREACH}{} 53 54 %\newconstruct{\ON}{\textbf{on}}{\textbf{do}}{\ENDON}{\textbf{end on}} 55 \newcommand\With{\textbf{while}} 56 \newcommand\From{\textbf{from}} 57 \newcommand\Broadcast{\textbf{broadcast}} 58 \newcommand\PBroadcast{send} 59 \newcommand\UpCall{\textbf{UpCall}} 60 \newcommand\DownCall{\textbf{DownCall}} 61 \newcommand \Call{\textbf{Call}} 62 \newident{noop} 63 \newconstruct{\UPON}{\textbf{upon}}{\textbf{do}}{\ENDUPON}{} 64 65 66 67 \newcommand{\abcast}{\mathsf{to\mbox{\sf-}broadcast}} 68 \newcommand{\adeliver}{\mathsf{to\mbox{\sf-}deliver}} 69 70 \newcommand{\ABCAgreement}{\emph{TO-Agreement}} 71 \newcommand{\ABCIntegrity}{\emph{TO-Integrity}} 72 \newcommand{\ABCValidity}{\emph{TO-Validity}} 73 \newcommand{\ABCTotalOrder}{\emph{TO-Order}} 74 \newcommand{\ABCBoundedDelivery}{\emph{TO-Bounded Delivery}} 75 76 77 \newcommand{\tabc}{\mathit{atab\mbox{\sf-}cast}} 78 \newcommand{\anno}{\mathit{atab\mbox{\sf-}announce}} 79 \newcommand{\abort}{\mathit{atab\mbox{\sf-}abort}} 80 \newcommand{\tadel}{\mathit{atab\mbox{\sf-}deliver}} 81 82 \newcommand{\ATABAgreement}{\emph{ATAB-Agreement}} 83 \newcommand{\ATABAbort}{\emph{ATAB-Abort}} 84 \newcommand{\ATABIntegrity}{\emph{ATAB-Integrity}} 85 \newcommand{\ATABValidity}{\emph{ATAB-Validity}} 86 \newcommand{\ATABAnnounce}{\emph{ATAB-Announcement}} 87 \newcommand{\ATABTermination}{\emph{ATAB-Termination}} 88 %\newcommand{\ATABFastAnnounce}{\emph{ATAB-Fast-Announcement}} 89 90 %% Command for observations. 91 \newtheorem{observation}{Observation} 92 93 94 %% HO ALGORITHM DEFINITIONS 95 \newconstruct{\FUNCTION}{\textbf{Function}}{\textbf{:}}{\ENDFUNCTION}{} 96 97 %% Uncomment the following four lines to remove remarks and visible traces of 98 %% modifications in the document 99 %%\renewcommand{\sout}[1]{\relaxx} 100 %%\renewcommand{\uline}[1]{#1} 101 %% \renewcommand{\uwave}[1]{#1} 102 \renewcommand{\note}[2][default]{\relax} 103 104 105 %% The following commands can be used to generate TR or Conference version of the paper 106 \newcommand{\tr}[1]{} 107 \renewcommand{\tr}[1]{#1} 108 \newcommand{\onlypaper}[1]{#1} 109 %\renewcommand{\onlypaper}[1]{} 110 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 111 %\pagestyle{plain} 112 %\pagestyle{empty} 113 114 %% IEEE tweaks 115 %\setlength{\IEEEilabelindent}{.5\parindent} 116 %\setlength{\IEEEiednormlabelsep}{.5\parindent} 117 118 \begin{document} 119 % 120 % paper title 121 % can use linebreaks \\ within to get better formatting as desired 122 \title{The latest gossip on BFT consensus\vspace{-0.7\baselineskip}} 123 124 125 126 \author{\IEEEauthorblockN{\large Ethan Buchman, Jae Kwon and Zarko Milosevic\\} 127 \IEEEauthorblockN{\large Tendermint}\\ 128 %\\\vspace{-0.5\baselineskip} 129 \IEEEauthorblockN{September 24, 2018} 130 } 131 132 % make the title area 133 \maketitle 134 \vspace*{0.5em} 135 136 \begin{abstract} 137 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. 138 \end{abstract} 139 140 %\noindent \textbf{Keywords:} Blockchain, Byzantine Fault Tolerance, State Machine %Replication 141 142 \input{intro} 143 \input{definitions} 144 \input{consensus} 145 \input{proof} 146 \input{conclusion} 147 148 \bibliographystyle{IEEEtran} 149 \bibliography{lit} 150 151 %\appendix 152 153 \end{document}