aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAntoine A <>2022-01-25 14:34:45 +0100
committerAntoine A <>2022-01-25 14:34:45 +0100
commit32fc54e7fc2db2e4f68d7bf96ab0e46c66d0de6e (patch)
treef4012b3766091cb2419ef4ca7d021ef2120b81a7 /docs
parent0412d20a31c0b49199f4d418611d40f512aa368a (diff)
downloaddepolymerization-32fc54e7fc2db2e4f68d7bf96ab0e46c66d0de6e.tar.gz
depolymerization-32fc54e7fc2db2e4f68d7bf96ab0e46c66d0de6e.tar.bz2
depolymerization-32fc54e7fc2db2e4f68d7bf96ab0e46c66d0de6e.zip
Break long function in two and other improvements
Diffstat (limited to 'docs')
-rw-r--r--docs/presentation.tex119
1 files changed, 119 insertions, 0 deletions
diff --git a/docs/presentation.tex b/docs/presentation.tex
new file mode 100644
index 0000000..083d228
--- /dev/null
+++ b/docs/presentation.tex
@@ -0,0 +1,119 @@
+\documentclass{beamer}
+
+\usetheme{default}
+
+\usepackage{tikz}
+\usetikzlibrary{positioning}
+
+\title{Depolymerization WIP}
+\subtitle{TODO}
+\author{TODO}
+\institute{TODO}
+\date{\today}
+
+\begin{document}
+
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}{Outline}
+ \tableofcontents
+\end{frame}
+
+\begin{frame}{Introduction}{Blockchain}
+ \begin{block}{Common blockchain limitation}
+ \begin{itemize}
+ \item \textbf{Slow} limited amount of transaction per seconds
+ \item \textbf{Delayed} block and confirmation delay
+ \item \textbf{Expensive} transaction fees
+ \item \textbf{Privacy} pseudonym and noise
+ \item \textbf{Compatibility} multiple blockchain and transactions format
+ \end{itemize}
+ \end{block}
+
+ \begin{block}{Biggest cryptocurrencies}
+ \begin{itemize}
+ \item \textbf{BTC} Bitcoin
+ \item \textbf{ETH} Ethereum
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}{Introduction}{Related work}
+ \begin{block}{Centralization - Coinbase's 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 transaction
+ \item [$-$] Incompatible with Bitcoin: require setting up a Bidirectional Payment Channels
+ \item [$-$] Fraud attempts are mitigated via a complex penalty system
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}{Introduction}{Taler}
+ \begin{itemize}
+ \item [$-$] Trust exchange operator or auditors
+ \item [$+$] Fast and cheap, no blockchain
+ \item [$+$] Privacy when it can, transparency when it must (avoid tax evasion and money laundering)
+ \item [$+$] Currency agnostic
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Architecture}{Taler bridge to blockchain}
+ \begin{center}
+ \begin{tikzpicture}[
+ rect/.style={rectangle, draw=black},
+ sym/.style={<->, shorten >= 2pt, shorten <= 2pt}
+ ]
+ \node[rect](1) {Taler};
+ \node[rect, right= of 1](2) {Depolymerization};
+ \node[rect, right= of 2](3) {Blockchain};
+
+ \draw[sym] (1) -- (2);
+ \draw[sym] (2) -- (3);
+ \end{tikzpicture}
+ \end{center}
+\end{frame}
+
+\begin{frame}{Architecture}{depolymerization}
+ \begin{center}
+ \begin{tikzpicture}[
+ rect/.style={rectangle, draw=black},
+ sym/.style={<->, shorten >= 2pt, shorten <= 2pt}
+ ]
+ \node[rect](1) {Taler};
+ \node[rect, below= of 1](2) {wire\_gateway};
+ \node[rect, right= of 2](3) {PostgreSQL};
+ \node[rect, right= of 3](4) {btc\_wire};
+ \node[rect, above= of 4](5) {bitcoind};
+
+ \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);
+ \end{tikzpicture}
+ \end{center}
+\end{frame}
+
+\begin{frame}{btc\_wire}{Architecture}
+ Three loops
+ Watcher: Notify other loops when a new block has been mined
+ Analyzer: Analyse blockchain to adapt defensively
+ Worker: Sync chain -> Send -> Bounce
+\end{frame}
+
+\begin{frame}{btc\_wire}{Features}
+ \begin{itemize}
+ \item Handle stuck transactions
+ \item Fork resilient
+ \item Adaptive confirmation
+ \end{itemize}
+\end{frame}
+
+\end{document} \ No newline at end of file