commit 7c3c68a9f3ff47674954e1e2c97ca7386757b5d6
parent 47e3b726e2f55ffc9ecb19f1d5308f20a82b7843
Author: Iván Ávalos <avalos@disroot.org>
Date: Tue, 22 Sep 2026 00:26:29 +0200
cut-off some Datenspuren 2026 slides
Diffstat:
1 file changed, 42 insertions(+), 40 deletions(-)
diff --git a/presentations/2026-datenspuren/slides-datenspuren.tex b/presentations/2026-datenspuren/slides-datenspuren.tex
@@ -116,20 +116,20 @@
\includesvg[width=\textwidth,height=0.65\textheight,keepaspectratio]{assets/TalerDiagram}
\end{frame}
-\begin{frame}{How does it work?}{Withdraw coins}
- \centering
- \includesvg[width=\textwidth,height=0.80\textheight,keepaspectratio]{assets/flow1}
-\end{frame}
+%% \begin{frame}{How does it work?}{Withdraw coins}
+%% \centering
+%% \includesvg[width=\textwidth,height=0.80\textheight,keepaspectratio]{assets/flow1}
+%% \end{frame}
-\begin{frame}{How does it work?}{Pay anonymously}
- \centering
- \includesvg[width=\textwidth,height=0.80\textheight,keepaspectratio]{assets/flow2}
-\end{frame}
+%% \begin{frame}{How does it work?}{Pay anonymously}
+%% \centering
+%% \includesvg[width=\textwidth,height=0.80\textheight,keepaspectratio]{assets/flow2}
+%% \end{frame}
-\begin{frame}{How does it work?}{Deposit coins}
- \centering
- \includesvg[width=\textwidth,height=0.80\textheight,keepaspectratio]{assets/flow3}
-\end{frame}
+%% \begin{frame}{How does it work?}{Deposit coins}
+%% \centering
+%% \includesvg[width=\textwidth,height=0.80\textheight,keepaspectratio]{assets/flow3}
+%% \end{frame}
\begin{frame}{How does it work?}{Blind signatures}
\centering
@@ -141,7 +141,8 @@
\begin{column}{0.62\textwidth}
\begin{itemize}
\item Your money and purchase history are stored \textbf{locally} in your wallet.
- \item Your are responsible for keeping them safe against \textbf{loss}, \textbf{theft}, or \textbf{unauthorized access}.
+ \item You are responsible for keeping them safe against \textbf{loss},
+ \textbf{theft}, or \textbf{unauthorized access}.
\item Your bank and exchange have no record of your individual purchases.
\item You can only spend money from the wallet(s) where you have it stored.
\item \textbf{If you lose your phone, you lose your money!}
@@ -266,7 +267,7 @@
\includesvg[width=\textwidth,height=0.50\textheight,keepaspectratio]{assets/doublespend}
\end{center}
\begin{itemize}
- \item Double spending is imposible, since the exchange keeps track of spent coins.
+ \item Double spending is impossible, since the exchange keeps track of spent coins.
\item Wallets still need to handle this gracefully and select only unspent coins.
\begin{itemize}
\item (Exchange can tell you which of your coins were already spent.)
@@ -304,7 +305,7 @@
\begin{itemize}
\item Each block contains a set of wallet \textbf{increments} (i.e. changes in state)
\item Identified in the double-linked list by a \textbf{nonce}.
- \item \textbf{Versioned} to prevent replacement attacks.
+ \item \textbf{Versioned} to prevent “downgrade” attacks.
\item \textbf{Encrypted} using its own symmetric key derived by the wallet per block (\textit{libsodium secretbox}).
\item \textbf{Kilobyte-padded} to minimize metadata leakage based on size.
\item Every DLL operation must be \textbf{authenticated} via a signature generated by the wallet.
@@ -343,9 +344,10 @@
\begin{itemize}
\item Allows binary objects to be stored \textbf{deduplicated} in the backup.
\item Objects can be referenced by blocks using an identifier derived
- from the hash and the secret key of the wallet.
- \item \textbf{Encrypted} using a symmetric key derived by the wallet
- for each object from its contents (also \textit{libsodium secretbox}).
+ from the object's hash and the secret key of the wallet.
+ \item \textbf{Encrypted} using a symmetric key derived from the
+ object's hash and the wallet private backup key (also
+ \textit{libsodium secretbox}).
\item \textbf{Reference counted:} objects with count zero are garbage
collected after a configured period of time.
\end{itemize}
@@ -371,20 +373,20 @@
\end{columns}
\end{frame}
-\begin{frame}[fragile]{Signatures}{DD92: Incremental Wallet Backup and Sync}
- \begin{minted}{c}
- // Authorizes the append or in-place update of a block.
- struct SyncBlockUploadSignaturePS {
- struct GNUNET_CRYPTO_SignaturePurpose purpose;
- struct SYNC_BlockNonce prev_nonce; ///< all-zeros if first block
- struct SYNC_BlockNonce next_nonce; ///< all-zeros if last block
- struct SYNC_BlockNonce nonce;
- struct GNUNET_HashCode old_hash; ///< all-zeros for appends
- struct GNUNET_HashCode new_hash;
- struct GNUNET_HashCode refs_hash; ///< over object_refs
- };
- \end{minted}
-\end{frame}
+%% \begin{frame}[fragile]{Signatures}{DD92: Incremental Wallet Backup and Sync}
+%% \begin{minted}{c}
+%% // Authorizes the append or in-place update of a block.
+%% struct SyncBlockUploadSignaturePS {
+%% struct GNUNET_CRYPTO_SignaturePurpose purpose;
+%% struct SYNC_BlockNonce prev_nonce; ///< all-zeros if first block
+%% struct SYNC_BlockNonce next_nonce; ///< all-zeros if last block
+%% struct SYNC_BlockNonce nonce;
+%% struct GNUNET_HashCode old_hash; ///< all-zeros for appends
+%% struct GNUNET_HashCode new_hash;
+%% struct GNUNET_HashCode refs_hash; ///< over object_refs
+%% };
+%% \end{minted}
+%% \end{frame}
\begin{frame}[fragile]{Increment}{DD92: Incremental Wallet Backup and Sync}
\begin{columns}[T]
@@ -421,7 +423,7 @@ interface AddExchangeInc {
\begin{frame}[fragile]{Increment set}{DD92: Incremental Wallet Backup and Sync}
\begin{itemize}
- \item Smallest backup unit.
+ \item Smallest wire protocol unit.
\item Local changes in the wallet are collected in a temporary buffer.
\item When a backup cycle runs, the increment set is packed into a block,
encrypted, and uploaded to the sync server.
@@ -547,6 +549,13 @@ interface IncrementSet {
\end{columns}
\end{frame}
+\begin{frame}{References}
+ \centering
+ \qrcode[height=0.50\textheight]{https://docs.taler.net/design-documents/092-incremental-backup-sync.html}\\[1.2em]
+ {\small Design Document \#92: Incremental Wallet Backup and Sync}\\[0.6em]
+ {\footnotesize\url{https://docs.taler.net/design-documents/092-incremental-backup-sync.html}}
+\end{frame}
+
\begin{frame}{Acknowledgements}
\begin{minipage}{0.45\textwidth} \ \\
{\tiny Funded by the European Union (Project 101135475).}
@@ -572,13 +581,6 @@ interface IncrementSet {
them.}
\end{frame}
-\begin{frame}{References}
- \centering
- \qrcode[height=0.50\textheight]{https://docs.taler.net/design-documents/092-incremental-backup-sync.html}\\[1.2em]
- {\small Design Document \#92: Incremental Wallet Backup and Sync}\\[0.6em]
- {\footnotesize\url{https://docs.taler.net/design-documents/092-incremental-backup-sync.html}}
-\end{frame}
-
\begin{frame}{Contact}
\begin{columns}[c]
\begin{column}{0.62\textwidth}