gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-marketing] branch master updated: more slides


From: gnunet
Subject: [taler-marketing] branch master updated: more slides
Date: Fri, 15 Jan 2021 11:35:54 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository marketing.

The following commit(s) were added to refs/heads/master by this push:
     new 4525b5c  more slides
4525b5c is described below

commit 4525b5c5d0ce6607d2ee96b3f709ff68da3c70c3
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Fri Jan 15 11:35:52 2021 +0100

    more slides
---
 presentations/bank/bank.tex         |  89 ++++--
 presentations/bank/db-full.pdf      | Bin 0 -> 12103 bytes
 presentations/bank/db-full.svg      | 594 ++++++++++++++++++++++++++++++++++++
 presentations/bank/lunch.tex        | 574 ++++++++++++++++++++++++++++++++++
 presentations/bank/replication.pdf  | Bin 0 -> 10251 bytes
 presentations/bank/replication.svg  | 427 ++++++++++++++++++++++++++
 presentations/bank/replication2.pdf | Bin 0 -> 9966 bytes
 presentations/bank/replication2.svg | 384 +++++++++++++++++++++++
 8 files changed, 2039 insertions(+), 29 deletions(-)

diff --git a/presentations/bank/bank.tex b/presentations/bank/bank.tex
index a325c8b..5f4cb83 100644
--- a/presentations/bank/bank.tex
+++ b/presentations/bank/bank.tex
@@ -346,7 +346,7 @@ of the Taler Wire Gateway exist:
 \begin{frame}{LibEuFin}
   LibEuFin is a standalone project that provides adapters to bank account
   access APIs.
-  
+
   \begin{itemize}
     \item LibEuFin provides both a generic access layer and an
       implementation of the Taler Wire Gateway API for the exchange
@@ -709,43 +709,54 @@ Once everyone is happy with Beta, move to production.
 
 \begin{frame}[fragile]{Debian Installation Overview (1/3)}
 Recommended {\tt /etc/apt/preferences}:
-  \begin{verbatim}
-   Package: *
-   Pin: release a=stable
-   Pin-Priority: 700
-
-   Package: *
-   Pin: release a=testing
-   Pin-Priority: 650
-
-   Package: *
-   Pin: release a=unstable
-   Pin-Priority: 600
 
-   Package: *
-   Pin: release l=Debian-Security
-   Pin-Priority: 1000
-   \end{verbatim}
+{\tiny
+\begin{verbatim}
+Package: *
+Pin: release a=stable
+Pin-Priority: 700
+
+Package: *
+Pin: release a=testing
+Pin-Priority: 650
+
+Package: *
+Pin: release a=unstable
+Pin-Priority: 600
+
+Package: *
+Pin: release l=Debian-Security
+Pin-Priority: 1000
+\end{verbatim}
+}
 \end{frame}
 
 \begin{frame}[fragile]{Debian Installation Overview (2/3)}
+\noindent
 Recommended {\tt /etc/apt/sources.list}:
-  \begin{verbatim}
-   deb http://ftp.ch.debian.org/debian/ buster main
-   deb http://security.debian.org/debian-security buster/updates main
-   deb http://ftp.ch.debian.org/debian/ testing main
-   deb http://ftp.ch.debian.org/debian/ unstable main
-   deb https://deb.taler.net/apt/debian sid main
-  \end{verbatim}
+
+{\tiny
+\begin{verbatim}
+deb http://ftp.ch.debian.org/debian/ buster main
+deb http://security.debian.org/debian-security buster/updates main
+deb http://ftp.ch.debian.org/debian/ testing main
+deb http://ftp.ch.debian.org/debian/ unstable main
+deb https://deb.taler.net/apt/debian sid main
+\end{verbatim}
+}
 \end{frame}
 
 \begin{frame}[fragile]{Debian Installation Overview (3/3)}
+\noindent
 Key import and installation:
-  \begin{verbatim}
-   # wget -O - https://taler.net/taler-systems.gpg.key | apt-sign add -
-   # apt update
-   # apt install taler-exchange
- \end{verbatim}
+
+{\tiny
+\begin{verbatim}
+# wget -O - https://taler.net/taler-systems.gpg.key | apt-sign add -
+# apt update
+# apt install taler-exchange
+\end{verbatim}
+}
 \end{frame}
 
 
@@ -758,6 +769,26 @@ Key import and installation:
 \end{frame}
 
 
+\begin{frame}{Database setup}
+\begin{center}
+\includegraphics[width=\textwidth]{replication.pdf}
+\end{center}
+\end{frame}
+
+\begin{frame}{Simplified database setup}
+\begin{center}
+\includegraphics[width=\textwidth]{replication2.pdf}
+\end{center}
+\end{frame}
+
+\begin{frame}{Database setup with Nexus}
+\begin{center}
+\includegraphics[width=\textwidth]{db-full.pdf}
+\end{center}
+\end{frame}
+
+
+
 
 
 \section{Integration}
