fix more typos

This commit is contained in:
Christian Grothoff 2021-04-28 00:00:37 +02:00
parent 9b89387535
commit 2a619eadbe
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
7 changed files with 18 additions and 18 deletions

View File

@ -67,7 +67,7 @@ Now there are some additional complexities related to giving change and not know
3. Integer linear programming 3. Integer linear programming
(It helps with understanding the greedy algorithm too) (It helps with understanding the greedy algorithm too)
We almost have an integer linear program because all these functions parameterized by D are simply vectors. We just need to eliminate that annoying max(0, ), which we do by introducing a variable z. I'm going to switch from t[x] to d[x] = t[x] + p[x] and surpress the indexes [x] here since only m, c, and z lack indexes. We almost have an integer linear program because all these functions parameterized by D are simply vectors. We just need to eliminate that annoying max(0, ), which we do by introducing a variable z. I'm going to switch from t[x] to d[x] = t[x] + p[x] and suppress the indexes [x] here since only m, c, and z lack indexes.
Select d : D -> Z and p : D -> Z so as to minimize the function Select d : D -> Z and p : D -> Z so as to minimize the function
z + sum_x ( r*p + c*(d+p) ) z + sum_x ( r*p + c*(d+p) )
@ -119,11 +119,11 @@ It's maybe now easier to visualize the greedy algorithm working when you think a
4. Smarter Greed 4. Smarter Greed
If we're only allowed to spend one denomination at some price, then we shown the minium is achieved when that denomination x in D is chosen to minimize If we're only allowed to spend one denomination at some price, then we shown the minimum is achieved when that denomination x in D is chosen to minimize
(f[x]+c)/v[x] + (r[x]+c)/(v[x]*d[x])*p[x] (f[x]+c)/v[x] + (r[x]+c)/(v[x]*d[x])*p[x]
where p[x] = max(1,price mod v[x]). We could approximate this by (f[x]+c)/v[x] under several reasonable hypotheses, not unfortunately r >> f, but price >> v[x] still helps. In any case, there are many situations where minimizing (f[x]+c)/v[x] handles this single denomination spend. where p[x] = max(1,price mod v[x]). We could approximate this by (f[x]+c)/v[x] under several reasonable hypotheses, not unfortunately r >> f, but price >> v[x] still helps. In any case, there are many situations where minimizing (f[x]+c)/v[x] handles this single denomination spend.
We know from our optimal substructure property that, for an optimal allocation, there is a denomination x such that zeroing out t[y], p[y], and v'[y] for y not x, and adjusting the price acordingly, gives an optimal allocation. It follows that a greedy algorithm that uses D sorted by increasing (f[x]+c)/v[x] frequently works, although not when mints charge too much for refreshes We know from our optimal substructure property that, for an optimal allocation, there is a denomination x such that zeroing out t[y], p[y], and v'[y] for y not x, and adjusting the price accordingly, gives an optimal allocation. It follows that a greedy algorithm that uses D sorted by increasing (f[x]+c)/v[x] frequently works, although not when mints charge too much for refreshes
Roughly this algorithm looks like: Roughly this algorithm looks like:

View File

@ -88,7 +88,7 @@ End
MPSP->CPSP: Capture MPSP->CPSP: Capture
== Fulfilment == == Fulfillment ==
Payee->Payer: Provide products or services Payee->Payer: Provide products or services

View File

@ -38,7 +38,7 @@ Exchange->Payee: Confirm payment
Payee->Payer: Confirm payment Payee->Payer: Confirm payment
== Fulfilment == == Fulfillment ==
Payer->Payee: Reload fulfillment URL for delivery Payer->Payee: Reload fulfillment URL for delivery

View File

@ -964,7 +964,7 @@ it has the following key advantages:
% // ... % // ...
% let refundPermissions = /* ... */; % let refundPermissions = /* ... */;
% taler.acceptRefunds(refundPermissions, (err) => { % taler.acceptRefunds(refundPermissions, (err) => {
% alert("An error occured while attempting a refund"); % alert("An error occurred while attempting a refund");
% }); % });
%</script> %</script>
%\end{lstlisting} %\end{lstlisting}
@ -1025,7 +1025,7 @@ anonymous payment system.
%a refund operation cannot be considered anonymous anymore because a %a refund operation cannot be considered anonymous anymore because a
%merchant, and possibly the exchange, has now seen them and could %merchant, and possibly the exchange, has now seen them and could
%link them that previous transaction. At best, these tainted coins %link them that previous transaction. At best, these tainted coins
%are only pseudononymous, similar to Bitcoin accounts. %are only pseudonymous, similar to Bitcoin accounts.
% %
%To maintain anonymity, a Taler wallet automatically performs a %To maintain anonymity, a Taler wallet automatically performs a
%{\em refresh} operation with the mint API to both replace tainted %{\em refresh} operation with the mint API to both replace tainted
@ -1381,7 +1381,7 @@ situation.
Finally, attempts to address the scalability hudles of Bitcoin using Finally, attempts to address the scalability hudles of Bitcoin using
side-chains or schemes like BOLT introduce semi-centralized side-chains or schemes like BOLT introduce semi-centralized
intermediaries, not wholey unlike Taler's use of exchanges. Compared intermediaries, not wholly unlike Taler's use of exchanges. Compared
to BOLT, we would expect a Taler exchange operating in BTC to offer to BOLT, we would expect a Taler exchange operating in BTC to offer
stronger security to all parties and stronger anonymity to customers, stronger security to all parties and stronger anonymity to customers,
as well as being vastly cheaper to operate. as well as being vastly cheaper to operate.

