Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lowering Deposit Requirements on Polkadot and Kusama Asset Hub #45

Merged
Merged
Changes from 10 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
d3f3e16
Init 000x-assethub.md
poppyseedDev Nov 2, 2023
4c90e8e
Update 000x-assethub.md - initial text
poppyseedDev Nov 2, 2023
a1c6854
Implementing prices 000x-assethub.md
poppyseedDev Nov 2, 2023
316cd45
Update 000x-assethub.md
poppyseedDev Nov 7, 2023
7d5e9c3
Update 000x-assethub.md
poppyseedDev Nov 7, 2023
0a217aa
Update 000x-assethub.md - adding usernames
poppyseedDev Nov 7, 2023
4ba607f
Update 000x-assethub.md
poppyseedDev Nov 7, 2023
d40dffd
Update text/000x-assethub.md Update headline
poppyseedDev Nov 7, 2023
6d297fb
Update 000x-assethub.md
poppyseedDev Nov 7, 2023
0e49a4f
Update 000x-assethub.md - added vikiival as contributor
poppyseedDev Nov 8, 2023
3b48582
Update text/000x-assethub.md
poppyseedDev Nov 16, 2023
cef02e1
Update text/000x-assethub.md
poppyseedDev Nov 16, 2023
88c0f69
:memo: wording
vikiival Jan 9, 2024
cfc84ed
Merge remote-tracking branch 'origin/main' into feat/grammar-x-pricing
vikiival Jan 9, 2024
a15b1bd
:memo: :zap: calculations
vikiival Jan 9, 2024
edf6758
:memo: update author name
vikiival Jan 9, 2024
4079c29
:zap: :memo: pricing for kusama asset hub
vikiival Jan 9, 2024
e9a81d4
:memo: wording
vikiival Jan 9, 2024
28e217a
:memo: :bug: wording
vikiival Jan 9, 2024
9541841
Update text/000x-assethub.md
poppyseedDev Jan 9, 2024
5b34f67
Update text/000x-assethub.md
poppyseedDev Jan 9, 2024
4237d37
Merge pull request #1 from poppyseedDev/feat/grammar-x-pricing
poppyseedDev Jan 9, 2024
a3d3cb1
Update 000x-assethub.md
poppyseedDev Jan 9, 2024
731d0c1
Update 000x-assethub.md
poppyseedDev Jan 10, 2024
d16fa29
Update 000x-assethub.md
poppyseedDev Jan 11, 2024
c464459
Update and rename 000x-assethub.md to 000x-lowering-deposits-assethub.md
poppyseedDev Jan 11, 2024
17b5448
Update 000x-lowering-deposits-assethub.md
poppyseedDev Jan 11, 2024
3328781
Update 000x-lowering-deposits-assethub.md
poppyseedDev Jan 11, 2024
33194da
Update 000x-lowering-deposits-assethub.md changing the ending
poppyseedDev Jan 11, 2024
23b9bab
Merge pull request #2 from poppyseedDev/poppyseedDev-patch-1
poppyseedDev Jan 11, 2024
c6e9970
Update text/000x-lowering-deposits-assethub.md
poppyseedDev Jan 18, 2024
f519da0
::
vikiival Jan 19, 2024
f4fa857
rename with rfc number
joepetrowski Jan 31, 2024
a8dcdf2
break lines
joepetrowski Jan 31, 2024
3ad68dd
change some wording and typos
joepetrowski Jan 31, 2024
759c140
Merge branch 'polkadot-fellows:main' into polkadot-asset-hub
vikiival Jan 31, 2024
823013e
add decision on sigmoid function
joepetrowski Feb 11, 2024
0bb0f60
Apply suggestions from code review
joepetrowski Feb 12, 2024
a7319f0
table format
joepetrowski Feb 12, 2024
c7edfc3
Update text/0045-nft-deposits-asset-hub.md
poppyseedDev Feb 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions text/000x-assethub.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# RFC-0000: Lowering NFT Deposits on Polkadot and Kusama Asset Hubs

