3

Storage deposit is for economic security as explained here.

All storage usage (not only pallet_balances, frame_system account info, pallet_preimage, pallet_contract's contract storage for e.g.) is backed by someone's deposit in Substrate to incentivise unused storage cleanup? In other words, storage deposit is universal concepts in Substrate which enforce some amount of deposits to all pallets' db entries or concepts in specific pallets.

1 Answer 1

2

Yes, as you said is for economic security.

See also this answer by Gav in a previous StackExhange Question: Is there a limit to the size of a map in Pallet storage?

The deposit scheme helps ensure that (even after 10 years) the state is storing a manageable amount of data and only that which is the most economically valuable. Polkadot employs this technique ubiquitously.

As an example of how the deposit is helpful for security I like to see the Recovery pallet. The Recovery pallet is an M-of-N social recovery tool for users to gain access to their accounts if the private key or other authentication mechanism is lost.

It has two deposits:

  • ConfigDepositBase * FriendDepositFactor : The amount of currency needed to reserve for creating a recovery configuration.

  • RecoveryDeposit: The base amount of currency needed to reserve for starting a recovery.

The first one is the typical example as you mention for incentivise unused storage cleanup and the second is primarily held for deterring malicious recovery attempts, and should have a value large enough that a bad actor would choose not to place this deposit. He will lose it if he is discovered during the attack.

1
  • Thank you so much for the detailed explanation. My understanding is that Substrate itself doesn't enforce deposit fee for all storage usage in palletes, but for economic security, Polkadot employs it in all pallets. And this is desired not only for Polkadot.
    – Shunsuke
    Mar 16, 2023 at 4:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.