View File

@ -5,7 +5,7 @@
\begin{document} \begin{document}
theme : Privacy increses usability theme : Privacy increases usability
title? title?
outline : outline :
@ -15,7 +15,7 @@ Describe workflow in existing payment systems
- Cash - Cash
- authentication at ATM - authentication at ATM
- transaction authenticated by the cash - transaction authenticated by the cash
- worries : counterfit bills, wrong currency, etc. - worries : counterfeit bills, wrong currency, etc.
- refunds - refunds
- CC authentication - CC authentication
- online vs offline - online vs offline
@ -50,9 +50,9 @@ Taler payment process from customers prospective
- ATM - ATM
- merchant - merchant
- contract - contract
- digitally signed is better than paper reciept - digitally signed is better than paper receipt
- failure modes - failure modes
- insufficent funds - insufficient funds
- restoring from backups causes double spending - restoring from backups causes double spending
- mint gives proof - mint gives proof
- restoring from backups can lose coins - restoring from backups can lose coins
@ -75,7 +75,7 @@ Denomination choice
- Anonymity refresh protocol - Anonymity refresh protocol
- Withdraw automates like ATMs - Withdraw automates like ATMs
Broser extension Browser extension
- RESTful vs Bitcoin, OpenCoin, etc. - RESTful vs Bitcoin, OpenCoin, etc.
- Retrying RESTful transactions always works - Retrying RESTful transactions always works
- minimizing dialog - minimizing dialog

View File

@ -1016,7 +1016,7 @@ it has the following key advantages:
// ... // ...
let refundPermissions = /* ... */; let refundPermissions = /* ... */;
taler.acceptRefunds(refundPermissions, (err) => { taler.acceptRefunds(refundPermissions, (err) => {
alert("An error occured while attempting a refund"); alert("An error occurred while attempting a refund");
}); });
</script> </script>
\end{lstlisting} \end{lstlisting}
@ -1077,7 +1077,7 @@ anonymous payment system.
%a refund operation cannot be considered anonymous anymore because a %a refund operation cannot be considered anonymous anymore because a
%merchant, and possibly the exchange, has now seen them and could %merchant, and possibly the exchange, has now seen them and could
%link them that previous transaction. At best, these tainted coins %link them that previous transaction. At best, these tainted coins
%are only pseudononymous, similar to Bitcoin accounts. %are only pseudonymous, similar to Bitcoin accounts.
% %
%To maintain anonymity, a Taler wallet automatically performs a %To maintain anonymity, a Taler wallet automatically performs a
%{\em refresh} operation with the mint API to both replace tainted %{\em refresh} operation with the mint API to both replace tainted
@ -1433,7 +1433,7 @@ situation.
Finally, attempts to address the scalability hudles of Bitcoin using Finally, attempts to address the scalability hudles of Bitcoin using
side-chains or schemes like BOLT introduce semi-centralized side-chains or schemes like BOLT introduce semi-centralized
intermediaries, not wholey unlike Taler's use of exchanges. Compared intermediaries, not wholly unlike Taler's use of exchanges. Compared
to BOLT, we would expect a Taler exchange operating in BTC to offer to BOLT, we would expect a Taler exchange operating in BTC to offer
stronger security to all parties and stronger anonymity to customers, stronger security to all parties and stronger anonymity to customers,
as well as being vastly cheaper to operate. as well as being vastly cheaper to operate.

View File

@ -179,14 +179,14 @@ instance of the digital contract with the opportunity to pay for it.
% if we already have the url? i.e. the non-fulfillment URL % if we already have the url? i.e. the non-fulfillment URL
% that just identifies the resource ... % that just identifies the resource ...
The case where a user already payed for a resource and then visits The case where a user already paid for a resource and then visits
the resource URL (instead of the fulfillment URL) after losing temporary the resource URL (instead of the fulfillment URL) after losing temporary
session state is also handled as expected, since the wallet component will session state is also handled as expected, since the wallet component will
look for contracts that refer to the same resource. look for contracts that refer to the same resource.
While Taler is designed to work well with digital resources on the web, While Taler is designed to work well with digital resources on the web,
it can also be used for more traditional purchases. The resource that it can also be used for more traditional purchases. The resource that
is being payed for then represents the shopping cart of items that is being paid for then represents the shopping cart of items that
are being purchased. are being purchased.
%\newpage %\newpage