| | |
| --------------- | -------------------------------------------------------------------------------------------------- |
| **Start Date** | 2 November 2023 |
| **Description** | A proposal to reduce the minimum deposit required for collection creation on the Polkadot and Kusama Asset Hub, making it more accessible and affordable for artists. |
| **Authors** | [Aurora Poppyseed](https://github.com/poppyseedDev), [Just_Luuuu](https://github.com/justLuuuu), [VikiiVal](https://github.com/vikiival) |

## Summary

This RFC proposes a change to the current deposit requirements on the Polkadot and Kusama Asset Hub for creating NFT collections. The objective is to lower the barrier to entry for artists, fostering a more inclusive and vibrant ecosystem, while maintaining network integrity and preventing spam.

## Motivation

The current deposit of 10 DOT for collection creation on the Polkadot Asset Hub presents a significant financial barrier for many artists. By lowering the deposit requirements, we aim to encourage more artists to participate in the Polkadot NFT ecosystem, thereby enriching the diversity and vibrancy of the community and its offerings.

## Stakeholders

- **Artists**: Primary beneficiaries of the proposed change, particularly those who found the current deposit requirements prohibitive.
poppyseedDev marked this conversation as resolved.
Show resolved Hide resolved
- **KodaDot**: As the facilitator of artists' relations, KodaDot has a vested interest in making the platform more accessible.
poppyseedDev marked this conversation as resolved.
Show resolved Hide resolved
- **Polkadot Community**: Stands to benefit from an influx of artists, creators and diverse NFT collections, enhancing the overall ecosystem.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the community is also interested in the security of the network.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, since this is talking more about the benefits for Stakeholders, would it be okay if I better highlight this point in the drawbacks?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But the Polkadot Community also benefits from a secure network. Otherwise if the state gets bloated like on Moonbeam then it is not good.


Previous discussions have been held within the KodaDot community, as well as with artists expressing their concerns about the deposit amounts. Referencing to [Polkadot Forum conversation](https://forum.polkadot.network/t/polkadot-assethub-high-nft-collection-deposit/4262).

## Explanation
This RFC suggests modifying the smart contract governing collection creation on the Polkadot Asset Hub to require a lower deposit. The exact amount of the reduced deposit is yet to be determined and should be discussed and agreed upon by the stakeholders. The implementation of this change requires careful consideration of the network's integrity and the prevention of spam, possibly through alternative means such as rate limiting or account verification.

**Prices and Proposed Prices on Polkadot Asset Hub:**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The explanation lacks discussion that I was hoping for about the tradeoffs and how you arrived at these suggested deposits.

_Scroll right_
```
| **Name** | **Current price implementation** | **Price if DOT = 5$** | **Price if DOT goes to 50$** | **Proposed Price in DOT** | **Proposed Price if DOT = 5$** | **Proposed Price if DOT goes to 50$**|
|---------------------------|----------------------------------|------------------------|-------------------------------|---------------------------|----------------------------------|--------------------------------------|
| collectionDeposit | 10 DOT | 50 $ | 500 $ | 0.1 DOT | 0.5 $ | 5$ |
| itemDeposit | 0.01 DOT | 0.05 $ | 0.5 $ | 0.001 DOT | 0.005 $ | 0.05$ |
| metadataDepositBase | 0.20129 DOT | 1.00645 $ | 10.0645 $ | 0.0020129 DOT | 0.0100645 $ | 0.100645$ |
| attributeDepositBase | 0.2 DOT | 1 $ | 10 $ | 0.002 DOT | 0.01 $ | 0.1$ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to see these values in relation to what is actually being stored on-chain.
Then we can compare these values to proven spam-resistant storage prices (like in the preimage pallet).
It should be possible to calculate the DOT/Byte to make it comparable.

Otherwise they are just as random as at genesis, now just 1/10 😉

```

**Prices and Proposed Prices on Kusama Asset Hub:**
_Scroll right_
```
| **Name** | **Current price implementation** | **Price if KSM = 23$** | **Price if KSM goes to 500$** | **Proposed Price in KSM** | **Proposed Price if KSM = 23$** | **Proposed Price if KSM goes to 500$** |
|---------------------------|----------------------------------|------------------------|-------------------------------|---------------------------|----------------------------------|----------------------------------------|
| collectionDeposit | 0.1 KSM | 2.3 $ | 50 $ | 0.01 KSM | 0.23 $ | 5 $ |
| itemDeposit | 0.001 KSM | 0.023 $ | 0.5 $ | 0.0001 KSM | 0.0023 $ | 0.05 $ |
| metadataDepositBase | 0.006709666617 KSM | 0.15432183319 $ | 3.3548333085 $ | 0.0006709666617 KSM | 0.015432183319 $ | 0.33548333085 $ |
| attributeDepositBase | 0.00666666666 KSM | 0.15333333318 $ | 3.333333333 $ | 0.000666666666 KSM | 0.015333333318 $ | 0.3333333333 $ |

```
> Note: This is only a proposal for change and it can be modified upon additional conversation.

## Drawbacks
The contemplation of modifying deposit requirements necessitates a balanced assessment of the potential drawbacks. Highlighted below are cogent points extracted from the discourse on the [Polkadot Forum conversation](https://forum.polkadot.network/t/polkadot-assethub-high-nft-collection-deposit/4262), which provide critical perspectives on the implications of such changes:

> But NFT deposits were chosen somewhat arbitrarily at genesis and it’s a good exercise to re-evaluate them and adapt if they are causing pain and if lowering them has little or no negative side effect (or if the trade-off is worth it).
> -> joepetrowski

> Underestimates mean that state grows faster, although not unbounded - effectively an economic subsidy on activity. Overestimates mean that the state grows slower - effectively an economic depressant on activity.
> -> rphmeier

> Technical: We want to prevent state bloat, therefore using state should have a cost associated with it.
> -> joepetrowski


## Testing, Security, and Privacy

## Performance, Ergonomics, and Compatibility

### Performance
This change is not expected to have a significant impact on the overall performance of the Polkadot Asset Hub. However, it is crucial to monitor the network closely, especially in the initial stages after implementation, to identify and mitigate any potential issues.

Additionally, a supplementary proposal aims to augment the network's adaptability:

> Just from a technical perspective; I think the best we can do is to use a weak governance origin that is controlled by some consortium (ie. System Collective).
> This origin could then update the NFT deposits any time the market conditions warrant it - obviously while honoring the storage deposit requirements.
> To implement this, we need RFC#12 and the Parameters pallet from @xlc.
> -> OliverTY

This dynamic governance approach would facilitate a responsive and agile economic model for deposit management, ensuring that the network remains both accessible and robust in the face of market volatility.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really agree with this approach for a few reasons. One, in attempting to provide stability it actually removes it because the DOT-based deposit can change so often that NFT issuers don't even know how much DOT they should acquire in order to plan a few weeks in advance.

Two, it does not scale. There are deposits all over the system. This group could then find themselves perpetually changing tons of deposits.

I don't see any need to update deposits more than every six months, which is well within the realm of runtime upgrades. If deposits should be tied to some fiat value, then on Asset Hub they should just directly declare the deposit in a chosen stablecoin. If the deposits are in DOT, and users want to hold stablecoins, then wallets can easily batch an Asset Conversion swap in front of a creation call.


### Ergonomics
The proposed change aims to enhance the user experience for artists, making Polkadot more accessible and user-friendly.

### Compatibility
The change doesn't impact compatibility.

## Unresolved Questions
- Determining the optimal new deposit amount that reduces the barrier to entry while preventing state bloat remains a subject for debate. What is the balance that allows for inclusivity without compromising the network's efficiency and security?

## Future Directions and Related Material
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a good future direction would be to establish some kind of process on how to agree on these values.
Otherwise we will have the same discussion every 3-6 months i guess.

Copy link
Contributor Author

@poppyseedDev poppyseedDev Nov 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The proposed prices have been adjusted so that they are not too low, but still have a reasonable maximum at a historical maximum of prices of DOT and KSM.

This of course maybe be an oversimplification and needs to reach an consensus from the community.


If accepted, this RFC could pave the way for further discussions and proposals aimed at enhancing the inclusivity and accessibility of the Polkadot ecosystem. Future work could also explore having a weak governance origin for deposits as proposed by Oliver.