depolymerization

wire gateway for Bitcoin/Ethereum
Log | Files | Refs | Submodules | README | LICENSE

commit 485e60e4f799ec819d132f91e5cd5641a2d43084
parent cc676a94ff5ed6917afbd9021d59f5c1622b3167
Author: Antoine A <>
Date:   Wed,  9 Feb 2022 15:59:02 +0100

presentation: progress

Diffstat:
Mdocs/presentation.tex | 63++++++++++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 44 insertions(+), 19 deletions(-)

diff --git a/docs/presentation.tex b/docs/presentation.tex @@ -91,7 +91,7 @@ \begin{block}{Taler payment system} \begin{itemize} \item Blind signatures (privacy) - \item Rotate keys every year. Forget previous transactions (Pruning) + \item Rotate keys every year, forget previous transactions (pruning) \end{itemize} \end{block} @@ -212,6 +212,32 @@ depolymerizer is comprised. \end{frame} +\begin{frame}{Challenges}{Stuck transactions} + \begin{center} + \begin{tikzpicture}[ + dot/.style={circle,fill,inner sep=1pt,} + ] + + % TODO caption with source (Ychart) + + \node (I) {\includegraphics[width=\textwidth]{media/fee.png}}; + \only<2->{ + \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} + \end{center} + \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.} +\end{frame} + + \begin{frame}{Depolymerization}{Architecture} \begin{center} \begin{tikzpicture}[ @@ -247,14 +273,14 @@ \begin{frame}{Depolymerization}{Metadata} \begin{block}{Bitcoin - Withdraw} \begin{itemize} - \item Transaction from code + \item Transactions from code \item Only 32B + URI \item \textbf{OP\_RETURN} \end{itemize} \end{block} \begin{block}{Bitcoin - Deposit} \begin{itemize} - \item Transaction from common wallet software + \item Transactions from common wallet software \item Only 32B \item \textbf{Fake Segwit Addresses} \end{itemize} @@ -282,22 +308,24 @@ \draw[-stealth] (wa2) .. controls ([xshift=-0.3cm] wa2.west) and ([xshift=-0.3cm] wa1.west) .. (wa1); % Analysis loop - \node[below=5mm of wa2] (at) {Analysis}; + \node[below=7mm of wa2] (at) {Analysis}; \node[rect, below=1mm of at](a1) {Wait for notification}; \node[rect, below=4mm of a1](a2) {Analyse}; \draw[-stealth] (a1) -- (a2); \draw[-stealth] (a2) .. controls ([xshift=-0.3cm] a2.west) and ([xshift=-0.3cm] a1.west) .. (a1); % Worker loop - \node[rect, below right= -2mm and 1cm of wa1](wo1) {Wait for notification}; + \node[rect, right= 1cm of wa1](wo1) {Wait for notification}; \node[rect, below=4mm of wo1](wo2) {Synchronize chain}; - \node[rect, below=4mm of wo2](wo3) {Send}; + \node[rect, below=4mm of wo2](wo3) {Withdraw}; \node[rect, below=4mm of wo3](wo4) {Bounce}; + \node[rect, below=4mm of wo4](wo5) {Bump}; \node[above=1mm of wo1]{Worker}; \draw[-stealth] (wo1) -- (wo2); \draw[-stealth] (wo2) -- (wo3); \draw[-stealth] (wo3) -- (wo4); - \draw[-stealth] (wo4) .. controls ([xshift=-0.4cm] wo4.west) and ([xshift=-0.4cm] wo1.west) .. (wo1); + \draw[-stealth] (wo4) -- (wo5); + \draw[-stealth] (wo5) .. controls ([xshift=-0.4cm] wo5.west) and ([xshift=-0.4cm] wo1.west) .. (wo1); \end{tikzpicture} \end{center} \centering @@ -353,7 +381,7 @@ \end{tikzpicture} \end{center} \only<1>{As small reorganisations are common, we apply a confirmation delay - to handle the most common disturbances and attacks.} + to handle most disturbances and attacks.} \only<2>{If a reorganisation longer than the confirmation delay happens, but it does not remove deposits, btc-wire is safe.} \only<3>{If it removed a confirmed deposit a powerful attacker may have @@ -429,17 +457,16 @@ % TODO caption with source (Ychart) \node (I) {\includegraphics[width=\textwidth]{media/fee.png}}; - \only<2->{ - \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); - }; - \only<2>{ + \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); + + \only<1>{ \node [left=-4.5cm of Tx] (C) {\small conf}; \node [dot,above=8.4mm of C](D1) {}; \draw [dotted,thick] (C) -- (D1); }; - \only<3>{ + \only<2>{ \node [left=-17mm of Tx] (Tx1) {\small Tx'}; \node [dot,above=15.5mm of Tx1](D1) {}; \draw [dotted,thick] (Tx1) -- (D1); @@ -450,11 +477,9 @@ }; \end{tikzpicture} \end{center} - \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 + \only<1>{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 + \only<2>{You can configure btc-wire to monitor pending transactions and bump their fees if they take too much time to be mined.} \end{frame}