Skip to content
This repository has been archived by the owner on Sep 2, 2023. It is now read-only.

Fully remove all XRP from an account. #754

Closed
michpalmerdesign opened this issue May 22, 2013 · 43 comments
Closed

Fully remove all XRP from an account. #754

michpalmerdesign opened this issue May 22, 2013 · 43 comments

Comments

@michpalmerdesign
Copy link

I understand this might have been mentioned in an issue before, sorry if this is completely a dupe. But I do think it should be possible to remove all XRP from an account rendering it inert. Perhaps multiple warnings can pop up and this might permanently delete the account, but if someone doesn't feel like maintaining a wallet anymore, and they want to consolidate accounts, it should be possible to move all xrp from accounts the owner no longer wants to use. Obviously this would require all trust lines, addresses, bids/offers etc be manually removed first.

What do you think?

@rupert23
Copy link

I agree this is a good idea. It seems odd to me that you have to keep some XRP in an account that you no longer use and there is no way to get it out.

@JoelKatz
Copy link
Member

We don't know of any secure way to do this. If the account is deleted, there's nothing to prevent the account from being re-created. And if that happens, all the old transactions would be valid again. The account must remain in the ledger to hold the information that the transactions have already been applied. This breaks our wallet security model and our transaction idempotence model.

@rupert23
Copy link

That makes sense but it doesn't explain why you would need to keep any XRP in an account that is no longer being used. The acct could still become unused and remain on the ledger but just wouldn't have any XRP in there...or just reduce it to 1 XRP and would accomplish about the same thing...just a suggestion. Thanks.

@JoelKatz
Copy link
Member

The XRP pays for the space in the ledger. 1 XRP would make it too cheap to fill the ledger with junk, allowing you to make other people store and transfer information for no reason.

@rupert23
Copy link

Ok I see what you are saying and thank you for the explanation.

@michpalmerdesign
Copy link
Author

Ok this makes sense. I'm fine with not being able to completely empty a wallet. But there might be some benefit to warning people that when creating wallets they will have to permanently keep a limited number of ripple in each wallet. This is a sunk cost for people opening wallets, and if it's not clearly stated that reserve xrp means permanently deposited (aka spent), then I can see some people feeling slighted that they put money in that they now can't take out.

@ghost
Copy link

ghost commented Nov 26, 2013

Wallets are becoming expensive!

It costs 150 XRP for fully featured wallets, but at current prices this is $5 !! (Currently trading 30 XRP / 1 USD)

Are you kidding me? This is your business model? Imagine I had to pay $5 to have a FB profile.

@orll
Copy link

orll commented Dec 19, 2017

I'm very disappointed. This looks as a simple charge. Just as banks do.

@ncypher
Copy link

ncypher commented Dec 23, 2017

Fucking Banks!

@ncypher
Copy link

ncypher commented Dec 23, 2017

I take this back. It is kind of ingenius. Think about it. It is a scarcity engine. Think of those 20 Ripple coins as membership fee for a Millionaire's Club. :-)

@JoelKatz
Copy link
Member

The base reserve is currently 20 XRP. If your account has a higher reserve, it's because you own objects in the ledger (trust lines, offers, escrows, or the like) and you can remove them to lower your reserve.

@luigimannoni
Copy link

