summaryrefslogtreecommitdiff
path: root/introduction.tex
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-05-04 17:15:04 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-05-04 17:15:04 +0200
commit3a5d193807c573c0611e2a8ea21de66bf5f35d35 (patch)
tree9b928d0102422ffacc15886d0fbac8acc23630cb /introduction.tex
parentdd15e37e214904e1f9dc9f9bd0a57d247cca653f (diff)
downloaddold-thesis-phd-3a5d193807c573c0611e2a8ea21de66bf5f35d35.tar.gz
dold-thesis-phd-3a5d193807c573c0611e2a8ea21de66bf5f35d35.tar.bz2
dold-thesis-phd-3a5d193807c573c0611e2a8ea21de66bf5f35d35.zip
rogaway fixes
Diffstat (limited to 'introduction.tex')
-rw-r--r--introduction.tex56
1 files changed, 28 insertions, 28 deletions
diff --git a/introduction.tex b/introduction.tex
index edadde7..06722bd 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -29,23 +29,23 @@ This thesis covers both categories of payment systems:
\item We explain GNU Taler, a design and implementation of a value-based
payment system, discussing in-depth how to create a practical,
privacy-preserving and secure (micro-)payment protocol that integrates
- nicely with the modern Web. Our value-based payment protocol can in
+ nicely with the modern web. Our value-based payment protocol can in
principle operate on top of any existing register-based system.
- \item For register-based payment systems, we present a new Byzantine consensus
- protocol. Consensus is a key component for virtually all robust, distributed,
- register-based systems that is needed to maintain the
- transaction ledger. Our Byzantine set union consensus (BSC) protocol
- can be used to achieve consensus in a decentralized and robust manner
- that tolerates a fraction of actively malicious participants. Our BSC
- protocol asymptotically speeds up the implementation of such
- transaction ledgers, compared to classic Byzantine consensus
+ \item For register-based payment systems, we present a new Byzantine
+ consensus protocol. Consensus protocols are a key component of virtually
+ all robust, distributed, register-based systems, as they facilitate
+ agreement on a transaction leger. Our Byzantine set union consensus (BSC)
+ protocol can be used to achieve consensus in a decentralized and robust
+ manner that tolerates a fraction of actively malicious participants. Our
+ BSC protocol asymptotically speeds up the implementation of such
+ transaction ledgers, compared to classic Byzantine consensus
protocols.
\end{itemize}
GNU Taler is an official package of the GNU
project\footnote{\url{https://gnu.org/}}, and the BSC protocol was
implemented in the \textsc{CONSENSUS} subsystem of the GNUnet
-framework\footnote{\url{https://gnunet.org}}. Our free software
+framework.\footnote{\url{https://gnunet.org}} Our free software
implementations are freely available from the GNU mirrors.
@@ -62,7 +62,7 @@ hand, systems with too much surveillance eliminate personal freedom.
As the Internet has no standardized payment system, especially not one
that is capable of quickly, efficiently and securely settling small
-transactions (so-called micropayments), the majority of content on the Web is
+transactions (so-called micropayments), the majority of content on the web is
financed by advertisements. As a result, advertising (and by
implication, collecting data on users) has been a dominant business
model on the Internet. This has not only resulted in a loss of
@@ -208,10 +208,10 @@ for GNU Taler.
% EXPLAIN: in traditional (online) e-cash, spending is never
% bound to a contract identifier
-%\subsubsection*{Different signature schemes and zero knowledge proofs}
+%\subsubsection*{Different signature schemes and zero-knowledge proofs}
%Since Chaum's original blind signature scheme based on RSA, many variations
%using other cryptographic primitives have been developed. Some newer e-cash
-%schemes do not use blind signatures, but rely on zero knowledge proofs instead.
+%schemes do not use blind signatures, but rely on zero-knowledge proofs instead.
%
%In GNU Taler, we opt for an RSA-based blind signature scheme, due to the low
%complexity, relatively clear security assumptions and small number of
@@ -239,8 +239,8 @@ greatly delayed compared to systems with online spending, which can immediately
detect when more coins are spent than were issued.
Thus, in GNU Taler, we decided that all coins must be immediately
-deposited online during a purchase. Only either merchant or customer
-need to be online, since one of the two can forward messages to the
+deposited online during a purchase. Only either a merchant or a customer
+needs to be online, since one of the two can forward messages to the
payment service provider for the other.
\subsection{Change and Divisibility}
@@ -253,7 +253,7 @@ spent, does not violate their anonymity and the merchant does not have a
digital ``copy'' of the change tokens that the merchant can spend before the customer. Note
that it would be unwise to always withdraw the correct amount of e-cash
directly before a purchase, as it creates a temporal correlation between the
-non-anonymous withdraw event and the spending event.
+non-anonymous withdrawal event and the spending event.
Most modern e-cash schemes instead deal with exact spending by providing
\emph{divisibility} of coins, where the customer can decide to only spend part
@@ -325,7 +325,7 @@ Transferability is a feature of certain e-cash systems that allows
transfer of e-cash between two parties without breaking anonymity
properties \cite{fuchsbauer2009transferable}. Contemporary systems
that offer this type of disintermediation attract criminal
-activity.~\cite{richet2016extortion}
+activity~\cite{richet2016extortion}.
GNU Taler specifically provides roughly the \emph{opposite} of this property,
namely \emph{income transparency}, to guarantee that e-cash is not easily
@@ -359,7 +359,7 @@ system that supports refunds.
For adoption of a payment system, the user experience is critical. Thus,
before diving into {\em how} GNU Taler is implemented, we begin by
showing how GNU Taler {\em looks} from the perspective of an end user in the
-context of Web payments, in a desktop browser (Chromium).
+context of web payments, in a desktop browser (Chromium).
To use GNU Taler, the user must first install a browser extension
(Figure~\ref{fig:ux:install-prompt}). Once installed, the user can
@@ -371,16 +371,16 @@ withdraw digital cash from their bank account into their wallet (Figures~%
\ref{fig:ux:bank-login} and~\ref{fig:ux:bank-profile}). Our demo uses
\textsc{Kudos} as an imaginary currency. Before the user is asked to confirm,
they are given the option to view details about or change the default exchange
-provider, the GNU Taler payment service provider \ref{fig:ux:select-exchange}.
+provider, the GNU Taler payment service provider (Figure~\ref{fig:ux:select-exchange}).
-With a real bank, a second factor (such as a mobile TAN) would now requested
+With a real bank, a second factor (such as a mobile TAN) would now be requested
from the user. Our demo instead asks the user to solve a simple CAPTCHA
(Figure~\ref{fig:ux:pin-tan}). The amount withdrawn---minus withdrawal
fees---is now available as e-cash in the wallet (Figure~%
\ref{fig:ux:withdraw-done}).
The customer can now go to an online shop to spend their digital cash. We've
-implemented a shop that sells single chapter from Richard Stallman's essay
+implemented a shop that sells single chapters from Richard Stallman's essay
collection ``Free Software, Free Society'' \cite{stallman2002essays} (Figure~%
\ref{fig:ux:essay-landing}). The user selects an essay, and is then
immediately presented with a confirmation page rendered by the wallet (Figure~\ref{fig:ux:essay-pay}).
@@ -554,7 +554,7 @@ with cash), they actually realize a decentralized register-based
payment system with the blockchain storing the register\footnote{%
Anonymous cryotocurrencies such as ZeroCash \cite{bensasson2014zerocash}
have special accounts (called shielded addresses) that can
-``hide'' their balance, and require the owner to prove in zero knowledge that their balance is sufficient for a transaction.
+``hide'' their balance, and require the owner to prove in zero-knowledge that their balance is sufficient for a transaction.
As such, anonymous transactions in these systems (which are typically only a small subset of all transactions)
are closer to value-based systems. However, currently only a small percentage ($\approx 5\%$) of
all funds in ZCash, the most widely used anonymous cryptocurrency, belong to shielded addresses (\url{https://explorer.zcha.in/statistics/value}).} using private
@@ -636,12 +636,12 @@ they often manage to both fail to adequately protect the privacy of
buyers {\em and} to enable the state to crack down on illegal
activities: With most non-permissioned blockchains, the transaction
history of all participants is publicly available, creating serious
-privacy risks.~\cite{meiklejohn2013fistful,jawaheri2018small} At the same
+privacy risks~\cite{meiklejohn2013fistful,jawaheri2018small}. At the same
time, as accounts are simply private keys, states have a hard time
-tracking down users.~\cite{luu2016challenge} Design
+tracking down users~\cite{luu2016challenge}. Design
variations that do offer reasonable privacy generally have even more
atrocious performance characteristics and create additional
-traceability problems for law enforcement.~\cite{bensasson2014zerocash}
+traceability problems for law enforcement~\cite{bensasson2014zerocash}.
Additionally, blockchain-based cryptocurrencies suffer from usability
and performance problems.
@@ -649,8 +649,8 @@ With our BSC protocol, we focus on improving the performance of the
consensus protocol for permissioned blockchains. Permissioned
blockchains can be given rules that enforce Know-Your-Customer (KYC)
and Anti-Money-Laundering (AML)
-regulations.~\cite{shrier2016blockchain} When deployed in the
-context of centrally banked fiat currencies, such a permissioned
+regulations~\cite{shrier2016blockchain}. When deployed in the
+context of centrally-banked fiat currencies, such a permissioned
blockchain can then effectively recreate the semantics of a classical
distributed banking system. As mentioned before, GNU Taler's
value-based protocol can be integrated with any kind of register-based
@@ -675,7 +675,7 @@ We claim the following key contributions for this thesis:
showing the necessity of a refresh operation.
\item We propose a modification to our protocol that provides protection
against certain blackmailing and kidnapping scenarios.
- \item We design and implement the seamless, native integration of e-cash into the Web architecture, and discuss
+ \item We design and implement the seamless, native integration of e-cash into the web architecture, and discuss
security and privacy aspects of this integration.
\item We implemented the GNU Taler payment system and evaluate its
performance.