gnunet-svn
[Top][All Lists]
Advanced

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

[taler-marketing] branch master updated: cut


From: gnunet
Subject: [taler-marketing] branch master updated: cut
Date: Tue, 07 Mar 2023 12:54: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 52b51d3  cut
52b51d3 is described below

commit 52b51d371bfa485961454c22c1d925185ab735dc
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Tue Mar 7 12:54:46 2023 +0100

    cut
---
 presentations/comprehensive/sbb.tex | 736 +-----------------------------------
 1 file changed, 5 insertions(+), 731 deletions(-)

diff --git a/presentations/comprehensive/sbb.tex 
b/presentations/comprehensive/sbb.tex
index 572f94e..733b174 100644
--- a/presentations/comprehensive/sbb.tex
+++ b/presentations/comprehensive/sbb.tex
@@ -234,7 +234,7 @@
  \begin{textblock*}{8cm}(4.7cm,6.7cm) % {block width} (coords)
    {\hfill {{\bf Dr. Emmanuel Benoist} \\
     \hfill {\bf Dr. Florian Dold} \\
-    \hfill {\bf Dr. Andreas Habegger} \\
+    \hfill {\bf Prof. Andreas Habegger} \\
     \hfill {\bf Dr. Christian Grothoff} \\ }
     \hfill \{benoist,dold,habegger,grothoff\}@taler.net }
 \end{textblock*}
@@ -1440,7 +1440,7 @@ But of course we use modern instantiations.
 \end{frame}
 
 
-\begin{frame}{Refresh protocol properties}
+\begin{frame}<1-| handout:0>{Refresh protocol properties}
   \begin{itemize}
   \item Customer asks exchange to convert old coin to new coin
   \item Protocol ensures new coins can be recovered from old coin
@@ -2212,202 +2212,12 @@ Searching for functions \uncover<2->{with the 
following signatures}
 \end{frame}
 
 
