From 0a1574fe49d66a7db3316184d8948351c47506af Mon Sep 17 00:00:00 2001
From: Andrew Chow <achow101-github@achow101.com>
Date: Wed, 11 Jul 2018 15:46:56 -0700
Subject: BIP 174 workflow graphics

---
 bip-0174/multisig-workflow.tex | 102 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)
 create mode 100644 bip-0174/multisig-workflow.tex

(limited to 'bip-0174/multisig-workflow.tex')

diff --git a/bip-0174/multisig-workflow.tex b/bip-0174/multisig-workflow.tex
new file mode 100644
index 0000000..2b8744d
--- /dev/null
+++ b/bip-0174/multisig-workflow.tex
@@ -0,0 +1,102 @@
+% 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}
+%\pgfdeclarelayer{bg}    % declare background layer
+%\pgfsetlayers{bg,main}  % set order of layers
+\newcommand{\h}{\hspace{1em}}
+\begin{document}
+%  \sffamily{}
+  \tikzstyle{block_center}	=
+	[rectangle, draw=black, thick, fill=white,
+	  text width=10.5em, text centered,
+	  minimum height=1em]
+  \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=2.5ex]{
+      \h &
+      \node [block_center] (R1)
+      {Alice, Bob and Carol
+      wish to spend from a
+      2-of-3 Multisig.};
+      & \h \\
+      \h &
+      \node [block_center] (R2)
+      {Alice uses a full node
+      to create a PSBT with
+      all input UTXOs filled in.};
+      & \h \\
+      \h &
+      \node [block_center] (R3)
+      {PSBT distributed.};
+      & \h \\
+      \node [block_center] (R4C1)
+      {Alice signs the
+      PSBT with her wallet.};
+      &
+      \node [block_center] (R4C2)
+      {Bob signs the PSBT
+      with his SPV wallet.};
+      &
+      \node [block_center] (R4C3)
+      {Carol signs the PSBT
+      with a completely
+      offline signing machine.};
+      \\
+      %~ \h & \node (blind) & \h \\
+      \h &
+	  \node [block_center] (R5)
+      {PSBTs are returned
+      to Alice.};
+      & \h \\
+      \h &
+	  \node [block_center] (R6)
+      {Alices combines the
+      PSBTs. All inputs now
+      have 3 signatures.};
+      & \h \\
+      \h &
+	  \node [block_center] (R7)
+      {Alice finalizes the PSBT
+      by creating each input's
+      final scriptSig. One signature
+      for each input is dropped.};
+      & \h \\
+	  \h &
+      \node [block_rounded] (stop)
+      {Alice extracts the network
+      serialized transaction and
+      broadcasts it to the network.};
+      & \h \\
+    };% end matrix
+    % connecting nodes with paths
+%    \begin{pgfonlayer}{bg}
+    \draw[line width = 1pt, ->]
+      (R1) edge (R2)
+      (R2) edge (R3)
+      (R3) -| (R4C1)
+      (R3) edge (R4C2)
+      (R5) edge (R6)
+      (R6) edge (R7)
+      (R7) edge (stop);
+      % circumvent missing arrow
+      \draw[line width = 1pt, ->]
+      (R4C1) |-+(0,-2.2em)-| (R5)
+      (R4C2) edge (R5)
+      (R4C3) |-+(0,-2.2em)-| (R5)
+      (R3) -| (R4C3);
+%      \end{pgfonlayer}
+  \end{tikzpicture}
+\end{document}
-- 
cgit v1.2.3