diff --git a/presentations/bank/db-full.pdf b/presentations/bank/db-full.pdf
new file mode 100644
index 0000000..4896321
Binary files /dev/null and b/presentations/bank/db-full.pdf differ
diff --git a/presentations/bank/db-full.svg b/presentations/bank/db-full.svg
new file mode 100644
index 0000000..b17c3cd
--- /dev/null
+++ b/presentations/bank/db-full.svg
@@ -0,0 +1,594 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   id="SVGRoot"
+   version="1.1"
+   viewBox="0 0 297.0 210.0"
+   height="210.0mm"
+   width="297.0mm"
+   inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+   sodipodi:docname="db-full.svg">
+  <defs
+     id="defs1461">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible"
+       id="Arrow1Lstart"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lstart">
+      <path
+         transform="scale(0.8) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path1435" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker1355"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path1353" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1285"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1283"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker1171"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path1169" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2714"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path2712"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2662"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2660" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2616"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2614"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2576"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2574" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2542"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2540"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2514"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend"
+       inkscape:collect="always">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2512" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true"
+       inkscape:collect="always">
+      <path
+         id="path2237"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <rect
+       x="264.57466"
+       y="120.19322"
+       width="4.5762249"
+       height="3.9007863"
+       id="rect2196" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.979899"
+     inkscape:cx="593.09972"
+     inkscape:cy="322.52626"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     inkscape:document-rotation="0"
+     showgrid="false"
+     inkscape:window-width="3840"
+     inkscape:window-height="2086"
+     inkscape:window-x="3840"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata1464">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g2110"
+       transform="translate(38.949627,46.304883)">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,41.870798,24.492858)"
+         id="g890">
+        <path
+           id="path879"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         id="text2097"
+         y="69.701385"
+         x="36.053169"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="69.701385"
+           x="36.053169"
+           id="tspan2095"
+           sodipodi:role="line">Exchange production DB</tspan><tspan
+           id="tspan2099"
+           style="stroke-width:0.264583"
+           y="74.111099"
+           x="36.053169"
+           sodipodi:role="line" /></text>
+    </g>
+    <g
+       id="g2116"
+       transform="translate(62.918245,23.939865)">
+      <g
+         id="g890-2"
+         transform="matrix(0.07147522,0,0,0.07147522,19.178235,121.17556)">
+        <path
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+           id="path879-1" />
+      </g>
+      <text
+         id="text2103"
+         y="164.58421"
+         x="15.052144"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="164.58421"
+           x="15.052144"
+           id="tspan2101"
+           sodipodi:role="line">Exchange hotspare DB</tspan></text>
+    </g>
+    <g
+       id="g2134"
+       transform="translate(-20.100164,43.684438)">
+      <g
+         id="g890-0"
+         transform="matrix(0.07147522,0,0,0.07147522,180.02977,23.090737)">
+        <path
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+           id="path879-5" />
+      </g>
+      <text
+         id="text2120"
+         y="66.899231"
+         x="178.26529"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="66.899231"
+           x="178.26529"
+           id="tspan2118"
+           sodipodi:role="line">Exchange ingres DB</tspan></text>
+    </g>
+    <g
+       id="g2140"
+       transform="translate(-17.899392,49.181656)">
+      <g
+         id="g890-1"
+         transform="matrix(0.07147522,0,0,0.07147522,177.66977,95.095201)">
+        <path
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+           id="path879-10" />
+      </g>
+      <text
+         id="text2124"
+         y="140.82193"
+         x="175.99486"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="140.82193"
+           x="175.99486"
+           id="tspan2122"
+           sodipodi:role="line">Exchange &quot;safe&quot; DB</tspan></text>
+    </g>
+    <g
+       id="g2146"
+       transform="translate(-25.694345,-11.3694)">
+      <g
+         id="g890-8"
+         transform="matrix(0.07147522,0,0,0.07147522,250.62455,153.8705)">
+        <path
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+           id="path879-50" />
+      </g>
+      <text
+         id="text2128"
+         y="197.93983"
+         x="249.85829"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="197.93983"
+           x="249.85829"
+           id="tspan2126"
+           sodipodi:role="line">Auditor internal DB</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="63.354843"
+       y="130.198"
+       id="text2150"><tspan
+         sodipodi:role="line"
+         id="tspan2148"
+         x="63.354843"
+         y="130.198"
+         style="stroke-width:0.264583">Postgres replication</tspan></text>
+    <text
+       id="text2150-8"
+       y="87.403023"
+       x="116.87389"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="87.403023"
+         x="116.87389"
+         id="tspan2148-4"
+         sodipodi:role="line">Postgres replication</tspan></text>
+    <text
+       xml:space="preserve"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="177.58916"
+       y="128.95174"
+       id="text2188"><tspan
+         sodipodi:role="line"
+         id="tspan2186"
+         x="177.58916"
+         y="128.95174"
+         style="stroke-width:0.264583">taler-auditor-sync</tspan></text>
+    <text
+       xml:space="preserve"
+       id="text2194"
+       
style="fill:black;fill-opacity:1;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect2196);"
 />
+    <rect
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.314907;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2204"
+       width="120.67498"
+       height="179.72961"
+       x="6.9242091"
+       y="16.182726" />
+    <rect
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.275246;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2206"
+       width="136.18742"
+       height="193.50241"
+       x="145.51649"
+       y="2.515445" />
+    <path
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2514)"
+       d="M 98.94709,117.06425 V 143.9399"
+       id="path2216" />
+    <path
+       
style="fill:none;stroke:#000000;stroke-width:0.188668px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2714)"
+       d="m 111.94204,89.559485 h 46.95374"
+       id="path2218" />
+    <path
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2662)"
+       d="m 175.61312,111.01201 v 32.58586"
+       id="path2220" />
+    <path
+       sodipodi:nodetypes="cc"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2542)"
+       d="M 224.35274,116.19596 193.81399,163.7299"
+       id="path2222" />
+    <path
+       sodipodi:nodetypes="cc"
+       
style="fill:none;stroke:#000000;stroke-width:0.185737px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2576)"
+       d="m 224.35274,116.19596 17.17024,25.83941"
+       id="path2224" />
+    <g
+       transform="translate(53.868709,27.270619)"
+       id="g957">
+      <text
+         id="text2210"
+         y="27.13241"
+         x="26.070297"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="27.13241"
+           x="26.070297"
+           id="tspan2208"
+           sodipodi:role="line">taler-exchange-httpd</tspan></text>
+      <circle
+         r="0.025015881"
+         cy="30.470467"
+         cx="44.608482"
+         style="fill:#000000;stroke:#020000;stroke-width:0.264583"
+         id="path2212" />
+      <path
+         sodipodi:nodetypes="cc"
+         id="path2214"
+         d="m 43.574858,30.96147 v 12.2565"
+         
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
 />
+      <ellipse
+         ry="5.0640941"
+         rx="26.22459"
+         cy="25.763792"
+         cx="45.386578"
+         id="path2228"
+         
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    </g>
+    <g
+       transform="translate(17.175264,85.978838)"
+       id="g1046">
+      <path
+         sodipodi:nodetypes="cc"
+         id="path2226"
+         d="M 248.23207,28.995391 229.37574,55.894906"
+         
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2616)"
 />
+      <g
+         id="g997">
+        <text
+           xml:space="preserve"
+           
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+           x="230.1824"
+           y="24.976534"
+           id="text2192"><tspan
+             sodipodi:role="line"
+             id="tspan2190"
+             x="230.1824"
+             y="24.976534"
+             style="stroke-width:0.264583">taler-auditor-httpd</tspan></text>
+        <ellipse
+           
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           id="path2230"
+           cx="247.19611"
+           cy="24.075922"
+           rx="22.319004"
+           ry="4.3381324" />
+      </g>
+    </g>
+    <g
+       transform="translate(-24.171449,-32.95247)"
+       id="g992">
+      <text
+         id="text2202"
+         y="144.25079"
+         x="237.84789"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="144.25079"
+           x="237.84789"
+           id="tspan2200"
+           sodipodi:role="line">taler-auditor</tspan></text>
+      <ellipse
+         ry="4.9346147"
+         rx="13.054943"
+         cy="143.48093"
+         cx="248.29224"
+         id="path2232"
+         
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    </g>
+    <rect
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2770"
+       width="51.529339"
+       height="59.034092"
+       x="145.6909"
+       y="57.411758" />
+    <path
+       id="path1167"
+       d="M 224.53596,105.70138 239.36631,50.353769"
+       
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker1171)"
 />
