% using the PGF/TikZ package with pdflatex
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%~ \usepackage[english]{babel}
\usepackage[none]{hyphenat}% prevent hyphenation
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\tikzset{>=latex}
\begin{document}
%  \sffamily{}
  \tikzstyle{block_center}	=
	[rectangle, draw=black, thick, fill=white,
	  text width=12em, text centered,
	  minimum height=5em]
  \tikzstyle{block_rounded}	= [rectangle,
      draw=black, thick, fill=white,
      text width=8em, text centered,
      minimum height=5em,
      rounded corners]
  \begin{tikzpicture}[auto]
    % outlining the flowchart on a grid
    \matrix[column sep=3ex,row sep=2ex]{
      \node [block_center] (0alice1)
      {Alice creates a PSBT with only her inputs
      with UTXOs filled in.\\Sends it to Bob.};
      &
      \node [block_center] (1bob1)
      {Bob adds his inputs and fills in his
      UTXOs.};
      &
      \node [block_center] (2carol1)
      {Carol adds her inputs, fills in her
      UTXOs, adds signatures, and finalizes her inputs.};
      \\
      \node [block_rounded] (5alice2)
      {Alice extracts the network serialized
      transaction and broadcasts it.};
      &
      \node [block_center] (4alice1)
      {Alice signs the transaction, adds her
      signatures, and finalizes her inputs.};
      &
      \node [block_center] (3bob2)
      {Bob signs the transaction, adds his
      signatures, and finalizes his inputs.};
      \\
    };% end matrix
    % connecting nodes with paths
    \draw[line width = 1pt, ->]
      (0alice1) edge (1bob1)
      (1bob1) edge (2carol1)
      (2carol1) edge (3bob2)
      (3bob2) edge (4alice1)
      (4alice1) edge (5alice2);
  \end{tikzpicture}
\end{document}