-\section{Measures against Advanced Attacks}
-
-\begin{frame}
-  \vfill
-  \begin{center}
-    {\bf Part VI: Measures against Advanced Attacks}
-  \end{center}
-  \vfill
-\end{frame}
-
-
-\begin{frame}{Warranting deposit safety}
-  Exchange has online signing key $W = wG$:
-  \begin{center}
-    Sends $EdDSA_w(M,H(D),FDH(C))$ to the merchant.
-  \end{center}
-  This signature means that $M$ was the {\em first} to deposit
-  $C$ and that the exchange thus must pay $M$.
-  \vfill
-  \begin{center}
-     Without this, a malicious exchange could renege on the deposit
-     confirmation and claim double-spending if a coin were
-     deposited twice, and then not pay either merchant!
-  \end{center}
-\end{frame}
-
-
-\begin{frame}{Key management}
-Taler has many types of keys:
-\begin{itemize}
-\item Coin keys
-\item Denomination keys
-\item Online message signing keys
-\item Offline key signing keys
-\item Merchant keys
-\item Auditor key
-\item Security module keys
-\item Transfer keys
-\item Wallet keys
-\item {\em TLS keys, DNSSEC keys}
-\end{itemize}
-\end{frame}
-
-
-\begin{frame}{Offline keys}
-Both exchange and auditor use offline keys.
-\begin{itemize}
-\item Those keys must be backed up and remain highly confidential!
-\item We recommend that computers that have ever had access to those
-      keys to NEVER again go online.
-\item We recommend using a Raspberry Pi for offline key operations.
-      Store it in a safe under multiple locks and keys.
-\item Apply full-disk encryption on offline-key signing systems.
-\item Have 3--5 full-disk backups of offline-key signing systems.
-\end{itemize}
-\begin{center}
-\includegraphics[scale=0.1]{pi.png}
-\end{center}
-\end{frame}
-
-
-\begin{frame}{Protecting online keys}
-The exchange needs keys to be available for online signing.
-\begin{itemize}
-\item {\tt taler-exchange-secmod-\{cs,eddsa,rsa\}}
-      are the only processes that must have access to the private keys.
-\item The secmod processes should run under a different UID, but share
-      the same GID with the exchange.
-\item The secmods generate the keys, allow {\tt taler-exchange-httpd} to sign 
with
-      them, and eventually delete the private keys.
-\item Communication between secmods and {\tt taler-exchange-httpd} is via
-      a UNIX domain socket.
-\item Online private keys are stored on disk (not in database!) and should
-      NOT be backed up (RAID should suffice). If disk is lost, we can always
-      create fresh replacement keys!
-\end{itemize}
-\end{frame}
-
-
-\begin{frame}{Online keys}
-\begin{center}
-\includegraphics[width=0.9\textwidth]{taler-diagram-signatures.png}
-\end{center}
-\end{frame}
-
-\begin{frame}{Online keys}
-The exchange needs keys to be available for online signing:
-\begin{itemize}
-\item Knowledge of these private keys will allow an adversary to
-      mint digital cash, possibly resulting in financial losses
-%      (eventually, this will be detected by the auditor, but only
-%       after some financial losses have been irrevocably incurred).
-\item The corresponding public keys are certified using
-      Taler's public key infrastructure (which uses offline-only keys).
-\end{itemize}
-\vfill
-{\tt taler-exchange-offline} can also be used to {\bf revoke} the
-online signing keys, if we find they have been compromised.
-\vfill
-\end{frame}
-
-
-\begin{frame}{Online keys}
-\begin{itemize}
-\item The exchange needs $d$ and $w$ to be available for online signing.
-\item The corresponding public keys $W$ and $(e,n)$ are certified using
-      Taler's public key infrastructure (which uses offline-only keys).
-\end{itemize}
-\vfill
-\begin{center}
-{\bf What happens if those private keys are compromised?}
-\end{center}
-\vfill
-\end{frame}
-
-
-\begin{frame}{Denomination key $(e,n)$ compromise}
-\begin{itemize}
-\item An attacker who learns $d$ can sign an arbitrary number of illicit coins
-      into existence and deposit them.
-\item Auditor and exchange can detect this once the total number of deposits
-      (illicit and legitimate) exceeds the number of legitimate coins the
-      exchange created.
-\item At this point, $(e,n)$ is {\em revoked}.  Users of {\em unspent}
-      legitimate coins reveal $b$ from their withdrawal operation and
-      obtain a {\em refund}.
-\item The financial loss of the exchange is {\em bounded} by the number of
-      legitimate coins signed with $d$.
-\item[$\Rightarrow$] Taler frequently rotates denomination signing keys and
-      deletes $d$ after the signing period of the respective key expires.
-\end{itemize}
-\begin{center}
-\includegraphics[width=0.5\textwidth]{taler-diagram-denom-expiration.png}
-\end{center}
-\end{frame}
-
-
-\begin{frame}{Online signing key $W$ compromise}
-\begin{itemize}
-\item An attacker who learns $w$ can sign deposit confirmations.
-\item Attacker sets up two (or more) merchants and customer(s) which 
double-spend
-      legitimate coins at both merchants.
-\item The merchants only deposit each coin once at the exchange and get paid 
once.
-\item The attacker then uses $w$ to fake deposit confirmations for the 
double-spent
-      transactions.
-\item The attacker uses the faked deposit confirmations to complain to the 
auditor
-      that the exchange did not honor the (faked) deposit confirmations.
-\end{itemize}
-The auditor can then detect the double-spending, but cannot tell who is to 
blame,
-and (likely) would presume a malicious exchange, forcing it to pay both 
merchants.
-\end{frame}
-
-
-\begin{frame}{Detecting online signing key $W$ compromise}
-\begin{itemize}
-\item Merchants are required to {\em probabilistically} report
-      signed deposit confirmations to the auditor.
-\item Auditor can thus detect exchanges not reporting signed
-      deposit confirmations.
-\item[$\Rightarrow$] Exchange can rekey if illicit key use is detected,
-      then only has to honor deposit confirmations it already provided
-      to the auditor {\em and} those without proof of double-spending
-      {\em and} those merchants reported to the auditor.
-\item[$\Rightarrow$] Merchants that do not participate in reporting
-      to the auditor risk their deposit permissions being voided in
-      cases of an exchange's private key being compromised.
-\end{itemize}
-\end{frame}
-
-
-\begin{frame}{Database}
-The exchange needs the database to detect double spending.
-\begin{itemize}
-\item Loss of the database will allow technically skilled people
-      to double-spend their digital cash, possibly resulting in
-      significant financial losses.
-\item The database contains total amounts customers withdrew and
-      merchants received, so sensitive private banking data. It
-      must thus not become public.
-\item The auditor must have a (current) copy. Asynchronous replication
-      should be sufficient.  This copy can also serve as an
-      additional (off-site?) backup.
-\end{itemize}
-\begin{center}
-  The database can also be replaced with a DLT if customer
-  requires it.
-\end{center}
-\end{frame}
-
-
 \section{Component Architecture}
 
 \begin{frame}
   \vfill
   \begin{center}