+    <g
+       id="g1265">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,224.75254,13.198362)"
+         id="g890-05-0">
+        <path
+           id="path879-11-6"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="225.23546"
+         y="11.60587"
+         id="text1235"><tspan
+           sodipodi:role="line"
+           id="tspan1233"
+           x="225.23546"
+           y="11.60587"
+           style="stroke-width:0.264583">LibEuFin/Nexus</tspan></text>
+    </g>
+    <g
+       id="g1259">
+      <g
+         id="g890-05"
+         transform="matrix(0.07147522,0,0,0.07147522,19.069133,22.979895)">
+        <path
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+           id="path879-11" />
+      </g>
+      <text
+         id="text1235-4"
+         y="20.419903"
+         x="21.423883"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.264583"
+           y="20.419903"
+           x="21.423883"
+           id="tspan1233-6"
+           sodipodi:role="line">LibEuFin/Nexus</tspan></text>
+    </g>
+    <text
+       id="text1269"
+       y="91.990257"
+       x="23.534399"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="91.990257"
+         x="23.534399"
+         id="tspan1267"
+         sodipodi:role="line">taler-exchange-transfer</tspan></text>
+    <text
+       id="text1273"
+       y="68.563263"
+       x="42.095734"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="68.563263"
+         x="42.095734"
+         id="tspan1271"
+         sodipodi:role="line">taler-exchange-wirewatch</tspan></text>
+    <text
+       id="text1277"
+       y="80.975281"
+       x="233.62143"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="80.975281"
+         x="233.62143"
+         id="tspan1275"
+         sodipodi:role="line">taler-helper-auditor-wire</tspan></text>
+    <path
+       sodipodi:nodetypes="cc"
+       id="path1279"
+       d="m 32.960054,61.382727 c -47.138813,49.618583 31.76765,38.272783 
46.81458,37.542428"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Lstart)"
 />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path1281"
+       d="m 50.151339,58.352788 c 15.983641,9.115347 27.303503,-7.798757 
41.5378,11.838353"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1285)"
 />
