summaryrefslogtreecommitdiff
path: root/bip-0174/coinjoin-workflow.tex
blob: a325321ae4b088ef97fd87de4c26877ffaaa2c4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
% 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.meta}
\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=3ex]{
      \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 [ultra thick, draw=black, -{Stealth[length=8pt]}]
      (0alice1) edge (1bob1)
      (1bob1) edge (2carol1)
      (2carol1) edge (3bob2)
      (3bob2) edge (4alice1)
      (4alice1) edge (5alice2);
    \draw [thin, white, -{Stealth[color=black, fill=white, length=8pt]}]
      (0alice1) edge (1bob1)
      (1bob1) edge (2carol1)
      (2carol1) edge (3bob2)
      (3bob2) edge (4alice1)
      (4alice1) edge (5alice2);
  \end{tikzpicture}
\end{document}