-
Notifications
You must be signed in to change notification settings - Fork 371
CPS-???? | Cardano Multi Asset Treasury (CMAT) #1103
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
base: master
Are you sure you want to change the base?
CPS-???? | Cardano Multi Asset Treasury (CMAT) #1103
Conversation
|
Putting some bullets collecting from community on concern side:
|
| Spam prevention as if only whitelisted tokens can send into the treasury. Do we want to build in this feature into CMAT? | ||
|
|
||
| - For: Discussion in [(CIP159)](https://github.com/cardano-foundation/CIPs/pull/1061) thread acknowledges the need for spam prevention | ||
| - Against: Polkadot community mentioned whitelist is not needed as people just do not care |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO this is not a good counter argument. As blockchains grow in adoption, it will attract the attention of malicious entities. All it takes is one bad actor to ruin it for everyone else. Spam prevention is an absolute necessity.
The better question is: which spam prevention technique has the best trade-off profile?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My line of thinking is spaming the treasury might indeed not a vulnerability. Since it is mostly costing the spammer fee to carry such tx and eventually it might affect no one (just like current cardano address). This imo need further discussion to clarify the necessity
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My line of thinking is spaming the treasury might indeed not a vulnerability. Since it is mostly costing the spammer fee to carry such tx and eventually it might affect no one ...
I don't think this is accurate. It is very cheap to mint CNTs and it is also very cheap to send them. I could mint 50-100 CNTs in one tx for about 0.2 ADA and then send these worthless CNTs to the treasury for another 0.2 ADA. I don't think the tx fees alone are enough to deter this at scale. You would also need a governance process for cleaning up the Treasury address. Once it hits 10,000 assets, it could be problematic to trustlessly track.
Regardless, my comment was more that I think the downsides to using another minUTxO-like deposit mechanism are not being considered enough by the community. As I explained in a thread on X, microfees/microdonations are worth supporting and the minUTxO-like mechanism prevents them. This is not to say that minUTxO needs to be decreased! Only that there are use cases where another spam prevention mechanism would be better. CIP-159 deliberately uses a whitelist to support these microfees/microdonations, and these also seem relevant to the Treasury.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea I get your point, I am more inclined to think as you stated as well indeed. But from network point of view, it might not as relevant since depending on the design, it might not affect the usage of CMAT even there are couples of irrelevant tokens in treasury. Indeed it is exactly Polkadot community's POV, for their way of implementation of multi-asset treasury, people can send in irrelevant tokens to it like a typical cardano address. As long as indexers find a way to ignore it efficiently, it might not cause any problem. So this discussion item is dependent on which technology path we choose to implement CMAT imo.
|
|
||
| 3. Cardano Smart Contract as Treasury | ||
|
|
||
| > A less technical challenging solution, deploying smart contracts which can receive, hold and distribute multi-assets under specific CIP1649 compatible rules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A less technical challenging solution, ...
Just because it doesn't touch the ledger code doesn't mean it is a smaller "technical challenge". Complexity exists at an ecosystem level. If making the changes at the ledger level results in less complexity at the ecosystem level, that is the preferred solution. I would argue that the (currently undefined) smart contract approach could actually result in more ecosystem complexity, not less.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes indeed more discussion is much needed. From this tweet, seems PI is in favour of this approach indeed.
I might also spend some time in crafting a CIP in regards to the CPS, but gotta hear more from different perspectives
|
Speaking from the perspective of CIP-159:
IMO this is actually a feature, not a bug. It should be hard to change what assets are supported! I was thinking it would have to go through the full voting process to get the whitelist certificates approved which should be very difficult to prevent a fickle treasury. This means whatever CNTs end up being supported need ecosystem-wide support. This rules out all but possibly some stablecoins right now.
What do you mean "actively managing"? Why should the CMAT be actively managed more than what it already does? IMO the only thing that should be added is the ability to hold whitelisted CNTs. The funds inside the treasury should not be actively managed. They should just sit there until a treasury withdrawal is made. If the current ADA should be diversified into a supported stablecoin, this would involve an approved treasury withdrawal + conversion + treasury deposit of the new stablecoin. Then it just sits there until the community approves another diversification conversion or withdrawal. I do not think the treasury should be actively rebalanced since this opens the door to possible abuse/mismanagement - the entities doing the rebalancing could effectively pick winners and losers in DeFi which is not a good thing right now. |
These concerns are indeed what i summarize from @Crypto2099's perspective. Maybe I mis-translate some points, or can Adam provide some ink on this github discussion so more audience understand these concerns? |
|
From Cardano Ambassador workshop discussion in Berlin, the below points are mentioned:
|
|
Technical group at Day 0 discussion:
|
rphair
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tagging Triage for review at next CIP meeting (https://hackmd.io/@cip-editors/123).
|
|
||
| - There is historical reason / previous discussion in ledger team, and make it a deliberate decision to NOT implementing Cardano treasury as an address. Therefore, pathway number 1 is not suggested from there. | ||
| - [CIP159](https://github.com/cardano-foundation/CIPs/pull/1061) is the crucial infrastructure to enable multi-assets treasury withdrawal from user's point of view | ||
| - Prefer to implement the treasury in a simpler way of holding `Value` rather than `Coin`, with extra guardrails on whitelisting and de-whitelisting. From there, also not directly implementing CIP159 account as treasury due to first point above.` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not quite sure what the last sentence here means:
From there, also not directly implementing CIP159 account as treasury due to first point above.
The treasury is currently a special stake address, is it not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not a stake address now. Currently it is simply an integer represented by type Coin so far i know. My best understanding is that its very similar to behaviour of a stake address, but its a separate implementation - so updating stake address should not be automatically updating treasury as well
This CPS outlines the motivation of turning Cardano treasury from
lovelaceonly into capable of holding multi assets including various Cardano Native Tokens.Our co-authors (me plus Felix & Nicolas) would continue seeking for perspectives and feedback to update the draft until we confirm, mostly by circulating this draft and workshops to be held during upcoming Cardano Summit.
Also tagging #1061 for cross referencing, as the progress / update on the proposed CIP-159 will affect how the community should approach this CPS.