Correctons to section 3
This commit is contained in:
parent
2863132570
commit
2ce2c1dac7
@ -389,18 +389,18 @@ Taler's security model assumes that cryptographic primitives are
|
|||||||
secure and that each participant is under full control of his system.
|
secure and that each participant is under full control of his system.
|
||||||
The contact information of the mint is known to both customer and
|
The contact information of the mint is known to both customer and
|
||||||
merchant from the start. Furthermore, the merchant communication's
|
merchant from the start. Furthermore, the merchant communication's
|
||||||
authenticity is assured to the customer (for example using X.509
|
authenticity is assured to the customer, such as by using X.509
|
||||||
certificates~\cite{rfc5280}) and we assume that an anonymous, reliable
|
certificates~\cite{rfc5280}, and we assume that an anonymous, reliable
|
||||||
bi-directional communication channel can be established by the
|
bi-directional communication channel can be established by the
|
||||||
customer to both the mint and the merchant.
|
customer to both the mint and the merchant, such as by using Tor.
|
||||||
|
|
||||||
The mint is trusted to hold funds of its customers and to forward them
|
The mint is trusted to hold funds of its customers and to forward them
|
||||||
when receiving the respective deposit instructions from the merchants.
|
when receiving the respective deposit instructions from the merchants.
|
||||||
Customer and merchant can have some assurances about the mint's
|
Customer and merchant can have some assurances about the mint's
|
||||||
liquidity and operation, as the mint has proven reserves, is subject
|
liquidity and operation, as the mint has proven reserves, is subject
|
||||||
to the law, and can have its business regularly audited (for
|
to the law, and can have its business regularly audited
|
||||||
example, by the government or a trusted third party auditor).
|
by a government or third party.
|
||||||
Regular audits of the mint's accounts must reveal any possible fraud
|
Regular audits of the mint's accounts should reveal any possible fraud
|
||||||
before the mint is allowed to destroy the corresponding accumulated
|
before the mint is allowed to destroy the corresponding accumulated
|
||||||
cryptographic proofs and book its fees as profits.
|
cryptographic proofs and book its fees as profits.
|
||||||
%
|
%
|
||||||
@ -419,7 +419,7 @@ from customers using legal means.
|
|||||||
|
|
||||||
\subsection{Taxability and Entities}
|
\subsection{Taxability and Entities}
|
||||||
|
|
||||||
Electronic coins are trivially copied between machines. Thus, we must
|
As electronic coins are trivially copied between machines, we should
|
||||||
clarify what kinds of operations can even be expected to be taxed.
|
clarify what kinds of operations can even be expected to be taxed.
|
||||||
After all, without intrusive measures to take away control of the
|
After all, without intrusive measures to take away control of the
|
||||||
computing platform from its users, copying an electronic wallet from
|
computing platform from its users, copying an electronic wallet from
|
||||||
@ -440,48 +440,48 @@ credentials represented by the private key. In a payment system this
|
|||||||
means that either entity could spent the associated funds. Assuming
|
means that either entity could spent the associated funds. Assuming
|
||||||
the payment system has effective double-spending detection, this means
|
the payment system has effective double-spending detection, this means
|
||||||
that either entity has to constantly fear that the funds might no
|
that either entity has to constantly fear that the funds might no
|
||||||
longer be available to it. Thus, sharing coins by copying a private
|
longer be available to it. It follows that sharing coins by copying
|
||||||
key implies mutual trust between the two parties, in which case Taler
|
a private key implies mutual trust between the two parties, in which
|
||||||
will treat them as the same entity. In Taler, making funds available
|
case Taler will treat them as the same entity.
|
||||||
by copying a private key and thus sharing control is {\bf not}
|
In Taler, making funds available by copying a private key and thus
|
||||||
considered a {\em transaction} and thus {\bf not} recorded for
|
sharing control is {\bf not} considered a {\em transaction} and
|
||||||
taxation.
|
thus {\bf not} recorded for taxation.
|
||||||
|
|
||||||
Taler ensures taxability only when some entity acquires exclusive
|
Taler ensures taxability only when some entity acquires exclusive
|
||||||
control over the value of digital coins, which requires an interaction
|
control over the value of digital coins, which requires an interaction
|
||||||
with the mint. For such transactions, the state can obtain
|
with the mint. For such transactions, the state can obtain information
|
||||||
information from the mint (or the bank) that identifies the entity
|
from the mint, or a bank, that identifies the entity that received the
|
||||||
that received the digital coins as well as the exact value of those
|
digital coins as well as the exact value of those coins.
|
||||||
coins. Taler also allows the mint (and thus the state) to learn the
|
Taler also allows the mint, and hence the state, to learn the value of
|
||||||
value of digital coins withdrawn by a customer --- but not how, where
|
digital coins withdrawn by a customer---but not how, where, or when
|
||||||
or when they were spent.
|
they were spent.
|
||||||
|
|
||||||
\subsection{Anonymity}
|
\subsection{Anonymity}
|
||||||
|
|
||||||
An anonymous communication channel (e.g. via Tor~\cite{tor-design}) is
|
An anonymous communication channel such as Tor~\cite{tor-design} is
|
||||||
used for all communication between the customer and the merchant.
|
used for all communication between the customer and the merchant.
|
||||||
Thus, the customer can remain anonymous limited only by the anonymous
|
Ideally, the customer's anonymity is limited only by this channel;
|
||||||
communication channel; however, the payment system does additionally
|
however, the payment system does additionally reveal that the customer
|
||||||
reveal that the customer is one of the patrons of the mint.
|
is one of the patrons of the mint.
|
||||||
Naturally, the customer-merchant business operation might leak other
|
There are naturally risks that the customer-merchant business operation
|
||||||
information about the customer, such as a shipping address.
|
may leak identifying information about the customer. At least, customers
|
||||||
Information leakage from shipping is in theory avoidable~\cite{apod}.
|
have some options to defend their privacy against nosey merchants however,
|
||||||
Nevertheless, for Taler as a payment system, information leakage
|
possibly even when dealing with physical goods \cite{apod}.
|
||||||
specific to the business logic is outside of the scope of the design.
|
We consider information leakage specific to the business logic to be
|
||||||
|
outside of the scope of the design of Taler.
|
||||||
|
|
||||||
The customer may use an anonymous communication channel for the
|
Ideally, customer should use an anonymous communication channel with
|
||||||
communication with the mint to avoid leaking IP address information;
|
the mint to avoid leaking IP address information; however, the mint
|
||||||
however, the mint will anyway be able to determine the customer's
|
would typically learn the customer's identity from the wire transfer
|
||||||
identity from the wire transfer or some other authentication process
|
that funds the customer's withdraw anonymous digital coins.
|
||||||
that the customer initiates to withdraw anonymous digital cash. In
|
In fact, this is desirable as there might be rules and regulations
|
||||||
fact, this is desirable as there might be rules and regulations
|
|
||||||
designed to limit the amount of anonymous digital cash that an
|
designed to limit the amount of anonymous digital cash that an
|
||||||
individual customer can withdraw in a given time period, similar to
|
individual customer can withdraw in a given time period, similar to
|
||||||
how states today sometimes impose limits on cash
|
how states today sometimes impose limits on cash
|
||||||
withdrawals~\cite{france2015cash,greece2015cash}. Taler is only
|
withdrawals~\cite{france2015cash,greece2015cash}.
|
||||||
anonymous with respect to {\em payments}, as the mint will be unable
|
Taler is only anonymous with respect to {\em payments}, as the mint
|
||||||
to link the known identity of the customer that withdrew anonymous
|
will be unable to link the known identity of the customer that withdrew
|
||||||
digital currency to the {\em purchase} performed later at the
|
anonymous digital currency to the {\em purchase} performed later at the
|
||||||
merchant. In this respect, Taler provides exactly the same scheme for
|
merchant. In this respect, Taler provides exactly the same scheme for
|
||||||
unconditional anonymous payments as was proposed by
|
unconditional anonymous payments as was proposed by
|
||||||
Chaum~\cite{chaum1983blind,chaum1990untraceable} over 30 years ago.
|
Chaum~\cite{chaum1983blind,chaum1990untraceable} over 30 years ago.
|
||||||
@ -518,51 +518,51 @@ The mint is expected to have multiple {\em coin signing key} pairs
|
|||||||
available for signing, each representing a different coin
|
available for signing, each representing a different coin
|
||||||
denomination.
|
denomination.
|
||||||
|
|
||||||
The coin signing keys have an expiration date (typically measured in
|
These coin signing keys have an expiration date, before which any coins
|
||||||
years), and coins signed with a coin signing key must be spent (or
|
signed with it must be spent or refreshed. It follows the mint can
|
||||||
exchanged for new coins) before that expiration date. This allows the
|
eventually discard records of old transactions, thus limiting the
|
||||||
mint to limit the amount of state it needs to keep to detect
|
records that the mint must retain and search to detect double-spending
|
||||||
double spending attempts. Furthermore, the mint is expected to use each coin
|
attempts. Furthermore, the mint is expected to use each coin signing
|
||||||
signing key only for a limited number of coins, for example by
|
key only for a limited number of coins.
|
||||||
limiting its use to sign coins to a week or a month. That way, if the
|
% for example by limiting its use to sign coins to a week or a month.
|
||||||
private coin signing key were to be compromised, the mint can detect
|
In this way, if a private coin signing key were to be compromised,
|
||||||
this once more coins are redeemed than the total that was signed into
|
the mint would detect this once more coins were redeemed than the total
|
||||||
existence using the respective coin signing key. In this case, the
|
that was signed into existence using that coin signing key.
|
||||||
mint can allow the original set of customers to exchange the coins
|
In this case, the mint could allow authentic customers to exchange their
|
||||||
that were signed with the compromised private key, while refusing
|
unspent coins that were signed with the compromised private key,
|
||||||
further transactions from merchants if they involve those coins. As a
|
while refusing further anonymous transactions involving those coins.
|
||||||
result, the financial damage of losing a private signing key can be
|
As a result, the financial damage of losing a private signing key can be
|
||||||
limited to at most twice the amount originally signed with that key.
|
limited to at most twice the amount originally signed with that key.
|
||||||
To ensure that the mint does not enable deanonymization of users by
|
To ensure that the mint does not enable deanonymization of users by
|
||||||
signing each coin with a fresh coin signing key, the mint must
|
signing each coin with a fresh coin signing key, the mint must publicly
|
||||||
publicly announce the coin signing keys in advance. Those
|
announce the coin signing keys in advance. Those announcements are
|
||||||
announcements are expected to be signed with an off-line long-term
|
expected to be signed with an off-line long-term private {\em master
|
||||||
private {\em master signing key} of the mint and the auditor.
|
signing key} of the mint and the auditor.
|
||||||
|
|
||||||
Before a customer can withdraw a coin from the mint, he has to pay the
|
Before a customer can withdraw a coin from the mint,
|
||||||
mint the value of the coin, as well as processing fees. This is done
|
he has to pay the mint the value of the coin, as well as processing fees.
|
||||||
using other means of payments, such as wire transfers or
|
This is done using other means of payments, such as wire transfers or
|
||||||
by having a personal {\em reserve} at the mint (which is equivalent to
|
by having a personal {\em reserve} at the mint,
|
||||||
a bank account with a positive balance). Taler assumes that the
|
which is equivalent to a bank account with a positive balance.
|
||||||
customer has a {\em withdrawal authorization key} to identify himself
|
Taler assumes that the customer has a {\em withdrawal authorization key}
|
||||||
as authorized to withdraw funds from the reserve. By signing the
|
to identify himself as authorized to withdraw funds from the reserve.
|
||||||
withdrawal request messages using the withdrawal authorization key,
|
By signing the withdrawal request messages using this withdrawal
|
||||||
the customer can prove to the mint that he is the individual
|
authorization key, the customer can prove to the mint that he is the
|
||||||
authorized to withdraw anonymous digital coins from the reserve. The
|
individual authorized to withdraw anonymous digital coins from his reserve.
|
||||||
mint will record the withdrawal messages with the reserve record as
|
The mint will record the withdrawal messages with the reserve record as
|
||||||
proof that the anonymous digital coin was created for the correct
|
proof that the anonymous digital coin was created for the correct
|
||||||
customer. We note that the specifics of how the customer
|
customer. We note that the specifics of how the customer authenticates
|
||||||
authenticates to the mint are orthogonal to the rest of the system,
|
to the mint are orthogonal to the rest of the system, and
|
||||||
and multiple methods can be supported.
|
multiple methods can be supported.
|
||||||
%To put it differently, unlike
|
%To put it differently, unlike
|
||||||
%modern cryptocurrencies like BitCoin, Taler's design simply
|
%modern cryptocurrencies like BitCoin, Taler's design simply
|
||||||
%acknowledges that primitive accumulation~\cite{engels1844} predates
|
%acknowledges that primitive accumulation~\cite{engels1844} predates
|
||||||
%the system and that a secure method to authenticate owners exists.
|
%the system and that a secure method to authenticate owners exists.
|
||||||
|
|
||||||
After a coin is minted, the customer is the only entity that knows the
|
After a coin is minted, the customer is the only entity that knows the
|
||||||
private key of the coin, making him the \emph{owner} of the coin. The
|
private key of the coin, making him the \emph{owner} of the coin.
|
||||||
coin can be identified by the mint by its public key; however, due to
|
The coin can be identified by the mint by its public key; however, due
|
||||||
the use of blind signatures, the mint does not learn the public key
|
to the use of blind signatures, the mint does not learn the public key
|
||||||
during the minting process. Knowledge of the private key of the coin
|
during the minting process. Knowledge of the private key of the coin
|
||||||
enables the owner to spent the coin. If the private key is shared
|
enables the owner to spent the coin. If the private key is shared
|
||||||
with others, they also become owners of the coin.
|
with others, they also become owners of the coin.
|
||||||
@ -598,27 +598,27 @@ continues to directly use the coin in other transactions, merchants
|
|||||||
and the mint could link the various transactions as they all share the
|
and the mint could link the various transactions as they all share the
|
||||||
same public key for the coin.
|
same public key for the coin.
|
||||||
|
|
||||||
Thus, the owner might want to exchange such a {\em dirty} coin for a
|
The owner of such a {\em dirty} coin might therefore want to exchange it
|
||||||
{\em fresh} coin to ensure unlinkability of future transactions with
|
for a {\em fresh} coin to ensure unlinkability with future transactions.
|
||||||
the previous operation. Even if a coin is not dirty, the owner of a
|
% with the previous operation.
|
||||||
coin may want to exchange a coin if the respective coin signing key is
|
Even if a coin is not dirty, the owner of a coin may want to exchange it
|
||||||
about to expire. All of these operations are supported with the {\em
|
if the respective coin signing key is about to expire. All of these
|
||||||
coin refreshing protocol}, which allows the owner of a coin to {\em
|
operations are supported with the {\em coin refreshing protocol}, which
|
||||||
melt} existing coins (redeeming their remaining value) for fresh
|
allows the owner of a coin to {\em melt} it for fresh coins of the same
|
||||||
coins with a new public-private key pairs. Refreshing does not use
|
value with a new public-private key pairs. Refreshing does not use the
|
||||||
the ordinary spending operation as the owner of a coin should not have
|
ordinary spending operation as the owner of a coin should not have to
|
||||||
to pay taxes on this operation. Because of this, the refreshing
|
pay taxes on this operation. Because of this, the refreshing protocol
|
||||||
protocol must assure that owner stays the same. After all, the coin
|
must assure that owner stays the same.
|
||||||
refreshing protocol must not be usable for transactions, as
|
% After all, the coin refreshing protocol must not be usable for transactions, as
|
||||||
transactions in Taler must be taxable.
|
% transactions in Taler must be taxable.
|
||||||
|
|
||||||
Thus, one main goal of the refreshing protocol is that the mint must
|
% Meh, this paragraph sucks :
|
||||||
not be able to link the fresh coin's public key to the public key of
|
We therefore demand two main properties from the refresh protocol:
|
||||||
the dirty coin. The second main goal is to enable the mint to ensure
|
First, the mint must not be able to link the fresh coin's public key to
|
||||||
that the owner of the dirty coin can determine the private key of the
|
the public key of the dirty coin. Second, the mint can ensure that the
|
||||||
fresh coin. This way, refreshing cannot be used to construct a
|
owner of the dirty coin can determine the private key of the
|
||||||
transaction --- the owner of the dirty coin remains in control of the
|
fresh coin, thereby preventing the refresh protocol from being used to
|
||||||
fresh coin.
|
construct a transaction.
|
||||||
|
|
||||||
%As with other operations, the refreshing protocol must also protect
|
%As with other operations, the refreshing protocol must also protect
|
||||||
%the mint from double-spending; similarly, the customer has to have
|
%the mint from double-spending; similarly, the customer has to have
|
||||||
|
Loading…
Reference in New Issue
Block a user