summaryrefslogtreecommitdiff
path: root/design-documents
diff options
context:
space:
mode:
authorStefan Kügel <skuegel@web.de>2021-01-15 20:48:39 +0100
committerStefan Kügel <skuegel@web.de>2021-01-15 20:48:39 +0100
commitf11b4ef1bac07d0c7c2ca80c730b43f89c30ff38 (patch)
tree410202ef38eb919bc3b62655398d1650cbc2906d /design-documents
parent02285d7631e2fc9ba07985edb0ce4721c9146b5a (diff)
downloaddocs-f11b4ef1bac07d0c7c2ca80c730b43f89c30ff38.tar.gz
docs-f11b4ef1bac07d0c7c2ca80c730b43f89c30ff38.tar.bz2
docs-f11b4ef1bac07d0c7c2ca80c730b43f89c30ff38.zip
Editing... fee levels in case of misuse
Diffstat (limited to 'design-documents')
-rw-r--r--design-documents/012-fee-schedule-metrics.rst11
1 files changed, 8 insertions, 3 deletions
diff --git a/design-documents/012-fee-schedule-metrics.rst b/design-documents/012-fee-schedule-metrics.rst
index f4b15a3..e788597 100644
--- a/design-documents/012-fee-schedule-metrics.rst
+++ b/design-documents/012-fee-schedule-metrics.rst
@@ -117,9 +117,9 @@ During deposit, the Exchange logic compares the public key of each coin with the
* **Deposit** from the seller's point of view:
-If an Exchange operator charges relatively high deposit fees, sellers have a means to set a boundary for the deposit fee amount and split it in two amounts. As pointed out before, a seller must bear deposit fees, but only up to the maximum determined by the variable ``default_max_deposit_fee``, which every seller specifies individually.
+If an Exchange operator charges relatively high deposit fees, sellers must have a means to split it into two amounts. Sellers determine the amount they maximally want to bear by setting the variable ``default_max_deposit_fee``, which every seller specifies individually. The surmounting amount of the deposit fee is to be borne by the buyers.
-Deposit fees will also affect refund transactions, for example when a rebate is given by the seller to the customer. Only in the case of a complete withdrawal from the contract by the seller does the refund transaction exempt the buyer from the deposit fee. In that case, the refund transaction incurs the 'Refresh' fee portion borne by the buyers. If the seller's refund is partial, only the seller's deposit fee is waived, which means from the buyer's perspective a partially refunded purchase with coins signed at an Exchange with high deposit fees becomes less attractive. In other words: Deposit fees exceeding the seller's maximum value will be borne by the buyers, making the rebate worse from the buyers' perspective.
+Deposit fees will also affect refund transactions, for example when a rebate is given by the seller to the customer. Only in the case of a complete withdrawal from the contract by the seller does the refund transaction exempt the buyer from the deposit fee. In that case, the refund transaction incurs the 'Refresh' fee, borne entirely by the buyers. If the seller's refund is partial, only the seller's deposit fee is waived, which means from the buyer's perspective a partially refunded purchase with coins signed at an Exchange with high deposit fees becomes less attractive. In other words: Deposit fees exceeding the seller's maximum value will be borne by the buyers, making the rebate worse from the buyers' perspective.
Generally, sellers want to ensure that:
(1) the exchange selected by the buyers complies with the regulatory requirements of the supervisory authorities (e.g. BaFin) and with anti-money laundering laws (AML);
@@ -177,7 +177,7 @@ The closing transaction does not affect sellers in any way.
Fee levels in case of misuse
----------------------------
-Normally, the payment process involves the fee types **Withdrawal**, **Deposit** and **Wire fee** - when the amount to be paid is settled with a coin of the exactly matching denomination. For any other amount for which a coin of higher denomination is used, the refresh transaction will generate change, i.e. post one or more fresh coins to the wallet until the difference is reached.
+Normally, the payment process involves the fee types **Withdrawal**, **Deposit** and **Wire fee** - given the case the amount to be paid is settled with a coin of the exactly matching denomination. For any other amount for which a coin of higher denomination is used, the refresh transaction will generate change, i.e. post one or more fresh coins to the wallet until the difference is reached.
However, refresh transactions can be triggered anonymously an unlimited number of times by malicious parties, thus harming Exchange operators. Exchange operators must therefore be able to take action in the event of misuse with the help of different fees:
@@ -185,6 +185,11 @@ However, refresh transactions can be triggered anonymously an unlimited number o
* Abuse due to ``deposit transactions`` is unlikely as the Exchange operator will usually charge deposit fees on every denomination to generate income respectively to cover costs.
+* Abuse due to ``refresh transactions`` is possible and requires a differentiated treatment: The normal case for refresh operations is given, when wallets obtain fresh coins for a used coin of higher denomination than the amount to be paid. In this case, an Exchange operator will not charge a refresh fee on payments with coins of unsuitable denomination. Only in the case of abuse the Exchange operator must charge this fee when a malicious party triggers refreshes en masse. These misuse cases are:
+(1.) arbitrary transaction aborts;
+(2.) arbitrary repeated refunds (which, however, must be triggered by malicious sellers - costs are borne on a case-by-case basis).
+In extreme cases of abuse - when an exchange suffers from arbitrarily triggered refresh transactions, the Exchange operator must set the refresh fee or increase it and thus charge all coin owners whose coins were signed by that exchange.
+
* Abuse due to ``closing transactions`` and the involved remittances (withdrawing to the wallet failed within the given time frame, Exchange has to wire the value to the originating account) burdens the Exchange operator with costs for wire transfers; to prevent this, the Exchange operator can introduce a fee by adjusting the **closing** variable.
Alternatives