\documentclass[10pt]{article}

\usepackage{fullpage}
\usepackage{CJKutf8} 
\usepackage[utf8]{inputenc}
\usepackage{setspace}
\usepackage{parskip}
\usepackage{titlesec}
\usepackage[section]{placeins}
\usepackage{xcolor}
\usepackage{breakcites}
\usepackage{lineno}
\usepackage{hyphenat}





\PassOptionsToPackage{hyphens}{url}
\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@combinedblfloats{\box\@outputbox}{\unvbox\@outputbox}{}{%
  \errmessage{\noexpand\@combinedblfloats could not be patched}%
}%
\makeatother


\usepackage{natbib}




\renewenvironment{abstract}
  {{\bfseries\noindent{\abstractname}\par\nobreak}\footnotesize}
  {\bigskip}

\titlespacing{\section}{0pt}{*3}{*1}
\titlespacing{\subsection}{0pt}{*2}{*0.5}
\titlespacing{\subsubsection}{0pt}{*1.5}{0pt}


\usepackage{authblk}


\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{latexsym}
\usepackage{textcomp}
\usepackage{longtable}
\usepackage{tabulary}
\usepackage{booktabs,array,multirow}
\usepackage{amsfonts,amsmath,amssymb}
\providecommand\citet{\cite}
\providecommand\citep{\cite}
\providecommand\citealt{\cite}
% You can conditionalize code for latexml or normal latex using this.
\newif\iflatexml\latexmlfalse
\providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}%

\AtBeginDocument{\DeclareGraphicsExtensions{.pdf,.PDF,.eps,.EPS,.png,.PNG,.tif,.TIF,.jpg,.JPG,.jpeg,.JPEG}}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}



\usepackage{float}








\begin{document}
\begin{CJK}{UTF8}{gbsn}

\title{BlockCompass: A benchmarking platform for blockchain performance}



\author[1]{Mohammadreza Rasolroveicy}%
\author[1]{Wejdene Haouari}%
\author[1]{Marios Fokaefs}%
\affil[1]{Affiliation not available}%


\vspace{-1em}



  
  \date{May 08, 2026}


\begingroup
\let\center\flushleft
\let\endcenter\endflushleft
\maketitle
\endgroup





\selectlanguage{english}
\begin{abstract}
Blockchain technology has gained momentum due to its immutability and
transparency. Several blockchain platforms, each with different
consensus protocols, have been proposed. However, choosing and
configuring such a platform is a non-trivial task. Numerous benchmarking
tools have been introduced to test the performance of blockchain
solutions. Yet, these tools are often limited to specific blockchain
platforms or require complex configurations. Moreover, they tend to
focus on one-off batch evaluation models, which may not be ideal for
longer-running instances under continuous workloads. In this work, we
present BlockCompass, an all-inclusive blockchain benchmarking tool that
can be easily configured and extended. We demonstrate how BlockCompass
can evaluate the performance of various blockchain platforms and
configurations, including Ethereum Proof-of-Authority, Ethereum
Proof-of-Work, Hyperledger Fabric Raft, Hyperledger Sawtooth with
Proof-of-Elapsed-Time, Practical Byzantine Fault Tolerance, and Raft
consensus algorithms, against workloads that continuously fluctuate over
time. We show how continuous transactional workloads may be more
appropriate than batch workloads in capturing certain stressful events
for the system. Finally, we present the results of a usability study
about the convenience and effectiveness offered by BlockCompass in
blockchain benchmarking.%
\end{abstract}%



\sloppy




\selectlanguage{english}
\FloatBarrier
\end{CJK}\end{document}