+  </g>
+</svg>
diff --git a/presentations/bank/lunch.tex b/presentations/bank/lunch.tex
new file mode 100644
index 0000000..ccc2286
--- /dev/null
+++ b/presentations/bank/lunch.tex
@@ -0,0 +1,574 @@
+\pdfminorversion=3
+\documentclass[fleqn,xcolor={usenames,dvipsnames}]{beamer}
+\usepackage{amsmath}
+\usepackage{multimedia}
+\usepackage[utf8]{inputenc}
+\usepackage{framed,color,ragged2e}
+\usepackage[absolute,overlay]{textpos}
+\definecolor{shadecolor}{rgb}{0.8,0.8,0.8}
+\usetheme{boxes}
+\setbeamertemplate{navigation symbols}{}
+\usepackage{xcolor}
+\usepackage{tikz,eurosym}
+\usepackage[normalem]{ulem}
+\usepackage{listings}
+
+% CSS
+\lstdefinelanguage{CSS}{
+  basicstyle=\ttfamily\scriptsize,
+  
keywords={color,background-image:,margin,padding,font,weight,display,position,top,left,right,bottom,list,style,border,size,white,space,min,width,
 transition:, transform:, transition-property, transition-duration, 
transition-timing-function},
+  sensitive=true,
+  morecomment=[l]{//},
+  morecomment=[s]{/*}{*/},
+  morestring=[b]',
+  morestring=[b]",
+  alsoletter={:},
+  alsodigit={-}
+}
+
+% JavaScript
+\lstdefinelanguage{JavaScript}{
+  basicstyle=\ttfamily\scriptsize,
+  morekeywords={typeof, new, true, false, catch, function, return, null, 
catch, switch, var, if, in, while, do, else, case, break},
+  morecomment=[s]{/*}{*/},
+  morecomment=[l]//,
+  morestring=[b]",
+  morestring=[b]'
+}
+
+\lstdefinelanguage{HTML5}{
+  basicstyle=\ttfamily\scriptsize,
+  language=html,
+  sensitive=true,
+  alsoletter={<>=-},
+  morecomment=[s]{<!-}{-->},
+  tag=[s],
+  otherkeywords={
+  % General
+  >,
+  % Standard tags
+       <!DOCTYPE,
+  </html, <html, <head, <title, </title, <style, </style, <link, </head, 
<meta, />,
+       % body
+       </body, <body,
+       % Divs
+       </div, <div, </div>,
+       % Paragraphs
+       </p, <p, </p>,
+       % scripts
+       </script, <script,
+  % More tags...
+  <canvas, /canvas>, <svg, <rect, <animateTransform, </rect>, </svg>, <video, 
<source, <iframe, </iframe>, </video>, <image, </image>
+  },
+  ndkeywords={
+  % General
+  =,
+  % HTML attributes
+  charset=, src=, id=, width=, height=, style=, type=, rel=, href=,
+  % SVG attributes
+  fill=, attributeName=, begin=, dur=, from=, to=, poster=, controls=, x=, y=, 
repeatCount=, xlink:href=,
+  % CSS properties
+  margin:, padding:, background-image:, border:, top:, left:, position:, 
width:, height:,
+       % CSS3 properties
+  transform:, -moz-transform:, -webkit-transform:,
+  animation:, -webkit-animation:,
+  transition:,  transition-duration:, transition-property:, 
transition-timing-function:,
+  }
+}
+
+\lstdefinelanguage{JavaScript}{
+  basicstyle=\ttfamily\scriptsize,
+  keywords={typeof, new, true, false, catch, function, return, null, catch, 
switch, var, if, in, while, do, else, case, break, for},
+  keywordstyle=\color{blue}\bfseries,
+  ndkeywords={class, export, boolean, throw, implements, import, this},
+  ndkeywordstyle=\color{darkgray}\bfseries,
+  identifierstyle=\color{black},
+  sensitive=false,
+  comment=[l]{//},
+  morecomment=[s]{/*}{*/},
+  commentstyle=\color{purple}\ttfamily,
+  stringstyle=\color{red}\ttfamily,
+  morestring=[b]',
+  morestring=[b]"
+}
+
+\usetikzlibrary{shapes,arrows}
+\usetikzlibrary{positioning}
+\usetikzlibrary{calc}
+
+\title{GNU Taler}
+\subtitle{Montag Mittag, 25.1.2021}
+
+\setbeamertemplate{navigation symbols}{\includegraphics[width=1cm]{inria.pdf} 
\includegraphics[width=0.5cm]{gnu.png} 
\includegraphics[width=0.5cm]{ashoka.png}\hfill}
+%\setbeamercovered{transparent=1}
+
+\author{L. Wittmann, C. Grothoff}
+\date{\today}
+\institute{Taler Systems SA}
+
+
+\begin{document}
+
+\justifying
+
+\begin{frame}
+  \begin{center}
+    \LARGE {\bf GNU}
+
+    \vfill
+    \includegraphics[width=0.66\textwidth]{logo-2020.jpg}
+  \end{center}
+\begin{textblock*}{4cm}(.5cm,7.7cm) % {block width} (coords)
+  {\Large {\bf \url{https://taler.net}} \\
+    twitter@taler }
+\end{textblock*}
+
+% Substitute based on who is giving the talk!
+ \begin{textblock*}{6cm}(6.7cm,7.7cm) % {block width} (coords)
+   {\hfill {\Large {\bf L. Wittmann \&} \\
+    \hfill {\bf C. Grothoff}} }
+\end{textblock*}
+
+\end{frame}
+
+
+\begin{frame}{Design goals for the GNU Taler Payment System}
+GNU Taler must ...
+\begin{enumerate}
+  \item {... be implemented as {\bf free software}.}
+  \item {... protect the {\bf privacy of buyers}.}
+  \item {... must enable the state to {\bf tax income} and crack down on
+    illegal business activities.}
+  \item {... prevent payment fraud.}
+  \item {... only {\bf disclose the minimal amount of information
+    necessary}.}
+  \item {... be usable.}
+  \item {... be efficient.}
+  \item {... avoid single points of failure.}
+  \item {... foster {\bf competition}.}
+\end{enumerate}
+\end{frame}
+
+
+\begin{frame}{How does Taler operate?}
+  \vfill
+\begin{center}
+\includegraphics[width=0.7\textwidth]{operations.png}
+\end{center}
+\end{frame}
+
+
+\begin{frame}
+\frametitle{Do you have any questions?}
+\vfill
+References:
+{\tiny
+  \begin{enumerate}
+ \item{Christian Grothoff, Bart Polot and Carlo von Loesch.
+       {\em The Internet is broken: Idealistic Ideas for Building a GNU 
Network}.
+       {\bf W3C/IAB Workshop on Strengthening the Internet Against Pervasive 
Monitoring (STRINT)}, 2014.}
+ \item{Jeffrey Burdges, Florian Dold, Christian Grothoff and Marcello Stanisci.
+       {\em Enabling Secure Web Payments with GNU Taler}.
+       {\bf SPACE 2016}.}
+ \item{Florian Dold, Sree Harsha Totakura, Benedikt M\"uller, Jeffrey Burdges 
and Christian Grothoff.
+       {\em Taler: Taxable Anonymous Libre Electronic Reserves}.
+       Available upon request. 2016.}
+ \item{Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian 
Miers, Eran Tromer and Madars Virza.
+       {\em Zerocash: Decentralized Anonymous Payments from Bitcoin}.
+       {\bf IEEE Symposium on Security \& Privacy, 2016}.}
+ \item{David Chaum, Amos Fiat and Moni Naor.
+       {\em Untraceable electronic cash}.
+       {\bf Proceedings on Advances in Cryptology, 1990}.}
+  \item{Phillip Rogaway.
+       {\em The Moral Character of Cryptographic Work}.
+       {\bf Asiacrypt}, 2015.} \label{bib:rogaway}
+\end{enumerate}
+}
+\begin{center}
+  {\bf Let money facilitate trade; but ensure capital serves society.}
+\end{center}
+\end{frame}
+
+
+
+
+\end{document}
+
+
+
+
+\begin{frame}{Taler {\tt /withdraw/sign}}
+% Customer withdrawing coins with blind signatures
+% \bigskip
+  \begin{figure}[th]
+    \begin{minipage}[b]{0.45\linewidth}
+      \begin{center}
+        \begin{tikzpicture}[scale = 0.4,
+            transform shape,
+            msglabel/.style    = { text = Black, yshift = .3cm,
+                                   sloped, midway },
+            okmsg/.style       = { ->, color = MidnightBlue, thick,
+                                   >=stealth },
+            rstmsg/.style      = { ->, color = BrickRed, thick,
+                                   >=stealth }
+          ]
+          \node[draw = MidnightBlue,
+            fill = CornflowerBlue,
+            minimum width = .3cm,
+            minimum height = 10cm
+          ] (h1) at (-4, 0) {};
+          \node[draw = MidnightBlue,
+            fill = CornflowerBlue,
+            minimum width = .3cm,
+            minimum height = 10cm
+          ] (h2) at (4, 0) {};
+          \node[above = 0cm of h1] {Wallet};
+          \node[above = 0cm of h2] {Exchange};
+
+          \path[->, color = MidnightBlue, very thick, >=stealth]
+            (-5, 4.5) edge
+            node[rotate=90, text = Black, yshift = .3cm] {Time}
+            (-5, -4.5);
+          \path[okmsg, dashed]
+             ($(h1.east)+(0, 4.0)+(0, -1.0)$) edge
+             node[msglabel] {SEPA(RK,A)}
+             ($(h2.west)+(0, 3.5)+(0, -1.0)$);
+          \path[okmsg]
+            ($(h1.east)+(0, -1.0)$) edge
+            node[msglabel] {POST {\tt /withdraw/sign} $S_{RK}(DK, B_b(C))$}
+            ($(h2.west)+(0, -1.5)$);
+          \path[okmsg]
+            ($(h2.west)+(0, -2.0)$) edge
+            node[msglabel] {200 OK: $S_{DK}(B_b(C))$)}
+            ($(h1.east)+(0, -2.5)$);
+          \path[rstmsg]
+            ($(h2.west)+(0, -3.5)$) edge
+            node[msglabel] {402 PAYMENT REQUIRED: $S_{RK}(DK, B_b(C))$)}
+            ($(h1.east)+(0, -4)$);
+          \node at (5.3, 0) {};
+        \end{tikzpicture}
+      \end{center}
+      Result: $\langle c, S_{DK}(C) \rangle$.
+    \end{minipage}
+    \hspace{0.5cm}
+    \begin{minipage}[b]{0.45\linewidth}
+      \tiny
+      \begin{description}
+      \item[$A$] Some amount, $A \ge A_{DK}$
+      \item[$RK$] Reserve key
+      \item[$DK$] Denomination key
+      \item[$b$] Blinding factor
+      \item[$B_b()$] RSA-FDH blinding % DK supressed
+      \item[$C$] Coin public key $C := cG$
+      \item[$S_{RK}()$] EdDSA signature
+      \item[$S_{DK}()$] RSA-FDH signature
+      \end{description}
+    \end{minipage}
+  \end{figure}
+\end{frame}
+
+
+\begin{frame}[t]{Taler {\tt /deposit}}
+Merchant and exchange see only the public coin $\langle C, S_{DK}(C) \rangle$.
+\bigskip
+  \begin{figure}[th]
+    \begin{minipage}[b]{0.45\linewidth}
+      \begin{center}
+        \begin{tikzpicture}[scale = 0.4,
+            transform shape,
+            msglabel/.style    = { text = Black, yshift = .3cm,
+                                   sloped, midway },
+            okmsg/.style       = { ->, color = MidnightBlue, thick,
+                                   >=stealth },
+            rstmsg/.style      = { ->, color = BrickRed, thick,
+                                   >=stealth }
+          ]
+          \node[draw = MidnightBlue,
+            fill = CornflowerBlue,
+            minimum width = .3cm,
+            minimum height = 10cm
+          ] (h1) at (-4, 0) {};
+          \node[draw = MidnightBlue,
+            fill = CornflowerBlue,
+            minimum width = .3cm,
+            minimum height = 10cm
+          ] (h2) at (4, 0) {};
+          \node[above = 0cm of h1] {Merchant};
+          \node[above = 0cm of h2] {Exchange};
+
+          \path[->, color = MidnightBlue, very thick, >=stealth]
+            (-5, 4.5) edge
+            node[rotate=90, text = Black, yshift = .3cm] {Time}
+            (-5, -4.5);
+          \path[->, color = MidnightBlue, thick, >=stealth]
+            ($(h1.east)+(0,3)$) edge
+            node[text = Black, yshift = .3cm, sloped] {POST {\tt /deposit} 
$S_{DK}(C), S_{c}(D)$}
+            ($(h2.west)+(0,2)$);
+          \path[->, color = MidnightBlue, thick, >=stealth]
+            ($(h2.west)+(0,0.5)$) edge
+            node[text = Black, yshift = .3cm, sloped] {200 OK: 
$S_{SK}(S_{c}(D))$}
+            ($(h1.east)+(0,-0.5)$);
+          \path[rstmsg]
+            ($(h2.west)+(0, -2.5)$) edge
+            node[msglabel] {409 CONFLICT: $S_{c}(D')$}
+            ($(h1.east)+(0, -3.5)$);
+          \node at (5.3, 0) {};
+        \end{tikzpicture}
+      \end{center}
+    \end{minipage}
+    \hspace{0.5cm}
+    \begin{minipage}[b]{0.45\linewidth}
+      \tiny
+      \begin{description}
+      \item[$DK$] Denomination key
+      \item[$S_{DK}()$] RSA-FDH signature using $DK$
+      \item[$c$] Private coin key, $C := cG$.
+      \item[$S_{C}()$] EdDSA signature using $c$
+      \item[$D$] Deposit details
+      \item[$SK$] Exchange's signing key
+      \item[$S_{SK}()$] EdDSA signature using $SK$
+      \item[$D'$] Conficting deposit details $D' \not= D$
+      \end{description}
+    \end{minipage}
+  \end{figure}
+\end{frame}
+
+
+\begin{frame}{Taler {\tt /refresh/melt}}
+  \begin{figure}[th]
+    \begin{minipage}[b]{0.45\linewidth}
+      \begin{center}
+       \begin{tikzpicture}[scale = 0.4,
+            transform shape,
+            msglabel/.style    = { text = Black, yshift = .3cm,
+                                   sloped, midway },
+            okmsg/.style       = { ->, color = MidnightBlue, thick,
+                                   >=stealth },
+            rstmsg/.style      = { ->, color = BrickRed, thick,
+                                   >=stealth }
+         ]
+         \node[draw = MidnightBlue,
+           fill = CornflowerBlue,
+           minimum width = .3cm,
+           minimum height = 10cm
+         ] (h1) at (-4, 0) {};
+         \node[draw = MidnightBlue,
+           fill = CornflowerBlue,
+           minimum width = .3cm,
+           minimum height = 10cm
+         ] (h2) at (4, 0) {};
+         \node[above = 0cm of h1] {Customer};
+         \node[above = 0cm of h2] {Exchange};
+
+         \path[->, color = MidnightBlue, very thick, >=stealth]
+           (-5, 4.5) edge
+           node[rotate=90, text = Black, yshift = .3cm] {Time}
+           (-5, -4.5);
+         \path[->, color = MidnightBlue, thick, >=stealth]
+           ($(h1.east)+(0,3)$) edge
+           node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/melt} 
$S_{DK}(C), S_c({\cal DK}, {\cal T},{\cal B})$}
+           ($(h2.west)+(0,2)$);
+         \path[->, color = MidnightBlue, thick, >=stealth]
+           ($(h2.west)+(0,0.5)$) edge
+           node[text = Black, yshift = .3cm, sloped] {200 OK: $S_{SK}(H({\cal 
T}, {\cal B}),\gamma)$}
+           ($(h1.east)+(0,-0.5)$);
+         \path[rstmsg]
+           ($(h2.west)+(0, -2.5)$) edge
+           node[msglabel] {409 CONFLICT: $S_{C}(X), \ldots$}
+           ($(h1.east)+(0, -3.5)$);
+         \node at (5.3, 0) {};
+       \end{tikzpicture}
+      \end{center}
+    \end{minipage}
+    \hspace{0.5cm}
+    \begin{minipage}[b]{0.45\linewidth}
+      \tiny
+      \begin{description}
+      \item[$\kappa$] System-wide security parameter, usually 3.
+      \\ \smallskip
+      \item[$\cal DK$] $:= [DK^{(i)}]_i$ \\ List of denomination keys \\
+      $D + \sum_i A_{DK^{(i)}} < A_{DK}$
+      \item[$t_j$] Random scalar for $j<\kappa$
+      \item[${\cal T}$] $:= [T_j]_\kappa$ where $T_j = t_j G$
+      \item[$k_j$] $:= c T_j = t_j C$ is an ECDHE
+      \item[$b_j^{(i)}$] $:= KDF_b(k_j,i)$ % blinding factor
+      \item[$c_j^{(i)}$] $:= KDF_c(k_j,i)$ % coin secret keys
+      \item[$C_j^{(i)}$] $: = c_j^{(i)} G$ % new coin publics % keys
+      \item[${\cal B}$] $:= [H( \beta_j )]_\kappa$ where \\
+         $\beta_j := \left[ B_{b_j^{(i)}}(C_j^{(i)}) \right]_i$
+      \\ \smallskip
+      \item[$\gamma$] Random value in $[0,\kappa)$
+%      \\ \smallskip
+%      \item[$X$] Deposit or refresh
+      \end{description}
+    \end{minipage}
+  \end{figure}
+\end{frame}
+
+
+\begin{frame}{Taler {\tt /refresh/reveal}}
+  \begin{figure}[th]
+    \begin{minipage}[b]{0.45\linewidth}
+      \begin{center}
+       \begin{tikzpicture}[scale = 0.4,
+            transform shape,
+            msglabel/.style    = { text = Black, yshift = .3cm,
+                                   sloped, midway },
+            okmsg/.style       = { ->, color = MidnightBlue, thick,
+                                   >=stealth },
+            rstmsg/.style      = { ->, color = BrickRed, thick,
+                                   >=stealth }
+         ]
+         \node[draw = MidnightBlue,
+           fill = CornflowerBlue,
+           minimum width = .3cm,
+           minimum height = 10cm
+         ] (h1) at (-4, 0) {};
+         \node[draw = MidnightBlue,
+           fill = CornflowerBlue,
+           minimum width = .3cm,
+           minimum height = 10cm
+         ] (h2) at (4, 0) {};
+         \node[above = 0cm of h1] {Customer};
+         \node[above = 0cm of h2] {Exchange};
+
+         \path[->, color = MidnightBlue, very thick, >=stealth]
+           (-5, 4.5) edge
+           node[rotate=90, text = Black, yshift = .3cm] {Time}
+           (-5, -4.5);
+         \path[->, color = MidnightBlue, thick, >=stealth]
+           ($(h1.east)+(0,3)$) edge
+           node[text = Black, yshift = .3cm, sloped] {POST {\tt 
/refresh/reveal} $H({\cal T}, {\cal B}), {\tilde{\cal T}}, \beta_\gamma$}
+           ($(h2.west)+(0,2)$);
+         \path[->, color = MidnightBlue, thick, >=stealth]
+           ($(h2.west)+(0,0.5)$) edge
+           node[text = Black, yshift = .3cm, sloped] {200 OK: $\cal S$}
+           ($(h1.east)+(0,-0.5)$);
+         \path[rstmsg]
+           ($(h2.west)+(0, -2.5)$) edge
+           node[msglabel] {400 BAD REQUEST: $Z$}
+           ($(h1.east)+(0, -3.5)$);
+         \node at (5.3, 0) {};
+       \end{tikzpicture}
+      \end{center}
+    \end{minipage}
+    \hspace{0.5cm}
+    \begin{minipage}[b]{0.45\linewidth}
+      \tiny
+      \begin{description}
+      \item[$\cal DK$] $:= [DK^{(i)}]_i$
+      \item[$t_j$] .. \\ \smallskip
+
+      \item[$\tilde{\cal T}$] $:= [t_j | j \in \kappa, j \neq \gamma]$ \\ 
\smallskip
+
+      \item[$k_\gamma$] $:= c T_\gamma = t_\gamma C$
+      \item[$b_\gamma^{(i)}$] $:= KDF_b(k_\gamma,i)$
+      \item[$c_\gamma^{(i)}$] $:= KDF_c(k_\gamma,i)$
+      \item[$C_\gamma^{(i)}$] $: = c_\gamma^{(i)} G$
+
+      \item[$B_\gamma^{(i)}$] $:= B_{b_\gamma^{(i)}}(C_\gamma^{(i)})$
+      \item[$\beta_\gamma$] $:= \big[ B_\gamma^{(i)} \big]_i$
+      \item[$\cal S$] $:= \left[ S_{DK^{(i)}}( B_\gamma^{(i)} ) \right]_i$ \\ 
\smallskip
+
+      \item[$Z$] Cut-and-choose missmatch information
+      \end{description}
+    \end{minipage}
+  \end{figure}
+\end{frame}
+
+
+\begin{frame}{Taler {\tt /refresh/link}}
+  \begin{figure}[th]
+    \begin{minipage}[b]{0.45\linewidth}
+      \begin{center}
+       \begin{tikzpicture}[scale = 0.4,
+            transform shape,
+            msglabel/.style    = { text = Black, yshift = .3cm,
+                                   sloped, midway },
+            okmsg/.style       = { ->, color = MidnightBlue, thick,
+                                   >=stealth },
+            rstmsg/.style      = { ->, color = BrickRed, thick,
+                                   >=stealth }
+         ]
+         \node[draw = MidnightBlue,
+           fill = CornflowerBlue,
+           minimum width = .3cm,
+           minimum height = 10cm
+         ] (h1) at (-4, 0) {};
+         \node[draw = MidnightBlue,
+           fill = CornflowerBlue,
+           minimum width = .3cm,
+           minimum height = 10cm
+         ] (h2) at (4, 0) {};
+         \node[above = 0cm of h1] {Customer};
+         \node[above = 0cm of h2] {Exchagne};
+
+         \path[->, color = MidnightBlue, very thick, >=stealth]
+           (-5, 4.5) edge
+           node[rotate=90, text = Black, yshift = .3cm] {Time}
+           (-5, -4.5);
+         \path[->, color = MidnightBlue, thick, >=stealth]
+           ($(h1.east)+(0,3)$) edge
+           node[text = Black, yshift = .3cm, sloped] {POST {\tt /refresh/link} 
$C$}
+           ($(h2.west)+(0,2)$);
+         \path[->, color = MidnightBlue, thick, >=stealth]
+           ($(h2.west)+(0,0.5)$) edge
+           node[text = Black, yshift = .3cm, sloped] {200 OK: $T_\gamma$}
+           ($(h1.east)+(0,-0.5)$);
+         \path[rstmsg]
+           ($(h2.west)+(0, -2.5)$) edge
+           node[msglabel] {404 NOT FOUND}
+           ($(h1.east)+(0, -3.5)$);
+         \node at (5.3, 0) {};
+       \end{tikzpicture}
+      \end{center}
+    \end{minipage}
+    \hspace{0.5cm}
+    \begin{minipage}[b]{0.45\linewidth}
+      \tiny
+      \begin{description}
+      \item[$C$] Old coind public key \\ \smallskip
+      \item[$T_\gamma$] Linkage data $\cal L$ at $\gamma$
+      \end{description}
+    \end{minipage}
+  \end{figure}
+\end{frame}
+
+
+\begin{frame}{Operational security}
+  \begin{center}
+    \resizebox{\textwidth}{!}{
+\begin{tikzpicture}[
+  font=\sffamily,
+  every matrix/.style={ampersand replacement=\&,column sep=2cm,row sep=2cm},
+  source/.style={draw,thick,rounded corners,fill=green!20,inner sep=.3cm},
+  process/.style={draw,thick,circle,fill=blue!20},
+  sink/.style={source,fill=green!20},
+  datastore/.style={draw,very thick,shape=datastore,inner sep=.3cm},
+  dots/.style={gray,scale=2},
+  to/.style={->,>=stealth',shorten 
>=1pt,semithick,font=\sffamily\footnotesize},
+  every node/.style={align=center}]
+
+  % Position the nodes using a matrix layout
+  \matrix{
+    \node[source] (wallet) {Wallet};
+      \& \node[process] (browser) {Browser};
+      \& \node[process] (shop) {Web shop};
+      \& \node[sink] (backend) {Taler backend}; \\
+  };
+
+  % Draw the arrows between the nodes and label them.
+  \draw[to] (browser) to[bend right=50] node[midway,above] {(4) signed 
contract}
+      node[midway,below] {(signal)} (wallet);
+  \draw[to] (wallet) to[bend right=50] node[midway,above] {(signal)}
+      node[midway,below] {(5) signed coins} (browser);
+  \draw[<->] (browser) -- node[midway,above] {(3,6) custom}
+      node[midway,below] {(HTTPS)} (shop);
+  \draw[to] (shop) to[bend right=50] node[midway,above] {(HTTPS)}
+      node[midway,below] {(1) proposed contract / (7) signed coins} (backend);
+  \draw[to] (backend) to[bend right=50] node[midway,above] {(2) signed 
contract / (8) confirmation}
+      node[midway,below] {(HTTPS)} (shop);
+\end{tikzpicture}
+}
+\end{center}
+\end{frame}
diff --git a/presentations/bank/replication.pdf 
b/presentations/bank/replication.pdf
new file mode 100644
index 0000000..a4aac51
Binary files /dev/null and b/presentations/bank/replication.pdf differ
diff --git a/presentations/bank/replication.svg 
b/presentations/bank/replication.svg
new file mode 100644
index 0000000..4a9eff3
--- /dev/null
+++ b/presentations/bank/replication.svg
@@ -0,0 +1,427 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   sodipodi:docname="replication.svg"
+   inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+   width="297.0mm"
+   height="210.0mm"
+   viewBox="0 0 297.0 210.0"
+   version="1.1"
+   id="SVGRoot">
+  <defs
+     id="defs1461">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2714"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2712" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2662"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path2660"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2616"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2614" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2576"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path2574"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2542"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2540" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2514"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path2512"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="Arrow1Lend"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2237" />
+    </marker>
+    <rect
+       id="rect2196"
+       height="3.9007863"
+       width="4.5762249"
+       y="120.19322"
+       x="264.57466" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-maximized="1"
+     inkscape:window-y="0"
+     inkscape:window-x="3840"
+     inkscape:window-height="2086"
+     inkscape:window-width="3840"
+     showgrid="false"
+     inkscape:document-rotation="0"
+     inkscape:current-layer="layer1"
+     inkscape:document-units="mm"
+     inkscape:cy="422.6026"
+     inkscape:cx="615.0082"
+     inkscape:zoom="1.4"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base" />
+  <metadata
+     id="metadata1464">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <g
+       transform="translate(-11.221353,20.667147)"
+       id="g2110">
+      <g
+         id="g890"
+         transform="matrix(0.07147522,0,0,0.07147522,41.870798,24.492858)">
+        <path
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+           id="path879" />
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="36.053169"
+         y="69.701385"
+         id="text2097"><tspan
+           sodipodi:role="line"
+           id="tspan2095"
+           x="36.053169"
+           y="69.701385"
+           style="stroke-width:0.264583">Exchange production DB</tspan><tspan
+           sodipodi:role="line"
+           x="36.053169"
+           y="74.111099"
+           style="stroke-width:0.264583"
+           id="tspan2099" /></text>
+    </g>
+    <g
+       transform="translate(11.47121,2.2482939)"
+       id="g2116">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,19.178235,121.17556)"
+         id="g890-2">
+        <path
+           id="path879-1"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="15.052144"
+         y="164.58421"
+         id="text2103"><tspan
+           sodipodi:role="line"
+           id="tspan2101"
+           x="15.052144"
+           y="164.58421"
+           style="stroke-width:0.264583">Exchange hotspare DB</tspan></text>
+    </g>
+    <g
+       transform="translate(-18.449501,17.09634)"
+       id="g2134">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,180.02977,23.090737)"
+         id="g890-0">
+        <path
+           id="path879-5"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="178.26529"
+         y="66.899231"
+         id="text2120"><tspan
+           sodipodi:role="line"
+           id="tspan2118"
+           x="178.26529"
+           y="66.899231"
+           style="stroke-width:0.264583">Exchange ingres DB</tspan></text>
+    </g>
+    <g
+       transform="translate(-16.648393,27.04463)"
+       id="g2140">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,177.66977,95.095201)"
+         id="g890-1">
+        <path
+           id="path879-10"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="175.99486"
+         y="140.82193"
+         id="text2124"><tspan
+           sodipodi:role="line"
+           id="tspan2122"
+           x="175.99486"
+           y="140.82193"
+           style="stroke-width:0.264583">Exchange &quot;safe&quot; 
DB</tspan></text>
+    </g>
+    <g
+       transform="translate(-18.645502,-113.69651)"
+       id="g2146">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,250.62455,153.8705)"
+         id="g890-8">
+        <path
+           id="path879-50"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="249.85829"
+         y="197.93983"
+         id="text2128"><tspan
+           sodipodi:role="line"
+           id="tspan2126"
+           x="249.85829"
+           y="197.93983"
+           style="stroke-width:0.264583">Auditor internal DB</tspan></text>
+    </g>
+    <text
+       id="text2150"
+       y="105.1814"
+       x="49.245609"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="105.1814"
+         x="49.245609"
+         id="tspan2148"
+         sodipodi:role="line">Postgres replication</tspan></text>
+    <text
+       xml:space="preserve"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="102.65125"
+       y="62.550148"
+       id="text2150-8"><tspan
+         sodipodi:role="line"
+         id="tspan2148-4"
+         x="102.65125"
+         y="62.550148"
+         style="stroke-width:0.264583">Postgres replication</tspan></text>
+    <text
+       id="text2188"
+       y="103.76974"
+       x="176.0363"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="103.76974"
+         x="176.0363"
+         id="tspan2186"
+         sodipodi:role="line">taler-auditor-sync</tspan></text>
+    <text
+       id="text2192"
+       y="24.976534"
+       x="230.1824"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="24.976534"
+         x="230.1824"
+         id="tspan2190"
+         sodipodi:role="line">taler-auditor-httpd</tspan></text>
+    <text
+       
style="fill:black;fill-opacity:1;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect2196);"
+       id="text2194"
+       xml:space="preserve" />
+    <text
+       id="text2202"
+       y="144.25079"
+       x="237.84789"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="144.25079"
+         x="237.84789"
+         id="tspan2200"
+         sodipodi:role="line">taler-auditor</tspan></text>
+    <rect
+       y="17.823223"
+       x="5.5189505"
+       height="179.76277"
+       width="85.439964"
+       id="rect2204"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <rect
+       y="16.654621"
+       x="145.51649"
+       height="179.36324"
+       width="136.18742"
+       id="rect2206"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <text
+       id="text2210"
+       y="27.13241"
+       x="26.070297"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="27.13241"
+         x="26.070297"
+         id="tspan2208"
+         sodipodi:role="line">taler-exchange-httpd</tspan></text>
+    <circle
+       r="0.025015881"
+       cy="30.470467"
+       cx="44.608482"
+       style="fill:#000000;stroke:#020000;stroke-width:0.264583"
+       id="path2212" />
+    <path
+       id="path2214"
+       d="M 43.574858,30.273831 V 43.21797"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
 />
+    <path
+       id="path2216"
+       d="M 46.56148,93.636877 V 120.51253"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2514)"
 />
+    <path
+       id="path2218"
+       d="M 65.551922,66.02918 H 157.89364"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2714)"
 />
+    <path
+       id="path2220"
+       d="M 175.61312,86.105081 V 118.69094"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2662)"
 />
+    <path
+       id="path2222"
+       d="M 234.62494,143.2384 H 197.9307"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2542)"
 />
+    <path
+       id="path2224"
+       d="M 248.98222,140.645 V 85.978695"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2576)"
 />
+    <path
+       id="path2226"
+       d="m 248.23207,28.995391 v 8.785561"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2616)"
 />
+    <ellipse
+       ry="5.0640941"
+       rx="26.22459"
+       cy="25.763792"
+       cx="45.386578"
+       id="path2228"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <ellipse
+       ry="4.3381324"
+       rx="22.319004"
+       cy="24.075922"
+       cx="247.19611"
+       id="path2230"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <ellipse
+       ry="4.9346147"
+       rx="13.054943"
+       cy="143.48093"
+       cx="248.29224"
+       id="path2232"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <rect
+       y="31.59581"
+       x="149.84781"
+       height="59.034092"
+       width="51.529339"
+       id="rect2770"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+  </g>
+</svg>
diff --git a/presentations/bank/replication2.pdf 
b/presentations/bank/replication2.pdf
new file mode 100644
index 0000000..a650157
Binary files /dev/null and b/presentations/bank/replication2.pdf differ
diff --git a/presentations/bank/replication2.svg 
b/presentations/bank/replication2.svg
new file mode 100644
index 0000000..b49503f
--- /dev/null
+++ b/presentations/bank/replication2.svg
@@ -0,0 +1,384 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   sodipodi:docname="replication2.svg"
+   inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
+   width="297.0mm"
+   height="210.0mm"
+   viewBox="0 0 297.0 210.0"
+   version="1.1"
+   id="SVGRoot">
+  <defs
+     id="defs1461">
+    <marker
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2714"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2712" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2662"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path2660"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2616"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2614" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2576"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path2574"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="marker2542"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2540" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker2514"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path2512"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:collect="always"
+       inkscape:isstock="true"
+       style="overflow:visible;"
+       id="Arrow1Lend"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="scale(0.8) rotate(180) translate(12.5,0)"
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path2237" />
+    </marker>
+    <rect
+       id="rect2196"
+       height="3.9007863"
+       width="4.5762249"
+       y="120.19322"
+       x="264.57466" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-maximized="1"
+     inkscape:window-y="0"
+     inkscape:window-x="3840"
+     inkscape:window-height="2086"
+     inkscape:window-width="3840"
+     showgrid="false"
+     inkscape:document-rotation="0"
+     inkscape:current-layer="layer1"
+     inkscape:document-units="mm"
+     inkscape:cy="435.85652"
+     inkscape:cx="572.95084"
+     inkscape:zoom="2.8"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base" />
+  <metadata
+     id="metadata1464">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <g
+       transform="translate(-11.221353,20.667147)"
+       id="g2110">
+      <g
+         id="g890"
+         transform="matrix(0.07147522,0,0,0.07147522,41.870798,24.492858)">
+        <path
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+           id="path879" />
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="36.053169"
+         y="69.701385"
+         id="text2097"><tspan
+           sodipodi:role="line"
+           id="tspan2095"
+           x="36.053169"
+           y="69.701385"
+           style="stroke-width:0.264583">Exchange production DB</tspan><tspan
+           sodipodi:role="line"
+           x="36.053169"
+           y="74.111099"
+           style="stroke-width:0.264583"
+           id="tspan2099" /></text>
+    </g>
+    <g
+       transform="translate(11.47121,2.2482939)"
+       id="g2116">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,19.178235,121.17556)"
+         id="g890-2">
+        <path
+           id="path879-1"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="15.052144"
+         y="164.58421"
+         id="text2103"><tspan
+           sodipodi:role="line"
+           id="tspan2101"
+           x="15.052144"
+           y="164.58421"
+           style="stroke-width:0.264583">Exchange hotspare DB</tspan></text>
+    </g>
+    <g
+       transform="translate(-16.648393,27.04463)"
+       id="g2140">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,177.66977,95.095201)"
+         id="g890-1">
+        <path
+           id="path879-10"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="175.99486"
+         y="140.82193"
+         id="text2124"><tspan
+           sodipodi:role="line"
+           id="tspan2122"
+           x="175.99486"
+           y="140.82193"
+           style="stroke-width:0.264583">Exchange &quot;safe&quot; 
DB</tspan></text>
+    </g>
+    <g
+       transform="translate(-18.645502,-113.69651)"
+       id="g2146">
+      <g
+         transform="matrix(0.07147522,0,0,0.07147522,250.62455,153.8705)"
+         id="g890-8">
+        <path
+           id="path879-50"
+           d="m 448,73.143 v 45.714 C 448,159.143 347.667,192 224,192 
100.333,192 0,159.143 0,118.857 V 73.143 C 0,32.857 100.333,0 224,0 347.667,0 
448,32.857 448,73.143 Z M 448,176 V 278.857 C 448,319.143 347.667,352 224,352 
100.333,352 0,319.143 0,278.857 V 176 c 48.125,33.143 136.208,48.572 224,48.572 
87.792,0 175.874,-15.429 224,-48.572 z m 0,160 V 438.857 C 448,479.143 
347.667,512 224,512 100.333,512 0,479.143 0,438.857 V 336 c 48.125,33.143 
136.208,48.572 224,48.572 87.792,0 175.87 [...]
+      </g>
+      <text
+         xml:space="preserve"
+         
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="249.85829"
+         y="197.93983"
+         id="text2128"><tspan
+           sodipodi:role="line"
+           id="tspan2126"
+           x="249.85829"
+           y="197.93983"
+           style="stroke-width:0.264583">Auditor internal DB</tspan></text>
+    </g>
+    <text
+       id="text2150"
+       y="105.1814"
+       x="49.245609"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="105.1814"
+         x="49.245609"
+         id="tspan2148"
+         sodipodi:role="line">Postgres replication</tspan></text>
+    <text
+       id="text2188"
+       y="83.958023"
+       x="109.38902"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="83.958023"
+         x="109.38902"
+         id="tspan2186"
+         sodipodi:role="line">taler-auditor-sync</tspan></text>
+    <text
+       id="text2192"
+       y="24.976534"
+       x="230.1824"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="24.976534"
+         x="230.1824"
+         id="tspan2190"
+         sodipodi:role="line">taler-auditor-httpd</tspan></text>
+    <text
+       
style="fill:black;fill-opacity:1;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:3.52777778px;line-height:1.25;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect2196);"
+       id="text2194"
+       xml:space="preserve" />
+    <text
+       id="text2202"
+       y="144.25079"
+       x="237.84789"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="144.25079"
+         x="237.84789"
+         id="tspan2200"
+         sodipodi:role="line">taler-auditor</tspan></text>
+    <rect
+       y="17.823223"
+       x="5.5189505"
+       height="179.76277"
+       width="85.439964"
+       id="rect2204"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <rect
+       y="16.654621"
+       x="145.51649"
+       height="179.36324"
+       width="136.18742"
+       id="rect2206"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <text
+       id="text2210"
+       y="27.13241"
+       x="26.070297"
+       
style="font-style:normal;font-weight:normal;font-size:3.52777px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       xml:space="preserve"><tspan
+         style="stroke-width:0.264583"
+         y="27.13241"
+         x="26.070297"
+         id="tspan2208"
+         sodipodi:role="line">taler-exchange-httpd</tspan></text>
+    <circle
+       r="0.025015881"
+       cy="30.470467"
+       cx="44.608482"
+       style="fill:#000000;stroke:#020000;stroke-width:0.264583"
+       id="path2212" />
+    <path
+       id="path2214"
+       d="M 43.574858,30.273831 V 43.21797"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
 />
+    <path
+       id="path2216"
+       d="M 46.56148,93.636877 V 120.51253"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2514)"
 />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path2220"
+       d="M 65.551922,66.02918 175.61312,118.69094"
+       
style="fill:none;stroke:#000000;stroke-width:0.273109px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2662)"
 />
+    <path
+       id="path2222"
+       d="M 234.62494,143.2384 H 197.9307"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2542)"
 />
+    <path
+       id="path2224"
+       d="M 248.98222,140.645 V 85.978695"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2576)"
 />
+    <path
+       id="path2226"
+       d="m 248.23207,28.995391 v 8.785561"
+       
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2616)"
 />
+    <ellipse
+       ry="5.0640941"
+       rx="26.22459"
+       cy="25.763792"
+       cx="45.386578"
+       id="path2228"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <ellipse
+       ry="4.3381324"
+       rx="22.319004"
+       cy="24.075922"
+       cx="247.19611"
+       id="path2230"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+    <ellipse
+       ry="4.9346147"
+       rx="13.054943"
+       cy="143.48093"
+       cx="248.29224"
+       id="path2232"
+       
style="fill:none;fill-opacity:1;stroke:#020000;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
 />
+  </g>
+</svg>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]