[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 "safe" 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 "safe"
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 "safe"
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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-marketing] branch master updated: more slides,
gnunet <=