-
Notifications
You must be signed in to change notification settings - Fork 318
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
CPS-0015? | Intents for Cardano #779
Conversation
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.
@michaelpj @polinavino I've added this to introduce in the agenda of our CIP meeting in a week's time (https://hackmd.io/@cip-editors/84). Nearly our entire agenda is Plutus at this point so your attendance would be welcome for a number of reasons. 🙏
Let me point out that implementating intents is already technically possible on Cardano without changes to the Ledger. It can be done with the help of a hypothetical smart contract wallet where all user UTxOs are locked by Plutus scripts.
The problem with the above approach, in my opinion, lies mostly in its practicality and efficiency. In particular, the wallet's script needs to run for each of the affected UTxOs even though it verifies the same exact statement. There are a number of other proposals that could deal with the efficiency problem if implemented: |
@vlasin I tried to gesture in that direction in the CPS here: https://github.com/cardano-foundation/CIPs/pull/779/files#diff-5a0dba075d998658d72169818d839f4c63cf105e4d6c3fe81e46b20d5fd3dc8fR45 I should elaborate! I agree that practical considerations dominate here. Fundamentally, any on-chain solution requires paying the costs necessary for the network to reach consensus on that state, which may be both unnecessary and too costly. We need consensus on the final change, it's not clear that we need consensus on the proposal. Transaction fees and overhead is what made the Stellar DEX not function at large trading volumes - I think this is ultimately unsurprising. |
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.
@michaelpj thanks for introducing this & related CIP #780 at the meeting today; both agreed all around as candidates (though expecting a long gestation period) so assigning numbers.
Since the scope might be clear at this point I hope we can confirm a category of Tools
(#779 (comment)) or indicate that it might be narrower (to be determined) and therefore leave the category open... though it will be helpful for review it we can assign an initial category as usual.
Please update the directory name & the link to your proposal in the OP 🙏
Linking to a previous discussion in a working group on this topic. |
Here is an idea about how to introduce a new kind of intent that is fulfilled within a valid validation zone : the intent to spend a certain output. This would allow us to implement the following kind of protocol for Light Clients that has the service provider (SP) build the transaction for the (LC) rather than supply data for the LC to do it themselves. This comes with a way to ensure that the SP is compensated, but only if they build a valid transaction. This requires us to build on top of the validation zones infrastructure (in-progress implementation specifically for the babel fees/swaps usecase here ) This also requires an intents-constructing API (an "intents language"), which can be as simple or fancy as we want. E.g. it can support requesting transactions that
Ledger changes :
Off-chain infrastructure :
Protocol :
Possible issues
this is a problem for any type of request system could have some sort of key registration system, and require LCs to sign their requests
we might even have to worry about another SP intercepting, dismantling, and re-constructing the transaction built by an SP, and changing the payment made to one that is to themselves hopefully, that it’s about as expensive as constructing the transaction from scratch |
@polinavino - would you the best person to advocate for & update this PR and #780? 1 - Whatever is in the "babel fees/swaps usecase here" is already in the Use Cases, but this mechanism for Light Clients is new... could you add a section for it at the appropriate level of detail for the CPS? Also if the Light Clients idea matches some other project under development, I imagine it would be filled out into a CIP at some point. 2 - Your earlier suggestion of an Intents language (#779 (comment)) was mainly why this CPS was classified as Editorially I think this document and proposal #780 need an "owner" and I would be happy to hear that we can rely on you for current & future updates, at least until these are merged in whatever state is confirmed to be useful for further development. |
I will likely be the one to advocate for this, but I will have to work on the CPS and think about your other comments on this more next week! |
After some discussion with other folks working on light clients, we decided that we will instead attempt to use fancy cryptography to implement a similar protocol (co-constructing a transaction using 2PC) fully off-chain. So , for the time being I will not pursue this. |
@Ryun1 @Crypto2099 - we have lost the push behind this with MPJ leaving, and I believe with @polinavino committing to a different approach this is effectively @lehins @fallen-icarus - as advocates of varying methods in this space, if you would have any other suggestion than deprecating please let us know. I would prefer to see this merged as-is... after giving it an explicit If this would be OK all around I'll make the necessary cleanup to this PR and move it from |
Effectively deprecated in favour of currently pursued alternatives already documented above. |
We describe a family of issues around “intents” on Cardano. We do some basic analysis on the problem space, and suggest some high-level areas for investigation.
Rendered on author's fork