Which at the actual price is almost $20 plus almost $5 for each trust line... I did came to know this only after opening a second wallet (yes, my bad should've researched it) and now I find myself with pretty much 2 unusable wallets.
Any plan to lower the reserve down to an appreciable amount, or a way to definitely destroy a wallet taking the reserve to another wallet if we don't need it anymore?

@fulvioMorelli
Copy link

Dear and sorry, so no way to remove all XRP from a wallet?

@ghost
Copy link

ghost commented Jan 3, 2018

Why can't the base reserve amount be changed to 1 or 2 XRP? I literally have ~62 USD (20 XRP) sitting in my Ripple wallet and I can't do anything about it.

@MBid2018
Copy link

MBid2018 commented Jan 4, 2018

Sharing same frustrations as everyone above. They have to lower that rate, especially as XRP keeps going up. Today its ~62USD tomorrow it'll be 100 and so on and so forth. Does Ripple Wallet have a plan for adjusting when/if this scenario comes forth?

@gulbis
Copy link

gulbis commented Jan 4, 2018

Gatehub actually locks 50XRP, so the "Wallet" costs at least 150$ at 3$ price and the price is increasing... With 20$ XRP it would be a 1000$!

@abhilash1in
Copy link

Many exchanges in my country takes ages to complete verification and onboarding. To make it quicker, I generated a wallet address and sent 30XRP. Now what's rightfully mine is just 10XRP? That loss makes it terrible, especially at the current rates!

@prestonw
Copy link

This reserve fee needs to go, or the currency is invalid. If you want an account creation fee then add that as a one off charge sent to a wallet at the current XRP rate then whatever is in the account is ours. If it's a technical challenge around deleting an account this is simply met by keeping a very low balance (0.01XRP). I don't believe there will be a flood of transactions that breaks the network, if there is simply revert the change and look for an alternative solution, but it feels like a unnecessary charge at the moment especially with those who created a second wallet to test out transferring to only find they basically burnt that balance.

@orll
Copy link

orll commented Jan 11, 2018

Just imagine a poor family transfering 25 XRP to their wallet without knowing the would lose 20 XRP.
I want to have the right to choose. I think this is not fair.

@fawadmirza
Copy link

This also means that Ripple XRP will never ever be the same value as say... Bitcoin or Ether. Its just a very flawed concept. Imagine having to buy 20btc just to have a wallet address, thats $300k down the drain. Even at ether price it is insane. If they do want the currency to go somewhere they will have Either remove this fees/or charge USD equivalent of xrp. Its not sustainable like this.

@fulvioMorelli
Copy link

fulvioMorelli commented Jan 11, 2018 via email

@Tyrael
Copy link

Tyrael commented Jan 11, 2018

just putting this out here, there is a way for change the value of account_reserve:

https://ripple.com/build/reserves/#changing-the-reserve-requirements

Changing the Reserve Requirements
The XRP Ledger has a mechanism to adjust the reserve requirements for long-term changes in the value of XRP. Any changes have to be approved by the consensus process. See Fee Voting for more information.

https://ripple.com/build/fee-voting/

account_reserve | Minimum amount of XRP, in drops, that an account must have on reserve. This is the smallest amount that can be sent to fund a new account in the ledger. | 20000000 (20 XRP)

@abhilash1in
Copy link

@Tyrael you mean we can all come together and influence the network? (If you're running a full rippled validator)

@ghost
Copy link

ghost commented Jan 11, 2018 via email

@abhilash1in
Copy link

This is exactly why we are trying to move away from a centralized ecosystem!

@ghost
Copy link

ghost commented Jan 11, 2018 via email

@fulvioMorelli
Copy link

fulvioMorelli commented Jan 11, 2018 via email

@Tyrael
Copy link

Tyrael commented Jan 11, 2018

you mean we can all come together and influence the network? (If you're running a full rippled validator)

I don't think that it would be feasible for the two of us to start setting up validators then trying to stir the whole network, but based on my understanding from the documentation it seems that those numbers including the account_reserve are indeed governed by the validators.
I've also found https://ripple.com/insights/proposed-change-to-ripple-reserve-requirement-2/ which is a bit dated and some things changed since (there are other validators than "Ripple Labs" and now the settings can be changed via the rippled configuration file instead of editing the Application.cpp).

Technically yes however I'm fairly sure Ripple (the company) runs all of the validators at the moment.

this doesn't seems to be the case according to https://ripple.com/build/rippled-setup/#running-a-validator and https://xrpcharts.ripple.com/#/validators (and https://ripple.com/insights/proposed-change-to-ripple-reserve-requirement-2/ also states that the goal is to have validators outside the Ripple company)

to change minimun reserves you must know very well, program language. For normal user it is very hard to do.

please don't reply via email, your quoting makes it really hard to see what was your actual comment, but no, changing the minimum reserves has nothing to do with your ability to write software, if you are an operator of a trusted validator node you can set account_reserve via a config option (which doesn't really require any programming experience, it's just editing a text file)

@JoelKatz
Copy link
Member

The XRP Ledger's design makes accounts primary objects in the system. This is a design difference compared to systems like bitcoin. This has advantages and disadvantages.

Among the advantages are:

  1. You can change an account's key to resecure it without having to change your receiving address
  2. An account can specify the assets it wishes to receive
  3. Accounts can specify multisigning lists and maintain them
  4. Accounts can place offers to trade assets
  5. You don't have to specify the exact funds you're using to make a payment
    And several more.

But this also comes at a cost -- there's a scalability limit on the number of accounts because each account persists in the ledger.

The account reserve acts to ration ledger space. Without it, the number of accounts could grow without bound, imposing costs on everyone who runs a node on the network. To ensure that the value added by an account is comparable to the costs imposed, the reserve is set.

The reserve is vastly superior to a fixed fee. For one thing, if the reserve is deemed to be higher than needed to be to serve its intended function, it can be lowered, releasing XRP that was previously locked. For another thing, it eliminates the confusion surrounding statements like, "You'll get 90 XRP if you already have an account or 70 XRP if you don't". Lastly, the reserve system easily accommodates increasing the reserve for additional ledger space for things like offers, trust lines, multisigner lists, and so on.

We have good evidence that the reserve is currently too low to serve its intended function. Poloniex senselessly forces every customer who wishes to deposit XRP to create an account. The purpose of the reserve is to discourage this, and it isn't doing that.

We could add a feature to completely delete an account and return the reserve to another account. The problem with doing this is that if funds are ever sent to the deleted account's address, the account would be re-created. Nothing would reliably prevent someone from replaying the account's previous transactions to consume those funds.

And it's important to understand that when you make changes to a public ledger system, that imposes costs on everyone who uses that system. Previously, you could rely on an account that was present to always be present. After such a chance, you cannot. Everyone who uses the system would have to evaluate what effect that has on everything they do.

@fulvioMorelli
Copy link

Ok, but if I have only a wallet I can't change reserves. right?. Anyone coul become validator? Sorry if I do this question but i would like to understand

@JoelKatz
Copy link
Member

JoelKatz commented Jan 11, 2018

Anyone can become a validator and everyone can choose which validators they wish to listen to. At this time, Ripple is recommending that people only listen to five validators operated by Ripple and their own validator if they run one. We are working very hard to change this as we very much want diversity of the stakeholders. See:
https://ripple.com/dev-blog/decentralization-strategy-update/

Note that this has no effect on who can do anything with transactions. It does effect how changes to the system's rules are ratified and how the reserve levels and fees are set. However, people are absolutely free to deviate from Ripple's recommendations. (And would certainly do so if Ripple became irrational or disappeared.)

@fulvioMorelli
Copy link

fulvioMorelli commented Jan 11, 2018

ok, if one become validator he must leave PC work like server 24/24H, right?

@fulvioMorelli
Copy link

fulvioMorelli commented Jan 11, 2018

Anyone can become a validator and everyone can choose which validators they wish to listen to. At this time, Ripple is recommending that people only listen to five validators operated by Ripple and their own validator if they run one. We are working very hard to change this as we very much want diversity of the stakeholders. See:
https://ripple.com/dev-blog/decentralization-strategy-update/

Ok, I'm dummies, i need exemple to understand. I have one paper wallet 20xrp minimum, one gatehub wallet 50 xrp minimum and one kraken wallet 20 xrp minimum, If I want remove all xrp from gatehub and kraken wallet, if I'm a validator, Can do it? Can change minimum reserves to send xrp to paper wallet?

@sublimator
Copy link
Contributor

sublimator commented Jan 11, 2018 via email

@ghost
Copy link

ghost commented Jan 11, 2018 via email

@fulvioMorelli
Copy link

fulvioMorelli commented Jan 11, 2018

`Would u prefer the system get drowned out with too man txns?

There is real cost to store an account.

If anything, it should be more.

There are too many gateways creating an account per custmer for those
paying attention. Some are not using destination tags.`
Ok, you're right, but if xrp reach peraphs 6-7$ and you have 3 wallet you lose 360$. If I want close my wallet, Ripple network must give me back all xrp. Try to go to your bank to close your account, if they said to you, "Ehy, ok you can close but you must leav us 360$" It's crazy. When I'll close my gatehub wallet or anyelse, they must give me back all xrp

sorry for my english

@Tyrael
Copy link

Tyrael commented Jan 11, 2018

@JoelKatz you already explained this in your original comment here 4 years ago, but seeing the other clueless comments I guess it was needed to be repeated.

personally I think that if the prices hold the reserve fees should be lowered otherwise Ripple will be unfeasible for smalltime investors (which can be totally valid to ignore with your business case).

@fulvioMorelli
Copy link

repeat, I find right that wallet need minimum reserves to remain active, but when someone want close it, must be there a way to remove all xrp. Or write to ripple network or with special key or something else. I'm small investor, I belive in xrp project, but in future maybe I'll want close my wallet or reduce it from three to one.

@abhilash1in
Copy link

abhilash1in commented Jan 11, 2018

@JoelKatz @Tyrael How about maintaining a ledger for deleted accounts and not let anything be sent to it (and thus prevent re-creation of the account)? Would this allow for permanent safe deletion of accounts? Will this require resources any lower than the current system (I mean, will the proposed method be efficient?) ?

@JoelKatz
Copy link
Member

@abhilash1in That could be done. There are a few problems with it though.

  1. It would still require some ledger space, though less than what's currently needed.

  2. We'd have to come up with some efficient way to store the removed accounts and some way to look them up in the code that creates a new account.

  3. We'd have to fully audit all the rippled transaction code to make sure that all code paths account for the possibility that an account may cease to exist.

  4. Everyone who uses the ledger will have to audit their code to make sure it accounts for the possibility that an account that previously existed no longer exists.

  5. Everyone who uses the ledger will have to handle the new case where an XRP payment fails because the account could not be created, that means extra work for every exchange that supports XRP.

@JoelKatz
Copy link
Member

JoelKatz commented Jan 11, 2018

@fulvioMorelli This is an inherent issue with any open, public system. Everything you do imposes costs on everyone else. Without some costs imposed on you to compensate, those bent on harming the system can simply flood it with junk. Every system is limited to those use cases for which its advantages are advantageous and its disadvantages are manageable. This is a disadvantage of XRP's ledger structure. It has compensating advantages, and that's why it was designed that way.

But if the disadvantages outweigh the advantages for your use case, consider using some system that better fits your use case. We will also work as hard as we can on reducing those disadvantages. We are currently focusing scaling effort on reducing the memory consumption of rippled and reducing the costs associated with the use of ledger space. If the reserve comes down in the future, you will be able to transfer the difference out.

There is always the option of using hosted wallets for smaller amounts, though I understand the downsides of holding assets on an exchange or trusting someone else. There is no perfect solution at this time.

@arektdev
Copy link

This is closed, but there needs to be a notification to users stating that you'll never be able to retrieve the minimum XRP once deposited into Exodus. Many people wouldn't use XRP if they knew this.

@btemtd
Copy link

btemtd commented Apr 12, 2019

We don't know of any secure way to do this. If the account is deleted, there's nothing to prevent the account from being re-created. And if that happens, all the old transactions would be valid again. The account must remain in the ledger to hold the information that the transactions have already been applied. This breaks our wallet security model and our transaction idempotence model.

We don't know of any secure way to do this. If the account is deleted, there's nothing to prevent the account from being re-created. And if that happens, all the old transactions would be valid again. The account must remain in the ledger to hold the information that the transactions have already been applied. This breaks our wallet security model and our transaction idempotence model.


Hi David can you elaborate on this as this does not make any sense to me, you say if i open up some new wallet and generate a random address ( a 3rd party XRP wallet which is not tied to any ripple tool) .. How does bitcoin generate 100000s of addresses and then throw em away like nothing. How does any coin do the same and stop someone else generating the same address, i heard it doesn't and the chances of generating the same address in btc is like finding a sand particle on all the beaches in the world then times 1000 planet and all there beaches... some stupid explanation like that. But I am interested in where you say when a xrp wallet is created are you saying it an never be generate, is that because when you generate a wallet its connect to the XRPL? And in that case does this mean there are no such things as offline xrp wallet generators, which there is so this is where it doesnt make sense. because then anyone can generate someone address and then have access to there funds not just tx IDS

This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests