commit fb88a483473e5b3207ff6eac78faca149b4c8103
parent 3429547dca06e9dcc8140581056158163e0ef633
Author: Antoine A <>
Date: Wed, 2 Feb 2022 20:40:48 +0100
presentation: progress
Diffstat:
| M | docs/presentation.tex | | | 102 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
1 file changed, 54 insertions(+), 48 deletions(-)
diff --git a/docs/presentation.tex b/docs/presentation.tex
@@ -1,6 +1,9 @@
\documentclass{beamer}
\usepackage{tikz}
+\usepackage{ragged2e}
+
+\apptocmd{\frame}{}{\justifying}{}
\usetikzlibrary{positioning,fit}
@@ -35,7 +38,7 @@
\begin{itemize}
\item \textbf{Delay} block and confirmation delay
\item \textbf{Cost} transaction fees
- \item \textbf{Scalability} limited amount of transaction per seconds
+ \item \textbf{Scalability} limited amount of transaction per second
\item \textbf{Ecological impact} computation redundancy
\item \textbf{Privacy}
\end{itemize}
@@ -65,19 +68,21 @@
\node[above= of 1](A){Auditor};
- \draw[sym] (A) -- node [midway, right] {\tiny Audit} (1);
+ \draw[sym] (A) -- node [midway, right] {\tiny Verify} (1);
\end{tikzpicture}
\end{center}
\end{frame}
-\begin{frame}{Taler}{Coins}
- - Blind signatures
- - Currency agnostic
- - Change signature every year, Forget previous transactions (Pruning)
- - Compatibility ?
+\begin{frame}{Taler}{Coins - WIP}
+ \begin{itemize}
+ \item Blind signatures
+ \item Currency agnostic
+ \item Change signature every year, Forget previous transactions (Pruning)
+ \item Compatibility ?
+ \end{itemize}
\end{frame}
-\begin{frame}{Taler}{Off the chain transaction}
+\begin{frame}{Taler}{Off-chain transactions}
\begin{center}
\begin{tikzpicture}[
rect/.style={rectangle, draw=black, minimum width=28mm},
@@ -129,9 +134,9 @@
\begin{frame}{Depolymerization}{Metadata}
\begin{itemize}
- \item Metadata are stored alongside depolymerizer on-chain transactions
- \item The whole transaction history can be retrieved from the blockchain
- \item Easily auditable
+ \item Metadata are stored in depolymerizer on-chain transactions
+ \item The whole on-chain transaction history can be retrieved from the blockchain
+ \item \textbf{Easily auditable}
\end{itemize}
\end{frame}
@@ -151,6 +156,8 @@
\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);
+
+
\end{tikzpicture}
\end{center}
Two processes sharing a common database for state and communication.
@@ -158,9 +165,9 @@
every supported currency.
\end{frame}
-\section{btc\_wire}
+\section{btc-wire}
-\begin{frame}{btc\_wire}{Architecture}
+\begin{frame}{btc-wire}{Architecture}
\begin{center}
\begin{tikzpicture}[
rect/.style={rectangle, draw=black, minimum height=6mm, minimum width=38mm},
@@ -182,7 +189,7 @@
% Worker loop
\node[rect, below right= -2mm and 1cm of wa1](wo1) {Wait for notification};
- \node[rect, below=4mm of wo1](wo2) {Synchronize};
+ \node[rect, below=4mm of wo1](wo2) {Synchronize chain};
\node[rect, below=4mm of wo2](wo3) {Send};
\node[rect, below=4mm of wo3](wo4) {Bounce};
\node[above=1mm of wo1]{Worker};
@@ -196,25 +203,25 @@
Three concurrent loops
\end{frame}
-\begin{frame}{btc\_wire}{Metadata}
- \begin{block}{Deposit}
+\begin{frame}{btc-wire}{Metadata}
+ \begin{block}{Withdraw}
\begin{itemize}
- \item Transaction from common wallet software
- \item Only 32B
- \item \textbf{Fake Segwit Addresses}
+ \item Transaction from code
+ \item Only 32B + URI
+ \item \textbf{OP\_RETURN}
\end{itemize}
\end{block}
\begin{block}{Deposit}
\begin{itemize}
- \item Transaction from code
- \item Only 32B + URI
- \item \textbf{OP\_RETURN}
+ \item Transaction from common wallet software
+ \item Only 32B
+ \item \textbf{Fake Segwit Addresses}
\end{itemize}
\end{block}
\end{frame}
-\begin{frame}{btc\_wire}{Security features}
+\begin{frame}{btc-wire}{Security features}
\begin{itemize}
\item Reorg resilient
\item Adaptive confirmation
@@ -222,7 +229,7 @@
\end{itemize}
\end{frame}
-\begin{frame}{btc\_wire}{Reorg resilient}
+\begin{frame}{btc-wire}{Reorg resilient}
\begin{center}
\begin{tikzpicture}[
block/.style={rectangle,draw=black,fill=black!10,minimum size=7mm},
@@ -276,21 +283,21 @@
\node [right=17mm of 6]{\emph{active}};
\end{tikzpicture}
\end{center}
- \only<1>{A fork is when concurrent blockchain state coexists. Node will follow the
- longest chain replacing recent blocks if necessary. This is a blockchain
- reorganisation. In Taler deposit transaction are expected to be
- consistent, if a deposit transaction disappear from the blockchain
- btc\_wire is comprised.}
- \only<2>{As small forks are common, we apply a confirmation delay to handle
- the most common disturbances and attack.}
- \only<3>{If a reorganisation bigger than the confirmation delay happen,
- but no deposit transaction are removed btc\_wire is safe.}
- \only<4>{If a confirmed deposit transaction has been removed, it is
- possible for a powerful attacker to have created a conflicting transaction. btc\_wire
- stop functioning until lost deposit transactions reappeared.}
+ \only<1>{A fork is when concurrent blockchain states coexist. Nodes will
+ follow the longest chain, replacing recent blocks if necessary. That is a
+ blockchain reorganization. Taler expects deposit transactions to be
+ consistent. If a deposit transaction disappears from the blockchain btc-wire
+ is comprised.}
+ \only<2>{As small forks are common, we apply a confirmation delay to
+ handle the most common disturbances and attacks.}
+ \only<3>{If a reorganization longer than the confirmation delay happens,
+ but it does not remove deposits, btc-wire is safe.}
+ \only<4>{If it removed a confirmed deposit a powerful attacker may have
+ created a conflicting transaction. btc-wire suspends operation until
+ lost deposits reappear.}
\end{frame}
-\begin{frame}{btc\_wire}{Adaptive confirmation}
+\begin{frame}{btc-wire}{Adaptive confirmation}
\begin{center}
\begin{tikzpicture}[
block/.style={rectangle,draw=black,fill=black!10,minimum size=7mm},
@@ -306,7 +313,6 @@
\draw[->] (1) -- (2);
% Current
-
\node[block,conf,right=5mm of 2](3){};
\node[block,right=5mm of 3](4){};
\node[block,right=5mm of 4](5){};
@@ -345,13 +351,12 @@
\end{tikzpicture}
\end{center}
If we experience a reorganisation once, its plausible for another one of the
- same size to happen again. We update the confirmation time, learning from
- previous disturbances.
+ same size to happen again. btc-wire learns from reorganizations by updating
+ its confirmation time.
\end{frame}
-\begin{frame}{btc\_wire}{Handle stuck transactions}
- \only<1>{We want transactions to be confirmed in a bounded time period}
+\begin{frame}{btc-wire}{Handle stuck transactions}
\begin{center}
\begin{tikzpicture}[
dot/.style={circle,fill,inner sep=1pt,}
@@ -381,11 +386,12 @@
};
\end{tikzpicture}
\end{center}
- \only<1>{However, transaction fees are variable and can only be predicted}
- \only<2>{When a transaction is sent with a fee too small compared to other transaction,
- it can take an unlimited amount of time for this transaction to be mined}
- \only<3>{We monitor pending transaction and bump their fee if they take too muck time to be mined}
-
+ \only<1>{We want confirmation of transactions within a limited time frame.
+ However, transaction fees are variable, and we can only predict them.}
+ \only<2>{When we send a transaction with a fee too small compared to other
+ transactions, it can take an unlimited amount of time for it to be mined.}
+ \only<3>{You can configure btc-wire to monitor pending transactions and
+ bump their fees if they take too much time to be mined.}
\end{frame}
@@ -414,7 +420,7 @@
\item [$+$] Scalability, close to 100k txs per second
\item [$+$] Ecological
\item [$+$] Privacy when it can, transparency when it must (avoid tax evasion and money laundering)
- \item [$+$] Currency agnostic
+ \item [$+$] Currency agnostic (payment system)
\end{itemize}
\end{frame}
\end{document}
\ No newline at end of file