Skip to content

Commit 103472e

Browse files
mvadariTapanito
andauthored
Add XLS-71d: 0071 XLS-71d: Initial Owner Reserve Exemption (#354)
* Add XLS-71d: 0071 XLS-71d: Initial Owner Reserve Exemption * Update XLS-0071-initial-owner-reserve-exemptio/README.md --------- Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com>
1 parent fe113b9 commit 103472e

File tree

1 file changed

+52
-0
lines changed
  • XLS-0071-initial-owner-reserve-exemptio

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<pre>
2+
xls: 71
3+
title: Initial Owner Reserve Exemption
4+
description: The first two account `objects` that are counted towards the `OwnerCount` shall not increase the `Owner Reserve`
5+
author: Vet (@xVet)
6+
created: 2024-07-01
7+
status: Stagnant
8+
category: Amendment
9+
</pre>
10+
11+
## Terminology
12+
13+
The reserve requirement has two parts:
14+
15+
The `Base Reserve` is a minimum amount of XRP that is required for each address in the ledger.
16+
The `Owner Reserve` is an increase to the reserve requirement for each object that the address owns in the ledger. The cost per item is also called the incremental reserve.
17+
18+
## Abstract
19+
20+
This proposal introduces the general initial owner reserve exemption.
21+
22+
The first two account `objects` that are counted towards the `OwnerCount` shall not increase the `Owner Reserve`. We enforce the increase of the `Owner Reserve` , if `OwnerCount > 2` , else zero (Free) - For all objects that can be owned by an account e.g Offers, DID, NFTs, Trustlines, Oracles etc.
23+
24+
## Motivation
25+
26+
1. We do this to allow new created accounts by users / enterprises to be immediately able to use the XRP Ledger without the need initial XRP for reserves to accept an NFT, Loyalty points, Stablecoin, a RWA etc thus signficantly reduces the initial pain point of using the XRP Ledger without compromising the logic behind reserves, if accounts wish to own more objects then the XRPL will enforce just normally the reserve requierments.
27+
28+
Owning an object on the XRP Ledger is a powerful feature that should be allowed up to the threshold of 2, to be free for any account.
29+
30+
2. In order to reduce the `base` and `owner` reserve long term, this step is a good middle ground. Typically, the concern around `account deletion fee` is associated with this topic. With this proposal we can keep this fee stable, as it is the owner reserve, reduce the base reserve long term but also get around the initial pain point of owner reserve funding
31+
32+
3. Xahau has the import feature, whereby if you import an activated XRPL account to Xahau, you get also 5 object slots for free. This seems to work well, where the `account deletion fee` on the XRPL is enough friction to prevent spam.
33+
34+
4. We already have this owner reserve exemption in a single case, for trustlines or more specific the `SetTrust` transaction, which helped trustlines to be a very popular and poweful feature on the XRPL for any new user.
35+
36+
## Implementation example
37+
38+
XRPAmount const reserveCreate(
39+
(uOwnerCount < 2) ? XRPAmount(beast::zero)
40+
: view().fees().accountReserve(uOwnerCount + 1));
41+
42+
Enforcing increase of owner reserve if OwnerCount > 2 in the `SetTrust`transaction
43+
44+
## FAQ
45+
46+
### A: Can this allow spam attacks ?
47+
48+
I don't see any attack vector that scales due to only the first two account object threshold, evidence in regards to Trustlines suggests that this is not a concern yet. Worst case, validators increase owner reserves in case spamming is observed, but the account deletion fee should be enough to prevent this.
49+
50+
### A: How to roll this exemption out and which transactors should have it ?
51+
52+
It makes sense to include this exemption over time to as many object creation transaction as possible in case of adoption, while closely monitoring the network.

0 commit comments

Comments
 (0)