-    {\bf Part VII: Component Architecture}
+    {\bf Part VI: Component Architecture}
   \end{center}
   \vfill
 \end{frame}
@@ -2556,7 +2366,7 @@ backend,draw]{\tiny Backoffice};
 \begin{frame}
   \vfill
   \begin{center}
-    {\bf Part VIII: Integration considerations}
+    {\bf Part VII: Integration considerations}
   \end{center}
   \vfill
 \end{frame}
@@ -2626,535 +2436,12 @@ Largely implemented, only UI support missing. Expected 
to ship in Q1'2023.
 \end{frame}
 
 
-\section{Blockchain Integration}
-
-\begin{frame}
-  \vfill
-  \begin{center}
-    {\bf Part IX: Blockchain Integration}
-  \end{center}
-  \vfill
-  Antoine d’Aligny, Emmanuel Benoist and Christian Grothoff: ``{\em Project 
Depolymerization: Tokenization of Blockchains}''. {\bf 4th Conference on 
Blockchain Research \& Applications for Innovative Networks and Services}, 2022
-  \vfill
-\end{frame}
-
-
-\begin{frame}{Blockchain based cryptocurrencies}
-    \begin{tikzpicture}[remember picture,overlay]
-        \node (N1)[above right=5mm and 25mm of current page.center] 
{\includegraphics[width=34mm]{media/news1.png}};
-        \node (N0)[below=-3mm of N1] 
{\includegraphics[width=34mm]{media/news0.png}};
-        \node (N2)[below left=-26mm and -2.5mm of N1] 
{\includegraphics[width=34mm]{media/news2.png}};
-    \end{tikzpicture}
-    \begin{block}{Biggest cryptocurrencies}
-        \begin{itemize}
-            \item \textbf{BTC} Bitcoin
-            \item \textbf{ETH} Ethereum
-        \end{itemize}
-    \end{block}
-    \begin{block}{Common blockchain limitations}
-        \begin{itemize}
-            \item \textbf{Delay} block and confirmation delay
-            \item \textbf{Cost} transaction fees
-            \item \textbf{Scalability} limited amount of transaction per second
-            \item \textbf{Ecological impact} computation redundancy
-            \item \textbf{Privacy}
-            \item \textbf{Regulatory risk}
-        \end{itemize}
-    \end{block}
-\end{frame}
-
-\begin{frame}{Layer 2 solutions: Taler vs. Lightning}
-
-\begin{minipage}{5.5cm}
-{\bf Taler:}
-\begin{itemize}
-\item[\checkmark] can be used with any currency or asset
-\item[\checkmark] can make payments instantly between any two parties
-\item[\checkmark] has income transparency and can accommodate KYC, AML and CFT
-\item[\checkmark] has cryptographic privacy protections
-\item[\checkmark] can be used immediately to make instant payments
-\item[\checkmark] uses one or more central exchange service providers
-\end{itemize}
-\end{minipage}
-\hfill
-\begin{minipage}{5.5cm}
-{\bf Lightning:}
-\begin{itemize}
-\item[$\times$] only works with Bitcoin
-\item[$\times$] requires payment route establishment, which can fail
-\item[$\times$] cannot enforce regulatory requirements
-\item[$\times$] requires money to be locked in payment channels
-\item[$\times$] requires expensive Bitcoin node or trusted service to transact
-\item[$\times$] claims to be decentralized, but uses few and centralized nodes 
in practice
-\end{itemize}
-\end{minipage}
-\end{frame}
-
-\begin{frame}<1-| handout:0>{Taler}{Architecture}
-    \begin{columns}
-        \column{0.5\paperwidth}
-        \begin{tikzpicture}[
-                rect/.style={circle, draw=black},
-                sym/.style={-stealth, shorten >= 2pt, shorten <= 2pt}
-            ]
-            % Taler payment system
-            \node[rect](1) {Exchange};
-            \node[rect,below left=1.5cm and 0.7cm of 1](2) {Customer};
-            \node[rect,below right=1.5cm and 0.7cm of 1](3) {Merchant};
-
-            \draw[sym] (1) -- node [midway, above, sloped] {\tiny Withdraw 
coins} (2);
-            \draw[sym] (2) -- node [midway, above, sloped] {\tiny Spend coins} 
(3);
-            \draw[sym] (3) -- node [midway, above, sloped] {\tiny Deposit 
coins} (1);
-
-            % Settlement layer
-            \node[left=2cm of 1](E1){};
-            \node[right=2cm of 1](E2){};
-            \draw[sym] (E1) -- node [midway, above] {\tiny Deposit money} (1);
-            \draw[sym] (1) -- node [midway, above] {\tiny Withdraw money} (E2);
-
-            % Auditor
-            \node[above= of 1](A){Auditor};
-            \draw[sym] (A) -- node [midway, right] {\tiny Verify} (1);
-
-            % Separator
-            \node[below=1mm of E1] (S1S) {};
-            \node[below=1mm of E2] (S1E) {};
-            \node[above=6mm of E1] (S2S) {};
-            \node[above=6mm of E2] (S2E) {};
-
-            \draw[dotted] (S1S) -- (S1E);
-            \draw[dotted] (S2S) -- (S2E);
-
-            \node[below right=-2mm and -1.5mm of S2S] {\tiny{\emph{Settlement 
Layer}}};
-            \node[below right=-2mm and -1.5mm of S1S] {\tiny{\emph{Taler 
payment system}}};
-        \end{tikzpicture}
-        \column{0.47\paperwidth}
-        \begin{block}{Settlement layer}
-            \begin{itemize}
-                \item RTGS $\equiv$ Blockchain!
-            \end{itemize}
-        \end{block}
-        \begin{block}{Taler payment system}
-            \begin{itemize}
-                \item Realtime transactions, 1 RTT
-                \item Scalable microtransactions
-                \item Blind signatures (privacy)
-            \end{itemize}
-        \end{block}
-
-    \end{columns}
-\end{frame}
-
-\begin{frame}{Taler}{Blockchain settlement layer}
-    \begin{center}
-        \begin{tikzpicture}[
-                rect/.style={rectangle, draw=black, minimum width=30mm},
-                sym/.style={stealth-stealth, shorten >= 2pt, shorten <= 2pt},
-                block/.style={rectangle,draw=black,fill=black!10,minimum 
size=7mm},
-            ]
-
-            %% Architecture
-            \node(Tt){Taler};
-            \node[rect,below=0cm of Tt](Tc){Exchange};
-            \node[rect,fit={(Tt) (Tc)}](T){};
-
-            \node[rect,below=7mm of Tc](D) {\textbf{Depolymerization}};
-
-            \node[rect,below=7mm of D](Bc){Node};
-            \node[below=0cm of Bc](Bt){Blockchain};
-            \node[rect,fit={(Bt) (Bc)}](B){};
-
-            \draw[sym] (T) -- (D);
-            \draw[sym] (D) -- (B);
-
-            %% Blockchain
-            \node[block,right=8mm of B] (1){};
-            \node[block,right=4mm of 1] (2){};
-            \node[block,right=4mm of 2] (3){};
-            \node[block,right=4mm of 3] (4){};
-            \node[block,right=4mm of 4] (5){};
-            \node[block,right=4mm of 5] (6){};
-            \draw[-stealth] (1) -- (2);
-            \draw[-stealth] (2) -- (3);
-            \draw[-stealth] (3) -- (4);
-            \draw[-stealth] (4) -- (5);
-            \draw[-stealth] (5) -- (6);
-
-            \node[left=4mm of 1] (S){};
-            \node[right=4mm of 6] (E){};
-            \draw[-stealth] (S) -- (1);
-            \draw[-stealth] (6) -- (E);
-
-            %% Taler
-            \node[block, below right=-7.5mm and 20.5mm of T] (off){Off-chain 
transactions};
-            \node[above=-0.5mm of off] 
{\includegraphics[height=7mm]{taler-logo-2021-inkscape.pdf}};
-
-            %% Depolymerization
-            \node[right=11mm of D] {\small{Credit}};
-            \node[right=50mm of D] {\small{Debit}};
-            \draw[dashed,-stealth] (1.north) |- (off.west);
-            \draw[dashed,-stealth] (off.east) -| (6.north);
-        \end{tikzpicture}
-    \end{center}
-\end{frame}
-
-\begin{frame}<1-| handout:0>{Challenges}
-    \begin{block}{Taler Metadata}
-        \begin{itemize}
-            \item Metadata are required to link a wallet to credits and
-                  allow merchant to link deposits to debits
-            \item Putting metadata in blockchain transactions can be tricky
-        \end{itemize}
-    \end{block}
-    \begin{block}{Blockchain based cryptocurrencies}
-        \begin{itemize}
-            \item Blockchain transactions lack finality (fork)
-            \item Transactions can be stuck for a long time (mempool)
-        \end{itemize}
-    \end{block}
-\end{frame}
-
-\begin{frame}<1-| handout:0>{Blockchain challenges}{Chain reorganization}
-    \begin{center}
-        \begin{tikzpicture}[
-                block/.style={rectangle,draw=black,fill=black!10,minimum 
size=7mm},
-                ar/.style={-stealth}
-            ]
-            % Common
-            \node[block](1){};
-            \node[block,right=5mm of 1](2){$D_0$};
-            \node[block,right=5mm of 2](3){};
-            \draw[ar] (1) -- (2);
-            \draw[ar] (2) -- (3);
-
-            % Current
-            \node [block,right=5mm of 3](4){};
-            \node[block,right=5mm of 4](5){};
-            \node[block,right=5mm of 5](6){$D_1$};
-            \draw[ar] (3) -- (4);
-            \draw[ar] (4) -- (5);
-            \draw[ar] (5) -- (6);
-
-            % Fork
-            \node [block,above=7mm of 4](4p){};
-            \node[block,right=5mm of 4p](5p){$D_2$};
-            \node[block,right=5mm of 5p](6p){};
-            \node[block,right=5mm of 6p](7p){};
-            \draw[ar] (3.east) -- (4p.west);
-            \draw[ar] (4p) -- (5p);
-            \draw[ar] (5p) -- (6p);
-            \draw[ar] (6p) -- (7p);
-
-            % Indication
-            \node [right=5mm of 7p]{\emph{fork}};
-            \node [right=17mm of 6]{\emph{active}};
-        \end{tikzpicture}
-    \end{center}
-    A fork is when concurrent blockchain states coexist. Nodes will follow
-    the longest chain, replacing recent blocks if necessary during a
-    blockchain reorganization. If a deposit transaction disappears from the
-    blockchain, an irrevocable withdraw transactions would no longer be backed
-    by credit.
-\end{frame}
-
-\begin{frame}<1-| handout:0>{Blockchain challenges}{Stuck transactions}
-    We want confirmed debits within a limited time frame.
-    \begin{figure}
-        \centering
-        \only<1> {
-            \begin{tikzpicture}[
-                    dot/.style={circle,fill,inner sep=1pt,}
-                ]
-                \node (I) {\includegraphics[width=\textwidth]{media/fee.png}};
-                \node [below left=-2.5mm and -1.5cm of I] (Tx) {\small Tx};
-                \node [dot,above=8.4mm of Tx](D) {};
-                \draw [dotted,thick] (Tx) -- (D);
-                \node [left=-4.5cm of Tx] (C) {\small conf};
-                \node [dot,above=8.4mm of C](D1) {};
-                \draw [dotted,thick] (C) -- (D1);
-            \end{tikzpicture}
-        }
-        \only<2> {
-            \includegraphics[width=\textwidth]{media/fee_var.png}
-            \caption{Bitcoin average transaction fee over 6 months {\tiny 
(ychart)}}
-        }
-    \end{figure}
-    \only<1>{When we trigger a debit with a fee too small, it may not be
-        confirmed in a timely fashion.}
-    \only<2>{However, transaction fees are unpredictable.}
-\end{frame}
-
-
-\begin{frame}{Depolymerization}{Architecture}
-    \begin{center}
-        \begin{tikzpicture}[
-                rect/.style={rectangle, draw=black, minimum height=6mm, 
minimum width=28mm},
-                sym/.style={stealth-stealth, shorten >= 2pt, shorten <= 2pt}
-            ]
-            \node[rect](1) {Taler Exchange};
-            \node[rect,below=of 1](2) {Wire Gateway};
-            \node[rect,right=of 2](3) {PostgreSQL};
-            \node[rect,right=of 3](4) {DLT Adapter};
-            \node[rect,above=of 4](5) {DLT Full Node};
-
-            \draw[sym] (1) -- node [midway,right] {\tiny HTTP} (2);
-            \draw[sym] (2) -- node [midway,above] {\tiny SQL} (3);
-            \draw[sym] (3) -- node [midway,above] {\tiny SQL} (4);
-            \draw[sym] (4) -- node [midway,left ] {\tiny RPC} (5);
-
-
-            \node[above= 2mm of 1]{\small{\emph{Wire Gateway API}}};
-            \node[above= 2mm of 5]{\small{\emph{DLT specific}}};
-            \node[above=22mm of 3](T) {};
-            \draw[dotted] (3) -- (T);
-        \end{tikzpicture}
-    \end{center}
-    \begin{itemize}
-        \item Common database to store transactions state and communicate
-              with notifications
-        \item Wire Gateway for Taler API compatibility
-        \item DLT specific adapter
-    \end{itemize}
-\end{frame}
-
-\begin{frame}{Storing metadata}{Bitcoin}
-    \begin{block}{Bitcoin - Credit}
-        \begin{itemize}
-            \item Transactions from code
-            \item Only 32B + URI
-            \item \textbf{OP\_RETURN}
-        \end{itemize}
-    \end{block}
-    \begin{block}{Bitcoin - Debit}
-        \begin{itemize}
-            \item Transactions from common wallet software
-            \item Only 32B
-            \item \textbf{Fake Segwit Addresses}
-        \end{itemize}
-    \end{block}
-\end{frame}
-\begin{frame}{Storing metadata}{Ethereum}
-    \begin{block}{Smart contracts}
-        \begin{itemize}
-            \item Logs in smart contract is the recommend way {\tiny 
(ethereum.org)}
-            \item Expensive (additional storage and execution fees)
-            \item Avoidable attack surface (error prone)
-        \end{itemize}
-    \end{block}
-    \begin{block}{Custom input format}
-        Use input data in transactions, usually used to call smart contract, to
-        store our metadata.
-    \end{block}
-\end{frame}
-
-\begin{frame}{Handling blockchain reorganization}
-    \begin{center}
-        \begin{tikzpicture}[
-                block/.style={rectangle,draw=black,fill=black!10,minimum 
size=7mm},
-                conf/.style={draw=black!60!green,fill=black!60!green!10},
-                nconf/.style={dotted},
-                err/.style={draw=black!60!red,fill=black!60!red!10},
-                ar/.style={-stealth}
-            ]
-            % Common
-            \node[block,conf](1){};
-            \node[block,conf,right=5mm of 1](2){$D_0$};
-            \node[block,conf,right=5mm of 2](3){};
-            \draw[ar] (1) -- (2);
-            \draw[ar] (2) -- (3);
-
-            % Current
-            \only<1>{
-                \node [block,nconf,right=5mm of 3](4){};
-            }
-            \only<2->{
-                \node [block,conf,right=5mm of 3](4){\only<3>{$D_3$}};
-            }
-            \node[block,nconf,right=5mm of 4](5){};
-            \node[block,nconf,right=5mm of 5](6){$D_1$};
-            \draw[ar] (3) -- (4);
-            \draw[ar] (4) -- (5);
-            \draw[ar] (5) -- (6);
-
-            % Fork
-            \only<-2>{
-                \node [block,nconf,above=7mm of 4](4p){};
-            }
-            \only<3>{
-                \node [block,dashed,err,above=7mm of 4](4p){$D_3'$};
-            }
-            \node[block,nconf,right=5mm of 4p](5p){$D_2$};
-            \node[block,nconf,right=5mm of 5p](6p){};
-            \node[block,nconf,right=5mm of 6p](7p){};
-            \draw[ar] (3.east) -- (4p.west);
-            \draw[ar] (4p) -- (5p);
-            \draw[ar] (5p) -- (6p);
-            \draw[ar] (6p) -- (7p);
-
-            % Indication
-            \node [right=5mm of 7p]{\emph{fork}};
-            \node [right=17mm of 6]{\emph{active}};
-        \end{tikzpicture}
-    \end{center}
-    \only<1>{As small reorganizations are common, Satoshi already recommended 
to
-        apply a confirmation delay to handle most disturbances and attacks.}
-    \only<2>{If a reorganization longer than the confirmation delay happens,
-        but it did not remove credits, Depolymerizer is safe and automatically
-        resumes.}
-    \only<3>{If a fork removed a confirmed debit, an attacker may create a
-        conflicting transaction. Depolymerizer suspends operation until lost
-        credits reappear.}
-\end{frame}
-
-\begin{frame}{Adaptive confirmation}
-    \begin{center}
-        \begin{tikzpicture}[
-                block/.style={rectangle,draw=black,fill=black!10,minimum 
size=7mm},
-                conf/.style={draw=black!60!green,fill=black!60!green!10},
-                nconf/.style={dotted},
-                conft/.style={text=black!60!green},
-                confl/.style={draw=black!60!green},
-                ar/.style={-stealth}
-            ]
-            % Common
-            \node(0){};
-            \node[block,conf,right=5mm of 0](1){};
-            \node[block,conf,right=5mm of 1](2){};
-            \draw[ar] (0) -- (1);
-            \draw[ar] (1) -- (2);
-
-            % Current
-            \node[block,conf,right=5mm of 2](3){};
-            \node[block,nconf,right=5mm of 3](4){};
-            \node[block,nconf,right=5mm of 4](5){};
-            \node[block,nconf,right=5mm of 5](6){};
-            \draw[ar] (2) -- (3);
-            \draw[ar] (3) -- (4);
-            \draw[ar] (4) -- (5);
-            \draw[ar] (5) -- (6);
-
-            % Fork
-            \node[block,nconf,above=7mm of 3](3p){};
-            \node[block,nconf,right=5mm of 3p](4p){};
-            \node[block,nconf,right=5mm of 4p](5p){};
-            \node[block,nconf,right=5mm of 5p](6p){};
-            \node[block,nconf,right=5mm of 6p](7p){};
-            \draw[ar] (2.east) -- (3p.west);
-            \draw[ar] (3p) -- (4p);
-            \draw[ar] (4p) -- (5p);
-            \draw[ar] (5p) -- (6p);
-            \draw[ar] (6p) -- (7p);
-
-            % Indication
-            \node[right=5mm of 7p]{\emph{fork}};
-            \node[right=17mm of 6]{\emph{active}};
-
-            % Confirmation
-            \path (0) -- (1) node[conft,midway, below=6mm] (M) {Max};
-            \path (2) -- (3) node[conft,midway, below=6mm] (N) {New};
-            \path (3) -- (4) node[conft,midway, below=6mm] (I) {Initial};
-            \node[above=25mm of M] (Mp) {};
-            \node[above=25mm of N] (Np) {};
-            \node[above=25mm of I] (Ip) {};
-            \draw[confl,thick,dotted](M) -- (Mp);
-            \draw[confl](N) -- (Np);
-            \draw[confl,thick,dotted](I) -- (Ip);
-        \end{tikzpicture}
-    \end{center}
-    If we experience a reorganization once, its likely for another
-    reorganization of a similar scope to happen again.
-    Depolymerizer learns from reorganizations by increasing its confirmation 
delay.
-\end{frame}
-
-
-
-\begin{frame}<1-| handout:0>{DLT Adapter}{Architecture}
-    \begin{block}{Event system}
-        \begin{itemize}
-            \item \textbf{Watcher} watch and notify for new blocks with credits
-            \item \textbf{Wire Gateway} notify requested debits
-            \item \textbf{Worker} operates on notifications updating state
-        \end{itemize}
-    \end{block}
-\end{frame}
-
-
-\begin{frame}<1-| handout:0>{DLT Adapter state machine}
-    \begin{columns}
-        \column{0.5\paperwidth}
-        \begin{figure}
-            \begin{tikzpicture}[
-                    rect/.style={rectangle, draw=black, minimum height=6mm, 
minimum width=50mm},
-                ]
-
-                \node[rect](wo1) {Wait for notifications};
-                \node[rect, below=4mm of wo1](wo2) {Reconcile local DB with 
DLT};
-                \node[rect, below=4mm of wo2](wo3) {Trigger debits};
-                \node[rect, below=4mm of wo3](wo4) {Reissue stuck debits};
-                \node[rect, below=4mm of wo4](wo5) {Bounce malformed credits};
-                \draw[-stealth] (wo1) -- (wo2);
-                \draw[-stealth] (wo2) -- (wo3);
-                \draw[-stealth] (wo3) -- (wo4);
-                \draw[-stealth] (wo4) -- (wo5);
-                \draw[-stealth] (wo5) .. controls ([xshift=-0.4cm] wo5.west) 
and ([xshift=-0.4cm] wo1.west) .. (wo1);
-            \end{tikzpicture}
-            \caption{Worker loop}
-        \end{figure}
-        \column{0.47\paperwidth}
-        \begin{block}{DLT reconcialisation}
-            \begin{itemize}
-                \item List new and removed transactions since last 
reconciliation
-                \item Check for confirmed credits removal
-                \item Register new credits
-                \item Recover lost debits
-            \end{itemize}
-        \end{block}
-    \end{columns}
-\end{frame}
-
-\begin{frame}<1-| handout:0>{Related work}
-    \begin{block}{Centralization - Coinbase off-chain sending}
-        \begin{itemize}
-            \item [$+$] Fast and cheap: off chain transaction
-            \item [$-$] Trust in Coinbase: privacy, security \& transparency
-        \end{itemize}
-    \end{block}
-    \begin{block}{Layering - Lightning Network}
-        \begin{itemize}
-            \item [$+$] Fast and cheap: off-chain transactions
-            \item [$-$] Requires setting up bidirectional payment channels
-            \item [$-$] Fraud attempts are mitigated via a complex penalty 
system
-        \end{itemize}
-    \end{block}
-\end{frame}
-
-\begin{frame}{Project Depolymerization Summary}
-    Taler can be used as a layer 2 for existing
-    crypto-currencies and stablecoins with Depolymerizer:
-
-    \begin{itemize}
-        \item [$-$] Trust exchange operator or auditors
-        \item [$+$] Fast and cheap
-        \item [$+$] Realtime: transactions with milliseconds of latency
-        \item [$+$] Linear scalability
-        \item [$+$] Ecological
-        \item [$+$] Privacy when it can, transparency when it must (avoid tax 
evasion and money laundering)
-    \end{itemize}
-%Future work:
-%    \begin{itemize}
-%        \item  Universal auditability, using sharded transactions history
-%        \item  Smarter analysis, update confirmation delay based on currency 
network behavior
-%        \item  Multisig by multiple operator for transactions validation
-%    \end{itemize}
-\end{frame}
-
-
 \section{Conclusion}
 
 \begin{frame}
   \vfill
   \begin{center}
-    {\bf Part X: Conclusion}
+    {\bf Part VIII: Conclusion}
   \end{center}
   \vfill
 \end{frame}
@@ -3253,19 +2540,6 @@ Largely implemented, only UI support missing. Expected 
to ship in Q1'2023.
 \end{frame}
 
 
-\begin{frame}{Rights}
-  \begin{itemize}
-    \item GNUnet e.V. shared copyrights of their AGPLv3+ licensed code with 
Taler Systems SA
-    \item Taler Systems SA holds copyrights to entire GNU Taler code base 
(AGPLv3+, GPLv3+,
-      dual-licensing exclusive domain of Taler Systems SA)
-    \item Taler Systems SA applied for patent on offline payment solution
-    \item Taler Systems SA holds trademark on ``Taler''.
-    \item FSF holds trademark on ``GNU'', we are authorized to use ``GNU 
Taler''.
-    \item Taler Systems SA owns {\tt taler.net} and {\tt taler-systems.com}.
-  \end{itemize}
-\end{frame}
-
-
 \begin{frame}{Summary of Taler Solution}
 
 \begin{enumerate}

-- 
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]